@panphora/clayjs 1.16.0 → 1.18.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 (511) 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 +72519 -59839
  11. package/dist/m/attrs/refetch-on-save-ZUE7PSCI.js +1 -0
  12. package/dist/m/attrs/save-freeze-LWGF6XUN.js +1 -0
  13. package/dist/m/c-2GRUM77Q.js +30 -0
  14. package/dist/m/c-2KIEGNC4.js +1 -0
  15. package/dist/m/{c-5R4PTRG2.js → c-2KL3BD52.js} +1 -1
  16. package/dist/m/c-2YYDMLNZ.js +1 -0
  17. package/dist/m/c-2ZZBC45O.js +1 -0
  18. package/dist/m/c-372N6H3B.js +1 -0
  19. package/dist/m/{c-4WKFKEKF.js → c-3G2DGZUP.js} +1 -1
  20. package/dist/m/c-3LDGIBMN.js +1 -0
  21. package/dist/m/c-3O7OBDCM.js +1 -0
  22. package/dist/m/c-4ASQPRQL.js +1 -0
  23. package/dist/m/c-4TXNLX4K.js +6 -0
  24. package/dist/m/c-4YU3BR4D.js +6 -0
  25. package/dist/m/c-5734MF2P.js +1 -0
  26. package/dist/m/c-57XDY6HC.js +1 -0
  27. package/dist/m/{c-VFX45IZQ.js → c-5B4YBZXC.js} +1 -1
  28. package/dist/m/c-5ONTYIUI.js +1 -0
  29. package/dist/m/c-5OOVFCJM.js +1 -0
  30. package/dist/m/c-5T6NZHNM.js +1 -0
  31. package/dist/m/{c-YDH7Q3NY.js → c-5ZQV7KC4.js} +1 -1
  32. package/dist/m/{c-Z36J63PP.js → c-6DB2OLRJ.js} +1 -1
  33. package/dist/m/c-6DNRCPNM.js +1 -0
  34. package/dist/m/c-6UGWFMQC.js +2 -0
  35. package/dist/m/c-7K4SCQB7.js +1 -0
  36. package/dist/m/c-7MG5RU63.js +1 -0
  37. package/dist/m/c-7PRJCA3E.js +1 -0
  38. package/dist/m/c-A6L3FMUS.js +1 -0
  39. package/dist/m/c-AMU3BPPR.js +4 -0
  40. package/dist/m/c-AMYEFA2E.js +1 -0
  41. package/dist/m/c-AQYCG7QW.js +1 -0
  42. package/dist/m/c-ATKAOH23.js +1 -0
  43. package/dist/m/c-B3JM5ZXC.js +1 -0
  44. package/dist/m/c-B5CS55WR.js +1 -0
  45. package/dist/m/c-B5UJQT7W.js +1 -0
  46. package/dist/m/c-B7J4K2AE.js +3 -0
  47. package/dist/m/c-BHZYSHW4.js +1 -0
  48. package/dist/m/c-BIJALSRD.js +1 -0
  49. package/dist/m/c-BJ7YQ5QZ.js +1 -0
  50. package/dist/m/c-BPF2NSPV.js +1 -0
  51. package/dist/m/{c-KIPQJX4B.js → c-BRLCTNMC.js} +1 -1
  52. package/dist/m/c-BUAYFEV5.js +1 -0
  53. package/dist/m/c-C6IPRG34.js +1 -0
  54. package/dist/m/{c-2JL6E75N.js → c-CAS3NND4.js} +1 -1
  55. package/dist/m/{c-4DRMS4QG.js → c-CCQ25GFY.js} +1 -1
  56. package/dist/m/c-CJFDLD43.js +1 -0
  57. package/dist/m/c-COPTL5WB.js +1 -0
  58. package/dist/m/c-D3E4WJ4M.js +166 -0
  59. package/dist/m/c-D5IKEKXW.js +7 -0
  60. package/dist/m/c-DHBRA6DL.js +1 -0
  61. package/dist/m/c-DKLS74XB.js +72 -0
  62. package/dist/m/c-DVYGFTSK.js +3 -0
  63. package/dist/m/c-E3ZXARWA.js +1 -0
  64. package/dist/m/c-EK63G3CG.js +1 -0
  65. package/dist/m/c-ERQSNR6K.js +13 -0
  66. package/dist/m/c-EVYAISP3.js +1 -0
  67. package/dist/m/c-EXKHPOVC.js +3 -0
  68. package/dist/m/{c-7VGZ7RU5.js → c-FWKHM4E7.js} +1 -1
  69. package/dist/m/{c-4Q2XTQ2N.js → c-GBKB5WDL.js} +1 -1
  70. package/dist/m/c-GNDL3TKB.js +1 -0
  71. package/dist/m/c-GRWMD6O5.js +1 -0
  72. package/dist/m/c-GRXHHFPO.js +1 -0
  73. package/dist/m/{c-OYTFP5QN.js → c-GY422N3Q.js} +1 -1
  74. package/dist/m/c-HAWFNBYG.js +1 -0
  75. package/dist/m/c-HG2C77BM.js +4 -0
  76. package/dist/m/c-HHGJBU4D.js +1 -0
  77. package/dist/m/c-HMV6P4RX.js +1 -0
  78. package/dist/m/c-HMYWIHFG.js +1 -0
  79. package/dist/m/c-HT2DKBV2.js +1 -0
  80. package/dist/m/c-I2SCCUEW.js +1 -0
  81. package/dist/m/{c-HRDCD3WN.js → c-ICJYHABF.js} +2 -2
  82. package/dist/m/c-IMZCWYHR.js +7 -0
  83. package/dist/m/c-IVMD3FEM.js +1 -0
  84. package/dist/m/c-IVTRVENZ.js +1 -0
  85. package/dist/m/c-IW6GGOU2.js +1 -0
  86. package/dist/m/c-JKZJIUIP.js +1 -0
  87. package/dist/m/{c-NZMNXVF6.js → c-JNLX3RJB.js} +1 -1
  88. package/dist/m/c-JRKY44DK.js +1 -0
  89. package/dist/m/c-K3ADYNLU.js +1 -0
  90. package/dist/m/c-KBS3UV6B.js +1 -0
  91. package/dist/m/c-KGHVFRR3.js +1 -0
  92. package/dist/m/c-KJJPV77R.js +1 -0
  93. package/dist/m/{c-CZUSOB7V.js → c-KNPDOMDY.js} +1 -1
  94. package/dist/m/{c-5Y6TNX5W.js → c-KP64LT2A.js} +2 -2
  95. package/dist/m/c-KQ7E3PYY.js +1 -0
  96. package/dist/m/c-L3F5ZLIV.js +1 -0
  97. package/dist/m/{c-LR4CGEPT.js → c-L42OLXWM.js} +3 -2
  98. package/dist/m/c-L5VFATT6.js +1 -0
  99. package/dist/m/c-L7JL5TL3.js +3 -0
  100. package/dist/m/c-LKSL4AUJ.js +1 -0
  101. package/dist/m/c-M6FNQCTQ.js +1 -0
  102. package/dist/m/c-MCOOHCSG.js +1 -0
  103. package/dist/m/c-MHI3GYKF.js +1 -0
  104. package/dist/m/c-MWXFLW4J.js +1 -0
  105. package/dist/m/c-NEL7HQW3.js +1 -0
  106. package/dist/m/c-NQJRVJ56.js +1 -0
  107. package/dist/m/c-NWX3MFT4.js +1 -0
  108. package/dist/m/{c-HPURYVZS.js → c-OJYM642Q.js} +1 -1
  109. package/dist/m/c-OKXI52N7.js +1 -0
  110. package/dist/m/{c-MMUIUUZG.js → c-OPLUZR3A.js} +1 -1
  111. package/dist/m/{c-J7CA54IP.js → c-OTMKN2OO.js} +1 -1
  112. package/dist/m/{c-LTGMXXKO.js → c-OYRZ7XG2.js} +1 -1
  113. package/dist/m/c-P3OFYUMA.js +1 -0
  114. package/dist/m/c-PLN76GF3.js +6 -0
  115. package/dist/m/c-PLP4JKFC.js +1 -0
  116. package/dist/m/c-Q26MME6N.js +1 -0
  117. package/dist/m/{c-S7H2DRCB.js → c-Q3XOWZEV.js} +1 -1
  118. package/dist/m/{c-SWRJFCNN.js → c-QIKT6SKM.js} +1 -1
  119. package/dist/m/c-QIXT3Q7C.js +28 -0
  120. package/dist/m/c-QO4HNGCQ.js +1 -0
  121. package/dist/m/c-R27DWQKX.js +1 -0
  122. package/dist/m/{c-HVYXIS72.js → c-R2XUODVY.js} +1 -1
  123. package/dist/m/{c-QNKREOL6.js → c-R7LBFMF5.js} +1 -1
  124. package/dist/m/c-RND3G2S2.js +1 -0
  125. package/dist/m/c-S2U6NJU4.js +1 -0
  126. package/dist/m/c-SPZPGD3R.js +1 -0
  127. package/dist/m/c-SW4YEG2D.js +8 -0
  128. package/dist/m/c-SZGYW5HT.js +1 -0
  129. package/dist/m/c-T637T7SN.js +1 -0
  130. package/dist/m/c-TJAXGIRV.js +1 -0
  131. package/dist/m/{c-KKWLDOPM.js → c-TNEM3RNM.js} +1 -1
  132. package/dist/m/c-TTB5EK4S.js +32 -0
  133. package/dist/m/c-U7SHNWDH.js +1 -0
  134. package/dist/m/c-UDHIVLYH.js +20 -0
  135. package/dist/m/{c-BBVGTQG7.js → c-UGNV5MFB.js} +1 -1
  136. package/dist/m/{c-TQZ2JYHD.js → c-UORXLSD3.js} +1 -1
  137. package/dist/m/c-UPD33ZPE.js +1 -0
  138. package/dist/m/c-URSMSFCB.js +1 -0
  139. package/dist/m/c-UY4QX42B.js +1 -0
  140. package/dist/m/c-V44KWI2L.js +4 -0
  141. package/dist/m/c-VG5XIN4T.js +1 -0
  142. package/dist/m/c-VILENZTD.js +1 -0
  143. package/dist/m/{c-33HUYEDI.js → c-VJYEVRYK.js} +1 -1
  144. package/dist/m/c-VR2BJ4AN.js +1 -0
  145. package/dist/m/c-W4JCVLAB.js +1 -0
  146. package/dist/m/c-W6DQSHXI.js +135 -0
  147. package/dist/m/c-WBGWGOM7.js +1 -0
  148. package/dist/m/{c-4L3BTFRK.js → c-WCXLG3MV.js} +1 -1
  149. package/dist/m/c-WGW764WX.js +1 -0
  150. package/dist/m/c-WMRJKQ2V.js +5 -0
  151. package/dist/m/c-WNTYKCDG.js +1 -0
  152. package/dist/m/c-WQWIRWO3.js +72 -0
  153. package/dist/m/c-X5LNHET5.js +1 -0
  154. package/dist/m/c-X5TSXZYJ.js +2 -0
  155. package/dist/m/c-XGH4GS2T.js +1 -0
  156. package/dist/m/c-Y6F2FORL.js +1 -0
  157. package/dist/m/c-YBKHUAK7.js +10 -0
  158. package/dist/m/c-YBSS55KU.js +20 -0
  159. package/dist/m/c-YCLU4UNT.js +2 -0
  160. package/dist/m/c-YVZ2L7CE.js +1 -0
  161. package/dist/m/c-ZK4GIZH2.js +1 -0
  162. package/dist/m/c-ZRXJD4G6.js +1 -0
  163. package/dist/m/c-ZWBI4HYK.js +1 -0
  164. package/dist/m/{c-HT33EQRN.js → c-ZWIOJGMT.js} +1 -1
  165. package/dist/m/core/admin-attrs-YY7T5FGU.js +1 -0
  166. package/dist/m/core/autosave-S6OMNDCK.js +1 -0
  167. package/dist/m/core/conflict-notice-IWHMHH43.js +1 -0
  168. package/dist/m/core/host-permission-6EVJGNPL.js +1 -0
  169. package/dist/m/core/is-edit-mode-GCX6767E.js +1 -0
  170. package/dist/m/core/{persist-HKHA66IY.js → persist-UKXV5KLA.js} +1 -1
  171. package/dist/m/core/recovery-DRFZRJED.js +1 -0
  172. package/dist/m/core/save-LYY7K6U7.js +1 -0
  173. package/dist/m/core/save-core-MKRPSEEO.js +1 -0
  174. package/dist/m/core/snapshot-NU3YM6GR.js +1 -0
  175. package/dist/m/core/unsaved-warning-7QTKEN7Z.js +1 -0
  176. package/dist/m/events/index-RN2JNGBV.js +1 -0
  177. package/dist/m/internals/index-TGLQINN3.js +1 -0
  178. package/dist/m/lib/cache-bust-MUMFXZK6.js +1 -0
  179. package/dist/m/loader-3BBNZZGM.js +1 -0
  180. package/dist/m/manifest-F449FF98.js +1 -0
  181. package/dist/m/manifest-edit-4396A009.js +1 -0
  182. package/dist/m/manifest.json +2509 -1474
  183. package/dist/m/options/options-EJMS3K24.js +1 -0
  184. package/dist/m/page/editor-6LRB3GE4.js +304 -0
  185. package/dist/m/plugins/ai-edit-UTV7YO2I.js +6 -0
  186. package/dist/m/plugins/{cms-HP3LSTPN.js → cms-LRAOZHT7.js} +9 -9
  187. package/dist/m/plugins/demo-OYO5GCAO.js +1 -0
  188. package/dist/m/plugins/{derive-UAAA4V4S.js → derive-FRE5JJQE.js} +1 -1
  189. package/dist/m/plugins/indicator-4VDXWYTD.js +1 -0
  190. package/dist/m/plugins/live-AD4H6XSL.js +1 -0
  191. package/dist/m/plugins/menu-M5WW7DBF.js +1 -0
  192. package/dist/m/plugins/page-MD3T2ZX3.js +2 -0
  193. package/dist/m/plugins/page-view-PAWVZNFY.js +1 -0
  194. package/dist/m/plugins/people-JCHVPF7P.js +1 -0
  195. package/dist/m/plugins/quickcrop-BQ5YYFCH.js +26 -0
  196. package/dist/m/plugins/{richclay-RC3L2F6X.js → richclay-KLGETK77.js} +2 -2
  197. package/dist/m/plugins/sortable-4S6SQC3D.js +1 -0
  198. package/dist/m/plugins/source-TJXOIOYY.js +1 -0
  199. package/dist/m/plugins/undo-NLPGCJQY.js +1 -0
  200. package/dist/m/plugins/{unsent-HJFLQJ2O.js → unsent-OA4RGBUT.js} +1 -1
  201. package/dist/m/plugins/upgrade-HSUNDNJD.js +1 -0
  202. package/dist/m/plugins/upload-NHGJXZK2.js +1 -0
  203. package/dist/m/plugins/visitor-drafts-BW43DGY3.js +20 -0
  204. package/dist/m/plugins/visitor-drafts-owner-7ODQG7JX.js +1 -0
  205. package/dist/m/plugins/wire-VBWXEXU2.js +1 -0
  206. package/dist/m/reader-core-4W2KYEWQ.js +77 -0
  207. package/dist/m/route/route-62CHXL5B.js +1 -0
  208. package/dist/m/sync/live-sync-MO5DH33W.js +1 -0
  209. package/dist/m/ui/index-IVWN2QC4.js +1 -0
  210. package/dist/m/vendor/sap-core.vendor-RN4ZVY4X.js +6 -0
  211. package/dist/offline-manifest.json +1560 -889
  212. package/dist/page/themes/light-1.css +33 -8
  213. package/dist/server/core.cjs +1554 -311
  214. package/dist/server/offline-runtime.cjs +63 -63
  215. package/dist/server/offline-runtime.mjs +63 -63
  216. package/dist/server/page-compaction-worker.cjs +3710 -0
  217. package/dist/server/rooms.mjs +5 -0
  218. package/docs/guide.md +653 -101
  219. package/entries/sap.js +5 -5
  220. package/package.json +1 -1
  221. package/src/core/admin-contenteditable.js +5 -2
  222. package/src/core/admin-inputs.js +1 -0
  223. package/src/core/admin-onclick.js +2 -1
  224. package/src/core/boot-phase.js +2 -1
  225. package/src/core/conflict-download.js +3 -29
  226. package/src/core/conflict-notice-ui.js +4 -7
  227. package/src/core/download.js +32 -0
  228. package/src/core/host-meta.js +56 -0
  229. package/src/core/is-edit-mode.js +17 -1
  230. package/src/core/mode-key.js +125 -19
  231. package/src/core/mode-support.js +5 -0
  232. package/src/core/mode-transition.js +20 -6
  233. package/src/core/preserve-authored.js +4 -4
  234. package/src/core/recovery.js +121 -33
  235. package/src/core/save-accepted.js +33 -0
  236. package/src/core/save-core.js +111 -32
  237. package/src/core/save-job.js +108 -0
  238. package/src/core/save-prepare.js +53 -0
  239. package/src/core/save-size-notice.js +3 -1
  240. package/src/core/save-slices.js +15 -0
  241. package/src/core/save.js +557 -127
  242. package/src/core/serialize-steps.js +109 -0
  243. package/src/core/snapshot.js +209 -40
  244. package/src/core/source-map.js +83 -38
  245. package/src/core/stale-host-notice.js +1 -0
  246. package/src/core/upgrade-run.js +59 -8
  247. package/src/dom/active-element.js +5 -0
  248. package/src/lib/assets.js +1 -0
  249. package/src/lib/autosave-scheduler.js +3 -4
  250. package/src/lib/slice.js +65 -0
  251. package/src/lib/uimotion.js +774 -0
  252. package/src/lib/unsaved-state.js +2 -2
  253. package/src/live/fast-lane.js +10 -3
  254. package/src/live/local-lane.js +202 -11
  255. package/src/live/ops.js +16 -0
  256. package/src/live/page-compaction.js +162 -0
  257. package/src/live/server-lane.js +1 -0
  258. package/src/live/store.js +11 -3
  259. package/src/loader-logic.js +3 -1
  260. package/src/loader.js +14 -4
  261. package/src/page/adopt-boot.js +2 -1
  262. package/src/page/awareness.js +33 -2
  263. package/src/page/blocks.js +122 -27
  264. package/src/page/board-views.js +2 -16
  265. package/src/page/boot-pack.js +1 -1
  266. package/src/page/chart-tables.js +29 -0
  267. package/src/page/chart.js +411 -72
  268. package/src/page/checklist.js +10 -135
  269. package/src/page/checkpoint-proof.js +295 -0
  270. package/src/page/chrome.js +257 -40
  271. package/src/page/clipboard-shape.js +126 -0
  272. package/src/page/document-title-dom.js +12 -0
  273. package/src/page/document-title-runtime.js +15 -1
  274. package/src/page/document-title.js +4 -1
  275. package/src/page/drag.js +33 -3
  276. package/src/page/editor.js +207 -31
  277. package/src/page/emoji-data.js +162 -0
  278. package/src/page/export-assets.js +357 -0
  279. package/src/page/export-html.js +209 -0
  280. package/src/page/export-markdown.js +361 -0
  281. package/src/page/features/board.js +12 -3
  282. package/src/page/features/chart.js +11 -0
  283. package/src/page/features/checklist.js +428 -0
  284. package/src/page/features/dates.js +180 -0
  285. package/src/page/features/emoji.js +187 -0
  286. package/src/page/features/export-html.js +189 -0
  287. package/src/page/features/export-markdown.js +169 -0
  288. package/src/page/features/import-markdown.js +349 -0
  289. package/src/page/features/media.js +61 -5
  290. package/src/page/features/mentions.js +188 -0
  291. package/src/page/features/registry.js +24 -1
  292. package/src/page/features/table.js +375 -85
  293. package/src/page/features/title-cover.js +331 -0
  294. package/src/page/features/title-icon.js +213 -0
  295. package/src/page/features/toc.js +87 -0
  296. package/src/page/format-command.js +33 -0
  297. package/src/page/format-gate.js +68 -18
  298. package/src/page/format-host.js +71 -0
  299. package/src/page/format-native-commands.js +158 -0
  300. package/src/page/format-native.js +42 -0
  301. package/src/page/image-actions.js +64 -0
  302. package/src/page/import-markdown.js +262 -0
  303. package/src/page/inline.js +32 -8
  304. package/src/page/items.js +141 -11
  305. package/src/page/markdown.js +30 -2
  306. package/src/page/media.js +35 -119
  307. package/src/page/mention-picker.js +99 -0
  308. package/src/page/merge.js +1 -1
  309. package/src/page/placeholder.js +14 -1
  310. package/src/page/projection.js +156 -25
  311. package/src/page/recover.js +10 -12
  312. package/src/page/recovery-ui.js +464 -0
  313. package/src/page/rich/chart.js +63 -7
  314. package/src/page/save-projection.js +67 -0
  315. package/src/page/save-states.js +14 -4
  316. package/src/page/schema.js +52 -3
  317. package/src/page/table-paste.js +3 -1
  318. package/src/page/table-style.js +4 -4
  319. package/src/page/table.js +44 -2
  320. package/src/page/themes/content.css +25 -1
  321. package/src/page/themes/light-1.css +33 -8
  322. package/src/page/themes/light-1.source.css +8 -7
  323. package/src/page/toc-link.js +31 -0
  324. package/src/page/toc.js +5 -0
  325. package/src/page/view-hooks.js +58 -0
  326. package/src/page/view.js +13 -0
  327. package/src/page/ybind/binding.js +116 -6
  328. package/src/page/ybind/bridge.js +187 -20
  329. package/src/page/ybind/containment.js +162 -0
  330. package/src/page/ybind/doc.js +17 -9
  331. package/src/page/ybind/file-debt.js +63 -0
  332. package/src/page/ybind/layout.js +7 -2
  333. package/src/page/ybind/marks.js +2 -1
  334. package/src/page/ybind/moves.js +5 -4
  335. package/src/page/ybind/origins.js +106 -4
  336. package/src/page/ybind/parts.js +8 -1
  337. package/src/page/ybind/provider.js +125 -18
  338. package/src/page/ybind/recovery-proof.js +32 -9
  339. package/src/page/ybind/recovery-replay.js +905 -4
  340. package/src/page/ybind/recovery.js +174 -45
  341. package/src/page/ybind/table.js +67 -11
  342. package/src/page/ybind/walk-delta.js +258 -0
  343. package/src/page/ybind/walk.js +54 -29
  344. package/src/page/ybind/writer.js +1 -1
  345. package/src/plugins/ai-edit.js +13 -9
  346. package/src/plugins/indicator-chip.js +91 -0
  347. package/src/plugins/indicator.js +13 -80
  348. package/src/plugins/live.js +126 -15
  349. package/src/plugins/menu/actions.js +196 -0
  350. package/src/plugins/menu/people.js +279 -0
  351. package/src/plugins/menu/placement.js +121 -0
  352. package/src/plugins/menu/preferences.js +9 -0
  353. package/src/plugins/menu/seo.js +316 -397
  354. package/src/plugins/menu/style.js +171 -0
  355. package/src/plugins/menu/variants.js +296 -0
  356. package/src/plugins/menu.js +186 -183
  357. package/src/plugins/page-view.js +3 -2
  358. package/src/plugins/page.js +362 -43
  359. package/src/plugins/sortable.js +8 -1
  360. package/src/plugins/source.js +6 -0
  361. package/src/plugins/upgrade.js +51 -17
  362. package/src/plugins/upload-ui.js +12 -17
  363. package/src/plugins/visitor-drafts/bottom-ui.js +12 -4
  364. package/src/plugins/visitor-drafts/intro-style.js +7 -2
  365. package/src/plugins/visitor-drafts/intro.js +7 -4
  366. package/src/plugins/visitor-drafts/owner-chip.js +8 -12
  367. package/src/plugins/visitor-drafts/prompt.js +11 -9
  368. package/src/plugins/visitor-drafts/source.js +4 -3
  369. package/src/plugins/visitor-drafts/store.js +138 -9
  370. package/src/plugins/visitor-drafts/ui-memory.js +2 -2
  371. package/src/plugins/visitor-drafts-owner.js +4 -6
  372. package/src/plugins/visitor-drafts.js +5 -3
  373. package/src/recovery/store.js +1 -1
  374. package/src/route/route.js +4 -0
  375. package/src/server/checkpoint/index.js +2 -2
  376. package/src/server/rooms/index.js +5 -1
  377. package/src/server/rooms/live-data-rooms.js +302 -50
  378. package/src/server/rooms/page-compaction-worker.js +12 -0
  379. package/src/server/rooms/page-compactor.js +92 -0
  380. package/src/server/rooms/page-room-conformance.js +461 -0
  381. package/src/source/parse-steps.js +94 -0
  382. package/src/source/session.js +233 -57
  383. package/src/sync/editing-sender.js +12 -0
  384. package/src/sync/live-sync-edit.js +22 -2
  385. package/src/sync/live-sync.js +150 -23
  386. package/src/sync/page-relay.js +52 -0
  387. package/src/sync/presence-store.js +44 -4
  388. package/src/sync/presence.js +6 -3
  389. package/src/sync/saved-stream.js +28 -14
  390. package/src/ui/bevel-controls.js +1 -0
  391. package/src/ui/bevel-dialog.js +5 -2
  392. package/src/ui/editor-ui.js +77 -0
  393. package/src/ui/page-colour.js +281 -0
  394. package/src/ui/toast.js +16 -7
  395. package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
  396. package/src/vendor/hyper-undo.vendor.js +1 -1
  397. package/src/vendor/hypercms.vendor.js +9 -9
  398. package/src/vendor/parse5.vendor.js +2 -2
  399. package/src/vendor/sap-core.vendor.js +5 -5
  400. package/dist/m/attrs/refetch-on-save-NWPPXOCZ.js +0 -1
  401. package/dist/m/attrs/save-freeze-FUP4Q4X3.js +0 -1
  402. package/dist/m/c-2M73252O.js +0 -1
  403. package/dist/m/c-2SPVQSHC.js +0 -1
  404. package/dist/m/c-35NBGMZB.js +0 -1
  405. package/dist/m/c-3IQRECYS.js +0 -1
  406. package/dist/m/c-4B6H4G5V.js +0 -1
  407. package/dist/m/c-4FFHZM32.js +0 -1
  408. package/dist/m/c-4YSCRICO.js +0 -1
  409. package/dist/m/c-54RCDCBU.js +0 -1
  410. package/dist/m/c-5M4YEKCX.js +0 -4
  411. package/dist/m/c-5V3MOVJT.js +0 -1
  412. package/dist/m/c-66O32MV3.js +0 -28
  413. package/dist/m/c-6HMB24EV.js +0 -1
  414. package/dist/m/c-7O6AFR65.js +0 -1
  415. package/dist/m/c-ANQTJ3B5.js +0 -2
  416. package/dist/m/c-AYVOREBE.js +0 -1
  417. package/dist/m/c-B2ZXPOS3.js +0 -3
  418. package/dist/m/c-BMIZKMPV.js +0 -1
  419. package/dist/m/c-BTDI4Y23.js +0 -1
  420. package/dist/m/c-CJZSLMVQ.js +0 -1
  421. package/dist/m/c-DBE6ORSI.js +0 -1
  422. package/dist/m/c-EDHUR4MX.js +0 -1
  423. package/dist/m/c-EY6UOM54.js +0 -1
  424. package/dist/m/c-F3CKJTJS.js +0 -1
  425. package/dist/m/c-F7Y6FLPY.js +0 -1
  426. package/dist/m/c-FA4DZVTC.js +0 -1
  427. package/dist/m/c-G2BUZITR.js +0 -1
  428. package/dist/m/c-GB3JTV6E.js +0 -1
  429. package/dist/m/c-GBGWXTX4.js +0 -1
  430. package/dist/m/c-GHBCCVG4.js +0 -1
  431. package/dist/m/c-GJAEGGXY.js +0 -1
  432. package/dist/m/c-GOWBDM6J.js +0 -1
  433. package/dist/m/c-IB52R237.js +0 -1
  434. package/dist/m/c-IKWNE4R4.js +0 -1
  435. package/dist/m/c-IU3IYEU6.js +0 -1
  436. package/dist/m/c-IZ2EBRAJ.js +0 -1
  437. package/dist/m/c-KR4UW4KW.js +0 -1
  438. package/dist/m/c-KY3VJGUA.js +0 -8
  439. package/dist/m/c-LFPHCXY3.js +0 -1
  440. package/dist/m/c-LRPUO2MX.js +0 -1
  441. package/dist/m/c-LXENEBV7.js +0 -1
  442. package/dist/m/c-NMJRXKPC.js +0 -8
  443. package/dist/m/c-OIBUTDXI.js +0 -1
  444. package/dist/m/c-PPOSCAQD.js +0 -1
  445. package/dist/m/c-QIX5BJYN.js +0 -1
  446. package/dist/m/c-QQHEX6HA.js +0 -1
  447. package/dist/m/c-R7RMANJI.js +0 -9
  448. package/dist/m/c-RI4NT75Y.js +0 -1
  449. package/dist/m/c-RM7J7BV2.js +0 -1
  450. package/dist/m/c-RUJKSUQW.js +0 -1
  451. package/dist/m/c-SGCCC4FW.js +0 -25
  452. package/dist/m/c-T4VO4OCB.js +0 -1
  453. package/dist/m/c-TQEMVJCS.js +0 -1
  454. package/dist/m/c-TR6RMDQ7.js +0 -3
  455. package/dist/m/c-UKHTLWUW.js +0 -1
  456. package/dist/m/c-UNN7LWCT.js +0 -1
  457. package/dist/m/c-UXBMRDZB.js +0 -235
  458. package/dist/m/c-V7PZZRG7.js +0 -1
  459. package/dist/m/c-VL52ADDR.js +0 -1
  460. package/dist/m/c-WNYBLIOZ.js +0 -1
  461. package/dist/m/c-WWDBYXLK.js +0 -1
  462. package/dist/m/c-XNNW2CWK.js +0 -1
  463. package/dist/m/c-Y6USGTS5.js +0 -5
  464. package/dist/m/c-YG2NJYS6.js +0 -135
  465. package/dist/m/c-Z4VRC7GU.js +0 -7
  466. package/dist/m/c-Z6K52OLP.js +0 -19
  467. package/dist/m/c-ZDY2MDAA.js +0 -21
  468. package/dist/m/c-ZUCOKOHT.js +0 -1
  469. package/dist/m/core/admin-attrs-VGNLAUDK.js +0 -1
  470. package/dist/m/core/autosave-E4PEFPZ6.js +0 -1
  471. package/dist/m/core/conflict-notice-VQ6Y64PH.js +0 -1
  472. package/dist/m/core/host-permission-XN3K2IW3.js +0 -1
  473. package/dist/m/core/is-edit-mode-JXHDVGUL.js +0 -1
  474. package/dist/m/core/recovery-TBBSICE2.js +0 -1
  475. package/dist/m/core/save-WUCHTQBE.js +0 -1
  476. package/dist/m/core/save-core-FJVHT5M3.js +0 -1
  477. package/dist/m/core/snapshot-F3SWDZMM.js +0 -1
  478. package/dist/m/core/unsaved-warning-STKBHE6G.js +0 -1
  479. package/dist/m/events/index-23DPTUT4.js +0 -1
  480. package/dist/m/internals/index-WOVAP3RU.js +0 -1
  481. package/dist/m/lib/cache-bust-CGWT6ZJI.js +0 -1
  482. package/dist/m/loader-HXX6YNH5.js +0 -1
  483. package/dist/m/manifest-F22DEDAC.js +0 -1
  484. package/dist/m/manifest-edit-C3C7376B.js +0 -1
  485. package/dist/m/options/options-2LH76JQ3.js +0 -1
  486. package/dist/m/page/editor-XUTB2HB2.js +0 -189
  487. package/dist/m/plugins/ai-edit-ZQ4CGWIP.js +0 -6
  488. package/dist/m/plugins/demo-ZIBFAA3R.js +0 -1
  489. package/dist/m/plugins/indicator-PV4YW2ID.js +0 -1
  490. package/dist/m/plugins/live-NUTTXSBS.js +0 -1
  491. package/dist/m/plugins/menu-HCKO3DSP.js +0 -138
  492. package/dist/m/plugins/page-KSUH7G6J.js +0 -2
  493. package/dist/m/plugins/page-view-W73OW7WI.js +0 -1
  494. package/dist/m/plugins/people-AJJ32YCG.js +0 -1
  495. package/dist/m/plugins/quickcrop-QNY3PKLD.js +0 -26
  496. package/dist/m/plugins/sortable-YRMQX3ZU.js +0 -1
  497. package/dist/m/plugins/source-KHK5UUSK.js +0 -1
  498. package/dist/m/plugins/undo-OF2L3CXU.js +0 -1
  499. package/dist/m/plugins/upgrade-ZNYODP5Y.js +0 -1
  500. package/dist/m/plugins/upload-XSGNILUY.js +0 -1
  501. package/dist/m/plugins/visitor-drafts-XK5GW55Q.js +0 -21
  502. package/dist/m/plugins/visitor-drafts-owner-KSSH75EV.js +0 -1
  503. package/dist/m/plugins/wire-ZWVWKF76.js +0 -1
  504. package/dist/m/reader-core-ILWLXVMP.js +0 -68
  505. package/dist/m/route/route-KOCZSEGN.js +0 -1
  506. package/dist/m/sync/live-sync-4AUVXVJU.js +0 -1
  507. package/dist/m/ui/index-EVHKMKBL.js +0 -1
  508. package/dist/m/vendor/sap-core.vendor-A7BMUYZT.js +0 -6
  509. /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
  510. /package/dist/m/plugins/{quickcrop-QNY3PKLD.js.LEGAL.txt → quickcrop-BQ5YYFCH.js.LEGAL.txt} +0 -0
  511. /package/dist/m/plugins/{richclay-RC3L2F6X.js.LEGAL.txt → richclay-KLGETK77.js.LEGAL.txt} +0 -0
@@ -0,0 +1 @@
1
+ import{b as l}from"../c-JAX2667S.js";import{f as i}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import{h as c}from"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var r="clay:demo:"+(document.documentElement.getAttribute("demo-key")||window.location.pathname),y=800,h=[c,"[data-richclay-toolbar]","[data-richclay-menu]","[data-richclay-dialog]","[data-richclay-live]","[data-richclay-float]","#squire-selection-start","#squire-selection-end",".squire-image-resize-container"].join(","),a=!1,d=null;document.addEventListener("clay:snapshot-ready",e=>{d=e.detail.documentElement.querySelector("body")?.outerHTML||null});function p(e){return typeof e=="string"?e:""}var f=window.fetch.bind(window);function g(e){let t=typeof e=="string"?e:e&&e.url||"";try{let o=new URL(t,window.location.href).pathname;return o==="/_/save"||o.startsWith("/_/save/")}catch{return!1}}window.fetch=(e,t={})=>(t.method||e&&e.method||"GET").toUpperCase()!=="POST"||!g(e)?f(e,t):new Promise(n=>{setTimeout(()=>{if(a){a=!1,n(new Response(JSON.stringify({msg:"Server not responding",msgType:"error"}),{status:503,headers:{"Content-Type":"application/json"}}));return}let m=d||p(t.body),s=new DOMParser().parseFromString(m,"text/html");s.querySelectorAll(h).forEach(u=>u.remove());try{localStorage.setItem(r,s.body.outerHTML)}catch{n(new Response(JSON.stringify({msg:"Couldn't save in this browser (storage is full or blocked)",msgType:"error"}),{status:507,headers:{"Content-Type":"application/json"}}));return}n(new Response(JSON.stringify({msg:"Saved in your browser",msgType:"success"}),{status:200,headers:{"Content-Type":"application/json"}}))},y)});async function w(){let e=localStorage.getItem(r);if(!e)return;let t=new DOMParser().parseFromString(e,"text/html");if(!i)for(let o of t.querySelectorAll(":is([editable], [clay-editable])[contenteditable]"))o.removeAttribute("contenteditable");await l(document.body,t.body,{morphStyle:"outerHTML",ignoreActiveValue:!0,scripts:{handle:!0,matchMode:"smart"}})}var v=w(),E={key:r,failNext(){a=!0},reset(){localStorage.removeItem(r),window.location.reload()}};export{E as demo,v as ready};
@@ -1 +1 @@
1
- import"../c-VHNSBD2M.js";function n(){let o=window.Sap;return!!(o&&!o.core||window.clay?.loaded?.sap)}var a=n()?null:import("../vendor/sap-core.vendor-A7BMUYZT.js").then(()=>{});export{a as ready};
1
+ import"../c-VHNSBD2M.js";function n(){let o=window.Sap;return!!(o&&!o.core||window.clay?.loaded?.sap)}var a=n()?null:import("../vendor/sap-core.vendor-RN4ZVY4X.js").then(()=>{});export{a as ready};
@@ -0,0 +1 @@
1
+ import{a as i}from"../c-2AZDZWCK.js";import{a as o}from"../c-VKEDWYDF.js";import{k as n}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var u=["saving","saved","error","offline","retrying","blocked"],s=null,c=()=>s??=import("../c-5734MF2P.js"),a=e=>{c().then(t=>{r&&t.show(e)},()=>{})},r=null;function d(){if(i.chip=!0,r)return;r=new AbortController;let{signal:e}=r;for(let t of["beforeinput","keydown","pointerdown"])document.addEventListener(t,c,{signal:e,once:!0,capture:!0});for(let t of u)document.addEventListener("clay:save-"+t,()=>a(t),{signal:e});document.addEventListener("clay:page-save-state",t=>a(t.detail?.state),{signal:e})}function l(){r?.abort(),r=null,s?.then(e=>e.remove(),()=>{})}function p(){n()&&d()}function h(){return{id:"clay:indicator",order:700,prepare(e={}){return{enable(){e.initial!==!0&&d()},quiesce(){},resume(){},dispose(){l()}}}}}o(p);export{h as indicatorParticipant,h as modeParticipant};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w}from"../c-4YU3BR4D.js";import"../c-JKZJIUIP.js";import"../c-TCCA5BZN.js";import"../c-3LDGIBMN.js";import"../c-57XDY6HC.js";import"../c-LZJPNR2W.js";import"../c-T637T7SN.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-FWKHM4E7.js";import"../c-X5LNHET5.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-ZWIOJGMT.js";import"../c-B7J4K2AE.js";import"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import"../c-NQJRVJ56.js";import"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-7MG5RU63.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{a as HOLD_MS,t as checkpointWithin,o as closeStore,k as confirmSaved,w as default,b as drainLiveWriter,q as fastLane,r as lanePending,h as live,f as liveTags,c as liveWriterParticipant,s as localLane,c as modeParticipant,p as openStores,d as pageLaneReady,e as pageWriterReady,m as receiveFrame,j as registerPageCheckpoints,v as requestCheckpoint,u as requestExitCheckpoint,l as sendingCapture,g as serializeLines,i as stageStore,n as storeOf};
@@ -0,0 +1 @@
1
+ import{a as be,b as we}from"../c-D3E4WJ4M.js";import{a as K}from"../c-AQLFEATB.js";import{b as ye}from"../c-L7JL5TL3.js";import{b as he,c as ge}from"../c-RVMWGXEJ.js";import{d as me}from"../c-MHI3GYKF.js";import{a as pe,b as fe}from"../c-MCOOHCSG.js";import{a as de}from"../c-VKEDWYDF.js";import{b as te,c as ne,f as ie,g as ue}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var ve='<svg xmlns="http://www.w3.org/2000/svg" viewBox="-45.87 -57.96 100.26 60.98" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M44.35 -4.56Q40.03 -0.52 34.69 -0.39Q29.34 -0.25 24.81 -0.14Q20.27 -0.02 15.6 0Q10.93 0.02 6.41 0Q1.89 -0.02 -2.79 -0.02Q-7.48 -0.02 -12.11 -0.14Q-16.73 -0.25 -21.64 -0.27Q-26.55 -0.3 -31.72 -2.25Q-36.88 -4.2 -39.87 -9.12Q-42.87 -14.03 -42.8 -19.61Q-42.74 -25.18 -40.43 -29.94Q-38.12 -34.69 -34.82 -38.78Q-31.52 -42.87 -27.25 -45.6Q-22.98 -48.33 -18.35 -50.59Q-13.73 -52.85 -8.7 -53.88Q-3.68 -54.91 1.32 -54.93Q6.32 -54.96 11.44 -54.56Q16.55 -54.16 21.35 -52.2Q26.16 -50.24 30.69 -48.01Q35.22 -45.78 38.99 -42.18Q42.76 -38.59 45.67 -34.37Q48.59 -30.15 49.99 -24.87Q51.39 -19.59 50.04 -14.09Q48.68 -8.6 44.35 -4.56ZM0.66 -30.49C0.5 -28.73 -0.88 -27.42 -2.42 -27.57C-3.96 -27.71 -5.08 -29.25 -4.91 -31.01C-4.75 -32.77 -3.36 -34.08 -1.83 -33.94C-0.29 -33.79 0.83 -32.25 0.66 -30.49ZM13.61 -29.28C13.44 -27.52 12.06 -26.21 10.52 -26.35C8.98 -26.5 7.87 -28.04 8.03 -29.8C8.2 -31.56 9.58 -32.87 11.12 -32.73C12.66 -32.58 13.77 -31.04 13.61 -29.28ZM-1.23 -17.71Q-0.62 -17.35 -0.03 -17.08Q0.56 -16.81 1.15 -16.54Q1.73 -16.28 2.4 -16Q3.07 -15.72 3.87 -15.6Q4.66 -15.48 5.4 -15.55Q6.13 -15.62 6.77 -15.79Q7.41 -15.96 7.97 -16.23Q8.53 -16.5 9 -16.91Q9.46 -17.32 9.73 -17.9Q9.99 -18.47 10.08 -19.12Q10.17 -19.77 10.08 -20.42Q9.99 -21.06 9.45 -21.32Q8.91 -21.58 8.27 -21.38Q7.63 -21.17 6.99 -20.91Q6.36 -20.65 5.7 -20.61Q5.04 -20.56 4.33 -20.73Q3.62 -20.9 2.92 -21.14Q2.23 -21.39 1.54 -21.68Q0.85 -21.97 0.16 -22.27Q-0.52 -22.56 -1.22 -22.79Q-1.92 -23.03 -2.49 -22.61Q-3.05 -22.19 -3.23 -21.5Q-3.4 -20.81 -3.2 -20.09Q-3.01 -19.38 -3.02 -19.15Q-3.02 -18.93 -2.42 -18.5Q-1.83 -18.06 -1.23 -17.71Z"/></svg>';var Ee=new Set(["top-left","top-right","bottom-left","bottom-right"]),Ue=4,xe="menu-corner";function Be(e,n,c,y){return`${n<y/2?"top":"bottom"}-${e<c/2?"left":"right"}`}function Ie(e,n){let[c,y]=e.split("-");if(n==="ArrowUp")c="top";else if(n==="ArrowDown")c="bottom";else if(n==="ArrowLeft")y="left";else if(n==="ArrowRight")y="right";else return null;return`${c}-${y}`}function _e(e){let n=null;try{n=e?e.get(xe):null}catch{}return Ee.has(n)?n:"top-right"}function He(e){let n=document.createElement("div");n.className="clay-menu-spots",n.setAttribute("clay","editor-ui"),n.setAttribute("aria-hidden","true");for(let c of Ee){let y=document.createElement("span");y.className="clay-menu-spot",y.dataset.to=c,n.append(y)}return e.append(n),n}function ke({dock:e,container:n=document.body,grip:c,storage:y,onMove:C,onDragStart:R}){function i(r,{remember:d=!0}={}){if(e.dataset.corner=r,d)try{y&&y.set(xe,r)}catch{}C&&C(r)}i(_e(y),{remember:!1}),c.addEventListener("keydown",r=>{let d=Ie(e.dataset.corner,r.key);d&&(r.preventDefault(),d!==e.dataset.corner&&i(d))});let o=null;c.addEventListener("pointerdown",r=>{if(r.button!==0||r.isPrimary===!1)return;let d=e.getBoundingClientRect();if(o={id:r.pointerId,x:r.clientX,y:r.clientY,dx:r.clientX-d.left,dy:r.clientY-d.top,w:d.width,h:d.height,moving:!1,spots:null,near:null},c.setPointerCapture)try{c.setPointerCapture(r.pointerId)}catch{}}),c.addEventListener("pointermove",r=>{if(!o||r.pointerId!==o.id)return;if(!o.moving){if(Math.hypot(r.clientX-o.x,r.clientY-o.y)<Ue)return;o.moving=!0,e.setAttribute("data-dragging",""),o.spots=He(n),o.spots.style.setProperty("color-scheme",getComputedStyle(e).colorScheme),R&&R()}let d=r.clientX-o.dx,E=r.clientY-o.dy;Object.assign(e.style,{left:`${d}px`,top:`${E}px`,right:"auto",bottom:"auto"}),o.near=Be(d+o.w/2,E+o.h/2,window.innerWidth,window.innerHeight);for(let k of o.spots.children)k.toggleAttribute("data-near",k.dataset.to===o.near)});let h=r=>d=>{if(!o||d.pointerId!==o.id)return;let{moving:E,near:k,spots:s}=o;if(o=null,!!E){s.remove(),e.removeAttribute("data-dragging");for(let u of["left","top","right","bottom"])e.style.removeProperty(u);r&&k?i(k):i(e.dataset.corner,{remember:!1})}};return c.addEventListener("pointerup",h(!0)),c.addEventListener("pointercancel",h(!1)),c.addEventListener("lostpointercapture",h(!1)),{setCorner:i}}var Ae=()=>/mac|iphone|ipad|ipod/i.test(navigator.userAgentData&&navigator.userAgentData.platform||navigator.platform||navigator.userAgent||""),Ve=()=>/Win/.test(navigator.userAgentData&&navigator.userAgentData.platform||navigator.platform||navigator.userAgent||""),Ce=()=>Ae()?"Show in Finder":Ve()?"Show in Explorer":"Show in folder",F=(e,n)=>Ae()?e:n;var z="menu-resume",We=5e3,O=()=>window.clay||{},Se=()=>O().storage&&O().storage.session,oe=e=>{let n=O().editPlugins;return Array.isArray(n)&&n.includes(e)};function Le(e,n=We){return new Promise(c=>{let y=Date.now(),C=()=>{let R=e();R||Date.now()-y>=n?c(R||null):setTimeout(C,50)};C()})}function Qe({addItem:e,note:n,currentMode:c}){let y=new Map;async function C(s,u){if(c()==="edit")return u();let Q=Se();Q&&Q.set(z,s);let A;try{A=await O().setMode?.("edit")}catch(M){A={ok:!1,message:M&&M.message}}if(!(A&&A.ok!==!1&&A.reloading)){if(Q&&Q.remove(z),!A||A.ok===!1){let M=A?K(A):"Couldn't switch modes.";M&&n(M);return}return u()}}function R(s,u){return y.set(s,u),()=>C(s,u)}let i={canUndo:!1,canRedo:!1},o=!1;function h(){if(!oe("undo"))return;let s=c()==="edit"&&O().undo;!o&&s&&typeof s.canUndo=="boolean"&&(i={canUndo:s.canUndo,canRedo:!!s.canRedo}),e({id:"clay.undo",pair:[{id:"clay.undo.undo",label:"Undo",keys:F("\u2318Z","Ctrl+Z"),disabled:!(s&&i.canUndo),run:()=>O().undo?.undo()},{id:"clay.undo.redo",label:"Redo",keys:F("\u2318\u21E7Z","Ctrl+Shift+Z"),disabled:!(s&&i.canRedo),run:()=>O().undo?.redo()}]})}document.addEventListener("clay:undo-change",s=>{let u=s.detail||{};o=!0,i={canUndo:!!u.canUndo,canRedo:!!u.canRedo},h()}),document.addEventListener("clay:modechange",h),h(),oe("ai-edit")&&e({id:"clay.ai",label:"Ask AI\u2026",keys:F("\u2318J","Ctrl+J"),run:R("ai",async()=>{let s=await Le(()=>O().aiEdit);s&&await s.open(document.body)||n("Ask AI isn't available on this page right now.")})}),oe("cms")&&O().cms?.hasRules?.(document)&&e({id:"clay.cms",label:"Open the CMS (Edit content)",run:R("cms",async()=>{let s=await Le(()=>O().cms),u=null;try{u=s?await s.open():{ok:!1}}catch{u={ok:!1}}u&&u.ok===!1&&n("Couldn't open the CMS. Try again.")})}),e({id:"clay.download",label:"Download a copy",run:async()=>{let s=null;try{if(typeof O().getHTML=="function")s=O().getHTML();else{let u=await fetch(location.href,{cache:"no-store",credentials:"same-origin"});u.ok&&(s=await u.text())}}catch{}typeof s=="string"&&/^https?:$/.test(location.protocol)&&(s=s.replace(/(^|[^\w./:-])\/_\/uploads\//g,`$1${location.origin}/_/uploads/`)),(typeof s!="string"||!fe({html:s,name:`${pe()}.html`}))&&n("Couldn't build the download. Try again.")}});async function r(s){let u=null;try{let Q=await fetch(s,{method:"POST",credentials:"same-origin",headers:{"Document-URL":location.href}});if(u=await Q.json().catch(()=>null),Q.ok&&u?.ok!==!1){typeof u?.href=="string"&&window.open(u.href,"_blank","noopener");return}}catch{}n(typeof u?.message=="string"&&u.message?u.message:"Couldn't do that. Try again.")}let d=(s,u,Q)=>{Q?.href?e({id:s,label:u,href:Q.href}):Q?.post&&e({id:s,label:u,run:()=>r(Q.post)})};import("../c-ZRXJD4G6.js").then(({hostActions:s})=>s()).then(s=>{d("clay.code","Open the code editor",s.codeEditor),d("clay.duplicate","Duplicate as a new page",s.duplicate),d("clay.export","Export as zip",s.export),d("clay.reveal",Ce(),s.reveal),d("clay.versions","Version history\u2026",s.versions)}).catch(()=>{});let E=Se(),k=E&&E.get(z);if(k){E.remove(z);let s=y.get(k);s&&c()==="edit"&&s()}return{inEditMode:C,resumable:R,refresh:h}}var Ye='<svg viewBox="0 0 256 256" aria-hidden="true" focusable="false"><path d="M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z"/></svg>',Ke=3,X=(e,n,c)=>`${e} ${e===1?n:c}`;function ae(e){let n=document.createElement("span");n.className="clay-avatar",n.setAttribute("aria-hidden","true");let c=he(e.id);return n.style.setProperty("color",c),n.style.setProperty("border-color",c),n.style.setProperty("background","var(--bevel-surface)"),n.textContent=ge(e.name),n}function Ne({root:e,capsule:n,addItem:c,removeItem:y,closeMenu:C,note:R}){let i={supported:!1,people:[],anonymous:0},o=null,h=null,r=null,d=!1,E=()=>window.clay&&window.clay.people,k=()=>window.clay&&window.clay.me||null,s=()=>{try{return!!E()?.canRename?.()}catch{return!1}},u=()=>i.people.length+i.anonymous,Q=()=>document.documentElement.hasAttribute("clay-menu-roster");function A({restore:w=!0}={}){o&&(o.remove(),o=null,d=!1,r?.setAttribute("aria-expanded","false"),w&&h&&h.isConnected&&h.focus(),h=null)}function M(){let w=k();if(!w||!w.name)return null;let g=document.createElement("div");g.className="clay-people-me";let v=document.createElement("span");v.className="clay-people-me-label",v.textContent="Your edits are signed as";let $=document.createElement("div");if($.className="clay-people-me-row",g.append(v,$),d){let f=document.createElement("input");f.className="clay-people-input",f.type="text",f.value=w.name,f.setAttribute("aria-label","Your name"),f.maxLength=120;let x=document.createElement("button");x.type="button",x.className="clay-menu-btn clay-menu-btn-small clay-menu-btn-primary",x.textContent="Save";let l=()=>{try{E().rename(f.value)}catch(a){R(a&&a.code==="not-renamable"?"This name comes from your account, so it can't be changed here.":"Use a name of 1 to 120 characters that isn't an email address."),f.focus();return}d=!1,U(),o?.querySelector(".clay-people-me .clay-menu-btn")?.focus()};x.addEventListener("click",l),f.addEventListener("keydown",a=>{a.key==="Enter"&&(a.preventDefault(),l())}),$.append(f,x),queueMicrotask(()=>{f.isConnected&&(f.focus(),f.select())})}else{let f=document.createElement("span");if(f.className="clay-people-me-name",f.textContent=w.name,$.append(ae(w),f),s()){let x=document.createElement("button");x.type="button",x.className="clay-menu-btn clay-menu-btn-small",x.textContent="Change",x.addEventListener("click",()=>{d=!0,U()}),$.append(x)}}return g}function U(){if(!o)return;let w=u();o.textContent="";let g=document.createElement("div");g.className="clay-people-head";let v=document.createElement("h3");v.className="clay-people-title",v.textContent="Who's here";let $=document.createElement("span");$.className="clay-people-sum",$.textContent=X(w,"person","people");let f=document.createElement("button");if(f.type="button",f.className="clay-people-close",f.setAttribute("aria-label","Close"),f.innerHTML=Ye,f.addEventListener("click",()=>A()),g.append(v,$,f),o.append(g),i.people.length){let l=document.createElement("ul");l.className="clay-people-list";for(let a of i.people){let b=document.createElement("li");b.className="clay-people-row";let N=document.createElement("span");N.className="clay-people-who";let Y=document.createElement("strong");if(Y.textContent=a.name,a.you){let _=document.createElement("span");_.textContent="(you)",Y.append(_)}N.append(Y),b.append(ae(a),N),l.append(b)}o.append(l)}if(i.anonymous>0){let l=document.createElement("p");l.className="clay-people-anon",l.textContent=i.anonymous===1?"1 other person is here without a shared name.":`${i.anonymous} others are here without a shared name.`,o.append(l)}let x=M();x&&o.append(x)}function T(w){if(C(),o){A();return}h=w,o=document.createElement("div"),o.className="clay-people",o.setAttribute("role","dialog"),o.setAttribute("aria-label","Who's here"),o.addEventListener("keydown",g=>{g.key==="Escape"&&(g.preventDefault(),g.stopPropagation(),d?(d=!1,U(),o.querySelector(".clay-people-me .clay-menu-btn")?.focus()):A())}),U(),e.append(o),r?.setAttribute("aria-expanded",w===r?"true":"false"),o.querySelector(".clay-people-close").focus()}function W(){if(!(Q()&&i.supported&&u()>1)){r?.remove(),r=null;return}r||(r=document.createElement("button"),r.type="button",r.className="clay-roster",r.setAttribute("aria-haspopup","dialog"),r.setAttribute("aria-expanded",o?"true":"false"),r.addEventListener("click",()=>T(r)),e.insertBefore(r,n));let g=i.people.slice(0,Ke),v=u()-g.length,$=document.createElement("span");$.className="clay-roster-faces";for(let x of g)$.append(ae(x));r.textContent="",r.append($),v>0&&r.append(X(v,"other","others"));let f=g.map(x=>x.name);r.setAttribute("aria-label",`Who's here: ${f.join(", ")}${v>0?`${f.length?" and ":""}${X(v,"other","others")}`:""}`)}let P=null;function B(){let w=u();if(i.supported&&(w>1||s())){let g=w>1?`Who's here (${X(w,"person","people")})`:"Who's here";g!==P&&(P=g,c({id:"clay.people",label:g,run:()=>T(n.querySelector(".clay-menu-goo"))}))}else P!==null&&y("clay.people"),P=null,A({restore:!1});if(W(),o&&!d){let g=e.getRootNode().activeElement,v=g&&o.contains(g)?g.classList[0]:null;U(),v&&o.querySelector(`.${v}`)?.focus()}}return document.addEventListener("click",w=>{o&&!w.composedPath().includes(e)&&A({restore:!1})}),document.addEventListener("clay:people",()=>{d||B()}),import("../c-VR2BJ4AN.js").then(({presence:w})=>{w.subscribe(g=>{i=g||i,B()})}).catch(()=>{}),{close:A}}var J="not all",G="variants-choose",re="clay.variants.keep",Ze="Change the page look",je="Keep one page look",Fe='<svg viewBox="0 0 6 10" aria-hidden="true" focusable="false"><rect x="4" width="2" height="2"/><rect x="2" y="2" width="2" height="2"/><rect y="4" width="2" height="2"/><rect x="2" y="6" width="2" height="2"/><rect x="4" y="8" width="2" height="2"/></svg>',ze='<svg viewBox="0 0 6 10" aria-hidden="true" focusable="false"><rect width="2" height="2"/><rect x="2" y="2" width="2" height="2"/><rect x="4" y="4" width="2" height="2"/><rect x="2" y="6" width="2" height="2"/><rect y="8" width="2" height="2"/></svg>',Z=()=>[...document.querySelectorAll("head style[clay-variant]")],V=e=>e.getAttribute("clay-variant"),D=()=>Z().map(V);function I(){let e=Z(),n=e.find(c=>c.getAttribute("media")!==J);return n?V(n):e.length?V(e[0]):null}function Re(e,n){let c=window.clay&&window.clay.undo;c&&typeof c.commit=="function"?c.commit(e,n):n(),!document.documentElement.hasAttribute("autosave")&&typeof window.clay?.save=="function"&&window.clay.save()}async function Xe(){let e=await import("../core/save-LYY7K6U7.js");for(;!e.baselineSettled();)await new Promise(n=>document.addEventListener("clay:baseline-settled",n,{once:!0}))}function Ge(e){let n=e.map(c=>`Variant ${c}`);return n.length<2?n.join(""):`${n.slice(0,-1).join(", ")} and ${n[n.length-1]}`}function $e({root:e,capsule:n,addItem:c,removeItem:y,note:C,currentMode:R}){let i=null,o=null,h=null,r=null,d=null,E=()=>R()==="edit",k=()=>i??I(),s=()=>window.clay&&window.clay.storage&&window.clay.storage.session;function u(){let l=I();i!==null&&i===l&&(i=null),h?.remove(),h=null;for(let b of Z()){if(!b.sheet)continue;let N=b.getAttribute("media")!==J;b.sheet.disabled=N&&(V(b)!==l||i!==null)}if(i===null)return;let a=Z().find(b=>V(b)===i);if(!a)return i=null,u();h=document.createElement("style"),h.setAttribute("clay","editor-ui"),h.dataset.clayVariantPreview=i,h.textContent=a.textContent,a.after(h)}function Q(){document.dispatchEvent(new CustomEvent("clay:variant-change",{detail:{active:I(),shown:k()}}))}function A(l){return E()?D().includes(l)?(o=i=null,Re(Ze,()=>{for(let a of Z())V(a)===l?a.removeAttribute("media"):a.getAttribute("media")!==J&&a.setAttribute("media",J)}),v(),{ok:!0}):{ok:!1,code:"unknown-variant"}:{ok:!1,code:"not-editing"}}function M(l){return l!==null&&!D().includes(l)?{ok:!1,code:"unknown-variant"}:(i=l,v(),{ok:!0})}function U(l){o=i=null,Re(je,()=>{for(let a of Z())V(a)===l?(a.removeAttribute("clay-variant"),a.removeAttribute("media"),a.sheet&&(a.sheet.disabled=!1)):a.remove()}),v()}function T(){if(!E())return Promise.resolve({ok:!1,code:"not-editing"});let l=I(),a=D().filter(N=>N!==l);if(!a.length)return Promise.resolve({ok:!1,code:"unknown-variant"});let b=`Keep Variant ${l} and delete ${Ge(a)}? The switcher goes away. Version history still has them.`;return import("../c-WGW764WX.js").then(N=>N.consent(b)).then(()=>(U(l),{ok:!0}),()=>({ok:!1,code:"cancelled"}))}async function W(){let l=i,a=window.clay;if(l===null||!a||typeof a.setMode!="function")return;s()?.set(G,l);let b;try{b=await a.setMode("edit")}catch(N){b={ok:!1,message:N&&N.message}}if(!(b&&b.reloading)&&b&&b.ok===!1){s()?.remove(G);let N=K(b);N&&C(N)}}async function P(){let l=s(),a=l?.get(G);a!=null&&(l.remove(G),!(!E()||!D().includes(a))&&(o=i=a,v(),await Xe(),!(o!==a||!x())&&(o=null,E()&&D().includes(a)&&A(a))))}function B(l){let a=D(),b=a[(a.indexOf(k())+l+a.length)%a.length];E()?A(b):M(b)}function w(){let l=document.createElement("div");l.className="clay-variants",l.setAttribute("role","group"),l.setAttribute("aria-label","Page look"),l.innerHTML=`<button type="button" class="clay-variants-step" data-step="-1" aria-label="Previous look">${Fe}</button><span class="clay-variants-name" aria-live="polite"></span><button type="button" class="clay-variants-step" data-step="1" aria-label="Next look">${ze}</button><button type="button" class="clay-menu-btn clay-menu-btn-small clay-menu-btn-primary clay-variants-use" hidden>Use this look</button><button type="button" class="clay-menu-btn clay-menu-btn-small clay-variants-keep" hidden>Keep</button>`;for(let a of l.querySelectorAll(".clay-variants-step"))a.addEventListener("click",()=>B(Number(a.dataset.step)));return l.querySelector(".clay-variants-use").addEventListener("click",W),l.querySelector(".clay-variants-keep").addEventListener("click",()=>T()),l}function g(){let l=D();if(d=$(),l.length<2){r?.remove(),r=null,y(re);return}r||(r=w()),r.isConnected||e.insertBefore(r,e.querySelector(".clay-roster")??n);let a=k(),b=r.querySelector(".clay-variants-name");b.textContent=`Variant ${a} `;let N=document.createElement("small");N.textContent=`(${l.indexOf(a)+1}/${l.length})`,b.append(N),r.querySelector(".clay-variants-use").hidden=E()||i===null,r.querySelector(".clay-variants-keep").hidden=!E(),E()?c({id:re,label:`Keep Variant ${I()}, remove the others\u2026`,run:()=>T()}):y(re)}function v(){u(),g(),Q()}let $=()=>`${D().join(",")}|${I()}|${k()}`,f=null,x=()=>window.clay?.variants===f;document.addEventListener("clay:modechange",()=>{x()&&(E()?(i=o,P()):o=null,v())}),document.addEventListener("clay:sync-applied",()=>{x()&&v()}),document.addEventListener("clay:undo-change",()=>{x()&&$()!==d&&v()}),f=window.clay.variants={list:()=>{let l=I();return D().map(a=>({name:a,label:`Variant ${a}`,active:a===l}))},get active(){return I()},get shown(){return k()},preview:M,choose:A,keep:T},D().length>=2&&(E()&&P(),v())}var Je=!0,et=6e3,tt=12,nt='<svg viewBox="0 0 6 12" aria-hidden="true" focusable="false"><rect width="2" height="2"/><rect x="4" width="2" height="2"/><rect y="5" width="2" height="2"/><rect x="4" y="5" width="2" height="2"/><rect y="10" width="2" height="2"/><rect x="4" y="10" width="2" height="2"/></svg>',Oe=[["clay.undo","clay.cms","clay.ai","clay.code"],["seo","clay.variants.keep","clay.share","clay.people"],["clay.duplicate","clay.download","clay.export","clay.reveal"],["clay.versions"],null,["upgrade"]],ot=new Set(Oe.flat().filter(Boolean)),j=()=>window.clay&&typeof window.clay.mode=="string"?window.clay.mode:ue;function at(){if(document.querySelector('clay-editor-ui[data-clay-ui="menu"]'))return;let e=document.createElement("div");e.className="clay-menu-dock",e.setAttribute("clay","editor-ui"),e.dataset.corner="top-right",e.innerHTML=`<div class="clay-menu" clay="editor-ui"><button type="button" class="clay-menu-grip" aria-label="Move the menu. Drag it, or use the arrow keys to move it to another corner.">${nt}</button><button type="button" class="clay-menu-edit" role="switch" aria-checked="false"><span class="clay-menu-track" aria-hidden="true"><span class="clay-menu-thumb"></span></span><span class="clay-menu-label">Edit</span></button><span class="clay-menu-divider" aria-hidden="true"></span><button type="button" class="clay-menu-goo" aria-haspopup="menu" aria-expanded="false" aria-label="Clay menu">${ve}</button></div><div class="clay-menu-list" role="menu" aria-label="Clay menu" hidden></div><div class="clay-menu-note" role="status" hidden></div>`;let n=e.querySelector(".clay-menu-grip"),c=e.querySelector(".clay-menu-edit"),y=e.querySelector(".clay-menu-goo"),C=e.querySelector(".clay-menu-list"),R=e.querySelector(".clay-menu-note"),i=new Map,o=()=>e.getRootNode().activeElement||null,h=()=>!C.hidden;function r(t){C.hidden=!t,y.setAttribute("aria-expanded",t?"true":"false")}let d=()=>[...C.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')];function E(t){let p=d();p.length&&p[(t+p.length)%p.length].focus()}function k(){h()&&r(!1)}let s=null,u=null;function Q(){h()||(u?.close({restore:!1}),s?.refresh(),T(),r(!0))}function A(t){let p=t.href&&!t.disabled,m=document.createElement(p?"a":"button");if(p?(m.href=t.href,m.target="_blank",m.rel="noopener"):m.type="button",m.setAttribute("role","menuitem"),m.dataset.menuId=t.id,t.badge&&t.id==="upgrade"){let S=document.createElement("span");S.className="clay-menu-upgrade",S.textContent=t.label,m.append(S)}else m.textContent=t.label;if(t.keys){let S=document.createElement("kbd");S.textContent=t.keys,m.append(S)}return t.disabled&&m.setAttribute("aria-disabled","true"),m.addEventListener("click",()=>{t.disabled||(k(),t.run&&t.run())}),m}function M(t){if(t.text){let p=document.createElement("p");return p.className="clay-menu-version",p.dataset.menuId=t.id,p.textContent=t.label,p}if(t.pair){let p=document.createElement("div");p.className="clay-menu-pair",p.dataset.menuId=t.id;for(let m of t.pair)p.append(A(m));return p}return A(t)}function U(){let t=[...i.keys()].filter(p=>!ot.has(p));return Oe.map(p=>(p||t).map(m=>i.get(m)).filter(Boolean)).filter(p=>p.length)}function T(){let t=o(),p=t&&C.contains(t)?t.dataset.menuId:null;C.textContent="",U().forEach((L,H)=>{if(H){let q=document.createElement("div");q.className="clay-menu-sep",q.setAttribute("role","separator"),C.append(q)}for(let q of L)C.append(M(q))});let m=y.querySelector(".clay-menu-dot"),S=[...i.values()].some(L=>L.badge);if(S&&!m){let L=document.createElement("span");L.className="clay-menu-dot",L.setAttribute("aria-hidden","true"),y.append(L)}else!S&&m&&m.remove();if(p){let L=d().find(H=>H.dataset.menuId===p);L?L.focus():E(0)}}let W=({id:t,label:p,run:m,badge:S,keys:L,disabled:H,href:q})=>({id:t,href:typeof q=="string"?q:"",label:String(p??""),run:typeof m=="function"?m:null,badge:!!S,keys:L?String(L):"",disabled:!!H});function P({id:t,label:p,run:m,badge:S,keys:L,disabled:H,text:q,pair:ce,href:De}={}){if(!t)return null;let ee=W({id:t,label:p,run:m,badge:S,keys:L,disabled:H,href:De});return q&&(ee.text=!0),Array.isArray(ce)&&(ee.pair=ce.map(W)),i.set(t,ee),T(),t}function B(t){i.delete(t)&&T()}function w(t){t&&(R.textContent=t,R.hidden=!1,clearTimeout(g),g=setTimeout(()=>{R.hidden=!0,R.textContent=""},et))}let g=0,v=!1,$=()=>{e.hidden=!ne&&j()!=="edit"};function f(){c.setAttribute("aria-checked",j()==="edit"?"true":"false")}f(),document.addEventListener("clay:modechange",f),c.addEventListener("click",async()=>{if(v)return;let t=c.getAttribute("aria-checked"),p=o()===c,m=j()==="edit"?"view":"edit";v=!0,c.setAttribute("aria-busy","true"),c.disabled=!0;let S;try{S=await window.clay?.setMode?.(m)}catch(L){S={ok:!1,message:L&&L.message}}if(!(S&&S.reloading))if(v=!1,c.removeAttribute("aria-busy"),c.disabled=!1,p&&c.isConnected&&!o()&&document.activeElement===document.body&&c.focus(),S&&S.ok===!1){c.setAttribute("aria-checked",t);let L=K(S);L&&w(L)}else f()}),y.addEventListener("click",()=>{h()?k():Q()}),document.addEventListener("click",t=>{h()&&!t.composedPath().includes(e)&&k()}),e.addEventListener("keydown",t=>{if(t.key==="Escape"){if(!h())return;t.preventDefault(),k(),y.focus();return}if(t.target===y&&(t.key==="Enter"||t.key===" ")){t.preventDefault(),h()?k():(Q(),E(0));return}if(!h())return;if(t.key==="Enter"&&C.contains(t.target)){t.preventDefault(),t.target.click();return}let p=d();if(!p.length)return;let m=p.indexOf(o());t.key==="ArrowDown"?(t.preventDefault(),E(m<0?0:m+1)):t.key==="ArrowUp"&&(t.preventDefault(),E(m<0?p.length-1:m-1))});let x=document,l=null,a=null;function b(t){e.dataset.corner.startsWith("top")?e.style.top=`${Math.round(t.getBoundingClientRect().bottom)+tt}px`:e.style.removeProperty("top")}let N=()=>{a?b(a):e.style.removeProperty("top")};function Y(){if(!e.isConnected)return;let t=x.querySelector(".clay-intro");if(t!==a){if(l&&(l.disconnect(),l=null),a=t,!t){e.style.removeProperty("top");return}typeof ResizeObserver=="function"&&(l=new ResizeObserver(()=>b(t)),l.observe(t)),b(t)}}let _=document.createElement("style");_.id="clay-menu-vars",_.setAttribute("clay","editor-ui"),document.head.append(_);function se(){let t=e.getBoundingClientRect();_.textContent=`:root { --clay-menu-width: ${Math.ceil(t.width)}px; --clay-menu-height: ${Math.ceil(t.height)}px; }`}let qe=ye({name:"menu",content:e,css:[we],attributes:{"clay-mode-toggle":""}});ke({dock:e,container:qe.shadow,grip:n,storage:window.clay.storage&&window.clay.storage.local,onMove:N,onDragStart:()=>{k(),u?.close({restore:!1})}}),se(),typeof ResizeObserver=="function"&&new ResizeObserver(se).observe(e),new MutationObserver(Y).observe(x.body,{childList:!0}),Y(),me(e,e.querySelector(".clay-menu"),be);let le=()=>import("../c-WQWIRWO3.js").then(t=>t.open({returnFocus:y}));if(s=Qe({addItem:P,note:w,currentMode:j}),u=Ne({root:e,capsule:e.querySelector(".clay-menu"),addItem:P,removeItem:B,closeMenu:k,note:w}),$e({root:e,capsule:e.querySelector(".clay-menu"),addItem:P,removeItem:B,note:w,currentMode:j}),Je){P({id:"seo",label:"SEO settings\u2026",run:le});let t=window.clay.storage&&window.clay.storage.session;t&&t.get("reopen-seo")===!0&&(t.remove("reopen-seo"),le().catch(()=>{}))}Te=$,j()!=="edit"&&import("../core/host-permission-6EVJGNPL.js").then(t=>t.checkHostPermission()).catch(()=>{}),window.clay.menu={addItem:P,removeItem:B,open:Q,close:k,note:w},document.dispatchEvent(new CustomEvent("clay:menu-ready"))}var Pe=!1,Te=null,rt=()=>(ne||ie)&&!te;function Me(){Pe||!rt()||(Pe=!0,at())}te||(de(Me),document.addEventListener("clay:capabilitychange",()=>{Me(),Te?.()}));
@@ -0,0 +1,2 @@
1
+ import{a as Ce}from"../c-3GJ4SDE2.js";import{a as vt,b as bt,c as St}from"../c-VILENZTD.js";import{a as wt}from"../c-BYTKL6UX.js";import{a as mt,b as B,c as R}from"../c-WCXLG3MV.js";import{a as Ee,b as Re}from"../c-MCOOHCSG.js";import{a as kt}from"../c-L4WQSC27.js";import{d as it,e as ut,i as dt,j as Pe,n as V,o as pt,q as ce,r as ft,s as gt,t as xe,u as yt,v as ht}from"../c-4YU3BR4D.js";import"../c-JKZJIUIP.js";import{a as se}from"../c-TCCA5BZN.js";import{k as Oe}from"../c-3LDGIBMN.js";import"../c-57XDY6HC.js";import"../c-LZJPNR2W.js";import{b as ct}from"../c-QTTJYJMA.js";import{a as rt}from"../c-NUHP2XDB.js";import{A as lt,E as st,d as at,e as ne,g as nt,m as je,n as le}from"../c-T637T7SN.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import{a as ot}from"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-FWKHM4E7.js";import"../c-X5LNHET5.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-ZWIOJGMT.js";import{d as ae}from"../c-B7J4K2AE.js";import{a as et}from"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import{a as Te,c as tt,d as Ae}from"../c-NQJRVJ56.js";import{d as ke}from"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import{k as Ze}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{D as q}from"../c-7MG5RU63.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var gr=Object.freeze({"page-converting":"retrying","page-capacity":"retrying",busy:"retrying","rate-limited":"retrying",offline:"retrying",network:"retrying","network-error":"retrying",timeout:"retrying","save-history-pending":"retrying","page-condition-required":"blocked","page-conversion-refused":"blocked","page-conversion-required":"blocked","page-conversion-stale":"blocked","save-id-reused":"blocked","too-large":"blocked","unsupported-host":"blocked","save-history-refresh-required":"blocked","provenance-unsupported":"blocked","receipt-expired":"blocked","page-full":"blocked","compaction-failed":"blocked"}),Tt=({unavailable:e,pending:t,journaled:r,acknowledged:a,checkpointed:n}={})=>e?"unavailable":t>0?"pending":r>0?"journaled":a>0?"acknowledged":n?"checkpointed":null,ie="Can't save here. Your edits are still in this tab.",ue="Still trying to save. Your edits are safe in this tab.";function G({ok:e=!1,code:t=null,offline:r=!1}={}){return e?"saved":r?"retrying":gr[t]??"error"}function At(e){let t;try{t=new DOMParser().parseFromString(e,"text/html")}catch{return e}let r=[...t.querySelectorAll('script[type="application/json"][merge="page"][clay~="live"]')].filter(u=>!u.closest("template")&&!u.closest("noscript"));if(r.length!==1)return e;let a=r[0].outerHTML,n=e.indexOf(a);return n<0||e.indexOf(a,n+1)!==-1?e:e.slice(0,n)+e.slice(n+a.length)}function de(){let{forSave:e}=q({emitForSync:!1});return Re({html:At(e),name:`${Ee()}.html`})}function Ie(e){return Re({html:At(e),name:`${Ee()}.html`})}async function Et(){try{let{forSave:e}=q({emitForSync:!1}),r=new DOMParser().parseFromString(e,"text/html").querySelectorAll("article[data-page]");return r.length!==1?!1:(await navigator.clipboard.writeText(r[0].textContent),!0)}catch{return!1}}var Rt="clay.page.author",Le="clay.page.author.owned.",jt=()=>globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;function Ot(e=globalThis.localStorage){try{let t=[];for(let a=0;a<e.length;a++){let n=e.key(a);n&&n.startsWith(Le)&&t.push(n.slice(Le.length))}let r=e.getItem(Rt);return(!r||!t.includes(r))&&(r=jt(),e.setItem(Le+r,"1"),e.setItem(Rt,r),t.push(r)),{token:r,owned:t.sort()}}catch{let t=jt();return{token:t,owned:[t]}}}var P=Object.freeze({loading:"loading",joining:"joining",adopting:"adopting",ready:"ready",blocked:"blocked",error:"error"}),yr=new Set([P.ready,P.blocked,P.error]),Pt=0,Ct=()=>globalThis.performance?.now?.()??Date.now();function It({gen:e=0,isCurrent:t=()=>!0,onPhase:r=null}={}){return Pt+=1,{installId:Pt,gen:e,isCurrent:t,onPhase:typeof r=="function"?r:null,phase:P.loading,result:null,at:Ct(),controller:new AbortController,disposers:[],disposed:!1,steps:null,deferred:null}}function f(e){return!e.disposed&&!e.controller.signal.aborted&&e.isCurrent()!==!1}function Fe(e,t){return f(e)&&!!t?.view&&e.mounted===t.view}function D(e,t,r=null){if(yr.has(e.phase)&&e.result)return e.result;e.phase=t,e.at=Ct(),e.result=Object.freeze({phase:t,reason:r??null,installId:e.installId,at:e.at});try{e.onPhase?.(e.result)}catch(a){console.error("clayjs: page boot phase callback failed",a)}return e.result}function De(e,t){let r=D(e,P.blocked,t);return e.editorReadyResolve?.(),r}function Lt(e,t){return D(e,P.error,t)}function W(e,t){return typeof t=="function"&&e.disposers.push(t),t}function He(e){if(e.disposed)return;e.disposed=!0,e.mounted=null;try{e.controller.abort()}catch(r){console.error("clayjs: page boot abort failed",r)}let t=e.disposers.splice(0).reverse();for(let r of t)try{r()}catch(a){console.error("clayjs: a page boot disposer failed",a)}}function pe(e,t){let r=globalThis.performance;if(typeof r?.mark=="function")try{r.mark(e,{detail:{installId:t.installId}})}catch{try{r.mark(e)}catch{return}}}function hr(e,t){try{t.release?.(e)}catch(r){console.error("clayjs: page boot release failed",r)}}function Y(e,t,r){return t.cancelled?null:(hr(e,r),De(e,t.reason??"boot-incomplete"))}function xt(e,t,r,a=null){return Promise.resolve(e).then(n=>n??{ok:!1,reason:r},n=>(console.error(`clayjs: page boot ${r}`,n),{ok:!1,reason:r})).then(n=>(n.ok&&a&&f(t)&&pe(a,t),n))}function mr(e,t){return new Promise(r=>{let a=e.controller.signal,n=!1,u=S=>{n||(n=!0,r(S))};if(a.aborted)return u({cancelled:!0});a.addEventListener("abort",()=>u({cancelled:!0}),{once:!0});let y=new Array(t.length),b=t.length;t.forEach((S,E)=>{S.then(j=>{if(!n){if(!j.ok)return u({result:j,branch:S});y[E]=j,b-=1,b===0&&u({results:y})}})})})}async function Ft(e,t,{activate:r=!0}={}){pe("document:boot",e),D(e,P.loading);let a=t.readSource(e);if(!f(e))return null;if(!a.ok)return De(e,a.reason);let n=a.source;D(e,P.joining);let u=await mr(e,[xt(t.loadEditorAssets(e,n),e,"editor-assets-failed","document:assets-ready"),xt(t.prepareAuthority(e,n),e,"authority-failed","document:authority-ready")]);if(u.cancelled||!f(e))return null;if(!u.results){try{e.controller.abort()}catch(x){console.error("clayjs: page boot abort failed",x)}return Y(e,u.result,t)}let[y,b]=u.results,S=t.mountAndAttach(e,n,y,b);if(!f(e))return null;if(!S.ok)return Y(e,S,t);e.mounted=S.view??null,D(e,P.adopting);let E=await t.adoptSource(e,n,S);if(!f(e))return null;if(!E.ok)return Y(e,E,t);if(!r){if(t.prepareInput){let x=await t.prepareInput(e,S);if(!f(e))return null;if(!x.ok)return Y(e,x,t)}return e.deferred=S,{phase:e.phase,view:S.view,deferred:!0}}let j=await t.enableInput(e,S);return f(e)?j.ok?(pe("document:input-ready",e),D(e,P.ready)):Y(e,j,t):null}function Dt(e){let t=e.deferred;if(e.deferred=null,!t||!f(e))return e.result??null;let r=e.steps?.openInput?.(e,t);return r?.ok?(pe("document:input-ready",e),D(e,P.ready)):De(e,r?.reason??"input-refused")}var X="article[data-page]",z='script[type="application/json"][merge="page"][clay~="live"]',Ht={state:"blocked",code:"unsupported-host",message:"This host does not support page editing"},Ve="Changes cannot be stored on this device. Download a copy to keep them.",wr=45e3,vr="Couldn't save",br="Offline, not saved",Bt="This page was changed outside the editor. Reload to see it.",Sr="That change is too large to share, so it was not saved. Reload the page to keep editing.",kr=/^[ur][0-9a-z]+(-[0-9a-z]+){2}$/,Nt="This document is full, though your changes are still here to download. To edit again, reload this tab after another editor, or the owner in another browser, deletes content.",Tr="Some changes you made were replaced by a change made outside the editor.",Gt="The page was changed outside the editor; reload to see it.",Ar=150,Er="Loading the editor\u2026",Be="the page session has not committed yet",_t=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function Ne(e){return _t(e)?e.v!==1||!_t(e.y)||Object.hasOwn(e,"blocks")||Object.hasOwn(e,"deleted")?(console.warn("clayjs: page plugin: the page tag is not a strict Yjs page, leaving the page as saved HTML"),"unsupported-page-format"):null:(console.warn("clayjs: page plugin: the page tag is not JSON, leaving the page as saved HTML"),"invalid-page-json")}var N=null,Mt=null;function H(){return Mt??=import("../c-2GRUM77Q.js").then(e=>N=e),Mt}function Rr(e){let t=new Set;return e.forEach(r=>{let a=St(r);a&&t.add(a)}),[...t]}function _(e){e.statusTimer&&(clearTimeout(e.statusTimer),e.statusTimer=null),e.statusNote?.remove(),e.statusNote=null}function jr(e,t){_(e),e.statusTimer=setTimeout(()=>{if(e.statusTimer=null,!f(e))return;let r=t.ownerDocument.createElement("div");r.className="page-boot-status",r.setAttribute("clay","editor-ui"),r.setAttribute("sap-ignore",""),r.setAttribute("role","status"),rt(r,["display:block","margin:0 0 1em","font:500 13px/1.6 system-ui, sans-serif","color:color-mix(in srgb, currentColor 55%, transparent)","user-select:none"]),r.textContent=Er,t.prepend(r),e.statusNote=r},Ar)}var ye=0,A=null,fe=null,Or=8e3;function Pr(e,t=globalThis.location){let r=t?.hash?.slice(1);if(!r)return;let a;try{a=decodeURIComponent(r)}catch{return}let n=-1;e.state.doc.forEach((u,y)=>{n<0&&u.attrs.id===a&&(n=y)}),!(n<0)&&globalThis.requestAnimationFrame?.(()=>e.nodeDOM(n)?.scrollIntoView?.({block:"start"}))}function K(e,t=null,r=""){document.dispatchEvent(new CustomEvent("clay:page-save-state",{detail:{state:e,code:t,message:r}}))}function Wt(){R(vr),R(br)}function $t(e){e.retryTimer&&(clearTimeout(e.retryTimer),e.retryTimer=null),e.retryShown=!1,R(ue)}function xr(e,t,r){Wt(),K("retrying",t,r),!(e.retryTimer||e.retryShown)&&(e.retryTimer=setTimeout(()=>{e.retryTimer=null,e.retryShown=!0,B(ue,"warning")},wr))}function Jt(e,t=!1){e.retryTimer&&(clearTimeout(e.retryTimer),e.retryTimer=null),R(ue,{now:t}),R(ie,{now:t}),R(Ve,{now:t})}function Ge(e,t,r,a="blocked"){$t(e),Wt(),K(a,t,r),B(a==="unavailable"?Ve:ie,"error",{detail:r,actions:[{label:"Download a copy",onClick:de},{label:"Copy text",onClick:Et}]})}function Cr(e){$t(e),R(ie),R(Ve),K("saved",null,"")}function Ir(e,t,r=!1){if(typeof e!="string"||!e)return!1;let a;try{a=new DOMParser().parseFromString(e,"text/html")}catch{return!1}let n=a.querySelectorAll(X);return r?n.length!==1&&!a.querySelector(z):n.length!==1||a.querySelector(z)?!1:n[0].getAttribute("data-rev")!==t}function Lr(e){if(!e.store||!N)return e.savedRev;try{return N.renderFromTags([JSON.stringify(e.store.value)]).rev}catch{return e.savedRev}}function Yt(e){let t=e.view;t&&(t.setProps({editable:()=>!1}),t.setProps({dispatchTransaction:r=>t.updateState(t.state.apply(r))}));try{e.binding?.dispose()}catch(r){console.error("clayjs: page plugin binding failed to dispose",r)}e.savesHeld||(e.savesHeld=!0,je(Gt))}function Fr(e){if(!e.tabValue)return de();let{forSave:t}=q({emitForSync:!1}),r=new DOMParser().parseFromString(t,"text/html"),a=r.querySelectorAll(X);if(a.length!==1)return de();let n=N.renderFromTags([JSON.stringify(e.tabValue)]);return a[0].innerHTML=n.html,n.rev==null?a[0].removeAttribute("data-rev"):a[0].setAttribute("data-rev",n.rev),Ie(`<!DOCTYPE html>
2
+ ${r.documentElement.outerHTML}`)}function We(e,t,{reload:r=!0}={}){if(e.replaced)return;e.replaced=!0,Yt(e);let a={label:"Download your copy",onClick:()=>Fr(e)};B(t,"warning",{actions:r?[{label:"Reload",onClick:()=>window.location.reload()},a]:[a]})}var Me=e=>We(e,Bt),Dr=e=>We(e,Sr),Hr=(e,t)=>{K("blocked",t,Nt),We(e,Nt,{reload:!1})};function U(e,t,r,a){t==="saved"?Cr(e):t==="retrying"?xr(e,r,a):t==="blocked"&&Ge(e,r,a)}function C(e,t,r){document.addEventListener(t,r),e.listeners.push([t,r])}function Nr(e){C(e,"clay:save-error",r=>{let a=r.detail?.code??null;a!=="page-nothing-to-write"&&U(e,G({code:a}),a,r.detail?.msg??"")}),C(e,"clay:save-offline",r=>{let a=r.detail?.code??null;U(e,G({code:a,offline:!0}),a,r.detail?.msg??"")}),C(e,"clay:save-conflict",r=>{let a=r.detail?.code??null;U(e,G({code:a}),a,r.detail?.msg??"")});let t=r=>{_r(e,r)};C(e,"clay:save-conflict",t),C(e,"clay:save-error",t),C(e,"clay:save-saved",r=>{U(e,G({ok:!0}),null,r.detail?.msg??""),e.savedRev=Lr(e),e.adoption?.saved(lt())}),C(e,"clay:live-notice",r=>{if(r.detail?.name!=="page"||r.detail?.code==="op-too-large")return;if(r.detail?.code==="unknown-store"){Me(e);return}let a=r.detail?.code??null;U(e,G({code:a}),a,r.detail?.message??"")})}async function Ut(){let e=await fetch(new URL(globalThis.location.href).href,{cache:"no-store"});if(!e?.ok)return null;let t=await e.text(),r=new DOMParser().parseFromString(t,"text/html"),a=r.querySelector(X);if(!a)return null;let n=r.querySelector(z),u=e.headers?.get?.("etag")||null,y=r.documentElement.getAttribute("documentetag")||(u&&!/^W\//.test(u)?u:null);return{article:a,value:n?se(n.textContent):null,etag:y}}async function _r(e,t){let r=e.staged;if(!r||e.staleRetry||e.replaced)return;let a=t?.detail?.code??null;if(!(a!=="page-lineage-stale"&&a!=="conflict")&&!(!e.store||!r.isPending())){e.staleRetry=!0;try{let n=await Ut();if(!n||!f(e))return;let u=await H();if(!f(e))return;let y=n.value??u.seedPageFromArticle(n.article.cloneNode(!0)),b=n.etag??t?.detail?.etag??null;b&&tt(b),e.store.rebase(y,{source:"state"}),await st()}catch(n){console.warn("clayjs: page plugin could not offer the refused first write again",n)}}}function $e(e){let t=e.article;if(!t)return;let r=e.bootHtml,a=e.bootRev;if(e.store&&N)try{let n=N.renderFromTags([JSON.stringify(e.store.value)]);r=n.html,a=n.rev}catch(n){console.error("clayjs: page plugin could not render the saved article",n)}t.innerHTML=r,a==null?t.removeAttribute("data-rev"):t.setAttribute("data-rev",a)}function Je(e){for(let[t,r]of e.listeners)document.removeEventListener(t,r);e.listeners=[];try{e.adoption?.dispose()}catch(t){console.error("clayjs: page plugin adoption failed to dispose",t)}e.adoption=null;try{e.recover?.destroy()}catch(t){console.error("clayjs: page plugin recover list failed to dispose",t)}if(e.recover=null,e.aiTool?.dispose(),e.aiTool=null,e.awareness?.dispose(),e.awareness=null,e.toolHost?.dispose(),e.toolHost=null,e.view&&wt.delete(e.view),e.article){let t=e.article.querySelector(".page-shell");t&&t.remove()}try{e.binding?.dispose()}catch(t){console.error("clayjs: page plugin binding failed to dispose",t)}try{e.binding?.ydoc?.destroy()}catch(t){console.error("clayjs: page plugin document failed to destroy",t)}try{e.staged?.close()}catch(t){console.error("clayjs: page plugin staged store failed to close",t)}if(e.staged=null,e.pageStore){try{pt("page",e.pageStore)}catch(t){console.error("clayjs: page plugin store failed to close",t)}e.pageStore=null}e.binding=null,e.flush=null,e.releaseArticle?.(),e.releaseArticle=null}function qt(e){let t=e.view;if(t&&!t.isDestroyed&&typeof t.destroy=="function")try{t.destroy()}catch(r){console.error("clayjs: page plugin view failed to destroy",r)}e.titleObserver?.dispose(),e.titleObserver=null,_(e),Je(e),$e(e)}function qe(){ye+=1;let e=A;if(A=null,ae("Page-Write",null),Pe(null),!!e){He(e),Jt(e),R(Bt);for(let t of e.notices?.values()??[])R(t);if(e.savesHeld&&(e.savesHeld=!1,le({replay:!1,reason:Gt})),e.titleObserver?.dispose(),e.titleObserver=null,_(e),e.sessionHeld&&le({replay:!1,reason:Be}),e.autosaveSuspended&&ne(),e.view&&!e.view.isDestroyed)try{e.view.destroy()}catch(t){console.error("clayjs: page plugin view failed to destroy",t)}Je(e),$e(e)}}var _e=null;function Ye(){return _e||(_e=Promise.all([import("../c-OKXI52N7.js"),import("../c-7PRJCA3E.js"),import("../c-YBSS55KU.js")]).then(([e,t,r])=>({replay:e,proof:t,ui:r})).catch(e=>(console.warn("clayjs: page journal could not load",e),null))),_e}async function Mr(e,t){let r=globalThis.window?.clay?.recovery??null;if(!r||!t)return null;let a=await Ye();if(!a)return null;try{return a.replay.openPageJournal({meta:e,service:r,base:a.replay.journalBase(t.value)})}catch(n){return console.warn("clayjs: page journal could not open",n),null}}async function Vt(e){let t=e.binding?.journal;if(!t||!e.store)return{replayed:[],review:[]};let r=await Ye();if(!r)return{replayed:[],review:[]};let a=await r.replay.replayInto({journal:t,state:e.store.value,into:e.binding.ydoc});return Br(e,r),a.replayed.length&&e.binding.provider.settle(),a.review.length&&(e.recoveryReview=a.review),qr(e,r.ui)?.update({rows:r.replay.describeReview(a.review)}),a}function qr(e,t){if(e.recoveryPanel)return e.recoveryPanel;let r=e.view,a=r?.dom.closest(".page-shell")??e.article;if(!a)return null;let n=t.createRecoveryReview({mount:a,getView:()=>e.view&&!e.view.isDestroyed?e.view:null,getJournal:()=>e.binding?.journal??null,isCurrent:()=>f(e)&&e.inputOpen&&!!e.view&&!e.view.isDestroyed}),u=n.watch(r?.dom??null);return W(e,()=>{u(),n.destroy()}),e.recoveryPanel=n,n}function Vr(e){Pe(async({capture:t,state:r,article:a,etag:n})=>{let u=e.binding?.journal;if(!u)return;let y=await Ye(),b=y?await u.context():null;if(!b)return;let{hostPageStateHref:S}=await import("../c-ZRXJD4G6.js"),E=await y.proof.checkpointAccepted({channel:u.channel,records:u.records(),capture:t,accepted:b,article:a,state:r,etag:n,href:await S()});E.ok&&(u.retire(E.retired),e.pageStatus?.checkpoint(),await u.rebase?.(y.replay.journalBase(E.proof.state)))})}function Br(e,t){let r=e.binding?.journal;return!r||e.pageStatus?e.pageStatus??null:(e.pageStatus=t.replay.watchJournal({journal:r,store:e.store,reduce:Tt,onState:a=>K(a),onUnavailable:a=>Ge(e,a,"","unavailable")}),W(e,()=>e.pageStatus?.dispose()),e.pageStatus)}function Gr(e,t){let r=null,a=null,n=null,u=null,y=null,b=null,S=null,E=[],j=null,x=null,$=null,Q=null,Z=null,Qt=new Promise(o=>{u=o});e.editorReadyResolve=u,W(e,()=>u?.()),W(e,()=>_(e));let ee=null,me=null;e.loadFormatGate=()=>ee?Promise.resolve(ee):(me??=Promise.all([import("../c-E3ZXARWA.js"),import("../c-B5UJQT7W.js")]).then(([{createFormatGate:o},{createFormatHost:l}])=>{let s=l();return ee=o({host:s,supported:s.supported,installed:()=>y?.token??null,revision:()=>null,lane:{switchScope:(c,d)=>{let i=gt();return i?i.switchScope(c,{...d,covered:!!d?.covered||!ft()}):{status:"refused",code:"lane-unavailable"}}}}),ee}).catch(o=>{throw me=null,o}),me);let Ue='script[type="application/json"][merge="page.tools"][clay~="live"]',Zt=()=>$||($=(async()=>{if(!document.querySelector(Ue)){let c=document.createElement("script");c.setAttribute("type","application/json"),c.setAttribute("merge","page.tools"),c.setAttribute("clay","live"),c.textContent="{}",document.head.appendChild(c)}if(document.querySelector(Ue))try{j=window.clay.live("page.tools"),await j.ready}catch(c){console.warn("clayjs: page plugin could not open the tool store",c)}if(!f(e))return null;let[{createToolHost:o},{tablesFromDoc:l}]=await Promise.all([import("../c-GRWMD6O5.js"),import("../c-A6L3FMUS.js")]);if(!f(e))return null;let s=o({store:j,mode:"edit",tables:()=>l(n?.state.doc??a.doc()).map(({id:c,cols:d,rows:i})=>({id:c,cols:d,rows:i}))});if(e.toolHost=s,Ce(r)){let{createAiTool:c}=await import("../c-UORXLSD3.js");if(!f(e))return null;let d=window.clay?.wire?.pageTool??t.transport??null;x=c({getView:()=>e.view,store:j,transport:d,acceptState:t.acceptState}),e.aiTool=x}return s})().catch(o=>{throw $=null,o}),$),te='script[type="application/json"][merge="page.settings"][clay~="live"]',Xe=["assignees","dates"],M=null,we={assignees:!0,dates:!0},re=o=>({assignees:o?.assignees!==!1,dates:o?.dates!==!1});function er(){let o=document.querySelector(te);if(!o)return re(null);let l=null;try{l=JSON.parse(o.textContent)}catch{l=null}return re(l)}function oe(o){we=re(o);let l=e.view&&!e.view.isDestroyed?e.view.dom:null;if(l)for(let s of Xe)we[s]?l.removeAttribute(`data-${s}`):l.setAttribute(`data-${s}`,"false")}let ve=()=>M||(M=(async()=>{if(!document.querySelector(te)){let l=document.createElement("script");l.setAttribute("type","application/json"),l.setAttribute("merge","page.settings"),l.setAttribute("clay","live"),l.textContent="{}",document.head.appendChild(l)}let o=null;try{o=window.clay.live("page.settings"),await o.ready}catch(l){return console.warn("clayjs: page plugin could not open the settings store",l),M=null,null}return f(e)?(oe(o.data),o.on("change",()=>oe(o.data)),o):null})(),M);e.settings={read:()=>({...we}),set:async(o,l)=>{if(!Xe.includes(o))throw new TypeError(`clayjs: "${o}" is not a page setting`);let s=await ve();if(!s)throw new Error("clayjs: the page settings store could not be opened");let c={...re(s.data),[o]:l!==!1};s.set([o],c[o]),oe(c)}};let J=new Map,tr=o=>{if(J.has(o))return;let l=`The ${o} controls could not load. Reload the page after saving.`;J.set(o,l),B(l,"warning",{actions:[{label:"Retry",onClick:()=>{b.ensure(o).then(()=>{let s=J.get(o);s&&(J.delete(o),R(s))},()=>{})}}]})};e.notices=J;let be=async({target:o=null,remove:l=null}={})=>{Q&&n&&l&&Q.holdSlashRange(n,l),await b.ensure("tool").catch(()=>{}),!(!f(e)||!x||!n)&&x.open({target:o,remove:l?Q.heldSlashRange(n.state):null})},Se=()=>Ce(r);function rr(o){let l=document.querySelectorAll(X),s=typeof o.context?.represented?.bytes=="string"?new DOMParser().parseFromString(o.context.represented.bytes,"text/html"):null,c=s?s.querySelectorAll(X):l,d=s?s.querySelectorAll(z):document.querySelectorAll(z);if(!c.length&&!d.length)return{ok:!1,reason:"no-page"};let i=c.length===1&&d.length===0;if(c.length!==1||!i&&d.length!==1)return console.warn(`clayjs: page plugin needs exactly one article[data-page] and one merge="page" live tag; found ${c.length} article(s) and ${d.length} tag(s), leaving the page as saved HTML`),{ok:!1,reason:"ambiguous-page"};let m=l[0];if(!m)return{ok:!1,reason:"no-page"};let p=c[0],v=d[0],w=null;if(!i){try{w=se(v?.textContent)}catch{w=null}let T=Ne(w);if(T)return{ok:!1,reason:T}}let h={article:p.cloneNode(!0),tags:w?[w]:null,element:m,blocks:null,seeded:i,seedValue:null};return h.ready=(async()=>{let T=await H();if(!f(o))return{ok:!1,cancelled:!0};if(i){try{let g=await ke(),O=g?.extensions?.includes("page-recovery-v1")&&g.document?.pageState?.href,I=o.context?.represented?o.context.represented.etag:Ae()??Te();if(O&&I){let{readPageState:L}=await import("../c-7PRJCA3E.js"),F=await L({href:O,etag:I});if(!f(o))return{ok:!1,cancelled:!0};if(F.ok){if(F.etag!==I)return{ok:!1,reason:"etag-mismatch"};w=se(F.tag),h.persisted=!0}else if(F.code!=="no-page-state")return{ok:!1,reason:F.code}}else if(O){let L=await Ut();if(!f(o))return{ok:!1,cancelled:!0};if(!L||!L.article.isEqualNode(h.article))return{ok:!1,reason:"stale-document"};w=L.value,h.persisted=w!==null}w=h.seedValue=w??T.seedPageFromArticle(h.article.cloneNode(!0))}catch(g){return console.warn("clayjs: page plugin could not rebuild the page it found, leaving the page as saved HTML",g),{ok:!1,reason:"invalid-page-source"}}let k=Ne(w);if(k)return{ok:!1,reason:k};h.tags=[w]}try{h.blocks=T.blocksFromYValue(w)}catch(k){return console.warn("clayjs: page plugin: the page tag is not a valid Yjs page, leaving the page as saved HTML",k),{ok:!1,reason:"invalid-page-json"}}return{ok:!0}})(),jr(o,m),{ok:!0,source:h}}function or(o,l){if(Ne(l))return!1;if(Oe(o.authoritative)===Oe(l))return!0;try{return o.rebase(l,{source:"state"})}catch(s){return console.warn("clayjs: page plugin could not reconcile the open page store with the saved file",s),!1}}async function ar(o,l){let s=H();s.catch(()=>null);let c=await l.ready;if(!c.ok)return c;if(!f(o))return{ok:!1,cancelled:!0};let d=await s,i=[...new Set(Object.values(l.blocks).map(p=>bt(p.t)).filter(Boolean))];b=d.createFeatureLoader({load:p=>vt[p].load(),install:async(p,v)=>{if(n||await Qt,!f(o)||!n)return null;let w={view:n,upload:t.upload,board:a.board,undo:a.undo,redo:a.redo,revise:Se()?(h,T)=>{be({target:{toolId:h,rev:T}})}:null};return p==="tool"&&(w.toolHost=await Zt(),!f(o))?null:m.installPageFeature(w,p,v)},reportError:(p,v)=>{console.error("clayjs: an editor feature failed to load",p),tr(v)}});for(let p of i)b.prepare(p).catch(()=>null);let m=null;try{m=await import("../page/editor-6LRB3GE4.js"),Z=m.setEditorActive,Q={holdSlashRange:d.holdSlashRange,heldSlashRange:d.heldSlashRange}}catch(p){return console.error("clayjs: page plugin could not load the editor",p),{ok:!1,reason:"editor-assets-failed"}}return f(o)?{ok:!0,editor:m.createPageEditor,refreshView:m.refreshMountedView,featureIds:i,code:d}:{ok:!1,cancelled:!0}}async function nr(o,l){let s=H();try{r=await ke()}catch{r=null}if(!f(o))return{ok:!1,cancelled:!0};if(!r||!Array.isArray(r.extensions)||!r.extensions.includes("page"))return Ge(o,Ht.code,Ht.message),{ok:!1,reason:"missing-capability"};o.mergeTagless=!r.extensions.includes("live-data"),ae("Page-Write","v1");let c=null,d=null;if(l.seeded){if(c=await l.ready,!c.ok)return c;if(d=await s,!f(o))return{ok:!1,cancelled:!0}}let i,m=!0;try{if(l.seeded){let g=dt("page",{value:l.seedValue,represented:t.represented??{bytes:l.article.outerHTML,etag:Ae()??Te()},persisted:l.persisted});o.staged=g,i=g.handle}else{let g=V("page")===null;m=g,i=window.clay.live("page"),g&&(o.pageStore=V("page"))}}catch(g){return console.warn("clayjs: page plugin could not open the page store",g),{ok:!1,reason:"missing-page-store"}}try{await i.ready}catch(g){return console.warn("clayjs: page plugin could not join the page room",g),{ok:!1,reason:"admission-failed"}}if(!f(o))return{ok:!1,cancelled:!0};if(c??=await l.ready,!c.ok)return c;let p=V("page")?.handle?.status?.mode==="fast";if(!m&&!p&&!or(V("page"),l.tags?.[0]))return{ok:!1,reason:"stale-store"};if(d??=await s,!f(o))return{ok:!1,cancelled:!0};let v=V("page");if(!v)return{ok:!1,reason:"missing-page-store"};o.store=v;let w=!1,h=null,T=async g=>{let O=await g();return w=O?.ok===!1,h?.changed(),O};y=Ot();let k=await Mr(r,v);return f(o)?(a=d.createYPageBinding({store:v,onStopped:g=>{o.tabValue=d.yValueOf(a.ydoc),g==="lineage"?(ce()?.abandon?.("page"),Me(o)):g==="page-full"||g==="compaction-failed"?Hr(o,g):Dr(o)},authorToken:y.token,ownedTokens:y.owned,checkpointWithin:xe,requestCheckpoint:ht,requestExitCheckpoint:g=>yt({name:v.name,...g}),journal:k,exitClosed:()=>!nt(),registerUnsavedState:g=>(h=ot({id:g.id,isPending:()=>w||g.isPending(),flush:O=>T(()=>g.flush(O))}),h)}),o.binding=a,k&&Vr(o),o.flush=g=>T(()=>a.flush(g)),Nr(o),{ok:!0,store:v,handle:i}):{ok:!1,cancelled:!0}}function lr(o,l){import("../c-SW4YEG2D.js").then(async s=>{if(o.view!==l)return;let c=await s.installPageAwareness({binding:o.binding,view:l});if(c){if(o.view!==l||l.isDestroyed){c.dispose();return}o.awareness=c}}).catch(s=>console.error("clayjs: page plugin remote carets failed to load",s))}function sr(o,l,s){let c=l.element;o.context?.reader?.yieldArticle?.();try{o.releaseArticle=kt(c,"editor")}catch(p){return console.error("clayjs: page plugin could not claim the article",p),{ok:!1,reason:"article-owned"}}o.source=l,o.article=c,o.bootHtml=l.article.innerHTML,o.bootRev=l.article.getAttribute("data-rev"),o.savedRev=o.bootRev,C(o,"clay:sync-applied",p=>{o.replaced||Ir(p.detail?.html,o.savedRev,o.mergeTagless)&&Me(o)}),E=[...c.childNodes].filter(p=>p!==o.statusNote);let d=c.ownerDocument.createElement("div"),i=null;try{i=s.editor(d,{doc:a.doc(),dispatch:a.dispatch,history:!1,undo:a.undo,redo:a.redo,board:a.board,editable:!1,features:b,onAiTool:Se()?(p,v)=>{be({remove:v})}:null,reviseTool:Se()?(p,v)=>{be({target:{toolId:p,rev:v}})}:null,formatGate:o.loadFormatGate})}catch(p){return console.error("clayjs: page plugin could not mount the editor",p),d.replaceChildren(),o.releaseArticle?.(),o.releaseArticle=null,o.article=null,{ok:!1,reason:"mount-failed"}}n=i,o.view=i,oe(er()),document.querySelector(te)?ve().catch(()=>null):C(o,"clay:sync-applied",()=>{!M&&document.querySelector(te)&&ve().catch(()=>null)});let m=i.dom.closest(".page-shell");if(m&&(m.inert=!0),s.featureIds.length&&m&&(m.style.visibility="hidden"),!s.featureIds.length)for(let p of E)p.remove();return m&&c.appendChild(m),s.refreshView?.(i),a.attach(i),lr(o,i),u(),S=Promise.allSettled(s.featureIds.map(p=>b.ensure(p))),Pr(i),o.recover=s.code.createRecoverList({binding:a,mount:i.dom.closest(".page-shell")??c,ownTokens:[y.token,...y.owned],onRestored:p=>s.code.focusBlock(i,p),onStale:()=>mt("That change was updated. The list now shows the latest version.","warning")}),o.titleObserver=s.code.observeDocumentTitle(i),{ok:!0,view:i,featureIds:s.featureIds}}async function cr(o,l){try{let s=await H(),{HyperMorph:c}=await ct(),d=s.blocksFromYValue(o.store.authoritative),i=s.readBack(d,document),m=s.mergePageModels(l.baseItems,i,l.parsed,{doc:document,merge3:c.merge3,mergeJson:c.mergeJson});return s.canon(m.items)===s.canon(i)}catch{return!1}}async function ir(o,l){let s=await H();return await cr(o,l)?{ok:!0,outcome:"writer-adopts"}:new Promise(c=>{let d=null,i=null,m=!1,p=v=>{m||(m=!0,i&&clearTimeout(i),i=null,d?.(),d=null,c(v))};W(o,()=>p({ok:!1,cancelled:!0})),d=o.store.onRebase(v=>{v.source==="remote"&&p({ok:!0,outcome:"writer-adopts"})}),i=setTimeout(()=>{console.warn("page: gave up waiting for the writer's adoption; the hand edit was not adopted"),p({ok:!1,reason:"adoption-timeout"})},s.ADOPTION_TIMEOUT_MS)})}async function ur(o,l,s){let c=await H(),d=l.seeded?{kind:"untouched"}:c.classifyFile(l.article,l.tags),i=d.kind==="adopt",m=async()=>{let h=await it();if(!h||!f(o))return;if(h.status.writer===null){let k=o.store.value.y,g=Object.keys(k),O=a.ydoc.clientID.toString(36),I=o.store.room?.compaction?.v===1?g.find(F=>kr.test(F))??`u${O}-claim-0`:g.length?g[0]:`claim-${O}`,L=Object.hasOwn(k,I)?k[I]:c.yValueOf(a.ydoc).y.seed;o.store.handle.set(["y",I],L),h.release("page")}let T;await Promise.race([ut(),new Promise(k=>{T=setTimeout(k,Or)})]),clearTimeout(T)},p=i?m():Promise.resolve(),v=c.installAdoption({view:s.view,source:l,ready:p,isAdopter:()=>{let h=ce();return!h||h.status.writer===null?!0:h.isWriter()},requestCheckpoint:()=>xe(0),snapshot:()=>q({emitForSync:!1}).forSave,mergeTagless:o.mergeTagless,seeded:l.seeded,writerReady:m,adopted:h=>ce()?.adopted?.("page",h,o.store.mark),notice:h=>{h.copy&&B(Tr,"warning",{actions:[{label:"Download your copy",onClick:()=>Ie(h.copy)}]})}});o.adoption=v;let w=await v.idle();return w?(w.outcome==="writer-adopts"&&(w=await ir(o,d)),!w.ok&&f(o)?qt(o):f(o)&&await Vt(o),w):(await Vt(o),{ok:!0,outcome:"unchanged"})}async function ze(o,l){if(o.replaced)return{ok:!1,reason:"page-replaced"};if(await S,!f(o))return{ok:!1,cancelled:!0};let s=l.view.dom.closest(".page-shell");if(!Fe(o,l)||!s||!s.isConnected||l.view.isDestroyed)return{ok:!1,reason:"view-detached"};let c=new Set(l.featureIds??[]),d=Rr(l.view.state.doc).filter(i=>!c.has(i));return d.length&&(await Promise.allSettled(d.map(i=>b.ensure(i))),!f(o))?{ok:!1,cancelled:!0}:{ok:!0}}function Ke(o,l){let s=l.view.dom.closest(".page-shell"),c=()=>{for(let d of E)d.remove();s&&(s.style.visibility="")};return o.replaced?(c(),Yt(o),{ok:!1,reason:"page-replaced"}):o.inputOpen?{ok:!0}:!Fe(o,l)||!s||!s.isConnected||l.view.isDestroyed?{ok:!1,reason:"view-detached"}:(c(),s.inert=!1,Z?.(l.view,!0),o.inputOpen=!0,_(o),{ok:!0})}function dr(o){return o.inputOpen?(Z?.(o.view,!1,{quiesce:!0}),!0):!1}function pr(o){return o.inputOpen?(Z?.(o.view,!0),!0):!1}async function fr(o,l){let s=await ze(o,l);return s.ok?Ke(o,l):s}let Qe={readSource:rr,loadEditorAssets:ar,prepareAuthority:nr,mountAndAttach:sr,adoptSource:ur,prepareInput:ze,openInput:Ke,closeInput:dr,resumeInput:pr,enableInput:fr,release:o=>{o.view||qt(o)}};return e.steps=Qe,Qe}async function Wr(e,t={},{activate:r=!0}={}){return Ft(e,Gr(e,t),{activate:r})}function Xt(e={},{activate:t=!0,context:r=null}={}){qe(),fe=null;let a=++ye,n={...It({gen:a,isCurrent:()=>a===ye&&(r?.isCurrent?.()??!0),onPhase:y=>{(y.phase==="ready"||y.phase==="blocked"||y.phase==="error")&&_(n),e.onPhase?.(y)}}),article:null,view:null,binding:null,adoption:null,source:null,store:null,toolHost:null,aiTool:null,bootHtml:"",bootRev:null,savedRev:null,staged:null,pageStore:null,releaseArticle:null,replaced:!1,savesHeld:!1,flush:null,loadFormatGate:null,listeners:[],retryTimer:null,retryShown:!1,statusTimer:null,statusNote:null,notices:null,editorReadyResolve:null,context:r,inputOpen:!1,sessionHeld:!1,autosaveSuspended:!1,staleRetry:!1};A=n;let u=Wr(n,e,{activate:t}).catch(y=>(console.error("clayjs: page plugin failed to install",y),fe=Lt(n,"boot-failed"),A===n&&qe(),fe));return{inst:n,boot:u}}function zt(e={}){return Xt(e).boot}function $r(e){if(A===e&&(A=null,ye+=1),ae("Page-Write",null),He(e),Jt(e,!0),e.titleObserver?.dispose(),e.titleObserver=null,_(e),e.view&&!e.view.isDestroyed)try{e.view.destroy()}catch(t){console.error("clayjs: page plugin view failed to destroy",t)}e.view=null,Je(e),$e(e)}function ge(e){e.sessionHeld&&(e.sessionHeld=!1,le({replay:!1,reason:Be}))}function Kt(e,{held:t=!0}={}){return{enable(){t&&(ge(e),Dt(e))},quiesce(){if(e.view?.composing)throw Object.assign(new Error("clayjs: a composition is still in progress"),{code:"composition"});e.steps?.closeInput?.(e),e.autosaveSuspended||(e.autosaveSuspended=!0,at())},resume(){ge(e),e.autosaveSuspended&&(e.autosaveSuspended=!1,ne()),e.steps?.resumeInput?.(e)},dispose(){ge(e),e.autosaveSuspended&&(e.autosaveSuspended=!1,ne()),$r(e)}}}function Jr(e=null,t={}){je(Be);let{inst:r,boot:a}=Xt(t,{activate:!1,context:e});r.sessionHeld=!0;let n=Kt(r,{held:!0});he.ready=a.then(()=>he.status);let u=a.then(y=>{if(!y?.deferred)throw Object.assign(new Error("clayjs: the page session could not prepare"),{code:y?.reason??"load-failed"})});return u.catch(()=>{ge(r);try{e?.reader?.reclaimArticle?.()}catch(y){console.error("clayjs: the reader could not take the article back",y)}}),{ready:u,...n}}function bo(e={}){return{id:"clay:page",order:400,prepare(t={}){return t.initial===!0?A?Kt(A,{held:!1}):{enable(){},quiesce(){},resume(){},dispose(){}}:Jr(t,e)}}}var he={ready:null,install:zt,get status(){return A?.result??fe},flush(e={}){let t=A;return!t||!t.flush?Promise.resolve({ok:!1,code:"disposed"}):t.flush(e)},dispose:qe,get view(){return A?.view??null},get settings(){return A?.settings??null}};et(e=>{let t=A?.binding;if(!t?.filePending())return;let r=N?.acceptedPageState(e);r&&t.acceptFile(r)});he.ready=Ze()?zt():null;var So=he;export{Nt as PAGE_FULL_MESSAGE,Or as WRITER_WAIT_MS,Gr as createSteps,So as default,bo as modeParticipant,he as page,bo as pageParticipant,Jr as preparePageSession};
@@ -0,0 +1 @@
1
+ import{a as be,b as me,c as ve,d as le,f as Se}from"../c-6DB2OLRJ.js";import{a as ie}from"../c-L4WQSC27.js";import"../c-XGH4GS2T.js";import"../c-3O7OBDCM.js";import{a as ye}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";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 y=De(e),m=!!_(r),s=ze(u);if(y===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-VR2BJ4AN.js"),import("../c-BHZYSHW4.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(y,{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 g(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"){g(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(y,we,i,w),D=new be(new URL(G,window.location.origin).href,{shared:l.sharedSync,sharedData:l.sharedData,documentURL:y,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-page]",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="page.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 y of v.children){let m=y.getAttribute("data-id");if(m){if(u.has(m))continue;if(r.has(m)){r.delete(m),u.add(m);continue}r.set(m,y)}Ne.has(y.tagName)&&f(y)}};return f(e),r}function xe(e){let r=new Set,u=f=>{for(let v of f.children){let y=v.getAttribute("data-id");y&&r.add(y),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 y=v[0],m=new Map;for(let S of y.querySelectorAll("details[data-id]"))m.set(S.getAttribute("data-id"),S.hasAttribute("open"));let s=ue(y);return{ok:!0,article:y,source:f,rev:y.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 y=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=y.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-page]",Be='section[data-type="tool"][data-id]',Ee='script[type="application/json"][merge="page"]',de=["live-at","live-by"];var Fe=(e,r)=>import("../c-WBGWGOM7.js").then(u=>u.followTocLink(e,r)),He=e=>{import("../c-R27DWQKX.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 y=de.map(s=>u.getAttribute(s));return f.textContent===u.textContent&&de.every((s,S)=>f.getAttribute(s)===y[S])?!1:(f.textContent!==u.textContent&&(f.textContent=u.textContent),de.forEach((s,S)=>{y[S]===null?f.removeAttribute(s):f.setAttribute(s,y[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:y=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 g=e.defaultView??globalThis;e.dispatchEvent(new g.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-GRWMD6O5.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,g]of L){let R=o.get(p);if(!R||R.invalid||R.rev!==g.rev||R.signature!==g.signature){try{g.instance?.dispose?.()}catch{}L.delete(p)}}},$=(o,p)=>{let g=[];for(let[Q,M]of o)M.invalid?console.warn("clayjs: could not decode saved tools",M.error):g.push([Q,M]);if(!g.length)return;P.data=p??{};let R=++T;O().then(Q=>{if(!(E||!Q||R!==T))for(let[M,I]of g){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 g=L.get(o.getAttribute("data-id"));if(!g)return fe(o,p);let R=Le(p);return!R.invalid&&R.rev===g.rev&&R.signature===g.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(g){console.warn("clayjs: the reader could not restore the previous file",g)}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(".page-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(g){return re(g),!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 g=p.getAttribute("data-id");g&&(p.open===q.get(g)?S.delete(g):S.set(g,p.open))};e.addEventListener("toggle",U,!0),z.push(["toggle",U,!0]);let B=o=>{let p=o.target.closest?.('a[href^="#page-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-OTMKN2OO.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,g]of z)e.removeEventListener(o,p,g);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 g=p.detail;typeof g?.html=="string"&&(g.source&&g.source!=="disk"&&g.lane!=="saved"||H({bytes:g.html,etag:g.etag??null,seq:g.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:y,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:y=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=y.querySelectorAll(je);if(m.length!==1)throw new Error("clayjs: the reader needs exactly one article[data-page]");let s=m[0];if(s.querySelector(".page-editor"))throw new Error("clayjs: the reader will not start over a mounted editor");if(e){let q=X(e.bytes,y);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:y,article:s,represented:e,feed:v,documentURL:r,servedEtag:u,stream:f,release:S})}catch(q){throw S(),q}}var J=null,te=null,ge=!1,Oe=!1,ee=null,Z=null,he=null,Pe=()=>document.querySelectorAll("article[data-page]").length===1;function _e(){ee=e=>{if(ge)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:ye})}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||(ge=!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(){ge=!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};
@@ -0,0 +1 @@
1
+ import{a as I,c as V}from"../c-RVMWGXEJ.js";import{a as P,d as j}from"../c-XGH4GS2T.js";import{f as K,j as M}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";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-M6FNQCTQ.js"),import("../c-2ZZBC45O.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};
@@ -0,0 +1,26 @@
1
+ import{a as ot,b as rt,c as it}from"../c-CJFDLD43.js";import{a as nt}from"../c-OJYM642Q.js";import{g as et}from"../c-BJ7YQ5QZ.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-MHI3GYKF.js";import"../c-NUHP2XDB.js";import"../c-VHNSBD2M.js";var qt=":root{--qc-surface:#f7f2ea;--qc-surface-hover:#efe7d8;--qc-border:#cdbfa6;--qc-text:#2b241b;--qc-text-hover:#463c2e;--qc-on-dark:#efe7d8;--qc-overlay:rgba(43,36,27,.6);--qc-dim:rgba(0,0,0,.55);--qc-radius:8px;--qc-crop-line:#fff;--qc-font:ui-sans-serif,system-ui,sans-serif;}.qc-css-probe{position:absolute;}.qc-backdrop{position:fixed;inset:0;background:var(--qc-overlay);display:grid;place-items:center;z-index:1000;animation:qc-fade .15s ease;}@keyframes qc-fade{from{opacity:0}}.qc-modal{background:var(--qc-surface);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:16px;max-width:92vw;font-family:var(--qc-font);}.qc-bar{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;}.qc-btn{font:inherit;font-family:var(--qc-font);font-size:.85rem;padding:.3rem .75rem;border:1px solid var(--qc-border);border-radius:6px;background:var(--qc-surface);color:var(--qc-text);cursor:pointer;}.qc-btn:hover{background:var(--qc-surface-hover);}.qc-btn-primary{background:var(--qc-text);border-color:var(--qc-text);color:var(--qc-on-dark);font-weight:600;}.qc-btn-primary:hover{background:var(--qc-text-hover);border-color:var(--qc-text-hover);}.qc-stage{position:relative;line-height:0;user-select:none;-webkit-user-select:none;touch-action:none;}.qc-stage img{display:block;max-width:100%;pointer-events:none;}.qc-dim{position:absolute;inset:0;background:var(--qc-dim);pointer-events:none;}.qc-box{position:absolute;cursor:move;outline:1px solid var(--qc-crop-line);background:linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 33.33%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 66.66%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 33.33% 0/1px 100% no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 66.66% 0/1px 100% no-repeat;background-blend-mode:overlay;}.qc-handle{position:absolute;box-sizing:border-box;width:28px;height:28px;border:7px solid transparent;background:var(--qc-crop-line);background-clip:padding-box;border-radius:9px;}.qc-nw{left:-14px;top:-14px;cursor:nwse-resize;}.qc-ne{right:-14px;top:-14px;cursor:nesw-resize;}.qc-sw{left:-14px;bottom:-14px;cursor:nesw-resize;}.qc-se{right:-14px;bottom:-14px;cursor:nwse-resize;}.qc-mount{line-height:0;}",gt=["image/jpeg","image/png","image/webp"];var _=!1;function L(t,n="",e=""){let r=document.createElement(t);return n&&(r.className=n),e&&(r.textContent=e),r}function D(t,n,e){t.style.setProperty(n,e,"important")}function vt(t){return String(t).replace(/[&<>"']/g,n=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[n])}function K(){if(document.querySelector("style[data-quickcrop]"))return;let t=L("div","qc-css-probe");t.style.display="none",document.body.append(t);let n=getComputedStyle(t).position==="absolute";if(t.remove(),n)return;let e=document.createElement("style");e.setAttribute("data-quickcrop",""),e.setAttribute("save-remove",""),e.setAttribute("snapshot-remove",""),e.textContent=qt,document.head.append(e)}var Y={open({content:t,confirmLabel:n,onConfirm:e,onCancel:r}){K();let i=L("div","qc-backdrop");i.setAttribute("save-remove",""),i.setAttribute("snapshot-remove","");let m=L("div","qc-modal"),u=L("div","qc-bar"),f=L("button","qc-btn qc-btn-primary",n);f.type="button",u.append(f),m.append(t,u),i.append(m),document.body.append(i);let E=q=>{q.key==="Escape"&&r()};return document.addEventListener("keydown",E),f.onclick=()=>e(),i.onclick=q=>{q.target===i&&r()},f.focus(),{close(){document.removeEventListener("keydown",E),i.remove()}}}};function at(t){return!!t&&typeof t=="object"&&typeof t.open=="function"&&typeof t.close=="function"&&typeof t.onYes=="function"&&"html"in t}var xt='<svg viewBox="0 0 134 134" xmlns="http://www.w3.org/2000/svg"><path class="micromodal__close-bg" d="M132 132.5 1 1.5h131v131Z"/><path d="M83 27l24 24M107 27L83 51" stroke="#fff" stroke-width="6"/></svg>';function ct(t){let n=()=>t.isShowing&&!!document.querySelector(".micromodal-parent");return{fit(){if(n())return null;let e=window.innerWidth>=640?128:80;return{width:Math.max(120,Math.min(550,window.innerWidth-32)-4-e),height:Math.max(120,window.innerHeight-220)}},open(e){if(n())return Y.open(e);let{content:r,confirmLabel:i,onConfirm:m,onCancel:u}=e;K();let f=!1,E=C=>{f||(f=!0,document.removeEventListener("keydown",q,!0),C())},q=C=>{C.key==="Escape"&&(C.stopPropagation(),u())};return t.html='<div class="qc-mount"></div>',t.yes=vt(i),t.no="",t.closeHtml=xt,t.disableFocus=!0,t.onOpen(()=>{document.querySelector(".micromodal__content .qc-mount")?.append(r),document.querySelector(".micromodal-parent .micromodal__yes")?.focus(),document.addEventListener("keydown",q,!0)}),t.onYes(()=>(E(m),!0)),t.onNo(()=>{E(u)}),t.open(),{close(){f||(f=!0,document.removeEventListener("keydown",q,!0),t.close())}}}}}function yt(t){if(t==="builtin")return Y;if(t&&typeof t=="object"){if(at(t))return ct(t);if(typeof t.open=="function")return t;throw new TypeError('quickcrop: modal must be "auto", "builtin", a themodal instance, or an adapter with open()')}if(t==="auto")return at(window.themodal)?ct(window.themodal):Y;throw new TypeError('quickcrop: modal must be "auto", "builtin", a themodal instance, or an adapter with open()')}function wt(t,n={}){let{aspect:e=null,type:r,quality:i=.92,maxWidth:m=null,maxHeight:u=null,minSize:f=40,labels:E={},modal:q="auto"}=n,{confirm:C="Crop"}=E;if(!(t instanceof Blob))return Promise.reject(new TypeError("quickcrop: expected a File or Blob"));if(_)return Promise.reject(new Error("quickcrop: already open"));let S;try{S=yt(q)}catch(R){return Promise.reject(R)}_=!0;let A=r||(gt.includes(t.type)?t.type:"image/png"),F=URL.createObjectURL(t),a=new Image;return new Promise((R,z)=>{a.onerror=()=>{URL.revokeObjectURL(F),_=!1,z(new Error("quickcrop: could not decode image"))};function h(){let U=S.fit?S.fit():null,mt=Math.max(1,Math.min(U?.width??window.innerWidth*.86,a.naturalWidth)),ut=Math.max(1,U?.height??window.innerHeight*.72),N=Math.min(mt/a.naturalWidth,ut/a.naturalHeight,1),M=Math.max(1,Math.round(a.naturalWidth*N)),g=Math.max(1,Math.round(a.naturalHeight*N)),$=Math.min(f,M,g);K();let v=L("div","qc-stage");D(a,"width",M+"px"),D(a,"height",g+"px");let Q=L("div","qc-dim"),B=L("div","qc-box");for(let o of["nw","ne","sw","se"])B.appendChild(L("div","qc-handle qc-"+o));v.append(a,Q,B);let c,p;e?(c=Math.min(M,g*e),p=c/e,p>g&&(p=g,c=p*e)):(c=M,p=g);let y=(M-c)/2,w=(g-p)/2;Z();function Z(){D(B,"left",y+"px"),D(B,"top",w+"px"),D(B,"width",c+"px"),D(B,"height",p+"px"),D(Q,"clip-path",`polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0, ${y}px ${w}px, ${y}px ${w+p}px, ${y+c}px ${w+p}px, ${y+c}px ${w}px, ${y}px ${w}px)`)}let T=(o,b,d)=>Math.max(b,Math.min(d,o));v.addEventListener("pointerdown",o=>{let b=o.target.closest(".qc-handle"),d=o.target===B;if(!b&&!d)return;o.preventDefault(),v.setPointerCapture(o.pointerId);let s={px:o.clientX,py:o.clientY,x:y,y:w,w:c,h:p},l=b&&[...b.classList].find(W=>/^qc-(nw|ne|sw|se)$/.test(W))?.slice(3),x=W=>{if(!l)y=T(s.x+(W.clientX-s.px),0,M-c),w=T(s.y+(W.clientY-s.py),0,g-p);else{let O=l.includes("w")?s.x+s.w:s.x,H=l.includes("n")?s.y+s.h:s.y,P=l.includes("e"),X=l.includes("s"),G=v.getBoundingClientRect(),J=Math.abs(W.clientX-(G.left+O)),V=Math.abs(W.clientY-(G.top+H));if(e){let tt=Math.min(P?M-O:O,(X?g-H:H)*e),bt=Math.min(Math.max($,$*e),tt);c=T(Math.max(J,V*e),bt,tt),p=c/e}else c=T(J,$,P?M-O:O),p=T(V,$,X?g-H:H);y=P?O:O-c,w=X?H:H-p}Z()},k=()=>{v.removeEventListener("pointermove",x),v.removeEventListener("pointerup",k),v.removeEventListener("pointercancel",k)};v.addEventListener("pointermove",x),v.addEventListener("pointerup",k),v.addEventListener("pointercancel",k)});function ft(){let o=a.naturalWidth/M,b=a.naturalHeight/g,d=Math.round(c*o),s=Math.round(p*b),l=1;m&&d>m&&(l=m/d),u&&s*l>u&&(l=u/s),d*l*s*l>16777216&&(l=Math.sqrt(16777216/(d*s)));let x=document.createElement("canvas");x.width=Math.max(1,Math.round(d*l)),x.height=Math.max(1,Math.round(s*l));let k=x.getContext("2d");if(!k)throw new Error("quickcrop: crop too large for a canvas");return A==="image/jpeg"&&(k.fillStyle="#fff",k.fillRect(0,0,x.width,x.height)),k.imageSmoothingQuality="high",k.drawImage(a,y*o,w*b,c*o,p*b,0,0,x.width,x.height),x}let j=!1,I=()=>j?!1:(j=!0,ht.close(),URL.revokeObjectURL(F),_=!1,!0),ht=S.open({content:v,confirmLabel:C,onConfirm(){if(j)return;let o,b;try{o=ft(),b=o.toDataURL(A,i)}catch(d){I()&&z(d);return}I()&&o.toBlob(d=>{if(!d){z(new Error("quickcrop: image encoding failed"));return}R({blob:d,dataURL:b,width:o.width,height:o.height})},A,i)},onCancel(){I()&&R(null)}})}a.onload=()=>{try{h()}catch(U){URL.revokeObjectURL(F),_=!1,z(U)}},a.src=F})}var pt=wt;var st=[".qc-stage",".qc-backdrop"],dt=`@layer clay-skin{
2
+ :is(.qc-stage, .qc-backdrop),:is(.qc-stage, .qc-backdrop) *{--qc-surface:light-dark(#FFFCF6, #11131E) !important;--qc-text:light-dark(#2B241B, #ECEAF2) !important;--qc-border:light-dark(#D8C8AF, #353B52) !important;--qc-radius:0px !important;--qc-font:system-ui,-apple-system,"Segoe UI",sans-serif !important;--qc-surface-hover:light-dark(#F4ECDF, #1A1D2C) !important;--qc-text-hover:color-mix(in srgb, light-dark(#2B241B, #ECEAF2), light-dark(#FDF8F0, #0B0C13) 12%) !important;--qc-on-dark:light-dark(#FDF8F0, #0B0C13) !important;--qc-overlay:color-mix(in srgb, light-dark(#FDF8F0, #0B0C13) 70%, transparent) !important;--qc-dim:rgba(0,0,0,.55) !important;--qc-crop-line:#fff !important}
3
+ .qc-stage{margin-inline:auto !important;inline-size:fit-content !important;background:light-dark(#F4ECDF, #1A1D2C) !important}
4
+ .qc-stage img{display:block !important;max-inline-size:100% !important}
5
+ .qc-backdrop{position:fixed !important;inset:0 !important;background:var(--qc-overlay) !important;display:grid !important;place-items:center !important;z-index:1000 !important;animation:qc-fade .15s ease !important}
6
+ .qc-modal{background:var(--qc-surface) !important;border:1px solid var(--qc-border) !important;border-radius:var(--qc-radius) !important;padding:16px !important;max-width:92vw !important;font-family:var(--qc-font) !important}
7
+ .qc-bar{display:flex !important;justify-content:flex-end !important;gap:10px !important;margin-top:12px !important}
8
+ .qc-btn{font:inherit !important;font-family:var(--qc-font) !important;font-size:.85rem !important;padding:.3rem .75rem !important;border:1px solid var(--qc-border) !important;border-radius:6px !important;background:var(--qc-surface) !important;color:var(--qc-text) !important;cursor:pointer !important}
9
+ .qc-btn:hover{background:var(--qc-surface-hover) !important}
10
+ .qc-btn-primary{background:var(--qc-text) !important;border-color:var(--qc-text) !important;color:var(--qc-on-dark) !important;font-weight:600 !important}
11
+ .qc-btn-primary:hover{background:var(--qc-text-hover) !important;border-color:var(--qc-text-hover) !important}
12
+ .qc-stage{position:relative !important;line-height:0 !important;user-select:none !important;-webkit-user-select:none !important;touch-action:none !important}
13
+ .qc-stage img{display:block !important;max-width:100% !important;pointer-events:none !important}
14
+ .qc-dim{position:absolute !important;inset:0 !important;background:var(--qc-dim) !important;pointer-events:none !important}
15
+ .qc-box{position:absolute !important;cursor:move !important;outline:1px solid var(--qc-crop-line) !important;background:linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 33.33%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 66.66%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 33.33% 0/1px 100% no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 66.66% 0/1px 100% no-repeat !important;background-blend-mode:overlay !important}
16
+ .qc-handle{position:absolute !important;box-sizing:border-box !important;width:28px !important;height:28px !important;border:7px solid transparent !important;background:var(--qc-crop-line) !important;background-clip:padding-box !important;border-radius:9px !important}
17
+ .qc-nw{left:-14px !important;top:-14px !important;cursor:nwse-resize !important}
18
+ .qc-ne{right:-14px !important;top:-14px !important;cursor:nesw-resize !important}
19
+ .qc-sw{left:-14px !important;bottom:-14px !important;cursor:nesw-resize !important}
20
+ .qc-se{right:-14px !important;bottom:-14px !important;cursor:nwse-resize !important}
21
+ .qc-mount{line-height:0 !important}
22
+ .qc-stage img[hidden]{display:none !important}
23
+ .qc-backdrop[hidden]{display:none !important}
24
+ .qc-bar[hidden]{display:none !important}
25
+ }`;var lt=844;nt("quickcrop",dt,{roots:st});function kt(t){return!!t&&typeof t=="object"&&typeof t.open=="function"&&typeof t.close=="function"&&typeof t.onYes=="function"&&"html"in t}var Et={fit(){let t=document.documentElement.clientWidth;return{width:Math.max(120,Math.min(lt,t-32)-2-44),height:Math.max(120,window.innerHeight-Math.min(96,window.innerHeight*.1)-200)}},open({content:t,confirmLabel:n,onConfirm:e,onCancel:r}){let{root:i,overlay:m,panel:u,heading:f,body:E,footer:q,close:C}=it({zIndex:"2147483001",width:`${lt}px`,closable:!0,titled:!0});f.textContent="Crop image",u.setAttribute("aria-label","Crop image"),E.append(t);let S=et(n,{variant:"primary",onClick:()=>e()});q.append(S),C.addEventListener("click",()=>r()),u.addEventListener("submit",h=>h.preventDefault());let A=!1;m.addEventListener("mousedown",h=>{A=h.target===m}),m.addEventListener("click",h=>{A&&h.target===m&&r(),A=!1});let F=h=>{if(h.key==="Tab"){h.stopPropagation(),rt(u,h);return}h.key==="Escape"&&(h.stopPropagation(),r())};document.addEventListener("keydown",F,!0);let a=document.body.style.overflow;document.body.style.overflow="hidden";let R=!1,z=()=>{R||(R=!0,document.removeEventListener("keydown",F,!0),document.body.style.overflow=a,i.remove())};return ot.set(i,()=>{z(),r()}),i.setAttribute("aria-hidden","false"),document.body.append(i),S.focus(),{close:z}}};function Mt(t,n={}){let e=n.modal??"auto",r=e==="auto"||kt(e);return pt(t,r?{...n,modal:Et}:n)}var Bt=Mt;export{Et as bevelCropAdapter,Bt as default,Mt as quickcrop};
26
+ /*! For license information please see quickcrop-BQ5YYFCH.js.LEGAL.txt */
@@ -1,4 +1,4 @@
1
- import{a as bo}from"../c-HPURYVZS.js";import"../c-OIBUTDXI.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-NUHP2XDB.js";import{n as yo}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var vo=[".richclay-toolbar",".richclay-float",".richclay-dialog"],xo=`@layer clay-skin{
1
+ import{a as bo}from"../c-OJYM642Q.js";import"../c-BJ7YQ5QZ.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-MHI3GYKF.js";import"../c-NUHP2XDB.js";import{k as yo}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var vo=[".richclay-toolbar",".richclay-float",".richclay-dialog"],xo=`@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}
@@ -514,4 +514,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
514
514
  }
515
515
  }
516
516
  `,te=typeof globalThis<"u"?globalThis:self;te&&!te.Squire&&(te.Squire=ca),te&&!te.DOMPurify&&(te.DOMPurify=Wa),Ql(gs);var ys=Ki.autoInit(),bs=Ki;return _o(hr)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.RichClay=Qe.default,window.RichClay=window.RichClay||Qe.default,window.h=window.hyperclay);var gt=Qe.default,rc=Qe.default;bo("richclay",xo,{roots:vo});var Xe=null,Co=(v,st)=>Object.assign(new Error(`clay:richclay: ${v}`),{code:st}),Vs=v=>v?v.signal?.aborted?!0:typeof v.isCurrent=="function"&&!v.isCurrent():!1,Gs=v=>({root:v,win:v.ownerDocument?.defaultView||window,admitted:!1,stopWatch:null,subscriber:null}),wo=v=>[...v.root.querySelectorAll(gt.selector)];function So(v){for(let st of gt.init(wo(v)))st.reattach()}function Zs(v){let st=()=>So(v);return{enable(){if(v.admitted)return;v.admitted=!0,So(v),v.stopWatch=gt.watch(v.win);let at=v.root.ownerDocument||document;v.subscriber={target:at,type:"clay:sync-applied",handler:st},at.addEventListener(v.subscriber.type,st)},quiesce(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null)},resume(){v.admitted||(v.admitted=!0,v.stopWatch=gt.watch(v.win))},dispose(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null);let at=v.subscriber;v.subscriber=null,at&&at.target.removeEventListener(at.type,at.handler);for(let Je of wo(v))gt.stripElement(Je);Xe===v&&(Xe=null)}}}function Ys(v=document){return{id:"clay:richclay",order:310,async prepare(st={}){if(st.initial===!0)return Qs();if(typeof gt.watch!="function"||typeof gt.stripElement!="function")throw Co("this vendor build has no watchable lifecycle","unsupported-plugin");if(Vs(st))throw Co("prepared for a stale generation","stale-document");let at=gt.autoInit?.();return typeof at=="function"&&at(),Zs(Xe||(Xe=Gs(v)))}}}async function Qs(){let v=await Js;return{enable(){},quiesce:()=>v?.quiesce(),resume:()=>v?.resume(),dispose:()=>v?.dispose()}}async function Xs(){if(!yo())return null;let v=await Ys().prepare();return v.enable(),v}var Js=Xs();var fc=gt;export{gt as RichClay,fc as default,Xs as init,Ys as modeParticipant,Js as ready,Ys as richclayParticipant};
517
- /*! For license information please see richclay-RC3L2F6X.js.LEGAL.txt */
517
+ /*! For license information please see richclay-KLGETK77.js.LEGAL.txt */
@@ -0,0 +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-ZWIOJGMT.js";import"../c-IJUK2GPW.js";import{f as F,k as R}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{k as N}from"../c-7MG5RU63.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import{e as D}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var L=D("history"),W="[cms-template]",O=["draggable","style"],X=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,E=null,p=null;function T(e,t,n,r,i){let s={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(s),s}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(L)).map(t=>[t,O.map(n=>t.getAttribute(n))])}function P(e){for(let[t,n]of e)O.forEach((r,i)=>{let s=n[i],a=t.getAttribute(r);if(a!==s)if(s===null){if(r==="style"&&a)return;t.removeAttribute(r)}else t.setAttribute(r,s)})}function B(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function ee(e){return`> ${B(e)}:not(${L})`}function V(e,t){return!e||!t||t.nodeType!==1||!t.matches(B(e))?!1:!t.closest(L)&&!t.closest(W)}function q(e,t){return!e||!t||t.parentElement!==e?!1:V(e,t)}function te(e,t){let n=t.nextElementSibling;for(;n&&!q(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),t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let s=e.querySelectorAll("[sortable-handle]"),a=e.querySelectorAll("[sortable]");Array.from(s).some(o=>!Array.from(a).some(l=>l.contains(o)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(o){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,o)}catch(l){console.error("Error in onsorting execution:",l)}});let f=e.getAttribute("onsorted");r.onEnd=function(o){if(!n.admitted)return;let l={item:o.item,from:o.from,to:o.to,oldIndex:o.oldIndex,newIndex:o.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 o=u;u=null,m=null,g(o)},k=()=>{let o=d;d=null,o&&(n.presses.delete(o),y.delete(o),m=o),v.forEach(l=>H(n,l)),v=[],o&&_(n,()=>P(o))},Q=o=>{A&&o?.type==="pointercancel"||(A=!1,w?I(u):(g(u),u=null),w=!1,k(),_(n,K))};T(n,e,"pointerdown",o=>{let l=o.target instanceof Element?o.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=>T(n,document,b,Q,!0)),v.push(T(n,document,"dragstart",()=>{A=!0},!0)))},!0),r.onUnchoose=k,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 s=e.parentElement;if(!s||!s.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!s.hasAttribute("sortable")||!q(s,e)||!t.hasAttribute("sortable")||!V(t,e)||e===t||e.contains(t))return r("item");if(s!==t){let f=s.getAttribute("sortable");if(!f||f!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!q(t,n))return r("anchor");if(s===t&&te(s,e)===n)return{ok:!0,moved:!1};let a=j(s,e),S=x(e);I(S);let c;try{t.insertBefore(e,n),c={item:e,from:s,to:t,oldIndex:a,newIndex:j(t,e)},M(S,c)}finally{g(S)}return G(c,s.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,s]of r)n.set(i,s);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&O.forEach((s,a)=>{i[a]===null?r.removeAttribute(s):r.setAttribute(s,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};
@@ -0,0 +1 @@
1
+ import"../c-B7J4K2AE.js";import{a as d}from"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import"../c-NQJRVJ56.js";import"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import{k as p}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-7MG5RU63.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.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-V44KWI2L.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};
@@ -0,0 +1 @@
1
+ import{b as Ze,c as Qe}from"../c-7DJDKPGL.js";import{g as re}from"../c-FWKHM4E7.js";import{a as te}from"../c-WYFDLITL.js";import"../c-ZWIOJGMT.js";import"../c-IJUK2GPW.js";import{k as Ge}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{a as Ye}from"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import{l as Xe}from"../c-HA6INT6J.js";import"../c-DCFSEJZG.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-NEL7HQW3.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 l}from"../c-2SPVQSHC.js";import{b as u}from"../c-CYWLPPUS.js";import"../c-VHNSBD2M.js";var p="unsent",o=new Map(Object.entries(u.session.get(p)||{})),r=new WeakMap,m=l({id:"unsent",isPending:()=>o.size>0}),d=e=>{let t=e.closest("[unsent-key]"),n=t&&t.getAttribute("unsent-key")||e.closest("[data-id]")?.dataset.id,s=e.getAttribute("unsent");return n&&s?`${n}|${s}`:null},g=e=>{let t=e.indexOf("|");return[e.slice(0,t),e.slice(t+1)]};function c(){u.session.set(p,Object.fromEntries(o)),m.changed(),document.dispatchEvent(new CustomEvent("clay:unsent-changed",{detail:{count:o.size}}))}function v(e){let t=e.target.closest?.("[unsent]");t&&!r.has(t)&&r.set(t,t.value)}function y(e){let t=e.target.closest?.("[unsent]"),n=t&&d(t);if(!n)return;let s=r.get(t)??o.get(n)?.base??"";t.value===s?(o.delete(n),r.delete(t)):o.set(n,{base:s,text:t.value}),c()}function i(e){let t=d(e),n=t&&o.get(t);if(!n)return;let s=e.value;r.set(e,n.base),e.value=n.text,e.dispatchEvent(new CustomEvent("clay:unsent-restored",{bubbles:!0,detail:{base:n.base,current:s,stale:s!==n.base}}))}var E=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes)if(n.nodeType===1){n.matches("[unsent]")&&i(n);for(let s of n.querySelectorAll("[unsent]"))i(s)}});function b(){for(let e of document.querySelectorAll("[unsent]"))i(e)}var f=!1;function a(){f||(f=!0,document.addEventListener("beforeinput",v,!0),document.addEventListener("input",y,!0),E.observe(document.body,{childList:!0,subtree:!0}))}a();b();function k(){return{id:"clay:unsent",order:320,prepare(e={}){return e.initial===!0?{enable(){},quiesce(){},resume(){},dispose(){}}:(a(),{enable(){a(),b()},quiesce(){},resume(){},dispose(){}})}}}var w={get size(){return o.size},list:()=>[...o].map(([e,t])=>{let[n,s]=g(e);return{record:n,name:s,...t}}),clear(e){let t=d(e);t&&o.delete(t)&&c(),r.delete(e)},drop(e,t){o.delete(`${e}|${t}`)&&c()}};export{k as modeParticipant,w as unsent,k as unsentParticipant};
1
+ import{a as l}from"../c-I2SCCUEW.js";import{b as u}from"../c-CYWLPPUS.js";import"../c-VHNSBD2M.js";var p="unsent",o=new Map(Object.entries(u.session.get(p)||{})),r=new WeakMap,m=l({id:"unsent",isPending:()=>o.size>0}),d=e=>{let t=e.closest("[unsent-key]"),n=t&&t.getAttribute("unsent-key")||e.closest("[data-id]")?.dataset.id,s=e.getAttribute("unsent");return n&&s?`${n}|${s}`:null},g=e=>{let t=e.indexOf("|");return[e.slice(0,t),e.slice(t+1)]};function c(){u.session.set(p,Object.fromEntries(o)),m.changed(),document.dispatchEvent(new CustomEvent("clay:unsent-changed",{detail:{count:o.size}}))}function v(e){let t=e.target.closest?.("[unsent]");t&&!r.has(t)&&r.set(t,t.value)}function y(e){let t=e.target.closest?.("[unsent]"),n=t&&d(t);if(!n)return;let s=r.get(t)??o.get(n)?.base??"";t.value===s?(o.delete(n),r.delete(t)):o.set(n,{base:s,text:t.value}),c()}function i(e){let t=d(e),n=t&&o.get(t);if(!n)return;let s=e.value;r.set(e,n.base),e.value=n.text,e.dispatchEvent(new CustomEvent("clay:unsent-restored",{bubbles:!0,detail:{base:n.base,current:s,stale:s!==n.base}}))}var E=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes)if(n.nodeType===1){n.matches("[unsent]")&&i(n);for(let s of n.querySelectorAll("[unsent]"))i(s)}});function b(){for(let e of document.querySelectorAll("[unsent]"))i(e)}var f=!1;function a(){f||(f=!0,document.addEventListener("beforeinput",v,!0),document.addEventListener("input",y,!0),E.observe(document.body,{childList:!0,subtree:!0}))}a();b();function k(){return{id:"clay:unsent",order:320,prepare(e={}){return e.initial===!0?{enable(){},quiesce(){},resume(){},dispose(){}}:(a(),{enable(){a(),b()},quiesce(){},resume(){},dispose(){}})}}}var w={get size(){return o.size},list:()=>[...o].map(([e,t])=>{let[n,s]=g(e);return{record:n,name:s,...t}}),clear(e){let t=d(e);t&&o.delete(t)&&c(),r.delete(e)},drop(e,t){o.delete(`${e}|${t}`)&&c()}};export{k as modeParticipant,w as unsent,k as unsentParticipant};
@@ -0,0 +1 @@
1
+ import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var T="hha:upgrade-check:",V=1440*60*1e3,S="upgrade-dismissed",M="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function P(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${T}${o.href}:${t}`,u=P(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<V)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=($,R=null)=>({status:$,version:u,update:R}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?`This doc is at latest version (${t})`:`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(M,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-GNDL3TKB.js")).replace(e,t)}function B(e){import("../c-DVYGFTSK.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
@@ -0,0 +1 @@
1
+ import{b as r,c as p,d as n,e as u}from"../c-5B4YBZXC.js";import"../c-I2SCCUEW.js";import"../c-XGH4GS2T.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-L42OLXWM.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};