@panphora/clayjs 1.24.1 → 1.25.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 (190) 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 +2044 -1247
  11. package/dist/m/attrs/{refetch-on-save-DPGJJMGN.js → refetch-on-save-5CBFUJUF.js} +1 -1
  12. package/dist/m/attrs/save-freeze-MH3AOD56.js +1 -0
  13. package/dist/m/{c-SXGEWPFC.js → c-3E2IK5HU.js} +1 -1
  14. package/dist/m/{c-A4L7APIU.js → c-4AE2A2LK.js} +1 -1
  15. package/dist/m/{c-YDW4VCHP.js → c-4Q6QIODW.js} +1 -1
  16. package/dist/m/{c-RO73MKKR.js → c-52OC3OH3.js} +1 -1
  17. package/dist/m/{c-ZGCO4J3H.js → c-5PZYDWTW.js} +1 -1
  18. package/dist/m/c-5Q5XBN56.js +1 -0
  19. package/dist/m/c-5SZ6KFR5.js +1 -0
  20. package/dist/m/{c-ZRGEN6QQ.js → c-AI3H6ETU.js} +2 -2
  21. package/dist/m/{c-7V6MGMX2.js → c-BCWYEG6P.js} +1 -1
  22. package/dist/m/{c-C5AKJVRH.js → c-BJ2RRQBQ.js} +1 -1
  23. package/dist/m/{c-CTGRDT6E.js → c-C6YZNU6E.js} +1 -1
  24. package/dist/m/{c-EDE45NM7.js → c-C7SUMNMI.js} +1 -1
  25. package/dist/m/c-CITLTVQ4.js +4 -0
  26. package/dist/m/{c-STRI73GQ.js → c-CL5LSATX.js} +1 -1
  27. package/dist/m/{c-Z4G2UK6T.js → c-CU33V6RW.js} +1 -1
  28. package/dist/m/{c-6LEYVQJK.js → c-D62HRSZK.js} +1 -1
  29. package/dist/m/{c-DD26VXAP.js → c-DT7E76Z2.js} +1 -1
  30. package/dist/m/{c-P2HKMJAW.js → c-EAV7A6BT.js} +1 -1
  31. package/dist/m/{c-QQFHEODI.js → c-EQ5NBOGA.js} +1 -1
  32. package/dist/m/{c-KQKKIVLW.js → c-FBOO2UY3.js} +1 -1
  33. package/dist/m/{c-JQF2EUCG.js → c-FJDTDGDA.js} +1 -1
  34. package/dist/m/{c-MQKSKQHG.js → c-FKTALXNV.js} +1 -1
  35. package/dist/m/{c-HL6BLJNA.js → c-GDNZEOOZ.js} +1 -1
  36. package/dist/m/{c-SUXHUL7U.js → c-GEAG5XAK.js} +1 -1
  37. package/dist/m/{c-LSVN3OLG.js → c-GY4BREDT.js} +1 -1
  38. package/dist/m/{c-4PO3YGDC.js → c-HGG7M2S3.js} +1 -1
  39. package/dist/m/{c-DDS23EY6.js → c-HXGNH6GY.js} +1 -1
  40. package/dist/m/{c-FLEIU6CG.js → c-IESDKFO6.js} +1 -1
  41. package/dist/m/{c-CJ7QYEWI.js → c-IJHF4IO6.js} +1 -1
  42. package/dist/m/{c-SGGGCIVD.js → c-IL5IVTOG.js} +1 -1
  43. package/dist/m/c-JB5YU57S.js +1 -0
  44. package/dist/m/{c-MP6S4AZU.js → c-JD2VFAYG.js} +2 -2
  45. package/dist/m/{c-CV4T65JE.js → c-JWW6BHWD.js} +3 -3
  46. package/dist/m/{c-42ZNV7LI.js → c-K4M76VPM.js} +1 -1
  47. package/dist/m/{c-6IJEVE6B.js → c-KU3PX7LL.js} +1 -1
  48. package/dist/m/{c-2PVGJFI5.js → c-KYTVZT4D.js} +1 -1
  49. package/dist/m/{c-BGN7RCTJ.js → c-M7ITYKMF.js} +1 -1
  50. package/dist/m/c-MFB74XVN.js +3 -0
  51. package/dist/m/c-MOP5KBWZ.js +1 -0
  52. package/dist/m/{c-YLHTD3KX.js → c-MUM53J5J.js} +1 -1
  53. package/dist/m/{c-YK2L436K.js → c-MV7TEUTD.js} +1 -1
  54. package/dist/m/{c-LA2BW7UY.js → c-MZCOGNZL.js} +1 -1
  55. package/dist/m/{c-XW5TIYYB.js → c-N4GEJMXW.js} +1 -1
  56. package/dist/m/{c-NQAPWM7O.js → c-NADLYVAH.js} +1 -1
  57. package/dist/m/{c-RS77ODLY.js → c-NL4I4KNG.js} +1 -1
  58. package/dist/m/{c-X75G43SZ.js → c-O2QZDVZ2.js} +1 -1
  59. package/dist/m/{c-LTSPHVAK.js → c-OBMZASYQ.js} +1 -1
  60. package/dist/m/{c-LUXAB2XI.js → c-ORLPQFNU.js} +1 -1
  61. package/dist/m/c-P73XPAOA.js +1 -0
  62. package/dist/m/{c-PWJSJEJU.js → c-PNZIJFG7.js} +1 -1
  63. package/dist/m/{c-ZKKAF4UT.js → c-PRZNJUYZ.js} +2 -2
  64. package/dist/m/{c-B7GOFGQR.js → c-Q2CB57UG.js} +1 -1
  65. package/dist/m/{c-TWCXBWS3.js → c-QCDVDZIR.js} +1 -1
  66. package/dist/m/{c-UOOIF2AL.js → c-QDVG4NAZ.js} +1 -1
  67. package/dist/m/c-QWB53KRW.js +1 -0
  68. package/dist/m/{c-GNI7WHKF.js → c-RGAALCDU.js} +1 -1
  69. package/dist/m/c-RHPHMTF2.js +2 -0
  70. package/dist/m/{c-3UW5EJ77.js → c-RWJ3OSCP.js} +1 -1
  71. package/dist/m/{c-5FXEKU4Y.js → c-SEVOS4UE.js} +1 -1
  72. package/dist/m/{c-HDVH3MVC.js → c-SFYTKRU7.js} +1 -1
  73. package/dist/m/{c-47IBJGPQ.js → c-SFZRY6RT.js} +1 -1
  74. package/dist/m/{c-QENKN7QI.js → c-SGG6MUXW.js} +1 -1
  75. package/dist/m/c-SMLAJASY.js +1 -0
  76. package/dist/m/{c-DFKBGSN2.js → c-SUAC5RSG.js} +1 -1
  77. package/dist/m/{c-6RGEQNVV.js → c-SXZYVXD6.js} +1 -1
  78. package/dist/m/{c-ZFO5RW6G.js → c-TCFVG3I4.js} +1 -1
  79. package/dist/m/{c-OCYG4NBQ.js → c-TLQINES7.js} +2 -2
  80. package/dist/m/c-U4TWEIKZ.js +1 -0
  81. package/dist/m/{c-MQYEDF3Q.js → c-U65PREMC.js} +1 -1
  82. package/dist/m/{c-PDBNCJCT.js → c-U7F66I64.js} +1 -1
  83. package/dist/m/{c-LATNQ6Q5.js → c-UD4VDBGJ.js} +1 -1
  84. package/dist/m/{c-PCNJETUA.js → c-V2FPBRO6.js} +1 -1
  85. package/dist/m/{c-ND3Q2G2I.js → c-V4B3RUWB.js} +1 -1
  86. package/dist/m/{c-JWDCQL6J.js → c-V5L6HWVL.js} +1 -1
  87. package/dist/m/c-VMXCX52Q.js +1 -0
  88. package/dist/m/{c-CZHTXGJS.js → c-VO6RSFCO.js} +1 -1
  89. package/dist/m/c-WDFQ7PBU.js +1 -0
  90. package/dist/m/{c-OG6GFSUX.js → c-WGQVSKKC.js} +1 -1
  91. package/dist/m/c-WSTUCBHV.js +1 -0
  92. package/dist/m/{c-FEC6LGFF.js → c-WVCT3ITX.js} +1 -1
  93. package/dist/m/{c-SE3SIY7Y.js → c-X3V4RWMA.js} +1 -1
  94. package/dist/m/{c-HIX5H5L7.js → c-XHZIKRCV.js} +1 -1
  95. package/dist/m/{c-2BLVA6IN.js → c-XQTERKQA.js} +1 -1
  96. package/dist/m/{c-PYG2NGWU.js → c-YFO6ZJLQ.js} +1 -1
  97. package/dist/m/{c-7CM4GMTS.js → c-YX2MC7YL.js} +1 -1
  98. package/dist/m/{c-OYHI67B6.js → c-YYGUHSZR.js} +1 -1
  99. package/dist/m/{c-YYMZWQLR.js → c-Z2OZFX3N.js} +1 -1
  100. package/dist/m/{c-AT7GLQGV.js → c-ZEA3DCG3.js} +1 -1
  101. package/dist/m/{c-T3P3AXEW.js → c-ZJG6C2WL.js} +1 -1
  102. package/dist/m/{c-FVPNX2GO.js → c-ZORVIXUR.js} +1 -1
  103. package/dist/m/{c-SKMIR5HQ.js → c-ZPI7M5U5.js} +1 -1
  104. package/dist/m/core/{admin-attrs-ONRWVXPK.js → admin-attrs-ZI6K6UGM.js} +1 -1
  105. package/dist/m/core/{autosave-TBKAAAFB.js → autosave-BSM2ABJL.js} +1 -1
  106. package/dist/m/core/{conflict-notice-FOEE6I7E.js → conflict-notice-7EQLDYPA.js} +1 -1
  107. package/dist/m/core/draft-mode-M5XNYBMY.js +1 -0
  108. package/dist/m/core/{host-permission-X4BENZEU.js → host-permission-5BYP24GC.js} +1 -1
  109. package/dist/m/core/{is-edit-mode-FFHCQ5DR.js → is-edit-mode-73OXKK5H.js} +1 -1
  110. package/dist/m/core/{persist-6ILUR34S.js → persist-2SZO3PCE.js} +1 -1
  111. package/dist/m/core/{recovery-APWADU4K.js → recovery-VZF7RJZF.js} +1 -1
  112. package/dist/m/core/{save-6HT2LABE.js → save-K6Q47J2X.js} +1 -1
  113. package/dist/m/core/{save-core-EVMNZQ4V.js → save-core-U3Z44XBO.js} +1 -1
  114. package/dist/m/core/{site-edits-G4BOZMV4.js → site-edits-CFMF6GHD.js} +1 -1
  115. package/dist/m/core/{snapshot-FJP5IJL3.js → snapshot-PWCHYFL6.js} +1 -1
  116. package/dist/m/core/unsaved-warning-2WRZLJH5.js +1 -0
  117. package/dist/m/events/{index-B6TGDYMG.js → index-YKQIBZE5.js} +1 -1
  118. package/dist/m/internals/index-FSLC4M7J.js +1 -0
  119. package/dist/m/lib/{cache-bust-NH7VBWHO.js → cache-bust-BL4KUQAJ.js} +1 -1
  120. package/dist/m/{loader-GLLVDUZA.js → loader-RC54UV7H.js} +1 -1
  121. package/dist/m/manifest-3B84C829.js +1 -0
  122. package/dist/m/manifest-edit-1CB79AD4.js +1 -0
  123. package/dist/m/manifest.json +1165 -1115
  124. package/dist/m/options/{options-55LQHSJ4.js → options-LKIZ7YTG.js} +1 -1
  125. package/dist/m/page/{editor-KAZDJNND.js → editor-PKSPJ2XJ.js} +2 -2
  126. package/dist/m/plugins/{ai-edit-LABECCSN.js → ai-edit-3LG6MGS3.js} +1 -1
  127. package/dist/m/plugins/{demo-T7B4RIKL.js → demo-LMCMBILC.js} +1 -1
  128. package/dist/m/plugins/{derive-6LPJOCAV.js → derive-7DR5TUDH.js} +1 -1
  129. package/dist/m/plugins/{indicator-J4ABFARX.js → indicator-CTKX4EY7.js} +1 -1
  130. package/dist/m/plugins/{live-PGBIEMGB.js → live-IFLL6YN5.js} +1 -1
  131. package/dist/m/plugins/{menu-YZL3X2AJ.js → menu-YJZ3JWBC.js} +1 -1
  132. package/dist/m/plugins/{page-WOCNX2IN.js → page-GTDPYGE4.js} +2 -2
  133. package/dist/m/plugins/{page-view-SJODOOGE.js → page-view-NMCCU6MF.js} +1 -1
  134. package/dist/m/plugins/{people-C4TCWFOQ.js → people-6WIWCZEG.js} +1 -1
  135. package/dist/m/plugins/{richclay-Y2NV44NA.js → richclay-L3BZMX4I.js} +2 -2
  136. package/dist/m/plugins/{sortable-XCHQG65Z.js → sortable-365SRRL3.js} +1 -1
  137. package/dist/m/plugins/{source-YK7MO23W.js → source-7LSGOV46.js} +1 -1
  138. package/dist/m/plugins/{undo-VLRBQNPN.js → undo-UES4KS7B.js} +1 -1
  139. package/dist/m/plugins/{upgrade-NNTJBSK2.js → upgrade-MMPZUCDM.js} +1 -1
  140. package/dist/m/plugins/{upload-ZKKJV76X.js → upload-NZET3DNQ.js} +1 -1
  141. package/dist/m/plugins/visitor-drafts-V5YB7XDH.js +20 -0
  142. package/dist/m/plugins/{visitor-drafts-owner-LHUHFU3L.js → visitor-drafts-owner-TLECTYWS.js} +1 -1
  143. package/dist/m/plugins/{visitor-menu-FY4KM2SW.js → visitor-menu-QDV2MYJN.js} +1 -1
  144. package/dist/m/plugins/wire-3YGUO3GE.js +1 -0
  145. package/dist/m/{reader-core-T2S3JC4E.js → reader-core-VR7EL4WV.js} +2 -2
  146. package/dist/m/sync/live-sync-XMXXZS3G.js +1 -0
  147. package/dist/m/vendor/sap-core.vendor-JANUQULT.js +7 -0
  148. package/dist/offline-manifest.json +665 -635
  149. package/docs/guide.md +1 -0
  150. package/entries/sap.js +6 -5
  151. package/package.json +1 -1
  152. package/src/core/draft-mode.js +5 -0
  153. package/src/core/save-core.js +10 -10
  154. package/src/core/save.js +1 -1
  155. package/src/lib/dirty-gate.js +19 -0
  156. package/src/plugins/menu/visitor.js +33 -1
  157. package/src/plugins/visitor-drafts/commit.js +50 -3
  158. package/src/plugins/visitor-drafts/idb.js +8 -2
  159. package/src/plugins/visitor-drafts/recovery-menu.js +118 -0
  160. package/src/plugins/visitor-drafts/recovery.js +64 -0
  161. package/src/plugins/visitor-drafts/session.js +61 -13
  162. package/src/plugins/visitor-drafts/store.js +44 -8
  163. package/src/plugins/visitor-drafts.js +34 -5
  164. package/src/sync/live-sync.js +1 -1
  165. package/src/sync/wire-profile.js +9 -4
  166. package/src/vendor/sap-core.vendor.js +6 -5
  167. package/src/vendor/sap-ownership.vendor.js +181 -11
  168. package/tool-generation/system.md +1 -1
  169. package/dist/m/attrs/save-freeze-JZHKRQLR.js +0 -1
  170. package/dist/m/c-6Q6RGFBF.js +0 -1
  171. package/dist/m/c-APGHGDZM.js +0 -1
  172. package/dist/m/c-EILLN2H2.js +0 -1
  173. package/dist/m/c-HTLYXCUH.js +0 -1
  174. package/dist/m/c-MFOSMAVM.js +0 -3
  175. package/dist/m/c-R23UHMXG.js +0 -1
  176. package/dist/m/c-SGH3UTF3.js +0 -1
  177. package/dist/m/c-U4NTUVDZ.js +0 -1
  178. package/dist/m/c-V2U3F4QX.js +0 -1
  179. package/dist/m/c-VG5XIN4T.js +0 -1
  180. package/dist/m/c-VHSMPITY.js +0 -1
  181. package/dist/m/core/draft-mode-4MCL3LYI.js +0 -1
  182. package/dist/m/core/unsaved-warning-ITZDIZ2I.js +0 -1
  183. package/dist/m/internals/index-HS3CQDFW.js +0 -1
  184. package/dist/m/manifest-50FF1C45.js +0 -1
  185. package/dist/m/manifest-edit-BE1A621D.js +0 -1
  186. package/dist/m/plugins/visitor-drafts-RTZNONHT.js +0 -20
  187. package/dist/m/plugins/wire-M2NR354P.js +0 -1
  188. package/dist/m/sync/live-sync-Z64YREWQ.js +0 -1
  189. package/dist/m/vendor/sap-core.vendor-QAEPMETX.js +0 -6
  190. /package/dist/m/plugins/{richclay-Y2NV44NA.js.LEGAL.txt → richclay-L3BZMX4I.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- import{a as ie}from"../c-L4WQSC27.js";import{b as be,c as me,d as ve,e as le,g as Se}from"../c-UOOIF2AL.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import{a as ge}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var we="saved",Re=2;function Ie(){return Math.random().toString(36).slice(2,11)+Date.now().toString(36)}function Ce(){try{let e=new Uint8Array(16);return(globalThis.crypto||window.crypto).getRandomValues(e),Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}catch{return Math.random().toString(36).slice(2)+Date.now().toString(36)}}function Me(e){return typeof e!="string"||e===""?null:new DOMParser().parseFromString(e,"text/html").documentElement?.getAttribute("documentetag")||null}var _=e=>typeof e=="string"&&e?e:null;function De(e){let r=window.location.origin;if(typeof r!="string"||r===""||r==="null")return null;let u=new URL(e||window.location.href,r);return u.protocol==="http:"||u.protocol==="https:"?u.href:null}var Y=e=>Number.isSafeInteger(e)?e:null;function ze(e){if(e==null)return Object.freeze({bytes:null,etag:null,seq:null});if(typeof e.bytes!="string"||e.bytes==="")throw new TypeError("createSavedStream: represented.bytes must be a full HTML string");return Object.freeze({bytes:e.bytes,etag:_(e.etag),seq:Y(e.seq)})}function Ae({documentURL:e,servedEtag:r=null,represented:u=null,onSnapshot:f,onStatus:v}={}){if(typeof f!="function")throw new TypeError("createSavedStream: onSnapshot must be a function");let g=De(e),m=!!_(r),s=ze(u);if(g===null){let n={ready:null,get represented(){return s},adopt(){return n},start(){return n.ready=Promise.resolve(n),n},stop(){}};return n}let S=!0,q=s.seq??0,L=0,P=0,z=f,x=v,C=0,T=!1,E=null,A=null,t=null,a=!1,h=null,d=null,c=null,b=null,k=[],O=n=>!T&&n===C;function N(n,l={}){T||typeof x!="function"||x({state:n,...l})}function $(){k.length=0,b&&(!d||d.active)&&b.clear(),d&&(d.detach(),d=null),h=null,b=null,c=null}function se(n,l){if(b){b.update(n);return}k.push(n),!c&&(c=Promise.all([import("../c-APGHGDZM.js"),import("../c-T3P3AXEW.js")]).then(([i,w])=>{if(!O(l))return null;h=i.presence,b=w.presence,d=h.attachTransport({send:()=>Promise.resolve(!1)});for(let G of k.splice(0))b.update(G);return b}).catch(()=>(c=null,null)))}function K(){if($(),!E)return;let n=E;E=null,n.onopen=null,n.onerror=null,n.onmessage=null,n.close()}function F(){if(!A)return;let n=A;A=null,n.controller.abort()}function re(n){if(T)return!1;let l={bytes:n.bytes,etag:_(n.etag),seq:Y(n.seq)};if(typeof l.bytes!="string"||l.bytes==="")return N("recoverable",{reason:"invalid-bytes",seq:l.seq}),!1;if(l.bytes===s.bytes&&l.etag===s.etag&&l.seq===s.seq)return!0;let i=!1;try{i=z(Object.freeze(l))===!0}catch{i=!1}return i?(s=Object.freeze(l),N("applied",{seq:s.seq,etag:s.etag}),!0):(N("recoverable",{reason:"refused",seq:l.seq,etag:l.etag}),!1)}function H(n,l){if(l==="startup")return null;let i=Math.max(n.seq??0,q);return i>0?i:null}function ae(n,l){t=n,a=!0,N("recoverable",{reason:l,seq:n.seq??null})}function U(n){T||(t={kind:n.kind,seq:Y(n.seq)},a=!1,B())}function B(){if(T||A||a||!t)return;let n=C,l=t;t=null;let i=new AbortController;A={controller:i};let w=L,G=q,D=j=>{if(A&&A.controller===i&&(A=null),!(!O(n)||i.signal.aborted)){if(j==null){ae(l,"repair-failed");return}if(L!==w||q!==G){if(P+=1,P<=Re){t=t??{kind:l.kind,seq:H(l,l.kind)},B();return}V(j.text,{kind:l.kind,seq:H(l,l.kind)},j.etag),B();return}V(j.text,l,j.etag),B()}};fetch(g,{cache:"no-store",signal:i.signal}).then(j=>j.ok?j.text().then(W=>({text:W,etag:_(j.headers?.get?.("etag"))})):null).then(D).catch(()=>D(null))}function V(n,l,i){let G=Me(n)??(/^W\//.test(i??"")?null:_(i))??(n===s.bytes?s.etag:null),D=l.kind==="startup"?s.seq:l.seq??s.seq;re({bytes:n,etag:G,seq:D})&&(S=!1,P=0,a=!1,N("current",{seq:s.seq,etag:s.etag}))}function o(n,l){let i={bytes:s.bytes,etag:n??s.etag,seq:l??s.seq};i.etag===s.etag&&i.seq===s.seq||(s=Object.freeze(i),N("current",{seq:s.seq,etag:s.etag}))}function p(n,l,i){let w=_(l);if(!(i!==null&&s.seq!==null&&i<=s.seq)){if(!S&&w!==null&&s.etag!==null){if(w!==s.etag){U({kind:"unmatched",seq:i});return}S=!0}if(n===s.bytes){o(w,i);return}re({bytes:n,etag:w,seq:i})&&(S=!0)}}function y(n,l){let i=n.data;if(i&&i.kind==="external-change"){typeof i.html=="string"?p(i.html,i.etag,l):U({kind:"notice",seq:l});return}typeof n.msg=="string"&&n.msg.endsWith("changed on disk outside this tab")&&U({kind:"notice",seq:l})}function R(n,l){if(!O(l))return;L++;let i;try{i=JSON.parse(n)}catch{N("recoverable",{reason:"bad-json"});return}if(!i||typeof i!="object"||Array.isArray(i)){N("recoverable",{reason:"bad-frame"});return}let w=Y(i.seq);if(w!==null&&w>q&&(q=w),i.type==="notification"){y(i,w);return}if(i.error){N("recoverable",{reason:"server-error",seq:w});return}if(typeof i.html!="string"){_(i.etag)?U({kind:"notice",seq:w}):N("recoverable",{reason:"bad-frame",seq:w});return}p(i.html,i.etag,w)}function Q(n,l){if(!O(l))return;L++;let i;try{i=JSON.parse(n)}catch{return}if(!i||typeof i!="object")return;let w=Y(i.seq);if(w!==null&&w>q&&(q=w),i.resync===!0){U({kind:"resync",seq:w});return}i.startup===!0&&U({kind:"startup",seq:null})}function M(n){if(O(n)){if(N("open",{seq:s.seq,etag:s.etag}),a){a=!1,B();return}s.bytes===null&&!m&&U({kind:"startup",seq:null})}}let I={ready:null,get represented(){return s},adopt({onSnapshot:n,onStatus:l}={}){return typeof n=="function"&&(z=n),typeof l=="function"&&(x=l),I},start(){T=!1;let n=++C;return K(),F(),t=null,a=!1,L=0,P=0,q=s.seq??0,I.ready=Se().then(l=>{if(!O(n))return I;let i=Ce(),w=Ie(),G=l.profile.streamPath(g,we,i,w),D=new be(new URL(G,window.location.origin).href,{shared:l.sharedSync,sharedData:l.sharedData,documentURL:g,lane:we,clientId:w,startupCheck:m});return E=D,D.onopen=()=>M(n),D.onerror=()=>{O(n)&&N("reconnecting")},D.onmessage=j=>R(j.data,n),D.addEventListener("cursor",j=>Q(j.data,n)),D.addEventListener("presence",j=>{if(!O(n))return;let W;try{W=JSON.parse(j.data)}catch{return}W&&typeof W=="object"&&!Array.isArray(W)&&se(W,n)}),I}),I},stop(){T||(T=!0,C++,K(),F(),t=null,a=!1)}};return I}var Ue="article[data-blockeditor]",Ve='section[data-type="tool"][data-id]',Ne=new Set(["UL","OL","LI","DETAILS"]),qe=new Set(["UL","OL"]),ke=e=>e.tagName==="SECTION"&&e.getAttribute("data-type")==="tool"&&e.hasAttribute("data-id");function Le(e){return ne(e)}function ne(e){let r=e.querySelector(':scope > script[type="application/json"][data-tool]'),u={};try{u=r?JSON.parse(r.textContent):{}}catch(f){return{rev:null,artifact:null,state:{},signature:null,invalid:!0,error:f}}return{rev:u.rev??null,artifact:u.artifact??null,state:u.state??{},signature:JSON.stringify(u.artifact??null),invalid:!1}}function ue(e){let r=new Map,u=new Set;for(let f of e.querySelectorAll(Ve)){let v=f.getAttribute("data-id");if(!u.has(v)){if(r.has(v)){r.delete(v),u.add(v);continue}r.set(v,ne(f))}}return r}function ce(e){let r=e.querySelector('script[type="application/json"][merge="blockeditor.tools"]');if(!r)return{};try{return JSON.parse(r.textContent)}catch{return{}}}function Je(e){let r=new Map,u=new Set,f=v=>{for(let g of v.children){let m=g.getAttribute("data-id");if(m){if(u.has(m))continue;if(r.has(m)){r.delete(m),u.add(m);continue}r.set(m,g)}Ne.has(g.tagName)&&f(g)}};return f(e),r}function xe(e){let r=new Set,u=f=>{for(let v of f.children){let g=v.getAttribute("data-id");g&&r.add(g),Ne.has(v.tagName)&&u(v)}};return u(e),r}function X(e,r=document){if(typeof e!="string"||e==="")return{ok:!1,reason:"bytes"};let u=(r.defaultView??globalThis).DOMParser;if(typeof u!="function")return{ok:!1,reason:"parser"};let f=new u().parseFromString(e,"text/html"),v=[...f.querySelectorAll(Ue)];if(v.length!==1)return{ok:!1,reason:"article"};let g=v[0],m=new Map;for(let S of g.querySelectorAll("details[data-id]"))m.set(S.getAttribute("data-id"),S.hasAttribute("open"));let s=ue(g);return{ok:!0,article:g,source:f,rev:g.getAttribute("data-rev"),title:f.title||null,savedOpen:m,tools:s,toolState:s.size?ce(f):{}}}var fe=(e,r)=>{let u=ne(e),f=ne(r);return!u.invalid&&!f.invalid&&u.rev===f.rev&&u.signature===f.signature};function Te(e,{article:r,readerOpen:u=new Map,savedOpen:f=null,keepTool:v=fe}={}){if(!e?.ok||!r)return{changed:!1};for(let t of e.article.querySelectorAll("details[data-id]")){let a=t.getAttribute("data-id");u.has(a)&&t.hasAttribute("open")!==u.get(a)&&t.toggleAttribute("open",u.get(a))}let g=Je(r),m=new Set,s=!1,S=t=>(s=!0,t.cloneNode(!0)),q=(t,a)=>{let h=xe(t);for(let d of a.children){if(m.has(d)||d.hasAttribute("data-id")||d.tagName!==t.tagName)continue;if(!h.size)return d;let c=xe(d);for(let b of h)if(c.has(b))return d}return null},L=(t,a)=>{for(let h of a.children)if(!(m.has(h)||h.hasAttribute("data-id"))&&h.tagName===t.tagName)return h;return null},P=(t,a,h=null)=>{for(let{name:d,value:c}of[...a.attributes])d===h||t.getAttribute(d)===c||(t.setAttribute(d,c),s=!0);for(let{name:d}of[...t.attributes])d===h||a.hasAttribute(d)||(t.removeAttribute(d),s=!0)},z=(t,a,h)=>{let d=b=>b&&b.nodeType===t.nodeType&&b.nodeValue===t.nodeValue&&!m.has(b),c=d(a.childNodes[h])?a.childNodes[h]:[...a.childNodes].find(d);return c?(m.add(c),c):t.cloneNode(!0)},x=(t,a)=>{let h=[],d=[...a.childNodes];for(let k=0;k<d.length;k++){let O=d[k];if(O.nodeType!==1){h.push(z(O,t,k));continue}let N=A(O,t);m.add(N),h.push(N)}let c=new Set(h),b=t.firstChild;for(let k of h){for(;b&&!c.has(b);)b=b.nextSibling;if(b===k){b=b.nextSibling;continue}t.insertBefore(k,b),s=!0}for(let k of[...t.childNodes])c.has(k)||(k.remove(),s=!0)},C=t=>{s=!0;let a=t.cloneNode(!1);return x(a,t),a},T=(t,a)=>{s=!0;let h=t.getAttribute("data-id"),d=u.has(h)?u.get(h):a.hasAttribute("open");P(t,a,"open"),t.hasAttribute("open")!==d&&t.toggleAttribute("open",d),x(t,a)},E=(t,a)=>{s=!0,P(t,a),x(t,a)};function A(t,a){let h=t.getAttribute("data-id");if(h){let c=g.get(h);return!c||m.has(c)||c===a||c.contains(a)?S(t):(m.add(c),ke(c)&&ke(t)?v(c,t)?c:S(t):c.tagName!==t.tagName?S(t):c.isEqualNode(t)?c:t.tagName==="DETAILS"?(T(c,t),c):t.tagName==="LI"?(E(c,t),c):qe.has(t.tagName)?(P(c,t),x(c,t),c):S(t))}if(qe.has(t.tagName)){let c=q(t,a);return c?(m.add(c),P(c,t),x(c,t),c):C(t)}let d=L(t,a);return d?(m.add(d),d.isEqualNode(t)?d:(s=!0,S(t))):S(t)}if(x(r,e.article),f){f.clear();for(let[t,a]of e.savedOpen)f.set(t,a)}for(let t of[...u.keys()])e.savedOpen.has(t)||u.delete(t);return{changed:s}}var je="article[data-blockeditor]",Be='section[data-type="tool"][data-id]',Ee='script[type="application/json"][merge="blockeditor"]',de=["live-at","live-by"];var Fe=(e,r)=>import("../c-2OJMOUPC.js").then(u=>u.followTocLink(e,r)),He=e=>{import("../c-STRI73GQ.js").then(({recordEtag:r})=>r(e)).catch(()=>{})},pe=e=>Object.freeze({bytes:typeof e?.bytes=="string"?e.bytes:null,etag:typeof e?.etag=="string"&&e.etag?e.etag:null,seq:Number.isSafeInteger(e?.seq)?e.seq:null}),Ge=(e,r)=>{let u=e.source.querySelector(Ee),f=r.querySelector(Ee);if(!u)return f?(f.remove(),!0):!1;if(f){let g=de.map(s=>u.getAttribute(s));return f.textContent===u.textContent&&de.every((s,S)=>f.getAttribute(s)===g[S])?!1:(f.textContent!==u.textContent&&(f.textContent=u.textContent),de.forEach((s,S)=>{g[S]===null?f.removeAttribute(s):f.setAttribute(s,g[S])}),!0)}let v=r.querySelector(je);return v?.parentNode?(v.parentNode.insertBefore(r.importNode(u,!0),v),!0):!1};function We({doc:e,article:r,represented:u=null,feed:f=null,documentURL:v,servedEtag:g=null,stream:m=null,release:s=()=>{}}){let S=new Map,q=new Map,L=new Map,P={data:{}},z=[],x=null,C=null,T=0,E=!1,A=m,t=null,a=pe(u),h=null,d=s,c=!1,b=(o,p)=>{let y=e.defaultView??globalThis;e.dispatchEvent(new y.CustomEvent(o,{detail:p}))},k=()=>{for(let o of L.values())try{o.instance?.dispose?.()}catch{}L.clear()},O=()=>x?Promise.resolve(x):(C||(C=import("../c-FQAQRXGK.js").then(({createToolHost:o})=>E?null:(x=o({store:P,mode:"view"}),x)).catch(o=>(C=null,console.warn("clayjs: could not load the reader tool host",o),null))),C),N=o=>{for(let[p,y]of L){let R=o.get(p);if(!R||R.invalid||R.rev!==y.rev||R.signature!==y.signature){try{y.instance?.dispose?.()}catch{}L.delete(p)}}},$=(o,p)=>{let y=[];for(let[Q,M]of o)M.invalid?console.warn("clayjs: could not decode saved tools",M.error):y.push([Q,M]);if(!y.length)return;P.data=p??{};let R=++T;O().then(Q=>{if(!(E||!Q||R!==T))for(let[M,I]of y){if(L.has(M))continue;let n=[...r.querySelectorAll(Be)].find(l=>l.getAttribute("data-id")===M);if(n)try{let l=Q.mount(n,{id:M,artifact:I.artifact,rev:I.rev,seed:I.state??{}});L.set(M,{rev:I.rev,signature:I.signature,instance:l})}catch(l){console.warn(`clayjs: tool ${M} could not mount`,l)}}})},se=(o,p)=>{let y=L.get(o.getAttribute("data-id"));if(!y)return fe(o,p);let R=Le(p);return!R.invalid&&R.rev===y.rev&&R.signature===y.signature},K=o=>{o?.state==="current"&&(a=pe({bytes:a.bytes,etag:o.etag??null,seq:o.seq??null})),o?.state&&o.state!=="applied"&&b("clay:reader-status",o)},F=o=>{Te(o,{article:r,readerOpen:S,savedOpen:q,keepTool:se}),o.rev===null?r.removeAttribute("data-rev"):r.setAttribute("data-rev",o.rev),o.title&&(e.title=o.title),Ge(o,e)},re=o=>{console.warn("clayjs: the reader could not apply a saved file",o),A?.stop(),A=null,k();let p=a.bytes?X(a.bytes,e):null;if(p?.ok)try{F(p)}catch(y){console.warn("clayjs: the reader could not restore the previous file",y)}b("clay:reader-status",{state:"blocked"})};function H(o){if(E||c)return!1;let p=X(o.bytes,e);if(!p.ok||r.querySelector(".blockeditor-editor"))return!1;if(me(o.bytes))return A?.stop(),A=null,le(),b("clay:reader-status",{state:"blocked",reason:"upgraded"}),!1;N(p.tools);try{F(p)}catch(y){return re(y),!1}return a=pe(o),a.etag&&He(a.etag),$(p.tools,p.toolState),b("clay:reader-status",{state:"applied",etag:a.etag,seq:a.seq}),!0}let ae=()=>a.bytes===null?!1:(V.stop(),!0),U=o=>{let p=o.target;if(p.tagName!=="DETAILS"||!r.contains(p))return;let y=p.getAttribute("data-id");y&&(p.open===q.get(y)?S.delete(y):S.set(y,p.open))};e.addEventListener("toggle",U,!0),z.push(["toggle",U,!0]);let B=o=>{let p=o.target.closest?.('a[href^="#blockeditor-block-"], a[href^="#"]');!p||!r.contains(p)||!p.closest('nav[aria-label="Table of contents"]')||(o.preventDefault(),Fe(r,p.getAttribute("href")))};if(e.addEventListener("click",B),z.push(["click",B]),u){let o=X(u.bytes,e);if(!o.ok)throw new Error(`clayjs: the saved file is not a readable page (${o.reason})`);F(o),$(o.tools,o.toolState)}else{for(let o of r.querySelectorAll("details[data-id]"))q.set(o.getAttribute("data-id"),o.hasAttribute("open"));$(ue(r),ce(e))}let V={ready:null,get represented(){return a},yieldArticle(){return E||c?!1:(T++,k(),c=!0,d(),!0)},reclaimArticle(){if(E||!c)return!1;if(d=ie(r,"reader"),c=!1,a.bytes!==null){let o=X(a.bytes,e);o.ok&&(F(o),$(o.tools,o.toolState))}return!0},prepareHandoff(o={}){return h?Promise.resolve(h):E?Promise.reject(new Error("clayjs: the reader is stopped")):(h=import("../c-6LEYVQJK.js").then(({readerHandoff:p})=>p({stream:A,options:o,apply:H,retire:ae,yieldArticle:V.yieldArticle,reclaimArticle:V.reclaimArticle})),h)},stop(){if(E)return t;E=!0,h=null,T++,A?.stop(),A=null;for(let[o,p,y]of z)e.removeEventListener(o,p,y);z.length=0,k();try{x?.dispose()}catch{}return x=null,c||d(),c=!1,d=()=>!1,t=Object.freeze({...a}),t}};if(V.ready=Promise.resolve(V),f){let o=p=>{let y=p.detail;typeof y?.html=="string"&&(y.source&&y.source!=="disk"&&y.lane!=="saved"||H({bytes:y.html,etag:y.etag??null,seq:y.seq??null}))};f.addEventListener("clay:sync-applied",o),z.push(["clay:sync-applied",o])}else A?A.adopt({onSnapshot:H,onStatus:K}):(A=Ae({documentURL:v,servedEtag:g,represented:a.bytes?a:null,onSnapshot:H,onStatus:K}),A.start());return V}function oe({represented:e=null,documentURL:r,servedEtag:u=null,stream:f=null,feed:v=null,doc:g=document}={}){if(e&&(typeof e.bytes!="string"||e.bytes===""))throw new TypeError("clayjs: the reader needs the full saved bytes to start");if(!v&&!f&&!e&&!r)throw new TypeError("clayjs: the reader needs a file, a stream or a page to follow");let m=g.querySelectorAll(je);if(m.length!==1)throw new Error("clayjs: the reader needs exactly one article[data-blockeditor]");let s=m[0];if(s.querySelector(".blockeditor-editor"))throw new Error("clayjs: the reader will not start over a mounted editor");if(e){let q=X(e.bytes,g);if(!q.ok)throw new Error("clayjs: the saved file is not a readable page");if(ve(q.source))throw le(),new Error("clayjs: the saved file was published at another version of this document")}let S=ie(s,"reader");try{return We({doc:g,article:s,represented:e,feed:v,documentURL:r,servedEtag:u,stream:f,release:S})}catch(q){throw S(),q}}var J=null,te=null,ye=!1,Oe=!1,ee=null,Z=null,he=null,Pe=()=>document.querySelectorAll("article[data-blockeditor]").length===1;function _e(){ee=e=>{if(ye)return;let r=e.detail;r?.state==="applied"?te?.(J):(r?.state==="blocked"||r?.state==="recoverable"||r?.state==="reconnecting")&&te?.(null)},document.addEventListener("clay:reader-status",ee)}function $e(){ee&&document.removeEventListener("clay:reader-status",ee),ee=null,te=null}function Qe(e=null){if(!Pe())return Promise.resolve(null);try{J=e?oe({represented:e}):oe({documentURL:window.location.href,servedEtag:ge})}catch(r){return console.warn("clayjs: the reader could not start over the served article",r),Promise.resolve(null)}return e?Promise.resolve(J.represented):new Promise(r=>{te=r})}function Xe(e=null){if(!Pe())return Promise.resolve(null);try{J=oe({feed:document,represented:e,documentURL:window.location.href})}catch(r){return console.warn("clayjs: the reader could not start over the page sync projects",r),Promise.resolve(null)}return Promise.resolve(J)}function Ke({sync:e=!1,represented:r=null}={}){return Z||(ye=!1,Oe=e,_e(),he=e?Xe(r):Qe(r),Z=e?he:Promise.resolve(null),Z)}function ct(e={}){return Ye(),Ke(e)}function ft(e){return J?J.prepareHandoff(e):Promise.reject(new Error("clayjs: the reader has not started"))}function Ye(){ye=!0,Oe||te?.(null),$e(),J?.stop(),J=null,he=null,Z=null}export{he as acquired,ft as prepareHandoff,Z as ready,ct as restart,Ke as start,Ye as stop};
1
+ import{a as ie}from"../c-L4WQSC27.js";import{b as be,c as me,d as ve,e as le,g as Se}from"../c-QDVG4NAZ.js";import"../c-EQ5NBOGA.js";import"../c-C7SUMNMI.js";import{a as ge}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var we="saved",Re=2;function Ie(){return Math.random().toString(36).slice(2,11)+Date.now().toString(36)}function Ce(){try{let e=new Uint8Array(16);return(globalThis.crypto||window.crypto).getRandomValues(e),Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}catch{return Math.random().toString(36).slice(2)+Date.now().toString(36)}}function Me(e){return typeof e!="string"||e===""?null:new DOMParser().parseFromString(e,"text/html").documentElement?.getAttribute("documentetag")||null}var _=e=>typeof e=="string"&&e?e:null;function De(e){let r=window.location.origin;if(typeof r!="string"||r===""||r==="null")return null;let u=new URL(e||window.location.href,r);return u.protocol==="http:"||u.protocol==="https:"?u.href:null}var Y=e=>Number.isSafeInteger(e)?e:null;function ze(e){if(e==null)return Object.freeze({bytes:null,etag:null,seq:null});if(typeof e.bytes!="string"||e.bytes==="")throw new TypeError("createSavedStream: represented.bytes must be a full HTML string");return Object.freeze({bytes:e.bytes,etag:_(e.etag),seq:Y(e.seq)})}function Ae({documentURL:e,servedEtag:r=null,represented:u=null,onSnapshot:f,onStatus:v}={}){if(typeof f!="function")throw new TypeError("createSavedStream: onSnapshot must be a function");let g=De(e),m=!!_(r),s=ze(u);if(g===null){let n={ready:null,get represented(){return s},adopt(){return n},start(){return n.ready=Promise.resolve(n),n},stop(){}};return n}let S=!0,q=s.seq??0,L=0,P=0,z=f,x=v,C=0,T=!1,E=null,A=null,t=null,a=!1,h=null,d=null,c=null,b=null,k=[],O=n=>!T&&n===C;function N(n,l={}){T||typeof x!="function"||x({state:n,...l})}function $(){k.length=0,b&&(!d||d.active)&&b.clear(),d&&(d.detach(),d=null),h=null,b=null,c=null}function se(n,l){if(b){b.update(n);return}k.push(n),!c&&(c=Promise.all([import("../c-SMLAJASY.js"),import("../c-ZJG6C2WL.js")]).then(([i,w])=>{if(!O(l))return null;h=i.presence,b=w.presence,d=h.attachTransport({send:()=>Promise.resolve(!1)});for(let G of k.splice(0))b.update(G);return b}).catch(()=>(c=null,null)))}function K(){if($(),!E)return;let n=E;E=null,n.onopen=null,n.onerror=null,n.onmessage=null,n.close()}function F(){if(!A)return;let n=A;A=null,n.controller.abort()}function re(n){if(T)return!1;let l={bytes:n.bytes,etag:_(n.etag),seq:Y(n.seq)};if(typeof l.bytes!="string"||l.bytes==="")return N("recoverable",{reason:"invalid-bytes",seq:l.seq}),!1;if(l.bytes===s.bytes&&l.etag===s.etag&&l.seq===s.seq)return!0;let i=!1;try{i=z(Object.freeze(l))===!0}catch{i=!1}return i?(s=Object.freeze(l),N("applied",{seq:s.seq,etag:s.etag}),!0):(N("recoverable",{reason:"refused",seq:l.seq,etag:l.etag}),!1)}function H(n,l){if(l==="startup")return null;let i=Math.max(n.seq??0,q);return i>0?i:null}function ae(n,l){t=n,a=!0,N("recoverable",{reason:l,seq:n.seq??null})}function U(n){T||(t={kind:n.kind,seq:Y(n.seq)},a=!1,B())}function B(){if(T||A||a||!t)return;let n=C,l=t;t=null;let i=new AbortController;A={controller:i};let w=L,G=q,D=j=>{if(A&&A.controller===i&&(A=null),!(!O(n)||i.signal.aborted)){if(j==null){ae(l,"repair-failed");return}if(L!==w||q!==G){if(P+=1,P<=Re){t=t??{kind:l.kind,seq:H(l,l.kind)},B();return}V(j.text,{kind:l.kind,seq:H(l,l.kind)},j.etag),B();return}V(j.text,l,j.etag),B()}};fetch(g,{cache:"no-store",signal:i.signal}).then(j=>j.ok?j.text().then(W=>({text:W,etag:_(j.headers?.get?.("etag"))})):null).then(D).catch(()=>D(null))}function V(n,l,i){let G=Me(n)??(/^W\//.test(i??"")?null:_(i))??(n===s.bytes?s.etag:null),D=l.kind==="startup"?s.seq:l.seq??s.seq;re({bytes:n,etag:G,seq:D})&&(S=!1,P=0,a=!1,N("current",{seq:s.seq,etag:s.etag}))}function o(n,l){let i={bytes:s.bytes,etag:n??s.etag,seq:l??s.seq};i.etag===s.etag&&i.seq===s.seq||(s=Object.freeze(i),N("current",{seq:s.seq,etag:s.etag}))}function p(n,l,i){let w=_(l);if(!(i!==null&&s.seq!==null&&i<=s.seq)){if(!S&&w!==null&&s.etag!==null){if(w!==s.etag){U({kind:"unmatched",seq:i});return}S=!0}if(n===s.bytes){o(w,i);return}re({bytes:n,etag:w,seq:i})&&(S=!0)}}function y(n,l){let i=n.data;if(i&&i.kind==="external-change"){typeof i.html=="string"?p(i.html,i.etag,l):U({kind:"notice",seq:l});return}typeof n.msg=="string"&&n.msg.endsWith("changed on disk outside this tab")&&U({kind:"notice",seq:l})}function R(n,l){if(!O(l))return;L++;let i;try{i=JSON.parse(n)}catch{N("recoverable",{reason:"bad-json"});return}if(!i||typeof i!="object"||Array.isArray(i)){N("recoverable",{reason:"bad-frame"});return}let w=Y(i.seq);if(w!==null&&w>q&&(q=w),i.type==="notification"){y(i,w);return}if(i.error){N("recoverable",{reason:"server-error",seq:w});return}if(typeof i.html!="string"){_(i.etag)?U({kind:"notice",seq:w}):N("recoverable",{reason:"bad-frame",seq:w});return}p(i.html,i.etag,w)}function Q(n,l){if(!O(l))return;L++;let i;try{i=JSON.parse(n)}catch{return}if(!i||typeof i!="object")return;let w=Y(i.seq);if(w!==null&&w>q&&(q=w),i.resync===!0){U({kind:"resync",seq:w});return}i.startup===!0&&U({kind:"startup",seq:null})}function M(n){if(O(n)){if(N("open",{seq:s.seq,etag:s.etag}),a){a=!1,B();return}s.bytes===null&&!m&&U({kind:"startup",seq:null})}}let I={ready:null,get represented(){return s},adopt({onSnapshot:n,onStatus:l}={}){return typeof n=="function"&&(z=n),typeof l=="function"&&(x=l),I},start(){T=!1;let n=++C;return K(),F(),t=null,a=!1,L=0,P=0,q=s.seq??0,I.ready=Se().then(l=>{if(!O(n))return I;let i=Ce(),w=Ie(),G=l.profile.streamPath(g,we,i,w),D=new be(new URL(G,window.location.origin).href,{shared:l.sharedSync,sharedData:l.sharedData,documentURL:g,lane:we,clientId:w,startupCheck:m});return E=D,D.onopen=()=>M(n),D.onerror=()=>{O(n)&&N("reconnecting")},D.onmessage=j=>R(j.data,n),D.addEventListener("cursor",j=>Q(j.data,n)),D.addEventListener("presence",j=>{if(!O(n))return;let W;try{W=JSON.parse(j.data)}catch{return}W&&typeof W=="object"&&!Array.isArray(W)&&se(W,n)}),I}),I},stop(){T||(T=!0,C++,K(),F(),t=null,a=!1)}};return I}var Ue="article[data-blockeditor]",Ve='section[data-type="tool"][data-id]',Ne=new Set(["UL","OL","LI","DETAILS"]),qe=new Set(["UL","OL"]),ke=e=>e.tagName==="SECTION"&&e.getAttribute("data-type")==="tool"&&e.hasAttribute("data-id");function Le(e){return ne(e)}function ne(e){let r=e.querySelector(':scope > script[type="application/json"][data-tool]'),u={};try{u=r?JSON.parse(r.textContent):{}}catch(f){return{rev:null,artifact:null,state:{},signature:null,invalid:!0,error:f}}return{rev:u.rev??null,artifact:u.artifact??null,state:u.state??{},signature:JSON.stringify(u.artifact??null),invalid:!1}}function ue(e){let r=new Map,u=new Set;for(let f of e.querySelectorAll(Ve)){let v=f.getAttribute("data-id");if(!u.has(v)){if(r.has(v)){r.delete(v),u.add(v);continue}r.set(v,ne(f))}}return r}function ce(e){let r=e.querySelector('script[type="application/json"][merge="blockeditor.tools"]');if(!r)return{};try{return JSON.parse(r.textContent)}catch{return{}}}function Je(e){let r=new Map,u=new Set,f=v=>{for(let g of v.children){let m=g.getAttribute("data-id");if(m){if(u.has(m))continue;if(r.has(m)){r.delete(m),u.add(m);continue}r.set(m,g)}Ne.has(g.tagName)&&f(g)}};return f(e),r}function xe(e){let r=new Set,u=f=>{for(let v of f.children){let g=v.getAttribute("data-id");g&&r.add(g),Ne.has(v.tagName)&&u(v)}};return u(e),r}function X(e,r=document){if(typeof e!="string"||e==="")return{ok:!1,reason:"bytes"};let u=(r.defaultView??globalThis).DOMParser;if(typeof u!="function")return{ok:!1,reason:"parser"};let f=new u().parseFromString(e,"text/html"),v=[...f.querySelectorAll(Ue)];if(v.length!==1)return{ok:!1,reason:"article"};let g=v[0],m=new Map;for(let S of g.querySelectorAll("details[data-id]"))m.set(S.getAttribute("data-id"),S.hasAttribute("open"));let s=ue(g);return{ok:!0,article:g,source:f,rev:g.getAttribute("data-rev"),title:f.title||null,savedOpen:m,tools:s,toolState:s.size?ce(f):{}}}var fe=(e,r)=>{let u=ne(e),f=ne(r);return!u.invalid&&!f.invalid&&u.rev===f.rev&&u.signature===f.signature};function Te(e,{article:r,readerOpen:u=new Map,savedOpen:f=null,keepTool:v=fe}={}){if(!e?.ok||!r)return{changed:!1};for(let t of e.article.querySelectorAll("details[data-id]")){let a=t.getAttribute("data-id");u.has(a)&&t.hasAttribute("open")!==u.get(a)&&t.toggleAttribute("open",u.get(a))}let g=Je(r),m=new Set,s=!1,S=t=>(s=!0,t.cloneNode(!0)),q=(t,a)=>{let h=xe(t);for(let d of a.children){if(m.has(d)||d.hasAttribute("data-id")||d.tagName!==t.tagName)continue;if(!h.size)return d;let c=xe(d);for(let b of h)if(c.has(b))return d}return null},L=(t,a)=>{for(let h of a.children)if(!(m.has(h)||h.hasAttribute("data-id"))&&h.tagName===t.tagName)return h;return null},P=(t,a,h=null)=>{for(let{name:d,value:c}of[...a.attributes])d===h||t.getAttribute(d)===c||(t.setAttribute(d,c),s=!0);for(let{name:d}of[...t.attributes])d===h||a.hasAttribute(d)||(t.removeAttribute(d),s=!0)},z=(t,a,h)=>{let d=b=>b&&b.nodeType===t.nodeType&&b.nodeValue===t.nodeValue&&!m.has(b),c=d(a.childNodes[h])?a.childNodes[h]:[...a.childNodes].find(d);return c?(m.add(c),c):t.cloneNode(!0)},x=(t,a)=>{let h=[],d=[...a.childNodes];for(let k=0;k<d.length;k++){let O=d[k];if(O.nodeType!==1){h.push(z(O,t,k));continue}let N=A(O,t);m.add(N),h.push(N)}let c=new Set(h),b=t.firstChild;for(let k of h){for(;b&&!c.has(b);)b=b.nextSibling;if(b===k){b=b.nextSibling;continue}t.insertBefore(k,b),s=!0}for(let k of[...t.childNodes])c.has(k)||(k.remove(),s=!0)},C=t=>{s=!0;let a=t.cloneNode(!1);return x(a,t),a},T=(t,a)=>{s=!0;let h=t.getAttribute("data-id"),d=u.has(h)?u.get(h):a.hasAttribute("open");P(t,a,"open"),t.hasAttribute("open")!==d&&t.toggleAttribute("open",d),x(t,a)},E=(t,a)=>{s=!0,P(t,a),x(t,a)};function A(t,a){let h=t.getAttribute("data-id");if(h){let c=g.get(h);return!c||m.has(c)||c===a||c.contains(a)?S(t):(m.add(c),ke(c)&&ke(t)?v(c,t)?c:S(t):c.tagName!==t.tagName?S(t):c.isEqualNode(t)?c:t.tagName==="DETAILS"?(T(c,t),c):t.tagName==="LI"?(E(c,t),c):qe.has(t.tagName)?(P(c,t),x(c,t),c):S(t))}if(qe.has(t.tagName)){let c=q(t,a);return c?(m.add(c),P(c,t),x(c,t),c):C(t)}let d=L(t,a);return d?(m.add(d),d.isEqualNode(t)?d:(s=!0,S(t))):S(t)}if(x(r,e.article),f){f.clear();for(let[t,a]of e.savedOpen)f.set(t,a)}for(let t of[...u.keys()])e.savedOpen.has(t)||u.delete(t);return{changed:s}}var je="article[data-blockeditor]",Be='section[data-type="tool"][data-id]',Ee='script[type="application/json"][merge="blockeditor"]',de=["live-at","live-by"];var Fe=(e,r)=>import("../c-2OJMOUPC.js").then(u=>u.followTocLink(e,r)),He=e=>{import("../c-CL5LSATX.js").then(({recordEtag:r})=>r(e)).catch(()=>{})},pe=e=>Object.freeze({bytes:typeof e?.bytes=="string"?e.bytes:null,etag:typeof e?.etag=="string"&&e.etag?e.etag:null,seq:Number.isSafeInteger(e?.seq)?e.seq:null}),Ge=(e,r)=>{let u=e.source.querySelector(Ee),f=r.querySelector(Ee);if(!u)return f?(f.remove(),!0):!1;if(f){let g=de.map(s=>u.getAttribute(s));return f.textContent===u.textContent&&de.every((s,S)=>f.getAttribute(s)===g[S])?!1:(f.textContent!==u.textContent&&(f.textContent=u.textContent),de.forEach((s,S)=>{g[S]===null?f.removeAttribute(s):f.setAttribute(s,g[S])}),!0)}let v=r.querySelector(je);return v?.parentNode?(v.parentNode.insertBefore(r.importNode(u,!0),v),!0):!1};function We({doc:e,article:r,represented:u=null,feed:f=null,documentURL:v,servedEtag:g=null,stream:m=null,release:s=()=>{}}){let S=new Map,q=new Map,L=new Map,P={data:{}},z=[],x=null,C=null,T=0,E=!1,A=m,t=null,a=pe(u),h=null,d=s,c=!1,b=(o,p)=>{let y=e.defaultView??globalThis;e.dispatchEvent(new y.CustomEvent(o,{detail:p}))},k=()=>{for(let o of L.values())try{o.instance?.dispose?.()}catch{}L.clear()},O=()=>x?Promise.resolve(x):(C||(C=import("../c-FQAQRXGK.js").then(({createToolHost:o})=>E?null:(x=o({store:P,mode:"view"}),x)).catch(o=>(C=null,console.warn("clayjs: could not load the reader tool host",o),null))),C),N=o=>{for(let[p,y]of L){let R=o.get(p);if(!R||R.invalid||R.rev!==y.rev||R.signature!==y.signature){try{y.instance?.dispose?.()}catch{}L.delete(p)}}},$=(o,p)=>{let y=[];for(let[Q,M]of o)M.invalid?console.warn("clayjs: could not decode saved tools",M.error):y.push([Q,M]);if(!y.length)return;P.data=p??{};let R=++T;O().then(Q=>{if(!(E||!Q||R!==T))for(let[M,I]of y){if(L.has(M))continue;let n=[...r.querySelectorAll(Be)].find(l=>l.getAttribute("data-id")===M);if(n)try{let l=Q.mount(n,{id:M,artifact:I.artifact,rev:I.rev,seed:I.state??{}});L.set(M,{rev:I.rev,signature:I.signature,instance:l})}catch(l){console.warn(`clayjs: tool ${M} could not mount`,l)}}})},se=(o,p)=>{let y=L.get(o.getAttribute("data-id"));if(!y)return fe(o,p);let R=Le(p);return!R.invalid&&R.rev===y.rev&&R.signature===y.signature},K=o=>{o?.state==="current"&&(a=pe({bytes:a.bytes,etag:o.etag??null,seq:o.seq??null})),o?.state&&o.state!=="applied"&&b("clay:reader-status",o)},F=o=>{Te(o,{article:r,readerOpen:S,savedOpen:q,keepTool:se}),o.rev===null?r.removeAttribute("data-rev"):r.setAttribute("data-rev",o.rev),o.title&&(e.title=o.title),Ge(o,e)},re=o=>{console.warn("clayjs: the reader could not apply a saved file",o),A?.stop(),A=null,k();let p=a.bytes?X(a.bytes,e):null;if(p?.ok)try{F(p)}catch(y){console.warn("clayjs: the reader could not restore the previous file",y)}b("clay:reader-status",{state:"blocked"})};function H(o){if(E||c)return!1;let p=X(o.bytes,e);if(!p.ok||r.querySelector(".blockeditor-editor"))return!1;if(me(o.bytes))return A?.stop(),A=null,le(),b("clay:reader-status",{state:"blocked",reason:"upgraded"}),!1;N(p.tools);try{F(p)}catch(y){return re(y),!1}return a=pe(o),a.etag&&He(a.etag),$(p.tools,p.toolState),b("clay:reader-status",{state:"applied",etag:a.etag,seq:a.seq}),!0}let ae=()=>a.bytes===null?!1:(V.stop(),!0),U=o=>{let p=o.target;if(p.tagName!=="DETAILS"||!r.contains(p))return;let y=p.getAttribute("data-id");y&&(p.open===q.get(y)?S.delete(y):S.set(y,p.open))};e.addEventListener("toggle",U,!0),z.push(["toggle",U,!0]);let B=o=>{let p=o.target.closest?.('a[href^="#blockeditor-block-"], a[href^="#"]');!p||!r.contains(p)||!p.closest('nav[aria-label="Table of contents"]')||(o.preventDefault(),Fe(r,p.getAttribute("href")))};if(e.addEventListener("click",B),z.push(["click",B]),u){let o=X(u.bytes,e);if(!o.ok)throw new Error(`clayjs: the saved file is not a readable page (${o.reason})`);F(o),$(o.tools,o.toolState)}else{for(let o of r.querySelectorAll("details[data-id]"))q.set(o.getAttribute("data-id"),o.hasAttribute("open"));$(ue(r),ce(e))}let V={ready:null,get represented(){return a},yieldArticle(){return E||c?!1:(T++,k(),c=!0,d(),!0)},reclaimArticle(){if(E||!c)return!1;if(d=ie(r,"reader"),c=!1,a.bytes!==null){let o=X(a.bytes,e);o.ok&&(F(o),$(o.tools,o.toolState))}return!0},prepareHandoff(o={}){return h?Promise.resolve(h):E?Promise.reject(new Error("clayjs: the reader is stopped")):(h=import("../c-D62HRSZK.js").then(({readerHandoff:p})=>p({stream:A,options:o,apply:H,retire:ae,yieldArticle:V.yieldArticle,reclaimArticle:V.reclaimArticle})),h)},stop(){if(E)return t;E=!0,h=null,T++,A?.stop(),A=null;for(let[o,p,y]of z)e.removeEventListener(o,p,y);z.length=0,k();try{x?.dispose()}catch{}return x=null,c||d(),c=!1,d=()=>!1,t=Object.freeze({...a}),t}};if(V.ready=Promise.resolve(V),f){let o=p=>{let y=p.detail;typeof y?.html=="string"&&(y.source&&y.source!=="disk"&&y.lane!=="saved"||H({bytes:y.html,etag:y.etag??null,seq:y.seq??null}))};f.addEventListener("clay:sync-applied",o),z.push(["clay:sync-applied",o])}else A?A.adopt({onSnapshot:H,onStatus:K}):(A=Ae({documentURL:v,servedEtag:g,represented:a.bytes?a:null,onSnapshot:H,onStatus:K}),A.start());return V}function oe({represented:e=null,documentURL:r,servedEtag:u=null,stream:f=null,feed:v=null,doc:g=document}={}){if(e&&(typeof e.bytes!="string"||e.bytes===""))throw new TypeError("clayjs: the reader needs the full saved bytes to start");if(!v&&!f&&!e&&!r)throw new TypeError("clayjs: the reader needs a file, a stream or a page to follow");let m=g.querySelectorAll(je);if(m.length!==1)throw new Error("clayjs: the reader needs exactly one article[data-blockeditor]");let s=m[0];if(s.querySelector(".blockeditor-editor"))throw new Error("clayjs: the reader will not start over a mounted editor");if(e){let q=X(e.bytes,g);if(!q.ok)throw new Error("clayjs: the saved file is not a readable page");if(ve(q.source))throw le(),new Error("clayjs: the saved file was published at another version of this document")}let S=ie(s,"reader");try{return We({doc:g,article:s,represented:e,feed:v,documentURL:r,servedEtag:u,stream:f,release:S})}catch(q){throw S(),q}}var J=null,te=null,ye=!1,Oe=!1,ee=null,Z=null,he=null,Pe=()=>document.querySelectorAll("article[data-blockeditor]").length===1;function _e(){ee=e=>{if(ye)return;let r=e.detail;r?.state==="applied"?te?.(J):(r?.state==="blocked"||r?.state==="recoverable"||r?.state==="reconnecting")&&te?.(null)},document.addEventListener("clay:reader-status",ee)}function $e(){ee&&document.removeEventListener("clay:reader-status",ee),ee=null,te=null}function Qe(e=null){if(!Pe())return Promise.resolve(null);try{J=e?oe({represented:e}):oe({documentURL:window.location.href,servedEtag:ge})}catch(r){return console.warn("clayjs: the reader could not start over the served article",r),Promise.resolve(null)}return e?Promise.resolve(J.represented):new Promise(r=>{te=r})}function Xe(e=null){if(!Pe())return Promise.resolve(null);try{J=oe({feed:document,represented:e,documentURL:window.location.href})}catch(r){return console.warn("clayjs: the reader could not start over the page sync projects",r),Promise.resolve(null)}return Promise.resolve(J)}function Ke({sync:e=!1,represented:r=null}={}){return Z||(ye=!1,Oe=e,_e(),he=e?Xe(r):Qe(r),Z=e?he:Promise.resolve(null),Z)}function ct(e={}){return Ye(),Ke(e)}function ft(e){return J?J.prepareHandoff(e):Promise.reject(new Error("clayjs: the reader has not started"))}function Ye(){ye=!0,Oe||te?.(null),$e(),J?.stop(),J=null,he=null,Z=null}export{he as acquired,ft as prepareHandoff,Z as ready,ct as restart,Ke as start,Ye as stop};
@@ -1 +1 @@
1
- import{a as I,c as V}from"../c-RVMWGXEJ.js";import{a as P,d as j}from"../c-QQFHEODI.js";import{f as K,j as M}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var b=()=>window.clay&&"isEditMode"in window.clay?!!window.clay.isEditMode:K,pe=/^[A-Za-z0-9_-]{8,64}$/,D="clay:people:me",de=2e3,B=120,Q=/\S+@\S+\.\S+/,a={supports:!1,me:null,members:null,unavailable:!1},l=null,m,u=null,f=null,y=null,x=null,N="",_=null;function g(e){if(!e||typeof e!="object")return null;let t=typeof e.id=="string"?e.id:"",n=typeof e.name=="string"?e.name.trim().replace(/\s+/g," "):"";return!pe.test(t)||!n||n.length>B||Q.test(n)?null:{id:t,name:n}}function p({id:e,name:t}){return Object.freeze({id:e,name:t,initials:V(t),color:I(e)})}function E(){document.dispatchEvent(new CustomEvent("clay:people",{detail:{me:ee()}}))}function fe(){return document.querySelector("[clay-people]")}function O(){return[...document.querySelectorAll("[clay-people] data[value]")]}function R(){if(u)return u;u=new Map;for(let e of O()){let t=g({id:e.getAttribute("value"),name:e.textContent});t&&!u.has(t.id)&&u.set(t.id,p(t))}return u}function S(){if(m===void 0){m=null;try{m=g(JSON.parse(window.localStorage.getItem(D)||"null"))}catch{}}return m}function q(e){m=e;try{window.localStorage.setItem(D,JSON.stringify(e))}catch{}}function me(){let e=new Uint8Array(16);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ee(){if(!b())return null;if(a.me)return p(a.me);if(a.unavailable||l!=="ok"&&l!=="none")return null;let e=S();return e?p(e):null}function te(e){let t=P(e);if(t!=="ok"&&a.supports)return;let n=e.document?.people,o=e.extensions.includes("people")&&!!n&&typeof n=="object",r={supports:o,me:o?g(n.me):null,members:o&&Array.isArray(n.members)?n.members.map(g).filter(Boolean):null,unavailable:o&&n.unavailable===!0},s=t!==l||JSON.stringify(r)!==JSON.stringify(a);a=r,l=t,s&&E()}async function k(e){te(await j({fresh:e}))}function ne(e){L();let t=String(e??""),n=a.me?.id===t&&a.me||a.members?.find(r=>r.id===t);if(n)return p(n);let o=S();return o?.id===t?p(o):R().get(t)||Object.freeze({id:t,name:"Unknown person",initials:"?",color:I(t)})}function oe(){return L(),[...R().keys()].map(ne)}async function be(){return await k(l!=="none"),a.members?a.members.map(p):null}function J(e){let t=g(e);if(!t)throw new TypeError("clay.people.add: needs an id of 8 to 64 letters, digits, _ or -, and a name of 1 to 120 characters");let n=fe();n||(n=document.createElement("div"),n.setAttribute("clay-people",""),n.hidden=!0,document.body.append(n));let o=O().filter(r=>r.getAttribute("value")===t.id);if(o.length){o[0].textContent!==t.name&&(o[0].textContent=t.name);for(let r of o.slice(1))r.remove()}else{let r=document.createElement("data");r.setAttribute("value",t.id),r.textContent=t.name,n.append(r)}return u=null,p(t)}function ge(e){let t=String(e??"");for(let n of O())n.getAttribute("value")===t&&n.remove();u=null}function re(){return b()&&!a.me&&(l==="ok"||l==="none")&&!!S()&&!a.unavailable}function he(e){if(!re())throw Object.assign(new Error("clay.people.rename: only a name chosen in this browser can be changed here"),{code:"not-renamable"});let t=S(),n=g({id:t.id,name:e});if(!n)throw new TypeError("clay.people.rename: needs a name of 1 to 120 characters that is not an email address");return q(n),O().some(o=>o.getAttribute("value")===n.id)&&J(n),E(),p(n)}var ye=e=>e!==M().generation||!b();function z(e){if(ye(e))throw Object.assign(new Error("clay.author: the page left edit mode before your name was recorded"),{code:"stale-document"})}function X(){return Object.assign(new Error("Can't reach the host to check who you are. Try again in a moment."),{code:"people-unavailable"})}async function Pe(e,t="data-by"){if(!window.clay?.isEditMode)throw new Error("clay.author: this page is not in edit mode");if(!(e instanceof Element))throw new TypeError("clay.author: needs an element");let n=M().generation;if(a.supports){let r=await j({fresh:!0});z(n);let s=P(r);if(s==="none")throw Object.assign(new Error("This page lost its connection to the host. Reload it to keep editing."),{code:"people-unavailable"});if(s!=="ok")throw X();if(te(r),a.unavailable)throw Object.assign(new Error("The app hosting this file can't name you right now. Check its Profile settings, then try again."),{code:"people-unavailable"})}else l!=="ok"&&l!=="none"&&(await k(l==="failed"),z(n));if(l==="failed")throw X();let o=ee();if(!o){let r=await ve();if(z(n),!r)return null;q(r),o=p(r),E()}return J(o),e.setAttribute(t,o.id),o}function we(){return _??=Promise.all([import("../c-EODTTNVA.js"),import("../c-TFLRT5JX.js"),import("../c-OCSZ4QGN.js")]).then(([e,t,n])=>({...e,...t,resolveTheme:n.resolveTheme})).catch(e=>{throw _=null,e}),_}function ve(){return f&&(!y||y.isConnected)||(f&&x(),f=xe().catch(e=>{throw f=null,y=null,x=null,e})),f}async function xe(){let e=await we();return new Promise(t=>{let n=e.resolveTheme(),{root:o,overlay:r,panel:s,heading:ae,body:U,footer:le,close:se}=e.bevelDialog({zIndex:"2147483001",width:"420px",closable:!0,titled:!0,theme:n,surface:"people"});y=o,x=()=>d(null),ae.textContent="What name should appear on your changes?",s.setAttribute("aria-label","Your name");let c=e.bevelInput("input",{rules:["display:block","width:100%","margin:0"],theme:n,parts:["dialog.input","people.input"]});c.setAttribute("aria-label","Your name"),c.maxLength=B,c.autocomplete="name";let h=e.bevelText("p",["display:block","margin:10px 0 0","font-size:13px","opacity:.8"],"Saved in this browser. Everyone who can read this page will see it.",{theme:n,parts:["dialog.hint","people.hint"],role:"mutedText"}),F=h.textContent;U.append(c,h);let W=oe().slice(0,8);if(W.length){let i=e.bevelText("p",["display:block","margin:18px 0 8px","font-size:13px"],"Or continue as someone already in this page:",{theme:n,parts:["people.choiceLabel"],role:"mutedText"}),H=e.bevelBox("div",["display:flex","flex-wrap:wrap","gap:8px"],{theme:n,parts:["people.choices"]});for(let T of W)H.append(e.bevelButton(T.name,{small:!0,onClick:()=>d({id:T.id,name:T.name}),theme:n,parts:["dialog.button","people.button","people.choice"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}));U.append(i,H)}let ce=e.bevelButton("Cancel",{onClick:()=>d(null),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}),ue=e.bevelButton("Continue",{variant:"primary",onClick:()=>A(),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]});le.append(ce,ue);let A=()=>{let i=c.value.trim().replace(/\s+/g," ");if(!i){c.focus();return}if(Q.test(i)){h.textContent="Use a name, not an email address. Everyone who can read this page will see it.",c.focus();return}d({id:me(),name:i.slice(0,B)})};c.addEventListener("input",()=>{h.textContent!==F&&(h.textContent=F)}),s.addEventListener("submit",i=>{i.preventDefault(),A()}),se?.addEventListener("click",()=>d(null));let C=!1;r.addEventListener("mousedown",i=>{C=i.target===r}),r.addEventListener("click",i=>{C&&i.target===r&&d(null),C=!1});let Y=i=>{if(i.key==="Tab"){i.stopPropagation(),e.keepFocusIn(s,i);return}i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),d(null)):i.key==="Enter"&&i.target===c&&(i.preventDefault(),i.stopPropagation(),A())};document.addEventListener("keydown",Y,!0);let $=!1;function d(i){$||($=!0,document.removeEventListener("keydown",Y,!0),o.remove(),i&&q(i),f=null,y=null,x=null,t(i))}e.dismissOf.set(o,()=>d(null)),o.setAttribute("aria-hidden","false"),Ee().append(o),c.focus()})}function Ee(){let e=[...document.querySelectorAll("dialog[open]")].filter(t=>t.matches(":modal"));return e[e.length-1]||document.body}function Z(e){return e.nodeType===1&&(e.matches("[clay-people]")||!!e.querySelector("[clay-people]"))}function G(){return JSON.stringify([...R().values()].map(({id:e,name:t})=>[e,t]))}var w=null;function L(){let e=document;if(w?.doc===e)return;w?.observer.disconnect(),N=G();let t=new MutationObserver(n=>{if(!(typeof document>"u"||document!==e))for(let o of n){let r=o.target.nodeType===1?o.target:o.target.parentElement;if(o.attributeName==="clay-people"||r?.closest("[clay-people]")||[...o.addedNodes].some(Z)||[...o.removedNodes].some(Z)){u=null;let s=G();s!==N&&(N=s,E());return}}});t.observe(e.body,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["value","clay-people"]}),w={doc:e,observer:t}}function ke(){w?.observer.disconnect(),w=null}var v=null;function ie(){if(!b())return Promise.resolve(null);if(!v){let e=new AbortController,{signal:t}=e;window.addEventListener("storage",n=>{n.key!==D||!b()||(m=void 0,E())},{signal:t}),document.addEventListener("visibilitychange",()=>{b()&&document.visibilityState==="visible"&&l!=="none"&&k(!0)},{signal:t}),v={listeners:e,first:k(!1)}}return Promise.race([v.first,new Promise(e=>setTimeout(e,de))])}function Oe(){v?.listeners.abort(),v=null}async function Se(){L(),await ie()}function Le(){return{enable(){L(),ie()},quiesce(){if(f)throw Object.assign(new Error("clay:people: a name is still being chosen"),{code:"pending-input",pending:["name"]})},resume(){},dispose(){x?.(),ke(),Oe()}}}function je(){return{id:"clay:people",order:330,prepare(e={}){let t=Le();return e.initial!==!0?t:{...t,enable(){}}}}}var Ae=Object.freeze({get:ne,list:oe,available:be,add:J,remove:ge,canRename:re,rename:he}),Ie=Se(),Ne=Ae;export{Pe as author,ee as currentMe,Ne as default,je as modeParticipant,Ae as people,je as peopleParticipant,Ie as ready};
1
+ import{a as I,c as V}from"../c-RVMWGXEJ.js";import{a as P,d as j}from"../c-EQ5NBOGA.js";import{f as K,j as M}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var b=()=>window.clay&&"isEditMode"in window.clay?!!window.clay.isEditMode:K,pe=/^[A-Za-z0-9_-]{8,64}$/,D="clay:people:me",de=2e3,B=120,Q=/\S+@\S+\.\S+/,a={supports:!1,me:null,members:null,unavailable:!1},l=null,m,u=null,f=null,y=null,x=null,N="",_=null;function g(e){if(!e||typeof e!="object")return null;let t=typeof e.id=="string"?e.id:"",n=typeof e.name=="string"?e.name.trim().replace(/\s+/g," "):"";return!pe.test(t)||!n||n.length>B||Q.test(n)?null:{id:t,name:n}}function p({id:e,name:t}){return Object.freeze({id:e,name:t,initials:V(t),color:I(e)})}function E(){document.dispatchEvent(new CustomEvent("clay:people",{detail:{me:ee()}}))}function fe(){return document.querySelector("[clay-people]")}function O(){return[...document.querySelectorAll("[clay-people] data[value]")]}function R(){if(u)return u;u=new Map;for(let e of O()){let t=g({id:e.getAttribute("value"),name:e.textContent});t&&!u.has(t.id)&&u.set(t.id,p(t))}return u}function S(){if(m===void 0){m=null;try{m=g(JSON.parse(window.localStorage.getItem(D)||"null"))}catch{}}return m}function q(e){m=e;try{window.localStorage.setItem(D,JSON.stringify(e))}catch{}}function me(){let e=new Uint8Array(16);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ee(){if(!b())return null;if(a.me)return p(a.me);if(a.unavailable||l!=="ok"&&l!=="none")return null;let e=S();return e?p(e):null}function te(e){let t=P(e);if(t!=="ok"&&a.supports)return;let n=e.document?.people,o=e.extensions.includes("people")&&!!n&&typeof n=="object",r={supports:o,me:o?g(n.me):null,members:o&&Array.isArray(n.members)?n.members.map(g).filter(Boolean):null,unavailable:o&&n.unavailable===!0},s=t!==l||JSON.stringify(r)!==JSON.stringify(a);a=r,l=t,s&&E()}async function k(e){te(await j({fresh:e}))}function ne(e){L();let t=String(e??""),n=a.me?.id===t&&a.me||a.members?.find(r=>r.id===t);if(n)return p(n);let o=S();return o?.id===t?p(o):R().get(t)||Object.freeze({id:t,name:"Unknown person",initials:"?",color:I(t)})}function oe(){return L(),[...R().keys()].map(ne)}async function be(){return await k(l!=="none"),a.members?a.members.map(p):null}function J(e){let t=g(e);if(!t)throw new TypeError("clay.people.add: needs an id of 8 to 64 letters, digits, _ or -, and a name of 1 to 120 characters");let n=fe();n||(n=document.createElement("div"),n.setAttribute("clay-people",""),n.hidden=!0,document.body.append(n));let o=O().filter(r=>r.getAttribute("value")===t.id);if(o.length){o[0].textContent!==t.name&&(o[0].textContent=t.name);for(let r of o.slice(1))r.remove()}else{let r=document.createElement("data");r.setAttribute("value",t.id),r.textContent=t.name,n.append(r)}return u=null,p(t)}function ge(e){let t=String(e??"");for(let n of O())n.getAttribute("value")===t&&n.remove();u=null}function re(){return b()&&!a.me&&(l==="ok"||l==="none")&&!!S()&&!a.unavailable}function he(e){if(!re())throw Object.assign(new Error("clay.people.rename: only a name chosen in this browser can be changed here"),{code:"not-renamable"});let t=S(),n=g({id:t.id,name:e});if(!n)throw new TypeError("clay.people.rename: needs a name of 1 to 120 characters that is not an email address");return q(n),O().some(o=>o.getAttribute("value")===n.id)&&J(n),E(),p(n)}var ye=e=>e!==M().generation||!b();function z(e){if(ye(e))throw Object.assign(new Error("clay.author: the page left edit mode before your name was recorded"),{code:"stale-document"})}function X(){return Object.assign(new Error("Can't reach the host to check who you are. Try again in a moment."),{code:"people-unavailable"})}async function Pe(e,t="data-by"){if(!window.clay?.isEditMode)throw new Error("clay.author: this page is not in edit mode");if(!(e instanceof Element))throw new TypeError("clay.author: needs an element");let n=M().generation;if(a.supports){let r=await j({fresh:!0});z(n);let s=P(r);if(s==="none")throw Object.assign(new Error("This page lost its connection to the host. Reload it to keep editing."),{code:"people-unavailable"});if(s!=="ok")throw X();if(te(r),a.unavailable)throw Object.assign(new Error("The app hosting this file can't name you right now. Check its Profile settings, then try again."),{code:"people-unavailable"})}else l!=="ok"&&l!=="none"&&(await k(l==="failed"),z(n));if(l==="failed")throw X();let o=ee();if(!o){let r=await ve();if(z(n),!r)return null;q(r),o=p(r),E()}return J(o),e.setAttribute(t,o.id),o}function we(){return _??=Promise.all([import("../c-EODTTNVA.js"),import("../c-TFLRT5JX.js"),import("../c-OCSZ4QGN.js")]).then(([e,t,n])=>({...e,...t,resolveTheme:n.resolveTheme})).catch(e=>{throw _=null,e}),_}function ve(){return f&&(!y||y.isConnected)||(f&&x(),f=xe().catch(e=>{throw f=null,y=null,x=null,e})),f}async function xe(){let e=await we();return new Promise(t=>{let n=e.resolveTheme(),{root:o,overlay:r,panel:s,heading:ae,body:U,footer:le,close:se}=e.bevelDialog({zIndex:"2147483001",width:"420px",closable:!0,titled:!0,theme:n,surface:"people"});y=o,x=()=>d(null),ae.textContent="What name should appear on your changes?",s.setAttribute("aria-label","Your name");let c=e.bevelInput("input",{rules:["display:block","width:100%","margin:0"],theme:n,parts:["dialog.input","people.input"]});c.setAttribute("aria-label","Your name"),c.maxLength=B,c.autocomplete="name";let h=e.bevelText("p",["display:block","margin:10px 0 0","font-size:13px","opacity:.8"],"Saved in this browser. Everyone who can read this page will see it.",{theme:n,parts:["dialog.hint","people.hint"],role:"mutedText"}),F=h.textContent;U.append(c,h);let W=oe().slice(0,8);if(W.length){let i=e.bevelText("p",["display:block","margin:18px 0 8px","font-size:13px"],"Or continue as someone already in this page:",{theme:n,parts:["people.choiceLabel"],role:"mutedText"}),H=e.bevelBox("div",["display:flex","flex-wrap:wrap","gap:8px"],{theme:n,parts:["people.choices"]});for(let T of W)H.append(e.bevelButton(T.name,{small:!0,onClick:()=>d({id:T.id,name:T.name}),theme:n,parts:["dialog.button","people.button","people.choice"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}));U.append(i,H)}let ce=e.bevelButton("Cancel",{onClick:()=>d(null),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}),ue=e.bevelButton("Continue",{variant:"primary",onClick:()=>A(),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]});le.append(ce,ue);let A=()=>{let i=c.value.trim().replace(/\s+/g," ");if(!i){c.focus();return}if(Q.test(i)){h.textContent="Use a name, not an email address. Everyone who can read this page will see it.",c.focus();return}d({id:me(),name:i.slice(0,B)})};c.addEventListener("input",()=>{h.textContent!==F&&(h.textContent=F)}),s.addEventListener("submit",i=>{i.preventDefault(),A()}),se?.addEventListener("click",()=>d(null));let C=!1;r.addEventListener("mousedown",i=>{C=i.target===r}),r.addEventListener("click",i=>{C&&i.target===r&&d(null),C=!1});let Y=i=>{if(i.key==="Tab"){i.stopPropagation(),e.keepFocusIn(s,i);return}i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),d(null)):i.key==="Enter"&&i.target===c&&(i.preventDefault(),i.stopPropagation(),A())};document.addEventListener("keydown",Y,!0);let $=!1;function d(i){$||($=!0,document.removeEventListener("keydown",Y,!0),o.remove(),i&&q(i),f=null,y=null,x=null,t(i))}e.dismissOf.set(o,()=>d(null)),o.setAttribute("aria-hidden","false"),Ee().append(o),c.focus()})}function Ee(){let e=[...document.querySelectorAll("dialog[open]")].filter(t=>t.matches(":modal"));return e[e.length-1]||document.body}function Z(e){return e.nodeType===1&&(e.matches("[clay-people]")||!!e.querySelector("[clay-people]"))}function G(){return JSON.stringify([...R().values()].map(({id:e,name:t})=>[e,t]))}var w=null;function L(){let e=document;if(w?.doc===e)return;w?.observer.disconnect(),N=G();let t=new MutationObserver(n=>{if(!(typeof document>"u"||document!==e))for(let o of n){let r=o.target.nodeType===1?o.target:o.target.parentElement;if(o.attributeName==="clay-people"||r?.closest("[clay-people]")||[...o.addedNodes].some(Z)||[...o.removedNodes].some(Z)){u=null;let s=G();s!==N&&(N=s,E());return}}});t.observe(e.body,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["value","clay-people"]}),w={doc:e,observer:t}}function ke(){w?.observer.disconnect(),w=null}var v=null;function ie(){if(!b())return Promise.resolve(null);if(!v){let e=new AbortController,{signal:t}=e;window.addEventListener("storage",n=>{n.key!==D||!b()||(m=void 0,E())},{signal:t}),document.addEventListener("visibilitychange",()=>{b()&&document.visibilityState==="visible"&&l!=="none"&&k(!0)},{signal:t}),v={listeners:e,first:k(!1)}}return Promise.race([v.first,new Promise(e=>setTimeout(e,de))])}function Oe(){v?.listeners.abort(),v=null}async function Se(){L(),await ie()}function Le(){return{enable(){L(),ie()},quiesce(){if(f)throw Object.assign(new Error("clay:people: a name is still being chosen"),{code:"pending-input",pending:["name"]})},resume(){},dispose(){x?.(),ke(),Oe()}}}function je(){return{id:"clay:people",order:330,prepare(e={}){let t=Le();return e.initial!==!0?t:{...t,enable(){}}}}}var Ae=Object.freeze({get:ne,list:oe,available:be,add:J,remove:ge,canRename:re,rename:he}),Ie=Se(),Ne=Ae;export{Pe as author,ee as currentMe,Ne as default,je as modeParticipant,Ae as people,je as peopleParticipant,Ie as ready};
@@ -1,4 +1,4 @@
1
- import{a as wo}from"../c-NFQFV7OP.js";import"../c-MR75YPRT.js";import"../c-4JZDZFF6.js";import"../c-5RZNFTWD.js";import"../c-PKCCHJ5X.js";import"../c-NUHP2XDB.js";import{k as xo}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Eo=[".richclay-toolbar",".richclay-float",".richclay-dialog"],Co=`@layer clay-skin{
1
+ import{a as wo}from"../c-NFQFV7OP.js";import"../c-MR75YPRT.js";import"../c-4JZDZFF6.js";import"../c-5RZNFTWD.js";import"../c-PKCCHJ5X.js";import"../c-NUHP2XDB.js";import{k as xo}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Eo=[".richclay-toolbar",".richclay-float",".richclay-dialog"],Co=`@layer clay-skin{
2
2
  :is(.richclay-toolbar, .richclay-float, .richclay-dialog),:is(.richclay-toolbar, .richclay-float, .richclay-dialog) *{--richclay-surface:light-dark(#FFFCF6, #11131E) !important;--richclay-surface-alt:light-dark(#F4ECDF, #1A1D2C) !important;--richclay-text:light-dark(#2B241B, #ECEAF2) !important;--richclay-muted:light-dark(#6B5942, #8A90AB) !important;--richclay-border:light-dark(#D8C8AF, #353B52) !important;--richclay-accent:light-dark(#8F6310, #D9A445) !important;--richclay-accent-ink:light-dark(#FDF8F0, #0B0C13) !important;--richclay-focus:light-dark(#8F6310, #D9A445) !important;--richclay-danger:light-dark(#A83A2C, #FF5566) !important;--richclay-radius:0px !important;--richclay-control-size:32px !important;--richclay-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}
3
3
  :is(.richclay-toolbar, .richclay-float, .richclay-dialog){font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important}
4
4
  :where(.richclay-float, .richclay-dialog):is(.richclay-toolbar, .richclay-float, .richclay-dialog){color:light-dark(#2B241B, #ECEAF2) !important;background:light-dark(#FFFCF6, #11131E) !important;border:1px solid light-dark(#D8C8AF, #353B52) !important}
@@ -546,4 +546,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
546
546
  }
547
547
  }
548
548
  `,te=typeof globalThis<"u"?globalThis:self;te&&!te.Squire&&(te.Squire=ua),te&&!te.DOMPurify&&(te.DOMPurify=ja),rs(Es);var Cs=$i.autoInit(),Ss=$i;return No(pr)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.RichClay=Qe.default,window.RichClay=window.RichClay||Qe.default,window.h=window.hyperclay);var bt=Qe.default,cc=Qe.default;wo("richclay",Co,{roots:Eo});var Xe=null,So=(v,ct)=>Object.assign(new Error(`clay:richclay: ${v}`),{code:ct}),Js=v=>v?v.signal?.aborted?!0:typeof v.isCurrent=="function"&&!v.isCurrent():!1,tc=v=>({root:v,win:v.ownerDocument?.defaultView||window,admitted:!1,stopWatch:null,subscriber:null}),To=v=>[...v.root.querySelectorAll(bt.selector)];function ko(v){for(let ct of bt.init(To(v)))ct.reattach()}function ec(v){let ct=()=>ko(v);return{enable(){if(v.admitted)return;v.admitted=!0,ko(v),v.stopWatch=bt.watch(v.win);let lt=v.root.ownerDocument||document;v.subscriber={target:lt,type:"clay:sync-applied",handler:ct},lt.addEventListener(v.subscriber.type,ct)},quiesce(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null)},resume(){v.admitted||(v.admitted=!0,v.stopWatch=bt.watch(v.win))},dispose(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null);let lt=v.subscriber;v.subscriber=null,lt&&lt.target.removeEventListener(lt.type,lt.handler);for(let Je of To(v))bt.stripElement(Je);Xe===v&&(Xe=null)}}}function ic(v=document){return{id:"clay:richclay",order:310,async prepare(ct={}){if(ct.initial===!0)return rc();if(typeof bt.watch!="function"||typeof bt.stripElement!="function")throw So("this vendor build has no watchable lifecycle","unsupported-plugin");if(Js(ct))throw So("prepared for a stale generation","stale-document");let lt=bt.autoInit?.();return typeof lt=="function"&&lt(),ec(Xe||(Xe=tc(v)))}}}async function rc(){let v=await oc;return{enable(){},quiesce:()=>v?.quiesce(),resume:()=>v?.resume(),dispose:()=>v?.dispose()}}async function nc(){if(!xo())return null;let v=await ic().prepare();return v.enable(),v}var oc=nc();var wc=bt;export{bt as RichClay,wc as default,nc as init,ic as modeParticipant,oc as ready,ic as richclayParticipant};
549
- /*! For license information please see richclay-Y2NV44NA.js.LEGAL.txt */
549
+ /*! For license information please see richclay-L3BZMX4I.js.LEGAL.txt */
@@ -1 +1 @@
1
- import{a as x,d as I,e as g,f as U,g as M}from"../c-7DJDKPGL.js";import{a as $}from"../c-LA2BW7UY.js";import"../c-IJUK2GPW.js";import{f as F,k as R}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import{k as N}from"../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{e as k}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var T=k("history"),W="[cms-template]",L=["draggable","style"],X=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,E=null,p=null;function q(e,t,n,r,i){let o={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(o),o}function H(e,t){t.target.removeEventListener(t.type,t.handler,t.options);let n=e.listeners.indexOf(t);n!==-1&&e.listeners.splice(n,1)}function _(e,t){let n=setTimeout(()=>{e.timers.delete(n),t()},0);return e.timers.add(n),n}function Y(e,t){return{Sortable:e,root:t,admitted:!1,instances:new Set,listeners:[],timers:new Set,presses:new Set,stop:null}}var Z={admitted:!0,instances:new Set,listeners:[],timers:new Set,presses:new Set};function C(e){return[e,...e.querySelectorAll("*")].filter(t=>!t.closest(T)).map(t=>[t,L.map(n=>t.getAttribute(n))])}function P(e){for(let[t,n]of e)L.forEach((r,i)=>{let o=n[i],a=t.getAttribute(r);if(a!==o)if(o===null){if(r==="style"&&a)return;t.removeAttribute(r)}else t.setAttribute(r,o)})}function B(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function ee(e){return`> ${B(e)}:not(${T})`}function V(e,t){return!e||!t||t.nodeType!==1||!t.matches(B(e))?!1:!t.closest(T)&&!t.closest(W)}function D(e,t){return!e||!t||t.parentElement!==e?!1:V(e,t)}function te(e,t){let n=t.nextElementSibling;for(;n&&!D(e,n);)n=n.nextElementSibling;return n}function j(e,t){return Array.prototype.indexOf.call(e.children,t)}function G(e,t){if(t)try{new Function(`return (async function(evt) { ${t} })`)().call(e.from,e)}catch(n){console.error("Error in onsorted execution:",n)}e.from.dispatchEvent(new CustomEvent("clay:sorted",{bubbles:!0,detail:{item:e.item,from:e.from,to:e.to,oldIndex:e.oldIndex,newIndex:e.newIndex}})),e.from.dispatchEvent(new Event("input",{bubbles:!0}))}function z(e,t,n=Z){let r={};if(r.draggable=ee(e),r.setData=s=>{s.clearData(),s.setData("application/x-clay-sortable","")},t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let o=e.querySelectorAll("[sortable-handle]"),a=e.querySelectorAll("[sortable]");Array.from(o).some(s=>!Array.from(a).some(l=>l.contains(s)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(s){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,s)}catch(l){console.error("Error in onsorting execution:",l)}});let f=e.getAttribute("onsorted");r.onEnd=function(s){if(!n.admitted)return;let l={item:s.item,from:s.from,to:s.to,oldIndex:s.oldIndex,newIndex:s.newIndex},b=u;u=null,m&&(P(m),m=null),b&&(M(b,l),g(b)),G(l,f)};let d=null,u=null,m=null,w=!1,A=!1,v=[],K=()=>{let s=u;u=null,m=null,g(s)},O=()=>{let s=d;d=null,s&&(n.presses.delete(s),y.delete(s),m=s),v.forEach(l=>H(n,l)),v=[],s&&_(n,()=>P(s))},Q=s=>{A&&s?.type==="pointercancel"||(A=!1,w?I(u):(g(u),u=null),w=!1,O(),_(n,K))};q(n,e,"pointerdown",s=>{let l=s.target instanceof Element?s.target:null;for(;l&&l.parentElement!==e;)l=l.parentElement;!l||d||(d=C(l),u=x(l),w=!1,A=!1,n.presses.add(d),y.add(d),v=X.map(b=>q(n,document,b,Q,!0)),v.push(q(n,document,"dragstart",()=>{A=!0},!0)))},!0),r.onUnchoose=O,r.onStart=()=>{w=!0},t.create(e,r),n.instances.add(e)}function ne(e,t,n=null){let r=f=>({ok:!1,code:f});if(!F||p&&!p.admitted)return r("not-editable");let i=document;if(!e||e.nodeType!==1||!e.isConnected||e.ownerDocument!==i)return r("detached");let o=e.parentElement;if(!o||!o.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!o.hasAttribute("sortable")||!D(o,e)||!t.hasAttribute("sortable")||!V(t,e)||e===t||e.contains(t))return r("item");if(o!==t){let f=o.getAttribute("sortable");if(!f||f!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!D(t,n))return r("anchor");if(o===t&&te(o,e)===n)return{ok:!0,moved:!1};let a=j(o,e),S=x(e);I(S);let c;try{t.insertBefore(e,n),c={item:e,from:o,to:t,oldIndex:a,newIndex:j(t,e)},M(S,c)}finally{g(S)}return G(c,o.getAttribute("onsorted")),{ok:!0,moved:!0,...c}}function re(){return h||(h=import("../vendor/Sortable.vendor-A755ITLN.js").then(e=>window.Sortable||e.default),h.catch(()=>{h=null})),h}function se(){return E||(N((e,{original:t})=>{for(let r of e.querySelectorAll("[sortable] .sortable-chosen, [sortable] .sortable-ghost, [sortable] .sortable-drag"))r.classList.remove("sortable-chosen","sortable-ghost","sortable-drag"),r.classList.length||r.removeAttribute("class");if(!y.size)return;let n=new Map;for(let r of y)for(let[i,o]of r)n.set(i,o);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&L.forEach((o,a)=>{i[a]===null?r.removeAttribute(o):r.setAttribute(o,i[a])})}}),E=!0,E)}function oe(e){return{enable(){if(!e.admitted){e.admitted=!0;for(let t of e.root.querySelectorAll("[sortable]"))z(t,e.Sortable,e);e.stop=$.onAddElement({selectorFilter:"[sortable]",debounce:200,require:"observed",pausable:!1},t=>{e.admitted&&t.forEach(({element:n})=>{z(n,e.Sortable,e)})})}},quiesce(){e.admitted=!1},resume(){e.admitted=!0},dispose(){e.admitted=!1,e.stop&&(e.stop(),e.stop=null);for(let t of[...e.listeners])H(e,t);for(let t of e.timers)clearTimeout(t);e.timers.clear();for(let t of e.presses)y.delete(t);e.presses.clear(),U();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),p===e&&(p=null)}}}var le=e=>e?e.signal?.aborted?!0:typeof e.isCurrent=="function"&&!e.isCurrent():!1;function ie(e=document){return{id:"clay:sortable",order:300,async prepare(t={}){if(t.initial===!0)return ae();let n=await re();if(le(t))throw Object.assign(new Error("clay:sortable prepared for a stale generation"),{code:"stale-document"});return se(),oe(p||(p=Y(n,e)))}}}async function ae(){let e=await ue;return{enable(){},quiesce:()=>e?.quiesce(),resume:()=>e?.resume(),dispose:()=>e?.dispose()}}async function J(){if(!R())return null;let e=await ie().prepare();return e.enable(),e}var ue=J(),be=Object.freeze({move:ne});var ge=J;export{ge as default,J as init,z as makeSortable,ie as modeParticipant,ne as move,ue as ready,be as sortable,ie as sortableParticipant};
1
+ import{a as x,d as I,e as g,f as U,g as M}from"../c-7DJDKPGL.js";import{a as $}from"../c-MZCOGNZL.js";import"../c-IJUK2GPW.js";import{f as F,k as R}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import{k as N}from"../c-PNZIJFG7.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import{e as k}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var T=k("history"),W="[cms-template]",L=["draggable","style"],X=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,E=null,p=null;function q(e,t,n,r,i){let o={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(o),o}function H(e,t){t.target.removeEventListener(t.type,t.handler,t.options);let n=e.listeners.indexOf(t);n!==-1&&e.listeners.splice(n,1)}function _(e,t){let n=setTimeout(()=>{e.timers.delete(n),t()},0);return e.timers.add(n),n}function Y(e,t){return{Sortable:e,root:t,admitted:!1,instances:new Set,listeners:[],timers:new Set,presses:new Set,stop:null}}var Z={admitted:!0,instances:new Set,listeners:[],timers:new Set,presses:new Set};function C(e){return[e,...e.querySelectorAll("*")].filter(t=>!t.closest(T)).map(t=>[t,L.map(n=>t.getAttribute(n))])}function P(e){for(let[t,n]of e)L.forEach((r,i)=>{let o=n[i],a=t.getAttribute(r);if(a!==o)if(o===null){if(r==="style"&&a)return;t.removeAttribute(r)}else t.setAttribute(r,o)})}function B(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function ee(e){return`> ${B(e)}:not(${T})`}function V(e,t){return!e||!t||t.nodeType!==1||!t.matches(B(e))?!1:!t.closest(T)&&!t.closest(W)}function D(e,t){return!e||!t||t.parentElement!==e?!1:V(e,t)}function te(e,t){let n=t.nextElementSibling;for(;n&&!D(e,n);)n=n.nextElementSibling;return n}function j(e,t){return Array.prototype.indexOf.call(e.children,t)}function G(e,t){if(t)try{new Function(`return (async function(evt) { ${t} })`)().call(e.from,e)}catch(n){console.error("Error in onsorted execution:",n)}e.from.dispatchEvent(new CustomEvent("clay:sorted",{bubbles:!0,detail:{item:e.item,from:e.from,to:e.to,oldIndex:e.oldIndex,newIndex:e.newIndex}})),e.from.dispatchEvent(new Event("input",{bubbles:!0}))}function z(e,t,n=Z){let r={};if(r.draggable=ee(e),r.setData=s=>{s.clearData(),s.setData("application/x-clay-sortable","")},t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let o=e.querySelectorAll("[sortable-handle]"),a=e.querySelectorAll("[sortable]");Array.from(o).some(s=>!Array.from(a).some(l=>l.contains(s)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(s){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,s)}catch(l){console.error("Error in onsorting execution:",l)}});let f=e.getAttribute("onsorted");r.onEnd=function(s){if(!n.admitted)return;let l={item:s.item,from:s.from,to:s.to,oldIndex:s.oldIndex,newIndex:s.newIndex},b=u;u=null,m&&(P(m),m=null),b&&(M(b,l),g(b)),G(l,f)};let d=null,u=null,m=null,w=!1,A=!1,v=[],K=()=>{let s=u;u=null,m=null,g(s)},O=()=>{let s=d;d=null,s&&(n.presses.delete(s),y.delete(s),m=s),v.forEach(l=>H(n,l)),v=[],s&&_(n,()=>P(s))},Q=s=>{A&&s?.type==="pointercancel"||(A=!1,w?I(u):(g(u),u=null),w=!1,O(),_(n,K))};q(n,e,"pointerdown",s=>{let l=s.target instanceof Element?s.target:null;for(;l&&l.parentElement!==e;)l=l.parentElement;!l||d||(d=C(l),u=x(l),w=!1,A=!1,n.presses.add(d),y.add(d),v=X.map(b=>q(n,document,b,Q,!0)),v.push(q(n,document,"dragstart",()=>{A=!0},!0)))},!0),r.onUnchoose=O,r.onStart=()=>{w=!0},t.create(e,r),n.instances.add(e)}function ne(e,t,n=null){let r=f=>({ok:!1,code:f});if(!F||p&&!p.admitted)return r("not-editable");let i=document;if(!e||e.nodeType!==1||!e.isConnected||e.ownerDocument!==i)return r("detached");let o=e.parentElement;if(!o||!o.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!o.hasAttribute("sortable")||!D(o,e)||!t.hasAttribute("sortable")||!V(t,e)||e===t||e.contains(t))return r("item");if(o!==t){let f=o.getAttribute("sortable");if(!f||f!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!D(t,n))return r("anchor");if(o===t&&te(o,e)===n)return{ok:!0,moved:!1};let a=j(o,e),S=x(e);I(S);let c;try{t.insertBefore(e,n),c={item:e,from:o,to:t,oldIndex:a,newIndex:j(t,e)},M(S,c)}finally{g(S)}return G(c,o.getAttribute("onsorted")),{ok:!0,moved:!0,...c}}function re(){return h||(h=import("../vendor/Sortable.vendor-A755ITLN.js").then(e=>window.Sortable||e.default),h.catch(()=>{h=null})),h}function se(){return E||(N((e,{original:t})=>{for(let r of e.querySelectorAll("[sortable] .sortable-chosen, [sortable] .sortable-ghost, [sortable] .sortable-drag"))r.classList.remove("sortable-chosen","sortable-ghost","sortable-drag"),r.classList.length||r.removeAttribute("class");if(!y.size)return;let n=new Map;for(let r of y)for(let[i,o]of r)n.set(i,o);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&L.forEach((o,a)=>{i[a]===null?r.removeAttribute(o):r.setAttribute(o,i[a])})}}),E=!0,E)}function oe(e){return{enable(){if(!e.admitted){e.admitted=!0;for(let t of e.root.querySelectorAll("[sortable]"))z(t,e.Sortable,e);e.stop=$.onAddElement({selectorFilter:"[sortable]",debounce:200,require:"observed",pausable:!1},t=>{e.admitted&&t.forEach(({element:n})=>{z(n,e.Sortable,e)})})}},quiesce(){e.admitted=!1},resume(){e.admitted=!0},dispose(){e.admitted=!1,e.stop&&(e.stop(),e.stop=null);for(let t of[...e.listeners])H(e,t);for(let t of e.timers)clearTimeout(t);e.timers.clear();for(let t of e.presses)y.delete(t);e.presses.clear(),U();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),p===e&&(p=null)}}}var le=e=>e?e.signal?.aborted?!0:typeof e.isCurrent=="function"&&!e.isCurrent():!1;function ie(e=document){return{id:"clay:sortable",order:300,async prepare(t={}){if(t.initial===!0)return ae();let n=await re();if(le(t))throw Object.assign(new Error("clay:sortable prepared for a stale generation"),{code:"stale-document"});return se(),oe(p||(p=Y(n,e)))}}}async function ae(){let e=await ue;return{enable(){},quiesce:()=>e?.quiesce(),resume:()=>e?.resume(),dispose:()=>e?.dispose()}}async function J(){if(!R())return null;let e=await ie().prepare();return e.enable(),e}var ue=J(),be=Object.freeze({move:ne});var ge=J;export{ge as default,J as init,z as makeSortable,ie as modeParticipant,ne as move,ue as ready,be as sortable,ie as sortableParticipant};
@@ -1 +1 @@
1
- import"../c-MFOSMAVM.js";import{a as d}from"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import{k as p}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var g={installed:!1,refused:null,sourceBytes:null,paired:0,unresolved:0,unmatchedLive:0,unmatchedSource:0,attrDiffs:0,saves:0,reprints:0,lastReprint:null,partialReprints:0,lastPartialReprint:null,lastRenderMs:null,lastBytes:null,refreshes:0,timing:{fetch:null,model:null,pair:null,refresh:null}},n=null,c=null,i=null,u=p(),s=0,r=null,a=!1,o=null;function v(){return o??=import("../c-YLHTD3KX.js").catch(e=>{throw o=null,e}),o}function f(e,t,l){typeof e=="string"&&(i=Object.freeze({bytes:e,etag:t??null,seq:l??null}))}function h(){if(r)return r;let e=s,t=c;return r=v().then(l=>(n=l,e!==s?(r=null,null):l.start({context:t,latest:()=>i}))).catch(l=>(r=null,console.info("clayjs: source map off ("+(l&&l.message?l.message:l)+"); saves use the full serialization"),null)).then(l=>(e===s&&(a=!0),l)),r}function x(){return!u||a?null:h()}function m(){s++,u=!1,a=!1,r=null,c=null,n&&n.release()}d((e,t)=>{f(e,i?i.etag:null,i?i.seq:null),n&&!n.installed()&&n.adoptAccepted(e,t)});document.addEventListener("clay:sync-applied",e=>{let t=e&&e.detail;!t||t.source!=="disk"||typeof t.html!="string"||(f(t.html,t.etag,t.seq),n&&!n.installed()&&n.adoptAccepted(t.html,null))});function y(e,t,l={}){return n?n.renderSave(e,t,l):t}var A={get ready(){return u?h():null},stats:()=>n?n.stats():{...g},text:()=>n?n.text():null,locate:e=>n?n.locateLive(e):null,unpaired:()=>n?n.unpaired():null,ensureForSave:x,get repairGeneration(){return n?n.repairGeneration():0}};function L(){return{id:"clay:source",order:30,prepare(e={}){let t=e&&e.represented;if(t&&(c={represented:t},f(t.bytes,t.etag,t.seq)),e&&e.initial===!0)return u=!0,{enable(){},quiesce(){},resume(){},dispose:m};let l=++s;return u=!1,a=!1,r=null,{enable(){l===s&&(u=!0)},quiesce(){},resume(){l===s&&(u=!0)},dispose(){l===s&&m()}}}}}var R=A;export{R as default,L as modeParticipant,y as renderSave,A as source,L as sourceParticipant};
1
+ import"../c-MFB74XVN.js";import{a as d}from"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import{k as p}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-PNZIJFG7.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var g={installed:!1,refused:null,sourceBytes:null,paired:0,unresolved:0,unmatchedLive:0,unmatchedSource:0,attrDiffs:0,saves:0,reprints:0,lastReprint:null,partialReprints:0,lastPartialReprint:null,lastRenderMs:null,lastBytes:null,refreshes:0,timing:{fetch:null,model:null,pair:null,refresh:null}},n=null,c=null,i=null,u=p(),s=0,r=null,a=!1,o=null;function v(){return o??=import("../c-MUM53J5J.js").catch(e=>{throw o=null,e}),o}function f(e,t,l){typeof e=="string"&&(i=Object.freeze({bytes:e,etag:t??null,seq:l??null}))}function h(){if(r)return r;let e=s,t=c;return r=v().then(l=>(n=l,e!==s?(r=null,null):l.start({context:t,latest:()=>i}))).catch(l=>(r=null,console.info("clayjs: source map off ("+(l&&l.message?l.message:l)+"); saves use the full serialization"),null)).then(l=>(e===s&&(a=!0),l)),r}function x(){return!u||a?null:h()}function m(){s++,u=!1,a=!1,r=null,c=null,n&&n.release()}d((e,t)=>{f(e,i?i.etag:null,i?i.seq:null),n&&!n.installed()&&n.adoptAccepted(e,t)});document.addEventListener("clay:sync-applied",e=>{let t=e&&e.detail;!t||t.source!=="disk"||typeof t.html!="string"||(f(t.html,t.etag,t.seq),n&&!n.installed()&&n.adoptAccepted(t.html,null))});function y(e,t,l={}){return n?n.renderSave(e,t,l):t}var A={get ready(){return u?h():null},stats:()=>n?n.stats():{...g},text:()=>n?n.text():null,locate:e=>n?n.locateLive(e):null,unpaired:()=>n?n.unpaired():null,ensureForSave:x,get repairGeneration(){return n?n.repairGeneration():0}};function L(){return{id:"clay:source",order:30,prepare(e={}){let t=e&&e.represented;if(t&&(c={represented:t},f(t.bytes,t.etag,t.seq)),e&&e.initial===!0)return u=!0,{enable(){},quiesce(){},resume(){},dispose:m};let l=++s;return u=!1,a=!1,r=null,{enable(){l===s&&(u=!0)},quiesce(){},resume(){l===s&&(u=!0)},dispose(){l===s&&m()}}}}}var R=A;export{R as default,L as modeParticipant,y as renderSave,A as source,L as sourceParticipant};
@@ -1 +1 @@
1
- import{b as Ze,c as Qe}from"../c-7DJDKPGL.js";import{g as re}from"../c-6Q6RGFBF.js";import{a as te}from"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-IJUK2GPW.js";import{k as Ge}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import{a as Ye}from"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import{l as Xe}from"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var et=(()=>{var d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},W=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of k(r))!v.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=f(r,i))||n.enumerable});return e},X=e=>W(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Xt,undo:()=>se});function G(e,r=null){let t=[];if(e.type==="attributes"){let n=e.target,i=e.attributeName,a=e.oldValue,l=n.getAttribute(i);return a==null&&l!=null?t.push({kind:"attr-add",target:n,name:i,newValue:l}):a!=null&&l==null?t.push({kind:"attr-remove",target:n,name:i,oldValue:a}):a!==l&&t.push({kind:"attr-set",target:n,name:i,oldValue:a,newValue:l}),t}if(e.type==="characterData")return t.push({kind:"text",target:e.target,oldValue:e.oldValue,newValue:e.target.data}),t;if(e.type==="childList"){let n=e.target,i=e.nextSibling,a=e.nextSibling;for(;a&&r?.(a);)a=a.nextSibling;let l=e.previousSibling;for(;l&&r?.(l);)l=l.previousSibling;let s=r?Array.from(e.addedNodes).filter(b=>!r(b)):Array.from(e.addedNodes),p=r?Array.from(e.removedNodes).filter(b=>!r(b)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),p.length>0&&t.push({kind:"remove",parent:n,nodes:p,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function ut(e,r=null){let t=[],n=new Map;for(let i of e){if(i.type==="attributes"){let a=i.target,l=i.attributeName,s=n.get(a);s||(s=new Map,n.set(a,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:i.oldValue}),t.push(null));continue}for(let a of G(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let p=s.oldValue,b=i.getAttribute(l),h=null;p===b?h=null:p==null?h={kind:"attr-add",target:i,name:l,newValue:b}:b==null?h={kind:"attr-remove",target:i,name:l,oldValue:p}:h={kind:"attr-set",target:i,name:l,oldValue:p,newValue:b},t[s.idx]=h}return t.filter(i=>i!=null)}function lt(e){let r=[],t=new Map;for(let i of e){let a=ke(i);if(a==null){r.push(i);continue}let l=t.get(i.target);l||(l=new Map,t.set(i.target,l));let s=l.get(a);if(s==null){let p=Ae(i);if(p.oldValue===p.newValue)continue;l.set(a,r.length),r.push({...i,...p})}else r[s]={...r[s],newValue:Ae(i).newValue}}let n=[];for(let i of r){if(ke(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(st(i))}return n}var dt=new Set(["attr-set","attr-add","attr-remove","text","value"]);function ke(e){return dt.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function Ae(e){return e.kind==="attr-add"?{oldValue:null,newValue:e.newValue}:e.kind==="attr-remove"?{oldValue:e.oldValue,newValue:null}:{oldValue:e.oldValue,newValue:e.newValue}}function st(e){return e.kind!=="attr-add"&&e.kind!=="attr-remove"?e:e.oldValue==null&&e.newValue!=null?{...e,kind:"attr-add"}:e.oldValue!=null&&e.newValue==null?{...e,kind:"attr-remove"}:{...e,kind:"attr-set"}}var Ve=new WeakMap,ct=0;function O(e){let r=Ve.get(e);return r||(r=`n${++ct}`,Ve.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function ft(e){return e.kind==="add"||e.kind==="remove"}function Ee(e,r){let t=[],n=e.childNodes;if(!n)return t;for(let i of n)r&&r(i)||t.push(O(i));return t}function H(e,r,t=null,n=null){if(!x(e))return null;if(e.nodeType===3)return`#text:${JSON.stringify(e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let i=[];if(e.attributes){for(let l of e.attributes)pt(l.name,e,r,t)||i.push(`${l.name}=${JSON.stringify(l.value)}`);i.sort()}let a=[];if(e.childNodes)for(let l of e.childNodes)mt(l,n)||a.push(H(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function oe(e,r=[]){if(!x(e))return r;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&r.push(t)}if(e.childNodes)for(let t of e.childNodes)oe(t,r);return r}function pt(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function mt(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ne(e,r){if(typeof r!="function")return[];let t=[],n=i=>{if(!x(i))return;let a=!1;try{a=!!r(i)}catch{a=!1}if(a&&t.push(R(i,"protected")),i.childNodes)for(let l of i.childNodes)n(l)};for(let i of e)n(i);return t}function R(e,r,t=null){let n=e;n&&n.nodeType!==1&&(n=n.parentElement);let i=n&&typeof n.closest=="function"?n.closest("[data-id]"):null;return!i&&t&&typeof t.closest=="function"&&(i=t.closest("[data-id]")),{id:(i?i.getAttribute("data-id"):null)||null,kind:r||null}}function gt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function J(e){return{replayable:!1,reason:e,steps:[]}}function Y(e,r){let t=[[r.afterAuthored,i=>i],[r.beforeAuthored,i=>i+1],[r.before,i=>i]],n=!1;for(let[i,a]of t){if(!x(i))continue;n=!0;let l=e.indexOf(O(i));if(l>=0)return a(l)}return n?null:e.length}function ht(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=lt(e),a=[];for(let h of i){if(!ft(h)){if(!x(h.target))return J("non-dom-target");continue}if(!x(h.parent))return J("non-dom-parent");let A=Array.from(h.nodes||[]).filter(x);if(A.length!==0){if(A.length!==Array.from(h.nodes||[]).length)return J("non-dom-node");a.push({primitive:h,nodes:A,parent:h.parent})}}if(yt(a))return J("in-record-move");let l=wt(a,t);if(!l)return J("ambiguous-structure");let s=bt(a,l),p=new Map(a.map(h=>[h.primitive,h])),b=[];for(let h of i){let A=p.get(h);if(!A){b.push(kt(h));continue}let E=s.get(A);if(E){E.at===A&&b.push(E.step);continue}b.push(vt(A,l.get(A),n,t))}return{replayable:!0,reason:null,steps:b}}function yt(e){let r=new Map;for(let t of e){let n=t.primitive.record;if(!n)continue;let i=r.get(n);i||(i=new Map,r.set(n,i));for(let a of t.nodes){let l=i.get(a);l||(l=new Set,i.set(a,l)),l.add(t.primitive.kind)}}for(let t of r.values())for(let n of t.values())if(n.size>1)return!0;return!1}function wt(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ee(i.parent,r));let n=new Map;for(let i=e.length-1;i>=0;i--){let a=e[i],l=t.get(a.parent);if(!l)return null;let s=l.slice(),p;if(a.primitive.kind==="add"){let b=a.nodes.map(O);if(!b.every(h=>l.includes(h)))return null;p=l.filter(h=>!b.includes(h))}else{let b=Y(s,a.primitive);if(b==null)return null;p=s.slice(),p.splice(b,0,...a.nodes.map(O))}n.set(a,{before:p,after:s}),t.set(a.parent,p)}return n}function bt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let p=O(s);a.primitive.kind==="remove"?t.set(p,{item:a,index:l,node:s}):n.set(p,{item:a,index:l,node:s})}});let i=new Map;for(let[a,l]of t){let s=n.get(a);if(!s||s.index<l.index||l.item.nodes.length!==1||s.item.nodes.length!==1)continue;let p={type:"move",node:l.node,sourceParent:l.item.parent,destParent:s.item.parent,source:r.get(l.item),dest:r.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[R(l.node,"move")]};i.set(l.item,{step:p,at:s.item}),i.set(s.item,{step:p,at:s.item})}return i}function vt(e,r,t,n){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:r.before,seqAfter:r.after,slot:e.primitive,content:e.nodes.map(a=>H(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>oe(a)):[],targets:gt(e.nodes,i==="add"?"added":"removed",e.parent)}}function kt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function At(e,r,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let n={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,operations:[]};for(let i=0;i<e.steps.length;i++){let a=e.steps[r==="undo"?e.steps.length-1-i:i],l=Et(a,r,n);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:n.operations}}function q(e,r){return e.sim.has(r)||e.sim.set(r,Ee(r,e.isIgnored)),e.sim.get(r)}function L(e,r){for(let t=e;t;t=t.parentNode)if(r.planned.has(t))return r.planned.get(t);return r.inScope(e)}function xe(e,r){return r.liveNodesWithIds(e).filter(t=>L(t,r)).length>0}function V(e,r){return{code:e,targets:r||[]}}function Vt(e){return e.kind==="text"?e.target.data:e.kind==="value"?typeof e.read=="function"?e.read(e.target):e.target[e.prop||"value"]:e.target.getAttribute(e.name)}function Et(e,r,t){let n=r==="undo";return e.type==="move"?St(e,n,t):e.type==="add"?xt(e,n,t):e.type==="restore"?Pt(e,n,t):Nt(e,n,t)}function Nt(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?L(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?V("unsupported",e.targets):Vt(n)!==i?V("content-changed",e.targets):(n.kind==="value"?t.operations.push({type:"value",target:n.target,prop:n.prop||"value",value:a,read:n.read||null,write:n.write||null}):n.kind==="text"?t.operations.push({type:"text",target:n.target,data:a}):t.operations.push({type:"attr",target:n.target,name:n.name,value:a??null}),null):V("target-detached",e.targets):V("unsupported",e.targets)}function xt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);let s=Ne(e.nodes,t.isProtected);if(s.length>0)return V("protected",s);for(let p=0;p<e.nodes.length;p++)if(H(e.nodes[p],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets);for(let p of e.nodes)t.operations.push({type:"remove",node:p}),t.planned.set(p,!1);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return V("structure-changed",e.targets);let n=e.nodes.flatMap(s=>oe(s));if(n.length>0&&xe(n,t))return V("duplicate-id",e.targets);let i=Y(e.seqBefore,e.slot);if(i==null)return V("unsupported",e.targets);let a=e.seqBefore.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function Pt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);for(let p=0;p<e.nodes.length;p++){let b=e.nodes[p];if(b.parentNode||H(b,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets)}if(e.ids.length>0&&xe(e.ids,t))return V("duplicate-id",e.targets);let a=Y(e.seqAfter,e.slot);if(a==null)return V("unsupported",e.targets);let l=e.seqAfter.slice(),s=a;for(let p of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:p,beforeId:l[s]??null}),l=l.slice(0,s).concat(O(p),l.slice(s)),s+=1,t.planned.set(p,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);let n=Ne(e.nodes,t.isProtected);if(n.length>0)return V("protected",n);let i=a=>t.planned.get(a)===!0||typeof t.isIgnored=="function"&&t.isIgnored(a);for(let a=0;a<e.nodes.length;a++){let l=e.nodes[a];if(l.parentNode!==e.parent||H(l,t.ignoreAttribute,e.parent,i)!==e.content[a])return V("content-changed",e.targets)}for(let a of e.nodes)t.operations.push({type:"remove",node:a}),t.planned.set(a,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function It(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function St(e,r,t){let n=O(e.node),i=r?e.destParent:e.sourceParent,a=r?e.sourceParent:e.destParent,l=q(t,i),s=q(t,a),p=r?e.dest.after:e.source.before,b=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!L(i,t)||!L(a,t))return V("target-detached",e.targets);if(!$(l,p))return V("structure-changed",e.targets);let A=i===a?It(s,n):s;if(!$(A,b))return V("structure-changed",e.targets);let E=Y(b,h);return E==null?V("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:b[E]??null}),t.planned.set(e.node,!0),r?(t.sim.set(a,e.source.before.slice()),i!==a&&t.sim.set(i,e.dest.before.slice())):(t.sim.set(a,e.dest.after.slice()),i!==a&&t.sim.set(i,e.source.after.slice())),null)}function $(e,r){if(!e||!r||e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function Rt(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function Pe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function Ct(e){let r=[];try{for(let t of e)Ot(t,r);return{ok:!0}}catch(t){for(let n=r.length-1;n>=0;n--)try{r[n]()}catch{}return{ok:!1,error:t}}}function Ot(e,r){if(e.type==="attr"){let t=e.target.getAttribute(e.name);e.value==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,e.value),r.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;e.target.data=e.data,r.push(()=>{e.target.data=t});return}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop];Pe(e,e.value),r.push(()=>Pe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:Rt(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let n=e.node.parentNode,i=e.node.nextSibling;e.parent.insertBefore(e.node,t),r.push(()=>{n?n.insertBefore(e.node,i&&i.parentNode===n?i:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)});return}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let n=e.node.nextSibling;t.removeChild(e.node),r.push(()=>t.insertBefore(e.node,n))}}var Mt=['[src^="chrome-extension://"]','[href^="chrome-extension://"]','[src^="moz-extension://"]','[href^="moz-extension://"]','[src^="safari-web-extension://"]','[href^="safari-web-extension://"]','[id="1p-menu-live-region"]',"com-1password-button","com-1password-menu","com-1password-notification","grammarly-extension","grammarly-desktop-integration","lt-div","lt-card","lt-toolbar","lt-highlighter","[data-lastpass-root]","[data-lastpass-icon-root]","[data-dashlane-shadowhost]","[data-klarna-extension]",'[class*="klarna-extension"]',".skiptranslate","#goog-gt-tt",".goog-te-banner-frame",".goog-te-balloon-frame","style.darkreader","style[data-darkreader-mode]","style[data-darkreader-scheme]","#loom-companion-mv3","loom-container","[ext-id]"],Tt=["data-grammarly","data-lt","data-1p","data-com-onepassword","data-lastpass","data-lp","data-kwimpala","data-bitwarden","data-bw","data-dashlane","data-np","data-protonpass","data-proton-pass","data-keeper","data-rf","data-roboform","data-honey","data-rakuten","data-capital-one","data-wikibuy","data-klarna","data-darkreader","data-evernote","data-pocket","data-pin"],jt=Mt.join(","),qt=new RegExp("^(?:"+Tt.join("|")+")(?:-|$)"),zr=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"]})}),Lt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),$t=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ie(e,r){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(r)||e.hasAttribute?.(r))}function Ie(e,r){if(ie(e,r))return!0;for(let[t,n]of Object.entries(Lt))if(n.includes(r)&&ie(e,t))return!0;return!1}function Kt(e){return e==="clay"||$t.includes(e)}var zt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Dt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ae(e){let r=Dt();if(r)try{if(!r(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(jt))return!0;for(;t&&t.nodeType===1;){if(Ie(t,"no-undo")||Ie(t,"no-watch"))return!0;for(let n of zt)if(ie(t,n))return!0;t=t.parentElement}return!1}function _t(e){let r=e.target,t=r.cloneNode(!1),n=t;for(;r.parentElement;){r=r.parentElement;let i=r.cloneNode(!1);i.appendChild(t),t=i}return e.oldValue==null?n.removeAttribute(e.attributeName):n.setAttribute(e.attributeName,e.oldValue),ae(n)}function ue(e,r,t){if(t?.type==="attributes"&&Kt(t.attributeName)){if(ae(e)&&_t(t))return!0}else if(ae(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&qt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Ut(){let e=new Map;function r(i,a){let l=e.get(i);return l||(l=new Set,e.set(i,l)),l.add(a),()=>t(i,a)}function t(i,a){let l=e.get(i);l&&l.delete(a)}function n(i,a){let l=e.get(i);if(l)for(let s of Array.from(l))try{s(a)}catch(p){console.error("[hyper-undo] listener threw",p)}}return{on:r,off:t,emit:n}}var Bt={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={...Bt,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Ut(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,p=[],b=null,h=null,A=0,E=!1,K=r.recording==="commands"?"commands":"automatic",I=null,z=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Gt(){E||(E=!0,h=Yt(D),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Yt(o){let u=typeof document<"u"&&r.scope===document.body,c=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&c&&typeof c.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),c.createObserver(o)):new MutationObserver(o)}function Me(){E&&(E=!1,h&&(h.disconnect(),h=null),_(),n.length=0,i.length=0,p=[],s=null,I=null,z=!1,A=0,P("stopped"))}function Zt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function D(o){Te(o,!1)}function Te(o,u){if(I){for(let m of o)I.records.push(m);return}if(K==="commands"||A>0)return;let c=ce(Qt(o),u);if(c.length>0){for(let m of c)p.push(m);je()}}function Qt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let c=[...u.addedNodes,...u.removedNodes];return c.length===0?!0:!c.every(m=>er(m))})}function er(o){try{return!!r.ignoreNode(o)}catch{return!1}}function ce(o,u=!1){let c=yr(o),m=o.filter(y=>(ge(y.target)||c(y.target)||u&&Fe(y.target))&&!ue(y.target,r.ignoreAttribute,y));return ut(m,y=>ue(y,r.ignoreAttribute))}function je(){_(),b=setTimeout(qe,r.idleWindowMs)}function _(){b!=null&&(clearTimeout(b),b=null)}function qe(){if(b=null,p.length===0)return;let o=p;p=[],Z(r.idleLabel,o)}function Z(o,u){let c=ht(u,{isIgnored:fe,ignoreAttribute:Le});if(c.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let m={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:c};for(n.push(m),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),m}function fe(o){return ue(o,r.ignoreAttribute)}function Le(o,u,c=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,c)}catch{return!1}}function tr(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function rr(o,u){if(!E)throw new Error("hyper-undo: scope not started");if(K==="commands")return ze(o,u,{honorPause:!0,receipt:!1});D(h.takeRecords()),U();let c=A===0?$e():null,m=u();if(m&&typeof m.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Te(h.takeRecords(),!0),c!=null&&Ke(c),p.length===0){t.emit("commit");return}_();let y=p;p=[],Z(o,y)}function nr(o){if(!E)throw new Error("hyper-undo: scope not started");if(!h)return;if(A>1){h.takeRecords();return}U();let u=ce(h.takeRecords(),!0);u.length!==0&&(_(),Z(o,u))}function or(){h&&h.takeRecords()}function pe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Q(){let o=pe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Q();return o?o.textContent:null}function Ke(o){let u=Q();if(!u||o==null)return;let c=u.textContent;c!==o&&_e({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:c})}function ir(o){if(!o)return null;let u=pe();if(!u||o.target!==u||o.prop!=="title")return o;let c=Q();return c?{kind:"value",target:c,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function ar(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function ur(){h&&D(h.takeRecords()),U(),I={records:[],primitives:[]}}function lr(){let o=I;if(I=null,!o)return[];let u=ce(o.records,!0);for(let c of o.primitives)u.push(c);return u}function ze(o,u,{honorPause:c,receipt:m}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(I)throw new Error("hyper-undo: command() cannot nest inside another command");if(z)throw new Error("hyper-undo: command() cannot run during undo or redo");if(ar())throw new Error("hyper-undo: command() cannot run inside a derived-effect context");if(u.constructor&&u.constructor.name==="AsyncFunction")throw new Error("hyper-undo: command() fn must be synchronous; it was declared async");let y=c&&A>0,S=y?null:$e();ur();let M=[],j=null,B;try{try{B=u()}catch(kr){j=kr}if(h&&D(h.takeRecords()),B&&typeof B.then=="function"){try{B.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}y||Ke(S)}finally{M=lr()}let ee=y||M.length===0?null:Z(o,M);if(j)throw j;return m?ee?{id:ee.id,label:ee.label}:null:ee}function dr(o,u){if(!E)throw new Error("hyper-undo: scope not started");return ze(o,u,{honorPause:!1,receipt:!0})}function sr(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(I)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return K===o||(U(),K=o,P("recording",o)),K}function De(o){if(!E||!o||!I&&(A>0||K==="commands"))return;let u=ir(o);u&&_e(u)}function _e(o){if(I){I.primitives.push(o);return}p.push(o),je()}function cr(o,{prop:u="value",oldValue:c,newValue:m,read:y,write:S}={}){!o||c===m||De({kind:"value",target:o,prop:u,oldValue:c,newValue:m,read:y,write:S})}function U(){A===0&&h&&D(h.takeRecords()),p.length!==0&&(_(),qe())}function Ue(){A===0&&h&&D(h.takeRecords()),A++,P("paused",A)}function Be(){A!==0&&(A--,A===0&&h&&h.takeRecords(),P("resumed",A))}function We(o,u){if(Zt())return Me(),{ok:!1,code:"disconnected"};U();let c=o==="undo"?n:i,m=o==="undo"?i:n,y=c.at(-1);if(!y)return{ok:!1,code:"empty"};if(u&&u!==y.id){let B=He(u)||y;return me(B,o,"stale-entry")}let S;z=!0;try{S=At(y.certificate,o,{isIgnored:fe,ignoreAttribute:Le,isProtected:tr,inScope:wr,liveNodesWithIds:br})}finally{z=!1}if(!S.ok)return me(y,o,S.code,S.targets);Ue();let M;z=!0;try{M=Ct(S.operations)}finally{z=!1,Be()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),me(y,o,"replay-error");c.pop(),m.push(y),s=null;let j={ok:!0,entryId:y.id,label:y.label,direction:o};return P(o,y.label),t.emit(o,j),j}function fr(o){return We("undo",o&&o.entryId)}function pr(o){return We("redo",o&&o.entryId)}function He(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function me(o,u,c,m=[]){return s={entryId:o.id,direction:u,code:c,targets:m},P("refused",u,c),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:c,targets:m}),{ok:!1,code:c,entryId:o.id,label:o.label,direction:u}}function mr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,c=u==="undo"?n:i,m=c.at(-1);return!m||m.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(c.pop(),s=null,P("discarded",m.label),t.emit("discard",{entryId:o,label:m.label,direction:u}),{ok:!0,entryId:o,direction:u})}function gr(o){let u=He(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let c=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(m=>({id:m.id??null,kind:m.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:c,steps:u.certificate.steps.map(hr)}}function hr(o){if(o.type==="move")return{kind:"move",node:{id:R(o.node).id},from:{id:R(o.sourceParent).id},to:{id:R(o.destParent).id}};if(o.type==="add"||o.type==="restore")return{kind:o.type==="add"?"add":"remove",parent:{id:R(o.parent).id},nodes:o.nodes.map((S,M)=>({id:R(S).id,html:o.content[M]??null}))};let u=o.primitive,c={id:R(u.target).id},m=u.oldValue??null,y=u.newValue??null;return o.type==="value"?{kind:"value",target:c,prop:u.prop??"value",before:m,after:y}:o.type==="text"?{kind:"text",target:c,before:m,after:y}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:c,name:u.name??null,before:m,after:y}:{kind:o.type,target:c,before:m,after:y}}function yr(o){let u=new Set,c=!0;for(;c;){c=!1;for(let m of o)if(!(m.type!=="childList"||!m.removedNodes?.length)&&!(!ge(m.target)&&!Je(m.target,u)))for(let y of m.removedNodes)u.has(y)||(u.add(y),c=!0)}return m=>!ge(m)&&Je(m,u)}function Je(o,u){for(let c=o;c;c=c.parentNode)if(u.has(c))return!0;return!1}function ge(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function Fe(o){let u=pe(),c=u&&u.head;if(!c||!o)return!1;let m=o.nodeType===1?o:o.parentElement;for(;m&&m!==c;m=m.parentElement)if(m.localName==="title")return!1;return m===c}function wr(o){let u=r.scope;return!o||!u?!1:o===u||Q()===o||Fe(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function br(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let c=new Set(o),m=[];for(let y of u.querySelectorAll("[data-id]"))c.has(y.getAttribute("data-id"))&&(fe(y)||m.push(y));return m}function vr(){h&&h.takeRecords(),n.length=0,i.length=0,p=[],s=null,_(),P("cleared"),t.emit("clear")}return{_config:r,start:Gt,stop:Me,commit:rr,commitCaptured:nr,discardCaptured:or,flush:U,command:dr,setRecording:sr,record:De,recordValue:cr,undo:fr,redo:pr,clear:vr,discard:mr,describe:gr,pause:Ue,resume:Be,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return A>0},get history(){return n.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return i.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return r.scope}}}var Wt=new Set(["checkbox","radio","button","submit","reset","image","file","range","color"]);function Ht(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Jt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="TEXTAREA"||i==="SELECT"||i==="INPUT"&&!Wt.has(String(n.type||n.getAttribute?.("type")||"text").toLowerCase())||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Jt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Ft(e,r){let t=n=>{let i=e.scope;if(i&&i.nodeType===1&&i.isConnected===!1){r&&r();return}if(n.defaultPrevented||n.isComposing||n.keyCode===229||Ht(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let p of l)try{if(a.closest(p))return}catch{}if(!(n.metaKey||n.ctrlKey))return;let s=(n.key||"").toLowerCase();if(s==="z"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.undo();return}if(s==="z"&&n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}if(s==="y"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)}var le=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],g=null,de=null,Re=null,T=null;function Ce(e,r){if(T){if(T.inst===e)return T.cleanup;throw new Error("hyper-undo: another scope already owns the global Cmd+Z binding (bindKeys: true). Stop it first, or use bindKeys: false for additional scopes.")}let t=Ft(e,r);return T={inst:e,cleanup:t},t}function Oe(e){T&&T.inst===e&&(T.cleanup(),T=null)}var se={defaults:{shadowKeydownIn:le},start(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(g){if(de===r)return console.warn("[hyper-undo] start() called again on existing singleton; ignoring new options"),g;throw new Error("hyper-undo: start() called with a different scope while the singleton is already started. Use undo.create({ scope }) for additional scopes, or call undo.stop() first.")}let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le};return g=Se(t),g.start(),de=r,e.bindKeys!==!1&&(Re=Ce(g,()=>se.stop())),g},stop(){g&&(Oe(g),Re=null,g.stop(),g=null,de=null)},create(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le},n=Se(t),i=null,a={_config:n._config,commit:n.commit,command:n.command,setRecording:n.setRecording,commitCaptured:n.commitCaptured,discardCaptured:n.discardCaptured,flush:n.flush,record:n.record,recordValue:n.recordValue,undo:n.undo,redo:n.redo,clear:n.clear,discard:n.discard,describe:n.describe,pause:n.pause,resume:n.resume,on:n.on,off:n.off,get canUndo(){return n.canUndo},get canRedo(){return n.canRedo},get isPaused(){return n.isPaused},get history(){return n.history},get future(){return n.future},get scope(){return n.scope},start(){e.bindKeys&&(i=Ce(n,()=>a.stop())),n.start()},stop(){Oe(n),i=null,n.stop()}};return a},commit(e,r){return g?g.commit(e,r):void 0},command(e,r){return g?g.command(e,r):void 0},setRecording(e){return g?g.setRecording(e):void 0},commitCaptured(e){return g?g.commitCaptured(e):void 0},discardCaptured(){return g?g.discardCaptured():void 0},record(e){return g?g.record(e):void 0},recordValue(e,r){return g?g.recordValue(e,r):void 0},undo(e){return g?g.undo(e):void 0},redo(e){return g?g.redo(e):void 0},clear(){return g?g.clear():void 0},discard(e){return g?g.discard(e):void 0},describe(e){return g?g.describe(e):void 0},pause(){return g?g.pause():void 0},resume(){return g?g.resume():void 0},flush(){return g?g.flush():void 0},on(e,r){return g?g.on(e,r):void 0},off(e,r){return g?g.off(e,r):void 0},get canUndo(){return g?g.canUndo:!1},get canRedo(){return g?g.canRedo:!1},get history(){return g?g.history:[]},get future(){return g?g.future:[]},get isPaused(){return g?g.isPaused:!1}},Xt=se;return X(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=et.undo,window.h=window.hyperclay);var w=et.undo;var ye=new Set,it=(d={})=>{let f=d.ignoreAttribute;return{...d,ignoreAttribute:(k,v,N)=>ye.has(k)||Xe(k,v)||Ye(v,k,N)||Ze(k,v)||(f?f(k,v,N):!1),isProtected:d.isProtected||Ar,ignoreNode:d.ignoreNode||Qe}};function Ar(d){let f=window.clay?.region?.resolveRegionPolicy;if(!f||d.nodeType!==1)return!1;let k=f(d);if(k.undoable!==!1||k.persist==="none")return!1;let v=d.parentElement;return!v||f(v).undoable!==!1}var Vr=w.create.bind(w);w.create=d=>Vr(it(d));var we=null,Er=w.setRecording.bind(w);w.setRecording=d=>(we=d??null,Er(d));var tt=()=>w.history.at(-1)?.id??null,Nr=w.command.bind(w);w.command=(d,f)=>{let k=Nr(d,f);return k&&re(),k};var xr=w.commit.bind(w),rt=!1;w.commit=(d,f)=>{!rt&&window.clay?.effect?.running&&(rt=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let k=tt(),v=xr(d,f);return(v||tt()!==k)&&re(),v};var Pr=`input${te}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${te}, select${te}`;function Ir(){let d=f=>window.clay?.region?.resolveRegionPolicy?.(f)?.undoable!==!1;document.querySelectorAll(Pr).forEach(f=>{if(!d(f))return;if(f.tagName==="SELECT"){for(let C of f.options){let G=C.hasAttribute("selected");C.selected!==G&&(C.selected=G)}return}let k=(f.getAttribute("type")||"text").toLowerCase();if(f.tagName==="INPUT"&&(k==="checkbox"||k==="radio")){let C=f.hasAttribute("checked");f.checked!==C&&(f.checked=C);return}let v=f.tagName==="TEXTAREA"?f.getAttribute("data-value")??f.textContent:f.getAttribute("value")??"";if(f.value===v)return;let N=f===document.activeElement,W,X;try{W=f.selectionStart,X=f.selectionEnd}catch{}if(f.value=v,N&&W!=null)try{f.setSelectionRange(Math.min(W,v.length),Math.min(X,v.length))}catch{}})}var nt=d=>{d?.ok&&(re(),Ir())},ot=({entryId:d,label:f,direction:k,code:v})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:v,entryId:d,label:f,direction:k}})),Sr({ok:!1,code:v,entryId:d,label:f,direction:k})},he=null;function at(){return he??=import("../c-JWDCQL6J.js").catch(d=>(he=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),he}async function Sr(d){let f={ok:!1,code:"unavailable"};try{let v=await at();v&&(f=await v.keepRefusal(w,d))}catch{f={ok:!1,code:"error"}}let k=f?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:f?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:k}))}var ve=(d,f)=>(...k)=>at().then(v=>v?v[d](...k):f,()=>f),Rr=ve("keep",{ok:!1,code:"unavailable"});w.ignoreAttribute=d=>{let f=String(d||"");return f?(ye.add(f),()=>{ye.delete(f)}):()=>{}};w.keep=async d=>{let f=await Rr(d);return f?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),f};w.kept=ve("kept",{ok:!1,code:"unavailable",records:[]});w.dismissKept=ve("dismissKept",{ok:!1,code:"unavailable"});var be=new Set;w.reviewActions=d=>typeof d!="function"?()=>{}:(be.add(d),()=>{be.delete(d)});w.reviewActionsFor=d=>{let f=[];for(let k of be){let v;try{v=k(d)}catch(N){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",N);continue}for(let N of Array.isArray(v)?v:[])N&&typeof N.run=="function"&&N.label&&f.push(N)}return f};var Cr=["commit","undo","redo","refused","discard","clear"],ne=()=>{let d=!!F?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&w.canUndo,canRedo:d&&w.canRedo,undo:d&&w.history.at(-1)||null,redo:d&&w.future?.[0]||null}}))},F=null;function Or(){return{started:!1,admitted:!1,subscriptions:[]}}var Mr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Tr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function jr(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,w.start(it({bindKeys:!0,...we?{recording:we}:{}}));for(let f of["undo","redo"])w.on(f,nt),d.subscriptions.push({type:f,handler:nt});w.on("refused",ot),d.subscriptions.push({type:"refused",handler:ot});for(let f of Cr)w.on(f,ne),d.subscriptions.push({type:f,handler:ne});ne()}},quiesce(){d.admitted&&(d.admitted=!1,w.pause())},resume(){d.admitted||(d.admitted=!0,w.resume())},dispose(){if(d.admitted=!1,F===d&&(F=null),!!d.started){d.started=!1;for(let{type:f,handler:k}of d.subscriptions.splice(0))w.off(f,k);w.stop(),ne()}}}}function qr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Lr();if(await Tr(),Mr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return jr(F||(F=Or()))}}}async function Lr(){let d=await Kr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function $r(){if(!Ge()||typeof document>"u")return null;let d=await qr().prepare();return d.enable(),d}var Kr=$r();var Gr=w;export{Gr as default,$r as init,qr as modeParticipant,Kr as ready,Ir as restoreControls,w as undo,qr as undoParticipant};
1
+ import{b as Ze,c as Qe}from"../c-7DJDKPGL.js";import{g as re}from"../c-P73XPAOA.js";import{a as te}from"../c-WYFDLITL.js";import"../c-MZCOGNZL.js";import"../c-IJUK2GPW.js";import{k as Ge}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import{a as Ye}from"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import{l as Xe}from"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var et=(()=>{var d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},W=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of k(r))!v.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=f(r,i))||n.enumerable});return e},X=e=>W(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Xt,undo:()=>se});function G(e,r=null){let t=[];if(e.type==="attributes"){let n=e.target,i=e.attributeName,a=e.oldValue,l=n.getAttribute(i);return a==null&&l!=null?t.push({kind:"attr-add",target:n,name:i,newValue:l}):a!=null&&l==null?t.push({kind:"attr-remove",target:n,name:i,oldValue:a}):a!==l&&t.push({kind:"attr-set",target:n,name:i,oldValue:a,newValue:l}),t}if(e.type==="characterData")return t.push({kind:"text",target:e.target,oldValue:e.oldValue,newValue:e.target.data}),t;if(e.type==="childList"){let n=e.target,i=e.nextSibling,a=e.nextSibling;for(;a&&r?.(a);)a=a.nextSibling;let l=e.previousSibling;for(;l&&r?.(l);)l=l.previousSibling;let s=r?Array.from(e.addedNodes).filter(b=>!r(b)):Array.from(e.addedNodes),p=r?Array.from(e.removedNodes).filter(b=>!r(b)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),p.length>0&&t.push({kind:"remove",parent:n,nodes:p,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function ut(e,r=null){let t=[],n=new Map;for(let i of e){if(i.type==="attributes"){let a=i.target,l=i.attributeName,s=n.get(a);s||(s=new Map,n.set(a,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:i.oldValue}),t.push(null));continue}for(let a of G(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let p=s.oldValue,b=i.getAttribute(l),h=null;p===b?h=null:p==null?h={kind:"attr-add",target:i,name:l,newValue:b}:b==null?h={kind:"attr-remove",target:i,name:l,oldValue:p}:h={kind:"attr-set",target:i,name:l,oldValue:p,newValue:b},t[s.idx]=h}return t.filter(i=>i!=null)}function lt(e){let r=[],t=new Map;for(let i of e){let a=ke(i);if(a==null){r.push(i);continue}let l=t.get(i.target);l||(l=new Map,t.set(i.target,l));let s=l.get(a);if(s==null){let p=Ae(i);if(p.oldValue===p.newValue)continue;l.set(a,r.length),r.push({...i,...p})}else r[s]={...r[s],newValue:Ae(i).newValue}}let n=[];for(let i of r){if(ke(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(st(i))}return n}var dt=new Set(["attr-set","attr-add","attr-remove","text","value"]);function ke(e){return dt.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function Ae(e){return e.kind==="attr-add"?{oldValue:null,newValue:e.newValue}:e.kind==="attr-remove"?{oldValue:e.oldValue,newValue:null}:{oldValue:e.oldValue,newValue:e.newValue}}function st(e){return e.kind!=="attr-add"&&e.kind!=="attr-remove"?e:e.oldValue==null&&e.newValue!=null?{...e,kind:"attr-add"}:e.oldValue!=null&&e.newValue==null?{...e,kind:"attr-remove"}:{...e,kind:"attr-set"}}var Ve=new WeakMap,ct=0;function O(e){let r=Ve.get(e);return r||(r=`n${++ct}`,Ve.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function ft(e){return e.kind==="add"||e.kind==="remove"}function Ee(e,r){let t=[],n=e.childNodes;if(!n)return t;for(let i of n)r&&r(i)||t.push(O(i));return t}function H(e,r,t=null,n=null){if(!x(e))return null;if(e.nodeType===3)return`#text:${JSON.stringify(e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let i=[];if(e.attributes){for(let l of e.attributes)pt(l.name,e,r,t)||i.push(`${l.name}=${JSON.stringify(l.value)}`);i.sort()}let a=[];if(e.childNodes)for(let l of e.childNodes)mt(l,n)||a.push(H(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function oe(e,r=[]){if(!x(e))return r;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&r.push(t)}if(e.childNodes)for(let t of e.childNodes)oe(t,r);return r}function pt(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function mt(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ne(e,r){if(typeof r!="function")return[];let t=[],n=i=>{if(!x(i))return;let a=!1;try{a=!!r(i)}catch{a=!1}if(a&&t.push(R(i,"protected")),i.childNodes)for(let l of i.childNodes)n(l)};for(let i of e)n(i);return t}function R(e,r,t=null){let n=e;n&&n.nodeType!==1&&(n=n.parentElement);let i=n&&typeof n.closest=="function"?n.closest("[data-id]"):null;return!i&&t&&typeof t.closest=="function"&&(i=t.closest("[data-id]")),{id:(i?i.getAttribute("data-id"):null)||null,kind:r||null}}function gt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function J(e){return{replayable:!1,reason:e,steps:[]}}function Y(e,r){let t=[[r.afterAuthored,i=>i],[r.beforeAuthored,i=>i+1],[r.before,i=>i]],n=!1;for(let[i,a]of t){if(!x(i))continue;n=!0;let l=e.indexOf(O(i));if(l>=0)return a(l)}return n?null:e.length}function ht(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=lt(e),a=[];for(let h of i){if(!ft(h)){if(!x(h.target))return J("non-dom-target");continue}if(!x(h.parent))return J("non-dom-parent");let A=Array.from(h.nodes||[]).filter(x);if(A.length!==0){if(A.length!==Array.from(h.nodes||[]).length)return J("non-dom-node");a.push({primitive:h,nodes:A,parent:h.parent})}}if(yt(a))return J("in-record-move");let l=wt(a,t);if(!l)return J("ambiguous-structure");let s=bt(a,l),p=new Map(a.map(h=>[h.primitive,h])),b=[];for(let h of i){let A=p.get(h);if(!A){b.push(kt(h));continue}let E=s.get(A);if(E){E.at===A&&b.push(E.step);continue}b.push(vt(A,l.get(A),n,t))}return{replayable:!0,reason:null,steps:b}}function yt(e){let r=new Map;for(let t of e){let n=t.primitive.record;if(!n)continue;let i=r.get(n);i||(i=new Map,r.set(n,i));for(let a of t.nodes){let l=i.get(a);l||(l=new Set,i.set(a,l)),l.add(t.primitive.kind)}}for(let t of r.values())for(let n of t.values())if(n.size>1)return!0;return!1}function wt(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ee(i.parent,r));let n=new Map;for(let i=e.length-1;i>=0;i--){let a=e[i],l=t.get(a.parent);if(!l)return null;let s=l.slice(),p;if(a.primitive.kind==="add"){let b=a.nodes.map(O);if(!b.every(h=>l.includes(h)))return null;p=l.filter(h=>!b.includes(h))}else{let b=Y(s,a.primitive);if(b==null)return null;p=s.slice(),p.splice(b,0,...a.nodes.map(O))}n.set(a,{before:p,after:s}),t.set(a.parent,p)}return n}function bt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let p=O(s);a.primitive.kind==="remove"?t.set(p,{item:a,index:l,node:s}):n.set(p,{item:a,index:l,node:s})}});let i=new Map;for(let[a,l]of t){let s=n.get(a);if(!s||s.index<l.index||l.item.nodes.length!==1||s.item.nodes.length!==1)continue;let p={type:"move",node:l.node,sourceParent:l.item.parent,destParent:s.item.parent,source:r.get(l.item),dest:r.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[R(l.node,"move")]};i.set(l.item,{step:p,at:s.item}),i.set(s.item,{step:p,at:s.item})}return i}function vt(e,r,t,n){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:r.before,seqAfter:r.after,slot:e.primitive,content:e.nodes.map(a=>H(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>oe(a)):[],targets:gt(e.nodes,i==="add"?"added":"removed",e.parent)}}function kt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function At(e,r,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let n={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,operations:[]};for(let i=0;i<e.steps.length;i++){let a=e.steps[r==="undo"?e.steps.length-1-i:i],l=Et(a,r,n);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:n.operations}}function q(e,r){return e.sim.has(r)||e.sim.set(r,Ee(r,e.isIgnored)),e.sim.get(r)}function L(e,r){for(let t=e;t;t=t.parentNode)if(r.planned.has(t))return r.planned.get(t);return r.inScope(e)}function xe(e,r){return r.liveNodesWithIds(e).filter(t=>L(t,r)).length>0}function V(e,r){return{code:e,targets:r||[]}}function Vt(e){return e.kind==="text"?e.target.data:e.kind==="value"?typeof e.read=="function"?e.read(e.target):e.target[e.prop||"value"]:e.target.getAttribute(e.name)}function Et(e,r,t){let n=r==="undo";return e.type==="move"?St(e,n,t):e.type==="add"?xt(e,n,t):e.type==="restore"?Pt(e,n,t):Nt(e,n,t)}function Nt(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?L(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?V("unsupported",e.targets):Vt(n)!==i?V("content-changed",e.targets):(n.kind==="value"?t.operations.push({type:"value",target:n.target,prop:n.prop||"value",value:a,read:n.read||null,write:n.write||null}):n.kind==="text"?t.operations.push({type:"text",target:n.target,data:a}):t.operations.push({type:"attr",target:n.target,name:n.name,value:a??null}),null):V("target-detached",e.targets):V("unsupported",e.targets)}function xt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);let s=Ne(e.nodes,t.isProtected);if(s.length>0)return V("protected",s);for(let p=0;p<e.nodes.length;p++)if(H(e.nodes[p],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets);for(let p of e.nodes)t.operations.push({type:"remove",node:p}),t.planned.set(p,!1);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return V("structure-changed",e.targets);let n=e.nodes.flatMap(s=>oe(s));if(n.length>0&&xe(n,t))return V("duplicate-id",e.targets);let i=Y(e.seqBefore,e.slot);if(i==null)return V("unsupported",e.targets);let a=e.seqBefore.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function Pt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);for(let p=0;p<e.nodes.length;p++){let b=e.nodes[p];if(b.parentNode||H(b,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets)}if(e.ids.length>0&&xe(e.ids,t))return V("duplicate-id",e.targets);let a=Y(e.seqAfter,e.slot);if(a==null)return V("unsupported",e.targets);let l=e.seqAfter.slice(),s=a;for(let p of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:p,beforeId:l[s]??null}),l=l.slice(0,s).concat(O(p),l.slice(s)),s+=1,t.planned.set(p,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);let n=Ne(e.nodes,t.isProtected);if(n.length>0)return V("protected",n);let i=a=>t.planned.get(a)===!0||typeof t.isIgnored=="function"&&t.isIgnored(a);for(let a=0;a<e.nodes.length;a++){let l=e.nodes[a];if(l.parentNode!==e.parent||H(l,t.ignoreAttribute,e.parent,i)!==e.content[a])return V("content-changed",e.targets)}for(let a of e.nodes)t.operations.push({type:"remove",node:a}),t.planned.set(a,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function It(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function St(e,r,t){let n=O(e.node),i=r?e.destParent:e.sourceParent,a=r?e.sourceParent:e.destParent,l=q(t,i),s=q(t,a),p=r?e.dest.after:e.source.before,b=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!L(i,t)||!L(a,t))return V("target-detached",e.targets);if(!$(l,p))return V("structure-changed",e.targets);let A=i===a?It(s,n):s;if(!$(A,b))return V("structure-changed",e.targets);let E=Y(b,h);return E==null?V("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:b[E]??null}),t.planned.set(e.node,!0),r?(t.sim.set(a,e.source.before.slice()),i!==a&&t.sim.set(i,e.dest.before.slice())):(t.sim.set(a,e.dest.after.slice()),i!==a&&t.sim.set(i,e.source.after.slice())),null)}function $(e,r){if(!e||!r||e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function Rt(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function Pe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function Ct(e){let r=[];try{for(let t of e)Ot(t,r);return{ok:!0}}catch(t){for(let n=r.length-1;n>=0;n--)try{r[n]()}catch{}return{ok:!1,error:t}}}function Ot(e,r){if(e.type==="attr"){let t=e.target.getAttribute(e.name);e.value==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,e.value),r.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;e.target.data=e.data,r.push(()=>{e.target.data=t});return}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop];Pe(e,e.value),r.push(()=>Pe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:Rt(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let n=e.node.parentNode,i=e.node.nextSibling;e.parent.insertBefore(e.node,t),r.push(()=>{n?n.insertBefore(e.node,i&&i.parentNode===n?i:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)});return}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let n=e.node.nextSibling;t.removeChild(e.node),r.push(()=>t.insertBefore(e.node,n))}}var Mt=['[src^="chrome-extension://"]','[href^="chrome-extension://"]','[src^="moz-extension://"]','[href^="moz-extension://"]','[src^="safari-web-extension://"]','[href^="safari-web-extension://"]','[id="1p-menu-live-region"]',"com-1password-button","com-1password-menu","com-1password-notification","grammarly-extension","grammarly-desktop-integration","lt-div","lt-card","lt-toolbar","lt-highlighter","[data-lastpass-root]","[data-lastpass-icon-root]","[data-dashlane-shadowhost]","[data-klarna-extension]",'[class*="klarna-extension"]',".skiptranslate","#goog-gt-tt",".goog-te-banner-frame",".goog-te-balloon-frame","style.darkreader","style[data-darkreader-mode]","style[data-darkreader-scheme]","#loom-companion-mv3","loom-container","[ext-id]"],Tt=["data-grammarly","data-lt","data-1p","data-com-onepassword","data-lastpass","data-lp","data-kwimpala","data-bitwarden","data-bw","data-dashlane","data-np","data-protonpass","data-proton-pass","data-keeper","data-rf","data-roboform","data-honey","data-rakuten","data-capital-one","data-wikibuy","data-klarna","data-darkreader","data-evernote","data-pocket","data-pin"],jt=Mt.join(","),qt=new RegExp("^(?:"+Tt.join("|")+")(?:-|$)"),zr=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"]})}),Lt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),$t=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ie(e,r){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(r)||e.hasAttribute?.(r))}function Ie(e,r){if(ie(e,r))return!0;for(let[t,n]of Object.entries(Lt))if(n.includes(r)&&ie(e,t))return!0;return!1}function Kt(e){return e==="clay"||$t.includes(e)}var zt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Dt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ae(e){let r=Dt();if(r)try{if(!r(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(jt))return!0;for(;t&&t.nodeType===1;){if(Ie(t,"no-undo")||Ie(t,"no-watch"))return!0;for(let n of zt)if(ie(t,n))return!0;t=t.parentElement}return!1}function _t(e){let r=e.target,t=r.cloneNode(!1),n=t;for(;r.parentElement;){r=r.parentElement;let i=r.cloneNode(!1);i.appendChild(t),t=i}return e.oldValue==null?n.removeAttribute(e.attributeName):n.setAttribute(e.attributeName,e.oldValue),ae(n)}function ue(e,r,t){if(t?.type==="attributes"&&Kt(t.attributeName)){if(ae(e)&&_t(t))return!0}else if(ae(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&qt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Ut(){let e=new Map;function r(i,a){let l=e.get(i);return l||(l=new Set,e.set(i,l)),l.add(a),()=>t(i,a)}function t(i,a){let l=e.get(i);l&&l.delete(a)}function n(i,a){let l=e.get(i);if(l)for(let s of Array.from(l))try{s(a)}catch(p){console.error("[hyper-undo] listener threw",p)}}return{on:r,off:t,emit:n}}var Bt={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={...Bt,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Ut(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,p=[],b=null,h=null,A=0,E=!1,K=r.recording==="commands"?"commands":"automatic",I=null,z=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Gt(){E||(E=!0,h=Yt(D),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Yt(o){let u=typeof document<"u"&&r.scope===document.body,c=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&c&&typeof c.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),c.createObserver(o)):new MutationObserver(o)}function Me(){E&&(E=!1,h&&(h.disconnect(),h=null),_(),n.length=0,i.length=0,p=[],s=null,I=null,z=!1,A=0,P("stopped"))}function Zt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function D(o){Te(o,!1)}function Te(o,u){if(I){for(let m of o)I.records.push(m);return}if(K==="commands"||A>0)return;let c=ce(Qt(o),u);if(c.length>0){for(let m of c)p.push(m);je()}}function Qt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let c=[...u.addedNodes,...u.removedNodes];return c.length===0?!0:!c.every(m=>er(m))})}function er(o){try{return!!r.ignoreNode(o)}catch{return!1}}function ce(o,u=!1){let c=yr(o),m=o.filter(y=>(ge(y.target)||c(y.target)||u&&Fe(y.target))&&!ue(y.target,r.ignoreAttribute,y));return ut(m,y=>ue(y,r.ignoreAttribute))}function je(){_(),b=setTimeout(qe,r.idleWindowMs)}function _(){b!=null&&(clearTimeout(b),b=null)}function qe(){if(b=null,p.length===0)return;let o=p;p=[],Z(r.idleLabel,o)}function Z(o,u){let c=ht(u,{isIgnored:fe,ignoreAttribute:Le});if(c.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let m={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:c};for(n.push(m),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),m}function fe(o){return ue(o,r.ignoreAttribute)}function Le(o,u,c=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,c)}catch{return!1}}function tr(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function rr(o,u){if(!E)throw new Error("hyper-undo: scope not started");if(K==="commands")return ze(o,u,{honorPause:!0,receipt:!1});D(h.takeRecords()),U();let c=A===0?$e():null,m=u();if(m&&typeof m.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Te(h.takeRecords(),!0),c!=null&&Ke(c),p.length===0){t.emit("commit");return}_();let y=p;p=[],Z(o,y)}function nr(o){if(!E)throw new Error("hyper-undo: scope not started");if(!h)return;if(A>1){h.takeRecords();return}U();let u=ce(h.takeRecords(),!0);u.length!==0&&(_(),Z(o,u))}function or(){h&&h.takeRecords()}function pe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Q(){let o=pe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Q();return o?o.textContent:null}function Ke(o){let u=Q();if(!u||o==null)return;let c=u.textContent;c!==o&&_e({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:c})}function ir(o){if(!o)return null;let u=pe();if(!u||o.target!==u||o.prop!=="title")return o;let c=Q();return c?{kind:"value",target:c,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function ar(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function ur(){h&&D(h.takeRecords()),U(),I={records:[],primitives:[]}}function lr(){let o=I;if(I=null,!o)return[];let u=ce(o.records,!0);for(let c of o.primitives)u.push(c);return u}function ze(o,u,{honorPause:c,receipt:m}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(I)throw new Error("hyper-undo: command() cannot nest inside another command");if(z)throw new Error("hyper-undo: command() cannot run during undo or redo");if(ar())throw new Error("hyper-undo: command() cannot run inside a derived-effect context");if(u.constructor&&u.constructor.name==="AsyncFunction")throw new Error("hyper-undo: command() fn must be synchronous; it was declared async");let y=c&&A>0,S=y?null:$e();ur();let M=[],j=null,B;try{try{B=u()}catch(kr){j=kr}if(h&&D(h.takeRecords()),B&&typeof B.then=="function"){try{B.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}y||Ke(S)}finally{M=lr()}let ee=y||M.length===0?null:Z(o,M);if(j)throw j;return m?ee?{id:ee.id,label:ee.label}:null:ee}function dr(o,u){if(!E)throw new Error("hyper-undo: scope not started");return ze(o,u,{honorPause:!1,receipt:!0})}function sr(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(I)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return K===o||(U(),K=o,P("recording",o)),K}function De(o){if(!E||!o||!I&&(A>0||K==="commands"))return;let u=ir(o);u&&_e(u)}function _e(o){if(I){I.primitives.push(o);return}p.push(o),je()}function cr(o,{prop:u="value",oldValue:c,newValue:m,read:y,write:S}={}){!o||c===m||De({kind:"value",target:o,prop:u,oldValue:c,newValue:m,read:y,write:S})}function U(){A===0&&h&&D(h.takeRecords()),p.length!==0&&(_(),qe())}function Ue(){A===0&&h&&D(h.takeRecords()),A++,P("paused",A)}function Be(){A!==0&&(A--,A===0&&h&&h.takeRecords(),P("resumed",A))}function We(o,u){if(Zt())return Me(),{ok:!1,code:"disconnected"};U();let c=o==="undo"?n:i,m=o==="undo"?i:n,y=c.at(-1);if(!y)return{ok:!1,code:"empty"};if(u&&u!==y.id){let B=He(u)||y;return me(B,o,"stale-entry")}let S;z=!0;try{S=At(y.certificate,o,{isIgnored:fe,ignoreAttribute:Le,isProtected:tr,inScope:wr,liveNodesWithIds:br})}finally{z=!1}if(!S.ok)return me(y,o,S.code,S.targets);Ue();let M;z=!0;try{M=Ct(S.operations)}finally{z=!1,Be()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),me(y,o,"replay-error");c.pop(),m.push(y),s=null;let j={ok:!0,entryId:y.id,label:y.label,direction:o};return P(o,y.label),t.emit(o,j),j}function fr(o){return We("undo",o&&o.entryId)}function pr(o){return We("redo",o&&o.entryId)}function He(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function me(o,u,c,m=[]){return s={entryId:o.id,direction:u,code:c,targets:m},P("refused",u,c),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:c,targets:m}),{ok:!1,code:c,entryId:o.id,label:o.label,direction:u}}function mr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,c=u==="undo"?n:i,m=c.at(-1);return!m||m.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(c.pop(),s=null,P("discarded",m.label),t.emit("discard",{entryId:o,label:m.label,direction:u}),{ok:!0,entryId:o,direction:u})}function gr(o){let u=He(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let c=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(m=>({id:m.id??null,kind:m.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:c,steps:u.certificate.steps.map(hr)}}function hr(o){if(o.type==="move")return{kind:"move",node:{id:R(o.node).id},from:{id:R(o.sourceParent).id},to:{id:R(o.destParent).id}};if(o.type==="add"||o.type==="restore")return{kind:o.type==="add"?"add":"remove",parent:{id:R(o.parent).id},nodes:o.nodes.map((S,M)=>({id:R(S).id,html:o.content[M]??null}))};let u=o.primitive,c={id:R(u.target).id},m=u.oldValue??null,y=u.newValue??null;return o.type==="value"?{kind:"value",target:c,prop:u.prop??"value",before:m,after:y}:o.type==="text"?{kind:"text",target:c,before:m,after:y}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:c,name:u.name??null,before:m,after:y}:{kind:o.type,target:c,before:m,after:y}}function yr(o){let u=new Set,c=!0;for(;c;){c=!1;for(let m of o)if(!(m.type!=="childList"||!m.removedNodes?.length)&&!(!ge(m.target)&&!Je(m.target,u)))for(let y of m.removedNodes)u.has(y)||(u.add(y),c=!0)}return m=>!ge(m)&&Je(m,u)}function Je(o,u){for(let c=o;c;c=c.parentNode)if(u.has(c))return!0;return!1}function ge(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function Fe(o){let u=pe(),c=u&&u.head;if(!c||!o)return!1;let m=o.nodeType===1?o:o.parentElement;for(;m&&m!==c;m=m.parentElement)if(m.localName==="title")return!1;return m===c}function wr(o){let u=r.scope;return!o||!u?!1:o===u||Q()===o||Fe(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function br(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let c=new Set(o),m=[];for(let y of u.querySelectorAll("[data-id]"))c.has(y.getAttribute("data-id"))&&(fe(y)||m.push(y));return m}function vr(){h&&h.takeRecords(),n.length=0,i.length=0,p=[],s=null,_(),P("cleared"),t.emit("clear")}return{_config:r,start:Gt,stop:Me,commit:rr,commitCaptured:nr,discardCaptured:or,flush:U,command:dr,setRecording:sr,record:De,recordValue:cr,undo:fr,redo:pr,clear:vr,discard:mr,describe:gr,pause:Ue,resume:Be,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return A>0},get history(){return n.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return i.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return r.scope}}}var Wt=new Set(["checkbox","radio","button","submit","reset","image","file","range","color"]);function Ht(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Jt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="TEXTAREA"||i==="SELECT"||i==="INPUT"&&!Wt.has(String(n.type||n.getAttribute?.("type")||"text").toLowerCase())||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Jt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Ft(e,r){let t=n=>{let i=e.scope;if(i&&i.nodeType===1&&i.isConnected===!1){r&&r();return}if(n.defaultPrevented||n.isComposing||n.keyCode===229||Ht(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let p of l)try{if(a.closest(p))return}catch{}if(!(n.metaKey||n.ctrlKey))return;let s=(n.key||"").toLowerCase();if(s==="z"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.undo();return}if(s==="z"&&n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}if(s==="y"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)}var le=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],g=null,de=null,Re=null,T=null;function Ce(e,r){if(T){if(T.inst===e)return T.cleanup;throw new Error("hyper-undo: another scope already owns the global Cmd+Z binding (bindKeys: true). Stop it first, or use bindKeys: false for additional scopes.")}let t=Ft(e,r);return T={inst:e,cleanup:t},t}function Oe(e){T&&T.inst===e&&(T.cleanup(),T=null)}var se={defaults:{shadowKeydownIn:le},start(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(g){if(de===r)return console.warn("[hyper-undo] start() called again on existing singleton; ignoring new options"),g;throw new Error("hyper-undo: start() called with a different scope while the singleton is already started. Use undo.create({ scope }) for additional scopes, or call undo.stop() first.")}let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le};return g=Se(t),g.start(),de=r,e.bindKeys!==!1&&(Re=Ce(g,()=>se.stop())),g},stop(){g&&(Oe(g),Re=null,g.stop(),g=null,de=null)},create(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le},n=Se(t),i=null,a={_config:n._config,commit:n.commit,command:n.command,setRecording:n.setRecording,commitCaptured:n.commitCaptured,discardCaptured:n.discardCaptured,flush:n.flush,record:n.record,recordValue:n.recordValue,undo:n.undo,redo:n.redo,clear:n.clear,discard:n.discard,describe:n.describe,pause:n.pause,resume:n.resume,on:n.on,off:n.off,get canUndo(){return n.canUndo},get canRedo(){return n.canRedo},get isPaused(){return n.isPaused},get history(){return n.history},get future(){return n.future},get scope(){return n.scope},start(){e.bindKeys&&(i=Ce(n,()=>a.stop())),n.start()},stop(){Oe(n),i=null,n.stop()}};return a},commit(e,r){return g?g.commit(e,r):void 0},command(e,r){return g?g.command(e,r):void 0},setRecording(e){return g?g.setRecording(e):void 0},commitCaptured(e){return g?g.commitCaptured(e):void 0},discardCaptured(){return g?g.discardCaptured():void 0},record(e){return g?g.record(e):void 0},recordValue(e,r){return g?g.recordValue(e,r):void 0},undo(e){return g?g.undo(e):void 0},redo(e){return g?g.redo(e):void 0},clear(){return g?g.clear():void 0},discard(e){return g?g.discard(e):void 0},describe(e){return g?g.describe(e):void 0},pause(){return g?g.pause():void 0},resume(){return g?g.resume():void 0},flush(){return g?g.flush():void 0},on(e,r){return g?g.on(e,r):void 0},off(e,r){return g?g.off(e,r):void 0},get canUndo(){return g?g.canUndo:!1},get canRedo(){return g?g.canRedo:!1},get history(){return g?g.history:[]},get future(){return g?g.future:[]},get isPaused(){return g?g.isPaused:!1}},Xt=se;return X(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=et.undo,window.h=window.hyperclay);var w=et.undo;var ye=new Set,it=(d={})=>{let f=d.ignoreAttribute;return{...d,ignoreAttribute:(k,v,N)=>ye.has(k)||Xe(k,v)||Ye(v,k,N)||Ze(k,v)||(f?f(k,v,N):!1),isProtected:d.isProtected||Ar,ignoreNode:d.ignoreNode||Qe}};function Ar(d){let f=window.clay?.region?.resolveRegionPolicy;if(!f||d.nodeType!==1)return!1;let k=f(d);if(k.undoable!==!1||k.persist==="none")return!1;let v=d.parentElement;return!v||f(v).undoable!==!1}var Vr=w.create.bind(w);w.create=d=>Vr(it(d));var we=null,Er=w.setRecording.bind(w);w.setRecording=d=>(we=d??null,Er(d));var tt=()=>w.history.at(-1)?.id??null,Nr=w.command.bind(w);w.command=(d,f)=>{let k=Nr(d,f);return k&&re(),k};var xr=w.commit.bind(w),rt=!1;w.commit=(d,f)=>{!rt&&window.clay?.effect?.running&&(rt=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let k=tt(),v=xr(d,f);return(v||tt()!==k)&&re(),v};var Pr=`input${te}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${te}, select${te}`;function Ir(){let d=f=>window.clay?.region?.resolveRegionPolicy?.(f)?.undoable!==!1;document.querySelectorAll(Pr).forEach(f=>{if(!d(f))return;if(f.tagName==="SELECT"){for(let C of f.options){let G=C.hasAttribute("selected");C.selected!==G&&(C.selected=G)}return}let k=(f.getAttribute("type")||"text").toLowerCase();if(f.tagName==="INPUT"&&(k==="checkbox"||k==="radio")){let C=f.hasAttribute("checked");f.checked!==C&&(f.checked=C);return}let v=f.tagName==="TEXTAREA"?f.getAttribute("data-value")??f.textContent:f.getAttribute("value")??"";if(f.value===v)return;let N=f===document.activeElement,W,X;try{W=f.selectionStart,X=f.selectionEnd}catch{}if(f.value=v,N&&W!=null)try{f.setSelectionRange(Math.min(W,v.length),Math.min(X,v.length))}catch{}})}var nt=d=>{d?.ok&&(re(),Ir())},ot=({entryId:d,label:f,direction:k,code:v})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:v,entryId:d,label:f,direction:k}})),Sr({ok:!1,code:v,entryId:d,label:f,direction:k})},he=null;function at(){return he??=import("../c-V5L6HWVL.js").catch(d=>(he=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),he}async function Sr(d){let f={ok:!1,code:"unavailable"};try{let v=await at();v&&(f=await v.keepRefusal(w,d))}catch{f={ok:!1,code:"error"}}let k=f?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:f?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:k}))}var ve=(d,f)=>(...k)=>at().then(v=>v?v[d](...k):f,()=>f),Rr=ve("keep",{ok:!1,code:"unavailable"});w.ignoreAttribute=d=>{let f=String(d||"");return f?(ye.add(f),()=>{ye.delete(f)}):()=>{}};w.keep=async d=>{let f=await Rr(d);return f?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),f};w.kept=ve("kept",{ok:!1,code:"unavailable",records:[]});w.dismissKept=ve("dismissKept",{ok:!1,code:"unavailable"});var be=new Set;w.reviewActions=d=>typeof d!="function"?()=>{}:(be.add(d),()=>{be.delete(d)});w.reviewActionsFor=d=>{let f=[];for(let k of be){let v;try{v=k(d)}catch(N){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",N);continue}for(let N of Array.isArray(v)?v:[])N&&typeof N.run=="function"&&N.label&&f.push(N)}return f};var Cr=["commit","undo","redo","refused","discard","clear"],ne=()=>{let d=!!F?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&w.canUndo,canRedo:d&&w.canRedo,undo:d&&w.history.at(-1)||null,redo:d&&w.future?.[0]||null}}))},F=null;function Or(){return{started:!1,admitted:!1,subscriptions:[]}}var Mr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Tr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function jr(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,w.start(it({bindKeys:!0,...we?{recording:we}:{}}));for(let f of["undo","redo"])w.on(f,nt),d.subscriptions.push({type:f,handler:nt});w.on("refused",ot),d.subscriptions.push({type:"refused",handler:ot});for(let f of Cr)w.on(f,ne),d.subscriptions.push({type:f,handler:ne});ne()}},quiesce(){d.admitted&&(d.admitted=!1,w.pause())},resume(){d.admitted||(d.admitted=!0,w.resume())},dispose(){if(d.admitted=!1,F===d&&(F=null),!!d.started){d.started=!1;for(let{type:f,handler:k}of d.subscriptions.splice(0))w.off(f,k);w.stop(),ne()}}}}function qr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Lr();if(await Tr(),Mr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return jr(F||(F=Or()))}}}async function Lr(){let d=await Kr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function $r(){if(!Ge()||typeof document>"u")return null;let d=await qr().prepare();return d.enable(),d}var Kr=$r();var Gr=w;export{Gr as default,$r as init,qr as modeParticipant,Kr as ready,Ir as restoreControls,w as undo,qr as undoParticipant};
@@ -1 +1 @@
1
- import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-VHSMPITY.js")).replace(e,t)}function B(e){import("../c-Z4G2UK6T.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
1
+ import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-JB5YU57S.js")).replace(e,t)}function B(e){import("../c-CU33V6RW.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
@@ -1 +1 @@
1
- import{b as r,c as p,d as n,e as u}from"../c-P2HKMJAW.js";import"../c-I2SCCUEW.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-DDS23EY6.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
1
+ import{b as r,c as p,d as n,e as u}from"../c-EAV7A6BT.js";import"../c-I2SCCUEW.js";import"../c-EQ5NBOGA.js";import"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-HXGNH6GY.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
@@ -0,0 +1,20 @@
1
+ import{a as he,b as me,c as ye}from"../c-Y6F2FORL.js";import{a as pe,b as F,c as ut}from"../c-HKSLOVU4.js";import{a as ge,b as we,c as ve,d as be}from"../c-OKEGUICD.js";import{b as fe}from"../c-QY7F6EN6.js";import{a as de}from"../c-VMXCX52Q.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-P73XPAOA.js";import"../c-ZPI7M5U5.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-MZCOGNZL.js";import"../c-MFB74XVN.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import{b as le,f as ue,h as Nt}from"../c-C7SUMNMI.js";import{d as oe}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as vt,g as bt,h as ae,j as ie,l as rt,m as se,n as ce}from"../c-U4TWEIKZ.js";import"../c-PNZIJFG7.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var xe="clay:visitor-drafts:",ke=1,Se=32,er=512*1024,rr=16*1024*1024,nr=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Ae(t){let r=2166136261;for(let n=0;n<t.length;n++)r=Math.imul(r^t.charCodeAt(n),16777619);return(r>>>0).toString(36)+"."+t.length.toString(36)}function Z(t=window.location.pathname){let n=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),c=n?n[1]:"/";return c.toLowerCase()==="/index.html"?"/":c}var Ut=t=>xe+t,Te=(t,r=Z())=>`${xe}${t}@${r}`;function Ot(){try{return window.localStorage}catch{return null}}var D=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function or(t){let r=[];for(let n of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))r.push(n[2]!==void 0?Number(n[2]):n[1]);return r}function ar(t,r){let n=or(r),c=t;for(let i=0;i<n.length-1;i++)if(c=c?.[n[i]],c==null||typeof c!="object")return;c&&typeof c=="object"&&delete c[n[n.length-1]]}function _(t,r){return Array.isArray(t)?Array.isArray(r)&&r.length===t.length&&t.every((n,c)=>_(n,r[c])):D(t)?D(r)&&Object.keys(t).every(n=>_(t[n],r[n])):t===r}function z(t,r){return _(t,r)&&_(r,t)}var Me='script[type="application/json"][merge][clay~="live"]',Pt="article[data-blockeditor]",ir="[onbeforesave], [onbeforesnapshot]",Ee=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Rt=t=>JSON.stringify(Object.keys(t).sort().map(r=>[r,t[r]]));function dt(t){let r=t.querySelectorAll(Pt);if(r.length!==1)return null;let n={};for(let c of t.querySelectorAll(Me))try{n[c.getAttribute("merge")]=JSON.parse(c.textContent)}catch{return null}return{live:n,blockeditor:{rev:r[0].getAttribute("data-rev")||"",html:r[0].innerHTML}}}var W=(t,r)=>!t||!r?t===r:t.blockeditor.rev===r.blockeditor.rev&&Rt(t.live)===Rt(r.live),Oe=t=>D(t?.live)&&D(t?.blockeditor)?`${t.blockeditor.rev}:${Ae(Rt(t.live))}`:null;function kt(t){if(!D(t?.live)||!D(t?.blockeditor))return null;let{live:r,blockeditor:n}=t;return!Object.keys(r).length||typeof n.rev!="string"||typeof n.html!="string"?null:{live:r,blockeditor:n}}var nt=t=>Array.isArray(t)&&t.every(r=>D(r)&&(typeof r.id=="string"||typeof r.id=="number"))&&new Set(t.map(r=>r.id)).size===t.length;function ft(t,r,n=!1){if(D(t)&&D(r)){let c={...t};for(let i of Object.keys(r))i in t?c[i]=ft(t[i],r[i]):n||(c[i]=r[i]);return c}if(nt(t)&&nt(r)){let c=new Map(r.map(i=>[i.id,i]));return t.map(i=>c.has(i.id)?ft(i,c.get(i.id)):i)}return t}var Ie=(t,r)=>t.length===r.length&&t.every((n,c)=>n===r[c]);function sr(t,r,n){let c=u=>new Map(u.map(d=>[d.id,d])),i=c(t),v=c(r),k=c(n),l=u=>u.filter(d=>i.has(d.id)&&v.has(d.id)&&k.has(d.id)).map(d=>d.id),x=l(t);if(!Ie(x,l(r))||!Ie(x,l(n)))return null;for(let[u,d]of i)if(v.has(u)&&!k.has(u)&&!z(v.get(u),d)||!v.has(u)&&k.has(u)&&!z(k.get(u),d))return null;let m=!1,a=[];for(let u of r){if(i.has(u.id)&&!k.has(u.id))continue;if(!k.has(u.id)){a.push(u);continue}let d=St(i.get(u.id),u,k.get(u.id),!0);m||=d.conflict,a.push(d.value)}return n.forEach((u,d)=>{if(i.has(u.id)||v.has(u.id))return;let A=0;for(let g=d-1;g>=0;g--){let j=a.findIndex(E=>E.id===n[g].id);if(j!==-1){A=j+1;break}}a.splice(A,0,u)}),{value:a,conflict:m}}function St(t,r,n,c){if(z(r,n)||z(n,t))return{value:r,conflict:!1};if(z(r,t))return{value:n,conflict:!1};if(D(r)&&D(n)){let i={},v=!1;for(let k of new Set([...Object.keys(r),...Object.keys(n)])){let l=St(D(t)?t[k]:void 0,r[k],n[k],c);v||=l.conflict,l.value!==void 0&&(i[k]=l.value)}return{value:i,conflict:v}}if(c&&nt(t)&&nt(r)&&nt(n)){let i=sr(t,r,n);if(i)return i}return{value:r,conflict:!0}}function Et(t,r=new Map){if(Array.isArray(t)){if(nt(t))for(let n of t)r.set(n.id,(r.get(n.id)||0)+1);for(let n of t)Et(n,r)}else if(D(t))for(let n of Object.values(t))Et(n,r);return r}function Le(t,r,n){let c=St(t,r,n,!0),i=Et(r);for(let[v,k]of Et(c.value))if(k>1&&k>(i.get(v)||0))return St(t,r,n,!1);return c}function B(t,r){rt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:r}}));let n=new Error("Couldn't save in this browser. Storage is full or turned off.");return n.code="draft-storage",n}var De=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function je(t,{path:r=Z(),storage:n=Ot()}={}){let c=Ut(t),i=Te(t,r),v=i+":legacy";try{let k=n?.getItem(i),l=n?.getItem(c);if(l==null){let u=n?.getItem(c+":ui");return u!=null&&n.getItem(i+":ui")==null&&n.getItem(i+":ui-legacy")==null&&(n.setItem(i+":ui",u),n.setItem(i+":ui-legacy","1")),"none"}let x=De(l),m=n.getItem(v);if(m===x)return"none";let a=n.getItem(i);if(a!==k)return"none";if(a==null||m!=null&&De(a)===m?n.setItem(i,l):a!==l&&(n.setItem(i+":conflict",l),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),m==null){let u=n.getItem(c+":ui");u!=null&&n.getItem(i+":ui")==null&&n.setItem(i+":ui",u)}return n.setItem(v,x),"copied"}catch{return"failed"}}function cr(t){if(!D(t)||!("site"in t))return t;let{site:r,...n}=t;return n}function Ce({doc:t=document,storage:r=Ot(),gate:n=bt,now:c=()=>new Date,path:i=Z(),fallback:v=null,slotLimit:k=er,pendingLimit:l=rr}={}){let x=vt(t),m=Te(x,i),a=cr(pe.findRulesIn(t,"api").rules),u=null,d=null,A=null,g=null,j=!0,E=null,L=!1,U=null,$,T=null,M=null,Y=()=>{$===void 0&&($=dt(t))};function X(e){return e?(Y(),$?e.blockeditor.rev!==$.blockeditor.rev||Object.keys(e.live).some(s=>!Ee(s)&&JSON.stringify(e.live[s])!==JSON.stringify($.live[s]))||T||M?e:null:e):null}function Q(e){if(t.querySelector(Pt)||t.readyState!=="loading")return e();t.addEventListener("DOMContentLoaded",e,{once:!0})}function ot(e){Y();let o=t.querySelector(Pt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Me)].map(h=>[h.getAttribute("merge"),h]));for(let[h,w]of s)Ee(h)&&!(h in e.live)&&w.remove();for(let[h,w]of Object.entries(e.live)){let S=s.get(h);S||(S=t.createElement("script"),S.setAttribute("type","application/json"),S.setAttribute("merge",h),S.setAttribute("clay","live"),o.parentNode.insertBefore(S,o)),S.textContent=JSON.stringify(w).replace(/</g,"\\u003c")}return!0}let R=nr,at=m+":reset";function it(){try{return"root:"+(r?.getItem(at)??"")}catch{return"root:"}}let mt=e=>"legacy:"+Ae(e);function Dt(e,o){return e?e.id?Array.isArray(e.ancestry)?[e.id,...e.ancestry].slice(0,Se):null:[mt(o)]:null}function yt(e){if(!U||U.raw!==u||!U.ancestry||!e?.id||e.id===U.id)return!1;let o=e.ancestry;return!Array.isArray(o)||o.includes(U.id)?!1:o.includes(U.ancestry[0])||o.length>=Se}function f(){try{if(!r)return null;let e=r.getItem(m);return e==null&&v?r.getItem(v):e}catch{return null}}function O(e){try{let o=JSON.parse(e);if(D(o)&&o.v===ke&&D(o.data))return o}catch{}return null}function I(){let e=f();return e==null?null:{raw:e,record:O(e)}}function H(){return F(t,a)}function Ke(){let e=window.clay?.getHTML;return typeof e!="function"?H():F(new DOMParser().parseFromString(e.call(window.clay),"text/html"),a)}function Bt(){try{if(typeof r.keys=="function")return r.keys();let e=[];for(let o=0;o<r.length;o++)e.push(r.key(o));return e}catch{return[]}}function Be(){try{return JSON.stringify(Ke())}catch{return null}}function tt(e,{keepSlot:o=!1}={}){let s=Bt().find(w=>w.startsWith(m+":unreadable:")&&r.getItem(w)===e);if(s){if(E=null,!o)try{r.removeItem(m)}catch{}return s}let h=m+":unreadable:"+c().toISOString();try{r.setItem(h,e)}catch{return E=e,console.warn("visitor-drafts: this browser's saved copy no longer fits the page, and there is no room to keep it aside; nothing will be saved over it"),null}if(E=null,!o)try{r.removeItem(m)}catch{}return console.warn(o?"visitor-drafts: part of this browser's saved copy no longer fits the page; the original was kept under":"visitor-drafts: this browser's saved copy no longer fits the page; it was kept under",h),h}function $t(e){let o=ft(JSON.parse(JSON.stringify(e)),H(),!0),s=[];for(let h=0;h<4;h++){let w=t.cloneNode(!0);try{ut(w,o,a)}catch(C){let et=C?.details?.unknownKeys??C?.unknownKeys;if(Array.isArray(et)&&et.length){for(let q of et)ar(o,q);continue}let ct=Object.keys(o).filter(q=>{try{return ut(t.cloneNode(!0),{[q]:o[q]},a),!1}catch{return!0}});if(!ct.length)return null;for(let q of ct)delete o[q];s.push(...ct);continue}let S=F(w,a),b=Object.keys(o).filter(C=>!_(o[C],S[C]));if(!b.length)return{data:o,dropped:s};for(let C of b)delete o[C];s.push(...b)}return null}function xt({raw:e,record:o}){let s=tt(e);return s||(u=e),d=H(),g=o?.data??d,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let Jt=()=>A??=H();function $e(e=I()){if(Jt(),!e)return d=g=A,Q(Y),{restored:!1,hadDraft:!1};if(j=!1,!e.record)return xt(e);let o=kt(e.record),s=Object.keys(e.record.data).length>0,h=s?$t(e.record.data):{data:{},dropped:[]},w=!!h&&(!s||Object.keys(h.data).length>0);if(!o&&!w||!o&&!s)return xt(e);if(s&&w&&ut(t,h.data,a),o&&(Q(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),tt(e.raw,{keepSlot:!0}))}),T=o,M=o),u=e.raw,d=H(),g=e.record.data,!w||h.dropped.length){let S=tt(e.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w?h.data:{},partial:!0,parked:!!S,blocked:!S}}return{restored:!0,hadDraft:!0,data:h.data}}function st(){if(L)return!1;try{let e=window.clay?.getHTML;if(typeof e!="function")return!_(H(),d);let o=new DOMParser().parseFromString(e.call(window.clay),"text/html"),s=X(dt(o));return!_(F(o,a),d)||!W(s,T)&&!W(s,M)}catch{return!0}}function Ft(e){let o=m+":conflict";try{r.setItem(o,e)}catch(s){throw B(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Je(e){let o=f(),s=o==null?null:O(o);if(!s)return{data:e,stored:null,ancestry:[it()],parentData:d};let h=e;if(o!==u){let w=Le(yt(s)?U.parentData:d,e,s.data);w.conflict&&Ft(o),h=w.value}return h=ft(h,s.data),{data:h,stored:z(h,s.data)?o:null,ancestry:Dt(s,o),parentData:s.data}}function At(e){let o=$t(e);if(!o||!Object.keys(o.data).length)return null;ut(t,o.data,a);try{window.Sap?.refresh?.()}catch{}return t.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),o.data}let p={id:R(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{p.reset=r?.getItem(at)??""}catch{}try{let e=JSON.parse(window.sessionStorage.getItem(m+":generation"));e?.marker===p.reset&&typeof e.reset=="string"&&(p.reset=e.reset)}catch{}let Tt=`${m}:op:${p.id}`,zt=()=>({tab:p.id,reset:p.reset,acked:p.acked,at:c().getTime(),ops:p.ops});function Mt(){try{if(!p.ops.length){p.journaled=p.seq,r.removeItem(Tt);return}let e=JSON.stringify(zt());if(e.length>k)return;r.setItem(Tt,e),p.journaled=p.seq}catch{}}let Vt=null,gt=null,Wt=e=>e===void 0?t:new DOMParser().parseFromString(e,"text/html");function Zt(e,{reset:o=p.reset,at:s=null}={}){if(L)return null;let h=Wt(e),w=Yt(F(h,a),X(dt(h)),o);return gt=s,w}function Gt(e=p.reset){if(L)return null;let o=n()?.token()??null;return Zt(window.clay.getHTML(),{reset:e,at:o})}function Fe(e=p.reset){if(L)return null;let o=gt!==null&&t.querySelector(ir)!==null&&n()?.unchangedSince(gt)===!0,s=Wt(window.clay?.getHTML?.());return Yt(o?d:F(s,a),X(dt(s)),e)}function Yt(e,o,s=p.reset){if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));if(p.sizes.reduce((b,C)=>b+C,0)>=l)throw B(t,new Error("too many changes are waiting to be saved"));let h=!W(o,T),w={};for(let b of Object.keys(e))b in d&&_(e[b],d[b])||(w[b]=b in g?{b:g[b],m:ft(e[b],g[b])}:{m:e[b]});if(!Object.keys(w).length&&!h)return p.ops.length||(rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:e,unchanged:!0}}))),null;p.ops.length||(Vt={base:d,editorUnit:T,seenUnit:M});let S={seq:++p.seq,savedAt:c().toISOString(),keys:w,...h&&{unit:{seen:Oe(M),to:o}}};d={...d},g={...g};for(let b of Object.keys(w))d[b]=e[b],g[b]=w[b].m;return h&&(T=M=o),j=!1,p.reset=s,p.ops.push(S),p.sizes.push(JSON.stringify(S).length),Mt(),S}function ze(){if(L)return!0;try{st()&&Gt()}catch{return!1}return p.journaled===p.seq}function Ve(e){if(e<=p.acked)return!1;p.acked=e;let o=p.ops.filter(s=>s.seq<=e).length;return p.ops.splice(0,o),p.sizes.splice(0,o),Mt(),o>0}function Xt(){p.ops.length=0,p.sizes.length=0,Mt()}function We(){p.ops.length&&({base:d,editorUnit:T,seenUnit:M}=Vt),gt=null,Xt()}function Ze(e){let o=Object.fromEntries(Object.entries(e).filter(([h,w])=>!z(w,g[h])));if(!Object.keys(o).length)return!1;let s=At(o);return g={...g,...o},s&&(d={...d,...s}),j=!1,!0}function Qt({keepPending:e=!1}={}){L=!0,e||Xt()}let te=()=>Bt().filter(e=>e.startsWith(m+":op:"));function ee(e){if(L)return null;if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(e,"text/html"),s=F(o,a),h=X(dt(o)),w=!W(h,T),S=f();if(_(s,d)&&!w&&(S===u||S==null))return rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:b,stored:C,ancestry:et,parentData:ct}=Je(s),q=S==null?null:O(S),Ct=kt(q),lt=w?h:q?Ct:h;w&&q&&!W(Ct,M)&&Ft(S);let re=R(),wt=C&&W(lt,Ct)?C:JSON.stringify({v:ke,savedAt:c().toISOString(),id:re,ancestry:et,reset:p.reset,data:b,...lt&&{live:lt.live,blockeditor:lt.blockeditor}});if(wt!==C){try{if(!r)throw new Error("no storage");r.setItem(m,wt)}catch(V){throw B(t,V)}U={id:re,ancestry:et,parentData:ct,raw:wt}}let ne=Object.keys(s).filter(V=>!_(s[V],b[V]));return ne.length&&At(Object.fromEntries(ne.map(V=>[V,b[V]]))),u=wt,d=b,w&&(T=h),(w||!q)&&(M=lt),rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:b}})),b}function jt(){try{return ee(window.clay.getHTML()),!0}catch{return!1}}function Ge(){return L||!st()?!0:jt()}function Ye(){if(L)return!1;let e=f();if(e==null&&u!=null&&!st())return L=!0,window.location.reload(),!0;if(e==null||e===u||st())return!1;let o=O(e);if(yt(o)&&typeof window.clay?.getHTML=="function")return jt();let s=o&&At(o.data);return!s&&!kt(o)?!1:(u=e,d={...d,...s||{}},!0)}function Xe(e){if(L)return null;if(e===void 0){let s=f();e=s==null?null:O(s)}let o=kt(e);return o&&!W(o,M)?o:null}function Qe(e){M=e}function tr(){Qt(),E=null,rt(!1);try{r.removeItem(m)}catch{}let e=/^(\d+)~/.exec(p.reset),o=e?Number(e[1]):p.reset===""?1:null;try{r.setItem(at,o===null?R():`${o+1}~${R()}`)}catch{}}return{slot:x,key:m,rules:a,read:I,restore:$e,write:ee,writeLive:jt,flush:Ge,changed:st,adoptExternal:Ye,externalUnit:Xe,adoptedUnit:Qe,park:tt,clear:tr,snapshot:Be,tab:p.id,slotKey:Tt,chain:zt,capture:Zt,captureNow:Gt,captureLate:Fe,keep:ze,acknowledge:Ve,release:We,take:Ze,stop:Qt,journalSlots:te,seed:Jt,servedUnit:()=>(Y(),$),fitsInto:_,same:z,merge3:Le,unitMark:Oe,newId:R,failed:e=>B(t,e),generation:()=>p.reset,enter:e=>{p.reset=e},fresh:()=>j,shown:()=>d!==null,pending:()=>p.ops.length,unsafe:()=>p.journaled<p.seq,stopped:()=>L,held(){try{let e=JSON.parse(f());return D(e)?e:null}catch{return null}},kept:()=>!!I()||p.ops.length>0||te().length>0}}function Ne(t,r){let n=`${t}:ui`,c=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=c();try{let v=JSON.parse(r?.getItem(n)||"null");v&&typeof v=="object"&&v.v===1&&(i={...c(),...v})}catch{}return{get:()=>i,save(){try{r?.setItem(n,JSON.stringify(i))}catch{}},reset(){i=c();try{r?.removeItem(n)}catch{}}}}var lr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Pe(t,r=window.location.search){let n=t.get(),c=null;try{c=new URLSearchParams(r).get("src")}catch{}return!n.src&&c&&lr.test(c)&&(n.src=c,t.save()),n.src}function Re(t,r=window.location){let n=Z(r.pathname);return`/_/download${n==="/"?"":n}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var ur=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
2
+ <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 Ue({memory:t,appName:r,link:n,settle:c,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:v}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let f=document.createElement("template");f.innerHTML=ur,l=f.content.firstElementChild,fe({name:"download-prompt",content:l,css:[v],attributes:{"sap-ignore":""}})}let x=t.get();(!x.prompt||typeof x.prompt!="object")&&(x.prompt={});let m=x.prompt,a=3,u=2500,d=/^(INPUT|TEXTAREA|SELECT)$/,A="#hcp, .clay-intro, .clay-owner",g=l.querySelector("[data-hcp-link]");g.href=n,r&&(l.querySelector("[data-hcp-name]").textContent=r);let j=l.querySelector("[data-hcp=open]");function E(f,O){l.hidden=!1,l.setAttribute("data-hcp-state",f),O&&l.setAttribute("data-hcp-reason",O),j.setAttribute("aria-expanded",f==="card"?"true":"false"),(f==="card"||f==="mini")&&(m.shown=!0,t.save(),l.setAttribute("data-hcp-arrived","")),R()}function L(f){return f&&!l.contains(f)&&!f.closest(A)&&(d.test(f.tagName)||f.isContentEditable)}let U=null;function $(f){clearTimeout(U),U=setTimeout(()=>{if(m.shown||m.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let O=document.activeElement;if(L(O)){let I=O.getBoundingClientRect(),H=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-H-32&&I.bottom>innerHeight-380)return}E("card",f)},u)}let T=[];function M(f){l.contains(f.target)||!L(f.target)||(T.indexOf(f.target)<0&&T.push(f.target),m.uses=Math.max(m.uses||0,T.length),m.shown||t.save(),T.length>=a&&$("use"))}function Y(f){L(f.target)&&(l.getAttribute("data-hcp-state")==="card"&&E(m.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function X(){setTimeout(()=>{L(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let Q=0,ot=!1;function R(){Q||(Q=requestAnimationFrame(()=>{Q=0;let O=ye(innerWidth-24,I=>l.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==O&&l.style.setProperty("--hcp-lift",O),ot=!0,me(),ot=!1}))}async function at(){let f=window.clay&&window.clay.getHTML;if(typeof f!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let O=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:f(),name:O.replace(/\.html$/,".htmlclay")})}catch{return!1}}let it=!1;l.addEventListener("click",async f=>{let O=f.target.closest("[data-hcp]");if(O){let I=O.getAttribute("data-hcp");I==="open"?(E("card",l.getAttribute("data-hcp-reason")==="error"?void 0:"open"),g.focus()):I==="minimize"?(E("mini"),j.focus()):I==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(E("mini"),j.focus()):(m.dismissed=!0,E("mini"),j.focus()));return}if(f.target.closest("[data-hcp-link]")){if(!i())return;let I=it||l.getAttribute("data-hcp-reason")==="error";if(!I){let H=c?.();if(H){if(f.preventDefault(),await H!==!1){g.click();return}I=!0}}if(I&&(f.preventDefault(),!await at())){mt(),l.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}m.downloaded=!0,m.shown=!0,t.save()}}),l.addEventListener("animationend",f=>{(f.animationName==="hcp-arrive"||f.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",f=>{f.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(E("mini"),j.focus())});function mt(){E("card","error")}function Dt(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let yt={set:E,root:l,showError:mt,clearError:Dt,download:(f=!1)=>{it=f;try{g.click()}finally{it=!1}}};return document.addEventListener("input",M,!0),document.addEventListener("change",M,!0),document.addEventListener("focusin",Y),document.addEventListener("focusout",X),addEventListener("scroll",R,{passive:!0}),addEventListener("resize",R),document.addEventListener(he,()=>{ot||R()}),document.addEventListener("transitionend",R,!0),l.addEventListener("transitionend",R),E(m.shown||m.dismissed?"mini":"tab"),!m.shown&&(m.uses||0)>=a&&$("return"),yt}var y=null,P=null,N=!0,_e=!1,G=Promise.resolve(),J=!1,K=null,qt=ge,_t=null,Kt=Promise.resolve(),Lt=Promise.resolve(),It=()=>!0,ht=()=>null,He=3e3;function qe(){return import("../c-N4GEJMXW.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function dr(t){return t.template?import("../c-VBXRXTVS.js").then(r=>r.mountIntro(t)).catch(r=>(console.warn("visitor-drafts: the intro did not load",r),null)):Promise.resolve(null)}var pt=vt(),Ht=document.querySelector('script[data-rules-name~="api"]');if(le&&pt&&Ht){let i=function(a){K={restored:a.restored,hadDraft:a.hadDraft,parked:!!a.parked,...a.partial&&{partial:!0},...a.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:K}));let u=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",d=document.querySelector("template[visitor-intro]"),A=()=>{Kt=Ue({memory:c,appName:u,link:qt,settle:()=>ht(),canDownloadCurrent:()=>!J&&!K.blocked}).then(g=>dr({memory:c,template:d,appName:u,hadDraft:a.hadDraft||y.kept()}).then(()=>g)).then(g=>(document.addEventListener("clay:drafts-store-failed",()=>g.showError()),document.addEventListener("clay:drafts-saved",()=>g.clearError()),se()&&g.showError(),(Nt?qe():Promise.resolve(null)).then(()=>g)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A,{once:!0}):A()},t=Z(),r=je(pt,{path:t}),n=Ot();y=Ce({path:t,fallback:r==="failed"?Ut(pt):null}),N=!(typeof globalThis.indexedDB?.open=="function"&&globalThis.IDBKeyRange),_e=!N,G=N?Promise.resolve():import("../c-5Q5XBN56.js").then(a=>a.openSession({store:y,storage:n,reload:()=>de({isCurrent:()=>!0,reload:()=>window.location.reload()})})).then(a=>{P=a},()=>{N=!0}),ae((a,u=null)=>{let d=!K;return Lt.then(()=>{if(J)throw B(document,new Error("the draft database did not open"));return d&&([u,a]=[bt()?.token()??null,window.clay.getHTML()]),N?void y.write(a):(y.capture(a,{at:u}),G.then(()=>{if(P)return P.sync().then(()=>{});y.write(a)}))})});let c=Ne(y.key,n);_t=Pe(c),qt=Re(_t),It=()=>{if(J)return!1;if(!K)return!0;if(N)return y.flush();let a=y.keep();return P?.hide(),a},ie(It),ce(()=>!N&&y.unsafe()),ht=()=>{if(J)return Promise.resolve(!1);if(!K)return Lt.then(()=>ht());if(N)return y.flush()?null:Promise.resolve(!1);let a=y.keep();if(!y.pending())return a?null:Promise.resolve(!1);let u=G.then(()=>P?P.sync().then(()=>!0):y.flush()).catch(()=>!1),d;return Promise.race([u,new Promise(A=>{d=setTimeout(()=>A(!1),He)})]).finally(()=>clearTimeout(d))},document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&It()}),window.addEventListener("pagehide",It);let v=!1;document.addEventListener("click",async a=>{let u=a.composedPath().find(g=>g instanceof Element&&g.matches("a[clay-wait-drafts][href]"));if(!u||a.defaultPrevented||a.button!==0||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||u.target&&u.target!=="_self")return;if(v){a.preventDefault();return}let d=ht();if(!d)return;a.preventDefault(),v=!0;let A;await Promise.race([d,new Promise(g=>{A=setTimeout(g,He)})]),clearTimeout(A),v=!1,window.location.assign(u.href)},!0);let k=()=>{if(!N||J||!K)return;let a=y.externalUnit();a&&document.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:a.live,adopted:()=>y.adoptedUnit(a)}})),y.adoptExternal()};window.addEventListener("storage",a=>{a.key===y.key&&k()}),document.addEventListener("clay:drafts-blockeditor-listening",k),window.addEventListener("pageshow",a=>{a.persisted&&k()});let l=y.held(),x=l?.v===2&&l.idb===!0,m=!N&&l?.v===1&&l.w===void 0&&y.generation()!=="";x||m||!N&&l?.w&&l.w.reset!==y.generation()?Lt=G.then(()=>P?.first).then(a=>{if(a)return i(y.restore(a.record&&{raw:JSON.stringify(a.record),record:a.record}));throw new Error("the draft database did not open")}).catch(a=>{if(!x){if(!m)try{n?.removeItem(y.key)}catch{}return i(y.restore())}J=!0,B(document,a),i({restored:!1,hadDraft:!0,blocked:!0})}):(i(y.restore()),G.then(()=>{P||(y.release(),y.flush())}))}else if(!pt||!Ht){let t=[];pt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Ht||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else Nt&&ue&&!oe()&&(Kt=qe());var Tr=y?{active:!0,slot:y.slot,key:y.key,hasDraft:()=>y.kept(),restored:()=>K,saveNow(){if(J||!K)return!1;if(N)return y.writeLive();try{y.captureNow()}catch{return!1}return P?.sync().catch(()=>{}),!y.unsafe()},reset(){return _e?(G.then(()=>{if(P)return P.startOver();if(N&&!J)return y.clear();throw new Error("the draft database did not open")}).then(()=>window.location.reload(),t=>B(document,t)),!0):(y.clear(),window.location.reload(),!0)},onRestore(t){return K?(t(K),!0):(document.addEventListener("clay:drafts-restored",r=>t(r.detail),{once:!0}),!1)},editOriginal:we,backToDraft:ve,downloadUrl:()=>qt,download:()=>Kt.then(async t=>{let r=await ht();return t?.download(r===!1)}),source:_t}:be();async function Mr(){if(await Lt,await G,!y||!P||J)return null;let{createRecovery:t}=await import("../c-WSTUCBHV.js");return t({store:y,session:P})}export{Kt as ready,Mr as recoveryDrafts,Lt as restoring,Tr as visitorDrafts};
@@ -1 +1 @@
1
- import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-EDE45NM7.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=u(),i=document.querySelector('script[data-rules-name~="api"]'),r=null,e=null,s=0,c=()=>m&&l&&!a()&&!!o&&!!i;function f(){if(r)return Promise.resolve(r);if(!e){let t=s;e=import("../c-XW5TIYYB.js").then(({mountOwnerChip:d,ownerChip:h})=>{let n=d()||h();return t===s?(r=n,n):(n?.unmount?.(),null)}).finally(()=>{e=null})}return e}function v(){s+=1,r?.unmount?.(),r=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var g=c()?f():Promise.resolve(null),k=g;function C(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&f()},quiesce(){},resume(){},dispose(){v()}}}}}var S=p();export{C as draftsOwnerParticipant,C as modeParticipant,k as ready,S as visitorDrafts};
1
+ import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-C7SUMNMI.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=u(),i=document.querySelector('script[data-rules-name~="api"]'),r=null,e=null,s=0,c=()=>m&&l&&!a()&&!!o&&!!i;function f(){if(r)return Promise.resolve(r);if(!e){let t=s;e=import("../c-N4GEJMXW.js").then(({mountOwnerChip:d,ownerChip:h})=>{let n=d()||h();return t===s?(r=n,n):(n?.unmount?.(),null)}).finally(()=>{e=null})}return e}function v(){s+=1,r?.unmount?.(),r=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var g=c()?f():Promise.resolve(null),k=g;function C(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&f()},quiesce(){},resume(){},dispose(){v()}}}}}var S=p();export{C as draftsOwnerParticipant,C as modeParticipant,k as ready,S as visitorDrafts};
@@ -1 +1 @@
1
- import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-V2U3F4QX.js").then(o=>o.start()).catch(o=>console.warn("visitor-menu: the menu did not load",o))}));
1
+ import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-WDFQ7PBU.js").then(o=>o.start()).catch(o=>console.warn("visitor-menu: the menu did not load",o))}));