@panphora/clayjs 1.15.1 → 1.16.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 (506) hide show
  1. package/README.md +4 -5
  2. package/THIRD-PARTY-NOTICES.md +16 -0
  3. package/compat/highlight-11.9.0.min.js +1213 -0
  4. package/compat/highlight-LICENSE +29 -0
  5. package/compat/journal-assets.lock.json +22 -0
  6. package/compat/overtype-2.6.1.min.js +116 -0
  7. package/compat/overtype-LICENSE +21 -0
  8. package/dist/all.js +90 -0
  9. package/dist/clay-dom.js +84 -0
  10. package/dist/clay-events.js +103 -0
  11. package/dist/clay-internals.js +85 -0
  12. package/dist/clay-options.js +93 -0
  13. package/dist/clay-router.js +98 -0
  14. package/dist/clay-ui.js +95 -0
  15. package/dist/clay-utils.js +84 -0
  16. package/dist/clay.js +146 -0
  17. package/dist/clay.standalone.js +83090 -58706
  18. package/dist/m/attrs/add-from-T5LJXFFI.js +1 -0
  19. package/dist/m/attrs/onaftersave-OKSWEJQF.js +1 -0
  20. package/dist/m/attrs/refetch-on-save-NWPPXOCZ.js +1 -0
  21. package/dist/m/attrs/save-freeze-FUP4Q4X3.js +1 -0
  22. package/dist/m/c-2AZDZWCK.js +1 -0
  23. package/dist/m/c-2JL6E75N.js +1 -0
  24. package/dist/m/c-2M73252O.js +1 -0
  25. package/dist/m/c-2SPVQSHC.js +1 -0
  26. package/dist/m/c-33HUYEDI.js +1 -0
  27. package/dist/m/c-33JJ6CBX.js +2 -0
  28. package/dist/m/c-35NBGMZB.js +1 -0
  29. package/dist/m/c-3GJ4SDE2.js +1 -0
  30. package/dist/m/c-3IQRECYS.js +1 -0
  31. package/dist/m/c-3OWDMNJR.js +2 -0
  32. package/dist/m/c-46XYM55L.js +1 -0
  33. package/dist/m/c-4B6H4G5V.js +1 -0
  34. package/dist/m/c-4DRMS4QG.js +9 -0
  35. package/dist/m/c-4FFHZM32.js +1 -0
  36. package/dist/m/c-4JZDZFF6.js +1 -0
  37. package/dist/m/c-4L3BTFRK.js +1 -0
  38. package/dist/m/c-4Q2XTQ2N.js +2 -0
  39. package/dist/m/c-4WKFKEKF.js +1 -0
  40. package/dist/m/c-4YSCRICO.js +1 -0
  41. package/dist/m/c-54RCDCBU.js +1 -0
  42. package/dist/m/c-5M4YEKCX.js +4 -0
  43. package/dist/m/c-5R4PTRG2.js +1 -0
  44. package/dist/m/c-5V3MOVJT.js +1 -0
  45. package/dist/m/c-5VYOWDTI.js +1 -0
  46. package/dist/m/c-5Y6TNX5W.js +34 -0
  47. package/dist/m/c-5YIHJ3TJ.js +1 -0
  48. package/dist/m/c-66O32MV3.js +28 -0
  49. package/dist/m/c-6HMB24EV.js +1 -0
  50. package/dist/m/c-7DJDKPGL.js +1 -0
  51. package/dist/m/c-7O6AFR65.js +1 -0
  52. package/dist/m/c-7SWMYKAI.js +1 -0
  53. package/dist/m/c-7VGZ7RU5.js +1 -0
  54. package/dist/m/c-A7LS5UZW.js +1 -0
  55. package/dist/m/c-ANQTJ3B5.js +2 -0
  56. package/dist/m/c-AQLFEATB.js +1 -0
  57. package/dist/m/c-AYVOREBE.js +1 -0
  58. package/dist/m/c-B2ZXPOS3.js +3 -0
  59. package/dist/m/c-BBVGTQG7.js +1 -0
  60. package/dist/m/c-BMIZKMPV.js +1 -0
  61. package/dist/m/c-BTDI4Y23.js +1 -0
  62. package/dist/m/c-BWFVSBDF.js +1 -0
  63. package/dist/m/c-BYTKL6UX.js +1 -0
  64. package/dist/m/c-CFHW5AMY.js +6 -0
  65. package/dist/m/c-CJZSLMVQ.js +1 -0
  66. package/dist/m/c-CYWLPPUS.js +1 -0
  67. package/dist/m/c-CZUSOB7V.js +1 -0
  68. package/dist/m/c-DBE6ORSI.js +1 -0
  69. package/dist/m/c-DCFSEJZG.js +1 -0
  70. package/dist/m/c-DNZ5IFM6.js +1 -0
  71. package/dist/m/c-EDHUR4MX.js +1 -0
  72. package/dist/m/c-EJTGYSLN.js +1 -0
  73. package/dist/m/c-EY6UOM54.js +1 -0
  74. package/dist/m/c-F3CKJTJS.js +1 -0
  75. package/dist/m/c-F7Y6FLPY.js +1 -0
  76. package/dist/m/c-FA4DZVTC.js +1 -0
  77. package/dist/m/c-FILLTJA7.js +1 -0
  78. package/dist/m/c-G2BUZITR.js +1 -0
  79. package/dist/m/c-GB3JTV6E.js +1 -0
  80. package/dist/m/c-GBGWXTX4.js +1 -0
  81. package/dist/m/c-GHBCCVG4.js +1 -0
  82. package/dist/m/c-GJAEGGXY.js +1 -0
  83. package/dist/m/c-GOWBDM6J.js +1 -0
  84. package/dist/m/c-GQ6F6IDK.js +1 -0
  85. package/dist/m/c-H4LG442Q.js +1 -0
  86. package/dist/m/c-HA6INT6J.js +1 -0
  87. package/dist/m/c-HPURYVZS.js +2 -0
  88. package/dist/m/c-HRDCD3WN.js +67 -0
  89. package/dist/m/c-HT33EQRN.js +1 -0
  90. package/dist/m/c-HVYXIS72.js +1 -0
  91. package/dist/m/c-IB52R237.js +1 -0
  92. package/dist/m/c-IJUK2GPW.js +1 -0
  93. package/dist/m/c-IKWNE4R4.js +1 -0
  94. package/dist/m/c-IU3IYEU6.js +1 -0
  95. package/dist/m/c-IZ2EBRAJ.js +1 -0
  96. package/dist/m/c-J7CA54IP.js +1 -0
  97. package/dist/m/c-JAX2667S.js +6 -0
  98. package/dist/m/c-KI7M4AY3.js +1 -0
  99. package/dist/m/c-KIPQJX4B.js +1 -0
  100. package/dist/m/c-KKWLDOPM.js +1 -0
  101. package/dist/m/c-KR4UW4KW.js +1 -0
  102. package/dist/m/c-KY3VJGUA.js +8 -0
  103. package/dist/m/c-L4WQSC27.js +1 -0
  104. package/dist/m/c-LFPHCXY3.js +1 -0
  105. package/dist/m/c-LR4CGEPT.js +91 -0
  106. package/dist/m/c-LRPUO2MX.js +1 -0
  107. package/dist/m/c-LTGMXXKO.js +1 -0
  108. package/dist/m/c-LXENEBV7.js +1 -0
  109. package/dist/m/c-LZJPNR2W.js +1 -0
  110. package/dist/m/c-MMUIUUZG.js +2 -0
  111. package/dist/m/c-MTQHWQC3.js +1 -0
  112. package/dist/m/c-N326R2JD.js +1 -0
  113. package/dist/m/c-N7JPUPGC.js +1 -0
  114. package/dist/m/c-NMJRXKPC.js +8 -0
  115. package/dist/m/c-NRPJEVJS.js +1 -0
  116. package/dist/m/c-NUHP2XDB.js +1 -0
  117. package/dist/m/c-NZMNXVF6.js +1 -0
  118. package/dist/m/c-OCSZ4QGN.js +1 -0
  119. package/dist/m/c-OIBUTDXI.js +1 -0
  120. package/dist/m/c-OIDRZKAF.js +1 -0
  121. package/dist/m/c-OYTFP5QN.js +1 -0
  122. package/dist/m/c-P7KNDG34.js +1 -0
  123. package/dist/m/c-PPOSCAQD.js +1 -0
  124. package/dist/m/c-PQ5LK6QE.js +993 -0
  125. package/dist/m/c-PZ4XEPUP.js +2 -0
  126. package/dist/m/c-QHIWXHRO.js +1 -0
  127. package/dist/m/c-QHWJ5ZIJ.js +1 -0
  128. package/dist/m/c-QIX5BJYN.js +1 -0
  129. package/dist/m/c-QNKREOL6.js +1 -0
  130. package/dist/m/c-QQHEX6HA.js +1 -0
  131. package/dist/m/c-R7RMANJI.js +9 -0
  132. package/dist/m/c-RI4NT75Y.js +1 -0
  133. package/dist/m/c-RM7J7BV2.js +1 -0
  134. package/dist/m/c-RUJKSUQW.js +1 -0
  135. package/dist/m/c-RVMWGXEJ.js +1 -0
  136. package/dist/m/c-S7H2DRCB.js +1 -0
  137. package/dist/m/c-S7LK4KUE.js +1 -0
  138. package/dist/m/c-SGCCC4FW.js +25 -0
  139. package/dist/m/c-SGIA4IEQ.js +188 -0
  140. package/dist/m/c-SWRJFCNN.js +1 -0
  141. package/dist/m/c-T4VO4OCB.js +1 -0
  142. package/dist/m/c-TCCA5BZN.js +2 -0
  143. package/dist/m/c-TQEMVJCS.js +1 -0
  144. package/dist/m/c-TQZ2JYHD.js +1 -0
  145. package/dist/m/c-TR6RMDQ7.js +3 -0
  146. package/dist/m/c-TRS6TM6O.js +1 -0
  147. package/dist/m/c-UGHH4MB3.js +1 -0
  148. package/dist/m/c-UKHTLWUW.js +1 -0
  149. package/dist/m/c-UL2YUY52.js +1 -0
  150. package/dist/m/c-UNN7LWCT.js +1 -0
  151. package/dist/m/c-UXBMRDZB.js +235 -0
  152. package/dist/m/c-V7PZZRG7.js +1 -0
  153. package/dist/m/c-VAK7SG37.js +1 -0
  154. package/dist/m/c-VDSS4K3Z.js +1 -0
  155. package/dist/m/c-VFX45IZQ.js +1 -0
  156. package/dist/m/c-VHNSBD2M.js +1 -0
  157. package/dist/m/c-VKEDWYDF.js +1 -0
  158. package/dist/m/c-VL52ADDR.js +1 -0
  159. package/dist/m/c-WN5AY3OZ.js +1 -0
  160. package/dist/m/c-WNYBLIOZ.js +1 -0
  161. package/dist/m/c-WRBKEJD4.js +1 -0
  162. package/dist/m/c-WWDBYXLK.js +1 -0
  163. package/dist/m/c-WYFDLITL.js +1 -0
  164. package/dist/m/c-XN6MBKI6.js +67 -0
  165. package/dist/m/c-XNNW2CWK.js +1 -0
  166. package/dist/m/c-XPELB6E5.js +1 -0
  167. package/dist/m/c-XQXZAO7N.js +1 -0
  168. package/dist/m/c-Y6USGTS5.js +5 -0
  169. package/dist/m/c-YDH7Q3NY.js +1 -0
  170. package/dist/m/c-YG2NJYS6.js +135 -0
  171. package/dist/m/c-Z36J63PP.js +1 -0
  172. package/dist/m/c-Z4VRC7GU.js +7 -0
  173. package/dist/m/c-Z6K52OLP.js +19 -0
  174. package/dist/m/c-ZDY2MDAA.js +21 -0
  175. package/dist/m/c-ZE46QDIH.js +1 -0
  176. package/dist/m/c-ZUCOKOHT.js +1 -0
  177. package/dist/m/core/admin-attrs-VGNLAUDK.js +1 -0
  178. package/dist/m/core/autosave-E4PEFPZ6.js +1 -0
  179. package/dist/m/core/conflict-notice-VQ6Y64PH.js +1 -0
  180. package/dist/m/core/draft-mode-WSQAT67S.js +1 -0
  181. package/dist/m/core/host-permission-XN3K2IW3.js +1 -0
  182. package/dist/m/core/is-edit-mode-JXHDVGUL.js +1 -0
  183. package/dist/m/core/persist-HKHA66IY.js +3 -0
  184. package/dist/m/core/recovery-TBBSICE2.js +1 -0
  185. package/dist/m/core/save-WUCHTQBE.js +1 -0
  186. package/dist/m/core/save-core-FJVHT5M3.js +1 -0
  187. package/dist/m/core/snapshot-F3SWDZMM.js +1 -0
  188. package/dist/m/core/unsaved-warning-STKBHE6G.js +1 -0
  189. package/dist/m/dom/all-APS5ZSKP.js +1 -0
  190. package/dist/m/dom/dom-helpers-L7OSR6S4.js +1 -0
  191. package/dist/m/events/index-23DPTUT4.js +1 -0
  192. package/dist/m/internals/index-WOVAP3RU.js +1 -0
  193. package/dist/m/lib/cache-bust-CGWT6ZJI.js +1 -0
  194. package/dist/m/lib/region-policy-SB2AWVG5.js +1 -0
  195. package/dist/m/loader-HXX6YNH5.js +1 -0
  196. package/dist/m/manifest-F22DEDAC.js +1 -0
  197. package/dist/m/manifest-edit-C3C7376B.js +1 -0
  198. package/dist/m/manifest.json +3491 -0
  199. package/dist/m/options/options-2LH76JQ3.js +1 -0
  200. package/dist/m/page/editor-XUTB2HB2.js +189 -0
  201. package/dist/m/plugins/ai-edit-ZQ4CGWIP.js +6 -0
  202. package/dist/m/plugins/bind-text-NX46N5UV.js +1 -0
  203. package/dist/m/plugins/cms-HP3LSTPN.js +2293 -0
  204. package/dist/m/plugins/demo-ZIBFAA3R.js +1 -0
  205. package/dist/m/plugins/derive-UAAA4V4S.js +1 -0
  206. package/dist/m/plugins/indicator-PV4YW2ID.js +1 -0
  207. package/dist/m/plugins/live-NUTTXSBS.js +1 -0
  208. package/dist/m/plugins/menu-HCKO3DSP.js +138 -0
  209. package/dist/m/plugins/message-LQ6EDH4V.js +1 -0
  210. package/dist/m/plugins/page-KSUH7G6J.js +2 -0
  211. package/dist/m/plugins/page-view-W73OW7WI.js +1 -0
  212. package/dist/m/plugins/people-AJJ32YCG.js +1 -0
  213. package/dist/m/plugins/quickcrop-QNY3PKLD.js +26 -0
  214. package/dist/m/plugins/quickcrop-QNY3PKLD.js.LEGAL.txt +7 -0
  215. package/dist/m/plugins/richclay-RC3L2F6X.js +517 -0
  216. package/dist/m/plugins/richclay-RC3L2F6X.js.LEGAL.txt +1 -0
  217. package/dist/m/plugins/sortable-YRMQX3ZU.js +1 -0
  218. package/dist/m/plugins/source-KHK5UUSK.js +1 -0
  219. package/dist/m/plugins/undo-OF2L3CXU.js +1 -0
  220. package/dist/m/plugins/unsent-HJFLQJ2O.js +1 -0
  221. package/dist/m/plugins/upgrade-ZNYODP5Y.js +1 -0
  222. package/dist/m/plugins/upload-XSGNILUY.js +1 -0
  223. package/dist/m/plugins/visitor-drafts-XK5GW55Q.js +21 -0
  224. package/dist/m/plugins/visitor-drafts-owner-KSSH75EV.js +1 -0
  225. package/dist/m/plugins/wire-ZWVWKF76.js +1 -0
  226. package/dist/m/reader-core-ILWLXVMP.js +68 -0
  227. package/dist/m/route/route-KOCZSEGN.js +1 -0
  228. package/dist/m/sync/live-sync-4AUVXVJU.js +1 -0
  229. package/dist/m/ui/index-EVHKMKBL.js +1 -0
  230. package/dist/m/utils/index-4TJCVLT7.js +1 -0
  231. package/dist/m/vendor/Sortable.vendor-A755ITLN.js +3 -0
  232. package/dist/m/vendor/Sortable.vendor-A755ITLN.js.LEGAL.txt +1 -0
  233. package/dist/m/vendor/sap-core.vendor-A7BMUYZT.js +6 -0
  234. package/dist/offline-manifest.json +3800 -0
  235. package/dist/page/themes/light-1.css +406 -0
  236. package/dist/server/core.cjs +23662 -22860
  237. package/dist/server/offline-runtime.cjs +4954 -0
  238. package/dist/server/offline-runtime.mjs +4923 -0
  239. package/dist/server/rooms.mjs +9 -0
  240. package/docs/guide.md +1078 -669
  241. package/entries/all.js +2 -0
  242. package/entries/clay-data.js +1 -1
  243. package/entries/clay-dom.js +2 -0
  244. package/entries/clay-events.js +2 -0
  245. package/entries/clay-internals.js +2 -0
  246. package/entries/clay-options.js +2 -0
  247. package/entries/clay-router.js +2 -0
  248. package/entries/clay-ui.js +2 -0
  249. package/entries/clay-utils.js +2 -0
  250. package/entries/clay.js +2 -0
  251. package/entries/sap.js +6 -6
  252. package/fonts/ibm-plex-mono-LICENSE +93 -0
  253. package/fonts/ibm-plex-mono-latin-300-normal.woff2 +0 -0
  254. package/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
  255. package/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
  256. package/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
  257. package/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
  258. package/fonts/ibm-plex-sans-LICENSE +93 -0
  259. package/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
  260. package/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
  261. package/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
  262. package/fonts/ibm-plex.css +71 -0
  263. package/fonts/inter-LICENSE +93 -0
  264. package/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  265. package/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  266. package/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  267. package/fonts/inter-greek-wght-normal.woff2 +0 -0
  268. package/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  269. package/fonts/inter-latin-wght-normal.woff2 +0 -0
  270. package/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  271. package/fonts/inter.css +62 -0
  272. package/fonts/newsreader-LICENSE +93 -0
  273. package/fonts/newsreader-latin-ext-opsz-normal.woff2 +0 -0
  274. package/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
  275. package/fonts/newsreader-vietnamese-opsz-normal.woff2 +0 -0
  276. package/fonts/newsreader.css +26 -0
  277. package/fonts/work-sans-LICENSE +93 -0
  278. package/fonts/work-sans-latin-wght-normal.woff2 +0 -0
  279. package/fonts/work-sans.css +8 -0
  280. package/package.json +20 -3
  281. package/packed-contract.json +1 -0
  282. package/src/attrs/add-from.js +27 -4
  283. package/src/attrs/save-freeze.js +7 -52
  284. package/src/core/admin-attrs.js +119 -12
  285. package/src/core/admin-contenteditable.js +12 -10
  286. package/src/core/admin-inputs.js +14 -15
  287. package/src/core/admin-onclick.js +2 -0
  288. package/src/core/autosave.js +74 -21
  289. package/src/core/conflict-download.js +22 -0
  290. package/src/core/conflict-notice-ui.js +1173 -0
  291. package/src/core/conflict-notice.js +140 -697
  292. package/src/core/edit-mode.js +147 -14
  293. package/src/core/etag.js +30 -12
  294. package/src/core/host-meta.js +72 -8
  295. package/src/core/host-permission.js +29 -0
  296. package/src/core/is-edit-mode.js +145 -12
  297. package/src/core/mode-key.js +125 -0
  298. package/src/core/mode-lifecycle.js +544 -0
  299. package/src/core/mode-receipt.js +30 -0
  300. package/src/core/mode-refusal.js +13 -0
  301. package/src/core/mode-resources.js +52 -0
  302. package/src/core/mode-support.js +82 -0
  303. package/src/core/mode-switch.js +259 -0
  304. package/src/core/mode-transition.js +112 -0
  305. package/src/core/page-data-write.js +305 -0
  306. package/src/core/page-data.js +26 -227
  307. package/src/core/page-format-wire.js +4 -0
  308. package/src/core/page-format.js +58 -0
  309. package/src/core/persist.js +37 -9
  310. package/src/core/preserve-authored.js +114 -0
  311. package/src/core/recovery.js +772 -0
  312. package/src/core/runtime-url.js +105 -0
  313. package/src/core/save-core.js +109 -12
  314. package/src/core/save-replace.js +72 -0
  315. package/src/core/save-size-notice.js +134 -0
  316. package/src/core/save-size.js +140 -0
  317. package/src/core/save.js +805 -118
  318. package/src/core/snapshot.js +121 -11
  319. package/src/core/source-map.js +157 -9
  320. package/src/core/unsaved-warning.js +14 -4
  321. package/src/core/upgrade-run.js +408 -0
  322. package/src/core/version.js +18 -0
  323. package/src/lib/assets.js +30 -0
  324. package/src/lib/autosave-debug-gate.js +50 -0
  325. package/src/lib/autosave-scheduler.js +141 -0
  326. package/src/lib/boot-imports.js +8 -0
  327. package/src/lib/derived.js +3 -1
  328. package/src/lib/dirty-gate.js +15 -0
  329. package/src/lib/doc-storage.js +33 -0
  330. package/src/lib/effect.js +9 -4
  331. package/src/lib/mutation.js +4 -2
  332. package/src/lib/offline-runtime.js +226 -0
  333. package/src/lib/preload.js +48 -0
  334. package/src/lib/root-attrs.js +1 -1
  335. package/src/lib/trash.js +18 -0
  336. package/src/lib/undo/capture-move.js +152 -0
  337. package/src/live/local-channel.js +61 -0
  338. package/src/live/local-lane.js +60 -9
  339. package/src/live/server-lane.js +6 -3
  340. package/src/loader-logic.js +76 -15
  341. package/src/loader.js +218 -30
  342. package/src/page/adopt-boot.js +76 -22
  343. package/src/page/adopt.js +25 -4
  344. package/src/page/awareness.js +230 -0
  345. package/src/page/blocks.js +79 -5
  346. package/src/page/blocksel.js +20 -4
  347. package/src/page/board-face.js +13 -0
  348. package/src/page/board-panel.js +5 -17
  349. package/src/page/board-style.js +2 -13
  350. package/src/page/board-view.js +1 -11
  351. package/src/page/board-views.js +17 -0
  352. package/src/page/board.js +2 -2
  353. package/src/page/boot-pack.js +26 -0
  354. package/src/page/boot.js +237 -0
  355. package/src/page/checklist.js +1 -1
  356. package/src/page/chrome.js +411 -61
  357. package/src/page/csv-import.js +17 -2
  358. package/src/page/document-title-dom.js +40 -0
  359. package/src/page/document-title-runtime.js +76 -0
  360. package/src/page/document-title.js +9 -0
  361. package/src/page/drag.js +48 -13
  362. package/src/page/drop.js +2 -1
  363. package/src/page/editor.js +330 -86
  364. package/src/page/feature-loader.js +72 -0
  365. package/src/page/features/board.js +12 -0
  366. package/src/page/features/code.js +13 -0
  367. package/src/page/features/media.js +290 -0
  368. package/src/page/features/registry.js +23 -0
  369. package/src/page/features/table.js +383 -0
  370. package/src/page/{tool-view.js → features/tool.js} +33 -2
  371. package/src/page/format-codec.js +215 -0
  372. package/src/page/format-gate.js +179 -0
  373. package/src/page/format-level.js +157 -0
  374. package/src/page/highlight-slot.js +23 -0
  375. package/src/page/highlight.js +30 -16
  376. package/src/page/history-intent.js +78 -0
  377. package/src/page/inline.js +18 -25
  378. package/src/page/items.js +52 -11
  379. package/src/page/link.js +1 -0
  380. package/src/page/markdown.js +86 -1
  381. package/src/page/media-views.js +3 -0
  382. package/src/page/media.js +33 -245
  383. package/src/page/outline-cache.js +11 -0
  384. package/src/page/placeholder.js +27 -7
  385. package/src/page/projection.js +196 -50
  386. package/src/page/reader-patch.js +306 -0
  387. package/src/page/recover.js +1 -1
  388. package/src/page/rich/page-tool.js +1 -4
  389. package/src/page/runtime-owner.js +27 -0
  390. package/src/page/save-projection.js +7 -4
  391. package/src/page/schema.js +14 -0
  392. package/src/page/table-rect-key.js +3 -0
  393. package/src/page/table-select.js +4 -3
  394. package/src/page/table-style.js +1 -1
  395. package/src/page/table-views.js +3 -0
  396. package/src/page/table.js +8 -293
  397. package/src/page/themes/light-1.css +139 -2
  398. package/src/page/themes/light-1.source.css +269 -0
  399. package/src/page/tool-capability.js +3 -0
  400. package/src/page/tool-views.js +3 -0
  401. package/src/page/view.js +390 -107
  402. package/src/page/ybind/awareness.js +172 -0
  403. package/src/page/ybind/binding.js +9 -1
  404. package/src/page/ybind/bridge.js +50 -47
  405. package/src/page/ybind/decode.js +52 -19
  406. package/src/page/ybind/doc.js +27 -2
  407. package/src/page/ybind/group.js +12 -3
  408. package/src/page/ybind/index.js +2 -0
  409. package/src/page/ybind/lineage.js +71 -0
  410. package/src/page/ybind/marks.js +25 -1
  411. package/src/page/ybind/migrate.js +48 -13
  412. package/src/page/ybind/moves.js +32 -21
  413. package/src/page/ybind/positions.js +50 -0
  414. package/src/page/ybind/provider.js +84 -22
  415. package/src/page/ybind/recovery-proof.js +191 -0
  416. package/src/page/ybind/recovery-replay.js +130 -0
  417. package/src/page/ybind/tokens.js +15 -6
  418. package/src/page/ybind/walk.js +10 -3
  419. package/src/page/ybind/writer.js +48 -4
  420. package/src/plugins/ai-edit.js +167 -32
  421. package/src/plugins/bind-text.js +218 -0
  422. package/src/plugins/cms.js +93 -0
  423. package/src/plugins/indicator.js +57 -5
  424. package/src/plugins/live.js +282 -34
  425. package/src/plugins/menu/claygoo.svg.js +1 -0
  426. package/src/plugins/menu/seo-head.js +323 -0
  427. package/src/plugins/menu/seo.js +849 -0
  428. package/src/plugins/menu.js +425 -0
  429. package/src/plugins/page-view.js +131 -0
  430. package/src/plugins/page.js +1022 -275
  431. package/src/plugins/people.js +158 -31
  432. package/src/plugins/richclay.js +119 -9
  433. package/src/plugins/sortable.js +370 -60
  434. package/src/plugins/source.js +189 -366
  435. package/src/plugins/undo.js +289 -19
  436. package/src/plugins/unsent.js +132 -0
  437. package/src/plugins/upgrade-run.js +1 -0
  438. package/src/plugins/upgrade.js +210 -0
  439. package/src/plugins/upload-task.js +571 -0
  440. package/src/plugins/upload-ui.js +265 -0
  441. package/src/plugins/upload.js +34 -153
  442. package/src/plugins/visitor-drafts/inert.js +32 -0
  443. package/src/plugins/visitor-drafts/owner-chip.js +3 -0
  444. package/src/plugins/visitor-drafts/prompt.js +2 -2
  445. package/src/plugins/visitor-drafts-owner.js +85 -0
  446. package/src/plugins/visitor-drafts.js +31 -42
  447. package/src/plugins/wire.js +82 -1
  448. package/src/reader-core.js +26 -0
  449. package/src/recovery/conflicts.js +287 -0
  450. package/src/recovery/identity.js +154 -0
  451. package/src/recovery/store.js +792 -0
  452. package/src/recovery/undo.js +257 -0
  453. package/src/server/checkpoint/index.js +68 -4
  454. package/src/server/offline-runtime/index.js +214 -0
  455. package/src/server/rooms/index.js +2 -1
  456. package/src/server/rooms/live-data-rooms.js +2 -2
  457. package/src/server/rooms/page-admission.js +33 -0
  458. package/src/server/rooms/page-lineage.js +56 -0
  459. package/src/server/rooms/page-rebase.js +11 -5
  460. package/src/server/rooms/page-state.js +2 -0
  461. package/src/server/rooms/page-write-admission.js +9 -3
  462. package/src/source/session.js +705 -0
  463. package/src/sync/conflict-revert.js +5 -4
  464. package/src/sync/conflicts-edit.js +119 -0
  465. package/src/sync/conflicts-facade.js +49 -0
  466. package/src/sync/conflicts.js +99 -1
  467. package/src/sync/editing-marker.js +37 -6
  468. package/src/sync/editing-sender.js +8 -1
  469. package/src/sync/live-sync-edit.js +63 -0
  470. package/src/sync/live-sync.js +364 -119
  471. package/src/sync/local-presence.js +187 -0
  472. package/src/sync/merge-declarations.js +10 -0
  473. package/src/sync/merge-engine.js +12 -0
  474. package/src/sync/presence-store.js +412 -0
  475. package/src/sync/presence-target.js +243 -0
  476. package/src/sync/presence.js +72 -41
  477. package/src/sync/saved-handoff.js +200 -0
  478. package/src/sync/saved-stream.js +535 -0
  479. package/src/sync/version-guard.js +92 -0
  480. package/src/sync/wire-profile.js +81 -0
  481. package/src/ui/bevel-controls.js +2 -8
  482. package/src/ui/page-scheme.js +7 -0
  483. package/src/ui/skins/cms.js +1 -1
  484. package/src/ui/theme-config.js +150 -0
  485. package/src/ui/theme.js +6 -138
  486. package/src/ui/toast-lazy.js +11 -0
  487. package/src/vendor/LICENSES-optional.md +253 -0
  488. package/src/vendor/highlight.vendor.js +3 -0
  489. package/src/vendor/hljs-bash.vendor.js +2 -0
  490. package/src/vendor/hljs-css.vendor.js +2 -0
  491. package/src/vendor/hljs-javascript.vendor.js +2 -0
  492. package/src/vendor/hljs-json.vendor.js +2 -0
  493. package/src/vendor/hljs-python.vendor.js +2 -0
  494. package/src/vendor/hljs-xml.vendor.js +2 -0
  495. package/src/vendor/hyper-html-api-data.vendor.js +1 -1
  496. package/src/vendor/hyper-html-api-upgrade.vendor.js +5 -0
  497. package/src/vendor/hyper-morph-identity.vendor.js +2 -0
  498. package/src/vendor/hyper-morph-json.vendor.js +3 -0
  499. package/src/vendor/hyper-morph.vendor.js +6 -6
  500. package/src/vendor/hyper-undo.vendor.js +1 -1
  501. package/src/vendor/hypercms.vendor.js +169 -84
  502. package/src/vendor/marked.vendor.js +68 -0
  503. package/src/vendor/overtype.vendor.js +994 -0
  504. package/src/vendor/richclay.vendor.js +17 -17
  505. package/src/vendor/sap-core.vendor.js +5 -5
  506. package/src/vendor/sap-ownership.vendor.js +11 -7
@@ -0,0 +1 @@
1
+ import{e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m,q as n}from"./c-OIBUTDXI.js";import{a}from"./c-4JZDZFF6.js";import"./c-VAK7SG37.js";import"./c-NUHP2XDB.js";import"./c-VHNSBD2M.js";export{b as RUNTIME_ONLY,g as bevelBox,d as bevelButton,f as bevelCornerClose,e as bevelIconButton,m as bevelInput,i as bevelSurface,k as bevelText,j as bevelWell,a as pageScheme,l as paintInput,c as protectIcon,h as restyleBox,n as setShown};
@@ -0,0 +1 @@
1
+ var f=new Set(["draggable","style"]),t=new Set,u=()=>window.clay?.undo,l=(e,n)=>e.length===n.length&&e.every((o,r)=>o===n[r]);function d(e){return e.from?.getAttribute?.("sortable-label")||e.to?.getAttribute?.("sortable-label")||"Move"}function p(e){let n=e?.parentElement;if(!e||!n)return null;let o={item:e,from:n,children:[...n.children],next:e.nextSibling,previous:e.previousSibling,nodes:new Set([e,...e.querySelectorAll("*")]),held:!1};return t.add(o),o}function v(e,n){if(!f.has(e))return!1;for(let o of t)if(o.nodes.has(n))return!0;return!1}function x(e){for(let n of t)if(n.item===e)return!0;return!1}function c(e){let n=u();return!e||e.held||!n?.pause?!1:(n.pause(),e.held=!0,!0)}function m(e){e&&(t.delete(e),e.held&&(e.held=!1,u()?.resume?.()))}function g(){for(let e of[...t])m(e)}function a(e,n){if(!e.item.isConnected||e.item.parentElement!==n.to)return!0;let o=e.children.filter(i=>i!==e.item),r=[...e.from.children].filter(i=>i!==e.item);return!l(o,r)}function s(e,n){if(n.from!==n.to)return!1;let o=[...n.to.children];return l(o,e.children)}function b(e){let n=r=>r&&r.parentNode===e.from,o=n(e.next)?e.next:null;return{kind:"remove",parent:e.from,nodes:[e.item],before:o,afterAuthored:o,beforeAuthored:n(e.previous)?e.previous:null}}function h(e){return{kind:"add",parent:e.to,nodes:[e.item],before:e.item.nextSibling,afterAuthored:e.item.nextSibling,beforeAuthored:e.item.previousSibling}}function S(e,n){if(!e||!n||n.item!==e.item)return null;let o=d(n);if(a(e,n))return document.dispatchEvent(new CustomEvent("clay:undo-unavailable",{detail:{label:o,code:"conflicted"}})),null;if(s(e,n))return null;let r=u();return!r?.command||!r?.record?null:(c(e),r.command(o,()=>{r.record(b(e)),r.record(h(n))}))}export{p as a,v as b,x as c,c as d,m as e,g as f,S as g};
@@ -0,0 +1 @@
1
+ import{a as S}from"./c-P7KNDG34.js";import{a as k}from"./c-CYWLPPUS.js";import{e as T}from"./c-N7JPUPGC.js";import{d as b,e as s}from"./c-HA6INT6J.js";var C=Object.fromEntries(new URLSearchParams(window.location.search)),n=C;var $=typeof document>"u"?null:document.documentElement.getAttribute("documentetag")||null,R=new Set(["private","public"]),M=(()=>{if(typeof document>"u")return null;let e=document.documentElement.getAttribute("sitevisibility");return R.has(e)?e:null})(),A=!1;function V(){A||!s.some(t=>document.documentElement.getAttribute(t))||(A=!0,console.warn("[clay] This page was served with the pre-1.9.0 save token ("+s.join(", ")+"), which this version no longer accepts. Saving will fail until the host is updated. If this is HTML Clay, upgrade it to 1.9.0 or newer."))}function I(){if(typeof document>"u")return null;for(let e of b){let t=document.documentElement.getAttribute(e);if(t)return t}return V(),null}function l(){return I()!==null}function i(){return typeof document>"u"||I()!==null?!1:s.some(e=>document.documentElement.getAttribute(e))}var w=()=>k("mode-receipt"),L=3e4;function B(){try{return performance.getEntriesByType("navigation")[0]?.type??null}catch{return null}}function _(){let e=null;try{e=sessionStorage.getItem(w()),sessionStorage.removeItem(w())}catch{return null}if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return t?.v!==1||t.path!==location.pathname||t.mode!=="edit"&&t.mode!=="view"||Date.now()-t.at>L||!t.internal&&B()!=="reload"?null:t}function Y({mode:e,canEdit:t,internal:c}){try{sessionStorage.setItem(w(),JSON.stringify({v:1,path:location.pathname,mode:e,canEdit:t,at:Date.now(),internal:c}))}catch{}}var o=null;typeof window<"u"&&(window.clayEditMode!=null?o=!!window.clayEditMode:window.__hyperclayEditMode!=null&&(o=!!window.__hyperclayEditMode));var a=typeof document<"u"&&document.documentElement.hasAttribute("viewonly"),D=typeof document<"u"&&T(),p=!!S.get("isAdminOfCurrentResource"),y=D&&n.editmode!=="false"&&!(n.editmode==="true"&&p)&&!a&&!i()&&o==null&&!l(),E=typeof window<"u"?_():null,N=typeof document<"u"&&document.documentElement.getAttribute("opens-in")==="edit",j=n.editmode?n.editmode==="true"||!a&&!i()&&(o??(l()||p)):a||i()?!1:o??(l()||p),q=E?.canEdit===!0&&o!==!1&&!i()&&!(a&&n.editmode!=="true"),h=j||q,F=y||i()||o===!1||n.editmode==="false"||a&&n.editmode!=="true",m=h;function oe(e){let t=e===!1?!1:e===!0?h||!F:h;t!==m&&(m=t,typeof document<"u"&&document.dispatchEvent(new Event("clay:capabilitychange")))}var K=E?E.mode==="edit":n.editmode?n.editmode==="true":o===!0||N,r=y?!0:m&&K,O=y?"draft":r?"edit":"view",ie=p,u={phase:"idle",destination:y?"draft":"host",generation:0,reason:null};function re(e){e.mode!==void 0&&(O=e.mode),e.isEditMode!==void 0&&(r=e.isEditMode,typeof window<"u"&&(window.__hyperclayEditMode=r)),e.canEdit!==void 0&&(m=e.canEdit);for(let t in u)e[t]!==void 0&&(u[t]=e[t])}var U=()=>({mode:O,...u});function de(){return r&&U().phase==="idle"}var d=typeof window>"u"||!window.clay?[]:(window.clay.modeParticipants||Object.defineProperty(window.clay,"modeParticipants",{value:[],writable:!0,configurable:!0}),window.clay.modeParticipants),f=new Set,P=()=>{},ae=e=>P=e,ue=()=>d.slice(),g=e=>{throw new TypeError(`clay.modeLifecycle: ${e}`)},G=()=>{(u.phase!=="idle"||r)&&g("the page is not idle in view")},x=()=>{u.phase==="blocked"&&!r||G()};function ce(){return f.clear(),d.splice(0)}function se(e){let t=e&&e.id;(typeof t!="string"||!t||typeof e.prepare!="function")&&g("a participant needs an id and a prepare()"),f.has(t)&&g(`duplicate participant id "${t}"`),x(),f.add(t),d.push(e);let c=!0;return()=>{if(!c)return;x(),c=!1,f.delete(t);let v=d.indexOf(e);v!==-1&&d.splice(v,1),P(t)}}var le=M;export{$ as a,I as b,l as c,i as d,Y as e,y as f,m as g,oe as h,r as i,O as j,ie as k,re as l,U as m,de as n,ae as o,ue as p,ce as q,se as r,le as s};
@@ -0,0 +1 @@
1
+ function m(i){try{let t=new URL(i,window.location.href);return t.origin+t.pathname}catch{return i}}function a(i,t,o){if(typeof t=="string"){let n=i,f=t,c=[...document.querySelectorAll(`style[data-name="${n}"]`)],l=c.find(r=>r.textContent===f);if(l)return o&&o(l),c.filter(r=>r!==l).forEach(r=>r.remove()),l;let e;return c.length>0?(e=c[0],e.textContent=f,o&&o(e),c.slice(1).forEach(r=>r.remove())):(e=document.createElement("style"),e.dataset.name=n,e.textContent=f,o&&o(e),document.head.appendChild(e)),e}let h=i,d=typeof t=="function"?t:void 0,y=m(h),u=[...document.querySelectorAll('link[rel="stylesheet"]')].filter(n=>{try{return m(n.getAttribute("href"))===y}catch{return!1}});if(u.length>0){let n=u[0];return d&&d(n),u.slice(1).forEach(f=>f.remove()),n}let s=document.createElement("link");return s.rel="stylesheet",s.href=h,d&&d(s),document.head.appendChild(s),s}var p=a;export{m as a,a as b,p as c};
@@ -0,0 +1 @@
1
+ import{a as r}from"./c-WYFDLITL.js";import{a as p}from"./c-HT33EQRN.js";import{i as u}from"./c-7O6AFR65.js";import{n as d,o as l}from"./c-DCFSEJZG.js";var n=0,g=0,c=!1,m=!1,y=!1,i=!1;function o(){!u||i||(i=!0,queueMicrotask(()=>{if(i=!1,typeof document>"u")return;let e=C();if(e===y)return;y=e;let t=document.documentElement;e?t.setAttribute("unsaved","true"):t.removeAttribute("unsaved"),document.dispatchEvent(new CustomEvent(e?"clay:dirty":"clay:clean"))}))}var T=`input${r}, textarea${r}, select${r}`,h=`${d}, ${l}`,a=new WeakMap;function v(){let e=[];for(let t of document.querySelectorAll(T))t.closest(h)||e.push(t);return e}function E(e){let t=e.target;!t||t.nodeType!==1||(t.matches("input, textarea, select")||t.isContentEditable)&&(t.closest(h)||(n++,o()))}function x(){m||(m=!0,p.onAnyChange({omitChangeDetails:!0,require:"dirty"},()=>{c||(n++,o())}),document.addEventListener("input",E,!0),document.addEventListener("change",E,!0))}function L(){c=!0}function k(){c=!1}function f(e){return e instanceof HTMLSelectElement?Array.from(e.selectedOptions,t=>t.value).join("\0"):e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?e.checked?"1":"0":e.value}function M(e){return e instanceof HTMLSelectElement?Array.from(e.options).every(t=>t.selected===t.defaultSelected):e instanceof HTMLInputElement?e.type==="checkbox"||e.type==="radio"?e.checked===e.defaultChecked:e.value===e.defaultValue:e instanceof HTMLTextAreaElement?e.hasAttribute("data-value")?e.value===e.getAttribute("data-value"):e.value===e.defaultValue:!0}function S(){for(let e of v()){let t=f(e);if(a.get(e)!==t){if(M(e)){a.set(e,t);continue}return!0}}return!1}function C(){return n>g||S()}function D(){return n}function O(){let e=[];for(let t of v())e.push([t,f(t)]);return{gen:n,probe:e}}function b(){n++,o()}function H(e){if(e){n===e.gen&&(g=e.gen);for(let[t,s]of e.probe)f(t)===s&&a.set(t,s);o()}}typeof document<"u"&&u&&x();typeof window<"u"&&(window.clay=window.clay||{},window.clay.markDirty=b);export{x as a,L as b,k as c,C as d,D as e,O as f,b as g,H as h};
@@ -0,0 +1 @@
1
+ var u="presence-v1";function p(c){let r=new BroadcastChannel(c),t={durable:new Set,presence:new Set},n=0;return r.onmessage=({data:e})=>{if(!e||e.v!==4||typeof e.type!="string")return;let s=e.type===u?t.presence:t.durable;for(let o of[...s])o(e)},{key:c,get open(){return n>0},post(e){n&&r.postMessage({v:4,...e})},subscribe(e,s){let o=e==="presence"?t.presence:t.durable;o.add(s),n+=1;let l=!1;return()=>{l||(l=!0,o.delete(s),n-=1,!(n>0)&&(r.onmessage=null,r.close()))}}}}export{u as a,p as b};
@@ -0,0 +1,2 @@
1
+ import{a as X}from"./c-2JL6E75N.js";import{a as J}from"./c-4WKFKEKF.js";import{m as z,n as _}from"./c-B2ZXPOS3.js";import"./c-TQEMVJCS.js";import{a as F}from"./c-3IQRECYS.js";import"./c-AYVOREBE.js";import"./c-IJUK2GPW.js";import"./c-7O6AFR65.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-35NBGMZB.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-GHBCCVG4.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var $e=Object.defineProperty,je=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0})},Ce=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Le=new Set(Ce),Me=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Ue=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),Y=new Set(["checked","selected","disabled","readOnly","paused"]);function Ie(e,t){return t==null?Y.has(e)?!1:"":Y.has(e)?t==="false"?!1:!!t:t}var De={};je(De,{EmptyListInsert:()=>k,MAX_RULE_DEPTH:()=>j,MaxRuleDepthExceeded:()=>W,NoRulesTag:()=>We,RuleTargetReadOnly:()=>fe,RulesParseError:()=>se,ShapeMismatch:()=>ce,UnknownRulesVersion:()=>ue,WriteNotRoundTripped:()=>He,WriteRefused:()=>Pe,WriteRejected:()=>Ve});var se=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},ue=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},j=20,W=class extends Error{constructor(e){super(`rule depth exceeded ${j} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},ce=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},k=class extends Error{constructor(e,t){super(t?`cannot add items to empty list at "${e.join(".")}" \u2014 ${t}`:`cannot add items to empty list at "${e.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=e}},fe=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},Pe=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function Be(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var He=class extends Error{constructor(e){super(`write did not round-trip at "${Be(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},We=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},Ve=class extends Error{constructor(e,t){super(`write rejected: ${e.length} unknown key(s), ${t.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=e,this.unmatched=t}};function de(e){let t=0,r=null,l=-1;for(let n=0;n<e.length;n++){let o=e[n];o==="\\"?n++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(l=n)}return l}function pe(e){let t=0,r=null,l=-1,n=!1;for(let o=0;o<e.length;o++){let i=e[o];i==="\\"?o++:r?i===r&&(r=null):i==='"'||i==="'"?r=i:i==="["||i==="("?t++:i==="]"||i===")"?t>0&&t--:t===0&&i===">"?l=o:t===0&&i===","&&(n=!0)}return n||l===-1||!qe(e,l+1)?null:e.slice(0,l).trim()||null}function qe(e,t){let r=t,l=e.replace(/\s+$/,"").length;for(;r<l&&/\s/.test(e[r]);)r++;let n=0,o=null;for(;r<l;r++){let i=e[r];if(i==="\\")r++;else if(o)i===o&&(o=null);else if(i==='"'||i==="'")o=i;else if(i==="["||i==="(")n++;else if(i==="]"||i===")")n>0&&n--;else if(n===0&&(i==="+"||i==="~"||/\s/.test(i)))return!1}return!0}var Fe=/^--[A-Za-z0-9_-]+$/;function he(e){return typeof e=="string"&&Fe.test(e)}function me(e){let t=[],r=[],l=null,n=0;for(let o=0;o<e.length;o++){let i=e[o];if(l){i==="\\"?o++:i===l&&(l=null);continue}if(i==="/"&&e[o+1]==="*"){let a=e.indexOf("*/",o+2);o=a===-1?e.length:a+1;continue}i==='"'||i==="'"?l=i:i==="("?r.push(")"):i==="["?r.push("]"):i==="{"?r.push("}"):(i===")"||i==="]"||i==="}")&&r[r.length-1]===i?r.pop():i===";"&&r.length===0&&(t.push(e.slice(n,o)),n=o+1)}return t.push(e.slice(n)),t}function ze(e){let t="",r=null;for(let l=0;l<e.length;l++){let n=e[l];if(r){t+=n,n==="\\"&&l+1<e.length?t+=e[++l]:n===r&&(r=null);continue}if(n==="/"&&e[l+1]==="*"){let o=e.indexOf("*/",l+2);l=o===-1?e.length:o+1,t+=" ";continue}(n==='"'||n==="'")&&(r=n),t+=n}return t}function ye(e){e=ze(e);let t=e.indexOf(":");if(t===-1)return null;let r=e.slice(0,t).trim(),l=e.slice(t+1).trim(),n=/!\s*important\s*$/i.exec(l);return n&&(l=l.slice(0,n.index).trim()),{name:r,value:l,important:!!n}}function ge(e,t){if(e==null)return null;let r=null;for(let l of me(String(e))){let n=ye(l);!n||n.name!==t||(!r||n.important||!r.important)&&(r=n)}return r?r.value:null}function _e(e,t,r){let l=e==null?"":String(e),n=r==null||r==="",o=me(l),i=o.map(ye),a=i.some(c=>c&&c.name===t&&c.important),s=[],u=!1;o.forEach((c,f)=>{let h=i[f];if(!h||h.name!==t){s.push(c);return}if(n||u)return;let m=/^\s*/.exec(c)[0];s.push(`${m}${t}: ${r}${a?" !important":""}`),u=!0});let d=s.join(";");if(!n&&!u){let c=d.trimEnd();d=c===""?`${t}: ${r}`:`${c}${c.endsWith(";")?" ":"; "}${t}: ${r}`}return d.trim()===""?null:d}function Je(e,t,r,l){let n=e.attr(t,"style");if((ge(n,r)??"")===l)return;let o=_e(n,r,l);o==null?e.removeAttr(t,"style"):e.attr(t,"style",o)}function we(e,t,r,l={}){if(Object.prototype.hasOwnProperty.call(l,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return U(e,t,r,{depth:0,path:[]},l)}function U(e,t,r,l,n){if(l.depth>j)throw new W(l.path);if(typeof r=="string")return Xe(e,t,r,l,n);if(Array.isArray(r)){let[o,i]=r,a=e.find(t,o,n);return ve(n,l,a),a.map((s,u)=>U(e,s,i,{depth:l.depth+1,path:[...l.path,u]},n))}if(typeof r=="object"&&r!==null){let o={};for(let[i,a]of Object.entries(r))o[i]=U(e,t,a,{depth:l.depth+1,path:[...l.path,i]},n);return o}return null}function Xe(e,t,r,l,n){if(r.endsWith("[]")){let a=r.slice(0,-2),s=e.find(t,a,n);return ve(n,l,s),s.map(u=>e.text(u))}if(r.startsWith("@"))return G(e,t,r.slice(1));let o=de(r);if(o!==-1){let a=r.slice(0,o),s=r.slice(o+1),u=a?e.find(t,a,n):[t];return u.length===0?null:G(e,u[0],s)}if(r===".")return e.text(t);let i=e.find(t,r,n);return i.length===0?null:e.text(i[0])}function ve(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(l){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,l)}}function G(e,t,r){if(he(r))return ge(e.attr(t,"style"),r);if(Le.has(r)){let n=e.prop(t,r);return n==null?null:String(n)}return e.attr(t,r)??null}function Ye(e,t,r,l){let n=e.length,o=t.length,i=new Array(n).fill(-1);if(l){let p=new Set;for(let g=0;g<n;g++){let y=l[g];!(y>=0&&y<o)||p.has(y)||(i[g]=y,p.add(y))}}if(n===0||o===0)return i;let a=e.map(p=>K(p,r)),s=t.map(p=>K(p,r)),u=new Array(o).fill(!1);for(let p of i)p>=0&&(u[p]=!0);let d=new Map;s.forEach((p,g)=>{u[g]||d.set(p,d.has(p)?-1:g)});let c=new Map;a.forEach((p,g)=>{i[g]>=0||c.set(p,(c.get(p)||0)+1)}),a.forEach((p,g)=>{if(i[g]>=0||c.get(p)!==1)return;let y=d.get(p);y===void 0||y===-1||u[y]||(i[g]=y,u[y]=!0)});let f=[];for(let p=0;p<n;p++)i[p]<0&&f.push(p);let h=[];for(let p=0;p<o;p++)u[p]||h.push(p);if(f.length===0||h.length===0)return i;let m=n*o+1,v=Ge(e,t,r),b=(p,g)=>v(p,g)*m+Math.abs(p-g);for(let[p,g]of Ke(f,h,b))i[p]=g;return i}var be=e=>typeof e=="object"&&e!==null;function K(e,t){if(!be(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(l=>{let n=JSON.stringify(e?.[l]);return n===void 0?" undef":n}))}function Ge(e,t,r){if(!be(r))return(a,s)=>e[a]===t[s]?0:1;let l=Object.keys(r),n=a=>l.map(s=>JSON.stringify(a?.[s])),o=e.map(n),i=t.map(n);return(a,s)=>{let u=o[a],d=i[s],c=0;for(let f=0;f<l.length;f++)u[f]!==d[f]&&c++;return c}}function Ke(e,t,r){return e.length<=t.length?Z(e,t,r,!1):Z(t,e,(l,n)=>r(n,l),!0)}function Z(e,t,r,l){let n=e.length,o=t.length,i=[];for(let c=0;c<=n;c++)i.push(new Float64Array(o+1).fill(1/0));let a=[];for(let c=0;c<=n;c++)a.push(new Uint8Array(o+1));for(let c=0;c<=o;c++)i[n][c]=0;for(let c=n-1;c>=0;c--)for(let f=o-1;f>=0;f--){let h=r(e[c],t[f])+i[c+1][f+1],m=i[c][f+1];h<=m?(i[c][f]=h,a[c][f]=1):i[c][f]=m}let s=[],u=0,d=0;for(;u<n&&d<o;)a[u][d]&&(s.push(l?[t[d],e[u]]:[e[u],t[d]]),u++),d++;return s}function xe(e,t,r,l,n,o,i,a={}){let s=e.find(t,r,a);if(n.length===0){s.forEach(w=>e.remove(w)),I(a,"onRowsApplied",o.path,[]);return}let u=n.length>s.length,d=s[0]||null;if(u&&!d&&(d=tt(e,t,r,a),!d))throw new k(o.path);let c=s.map(w=>et(e,w,l,a)),f=null;if(u&&d){f=e.clone(d),a.templateAttr&&e.removeAttr(f,a.templateAttr);let w=e.stripIds(f);w>0&&console.warn(`[hyper-html-api] stripped ${w} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let h=Ye(n,c,l,Ze(e,s,n,o,a)),m=s.length>0?e.parent(s[0]):ot(e,t,r,d,o,a),v=s.length>0?Te(e,m,s[0]):0,b=st(e,s),p=new Set,g=[],y=n.map((w,O)=>{let M=h[O];if(M>=0)return p.add(M),g.push(!1),s[M];g.push(!0);let q=e.clone(f);return e.stripIds(q),q});s.forEach((w,O)=>{p.has(O)||e.remove(w)}),b?at(e,m,v,y,g):ut(e,y,g,m,v),Qe(e,y,l,n,o,i,a),I(a,"onRowsApplied",o.path,y)}function I(e,t,r,l){if(typeof e[t]=="function")try{return e[t](r.slice(),l)}catch(n){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,n);return}}function Ze(e,t,r,l,n){let o=I(n,"identifyRows",l.path,r);if(!Array.isArray(o))return null;let i=new Array(r.length).fill(-1),a=new Set,s=new Map(t.map((u,d)=>[e.identity(u),d]));for(let u=0;u<r.length;u++){if(!o[u])continue;let d=s.get(e.identity(o[u]));d===void 0||a.has(d)||(i[u]=d,a.add(d))}return i}function Qe(e,t,r,l,n,o,i){t.forEach((a,s)=>{if(r===null){let u=l[s],d=u==null?"":String(u);e.text(a)!==d&&e.text(a,d)}else{let u=o(e,a,r,l[s],{depth:n.depth+1,path:[...n.path,s]},i);u&&u!==a&&(t[s]=u)}})}function et(e,t,r,l){return r===null?e.text(t):we(e,t,r,l.onRowsRead?{...l,onRowsRead:void 0}:l)}function Te(e,t,r){let l=e.children(t);for(let n=0;n<l.length;n++)if(e.sameNode(l[n],r))return n;return-1}function tt(e,t,r,l){if(!l.templateAttr)return null;let n=/^\s*:scope\s*>\s*/.test(r),o=new RegExp(":not\\(\\["+l.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),i=r.replace(/^\s*:scope\s*>\s*/,"").replace(o,""),a=n?rt(i):0,s=pe(i),u=t;for(;u;){let d=e.find(u,i,{includeRulesTag:!1,templateAttr:null});for(let c of d)if(e.attr(c,l.templateAttr)!=null&&!(n&&!lt(e,t,c,a))&&!(s&&!e.matches(e.parent(c),s)))return c;u=e.parent(u)}return null}function rt(e){let t=0,r=null,l=1;for(let n=0;n<e.length;n++){let o=e[n];if(o==="\\")n++;else if(r)o===r&&(r=null);else if(o==='"'||o==="'")r=o;else if(o==="["||o==="(")t++;else if(o==="]"||o===")")t>0&&t--;else if(t===0&&o===">")l++;else{if(t===0&&(o==="+"||o==="~"))return null;if(t===0&&/\s/.test(o)){if(!nt(e,n))return null;for(;n+1<e.length&&/\s/.test(e[n+1]);)n++}}}return l}function nt(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let l=t>0?e[t-1]:"",n=r<e.length?e[r]:"";return Q(l)||Q(n)}function Q(e){return e===">"||e==="+"||e==="~"}function lt(e,t,r,l){if(l===null)return!0;let n=r;for(let s=0;s<l;s++)if(n=e.parent(n),!n)return!1;let o=e.prop(t,"tagName");if(!o)return!0;let i=e.prop(n,"tagName");if(!i||String(i).toLowerCase()!==String(o).toLowerCase())return!1;let a=new Set(ee(e,n));return ee(e,t).every(s=>a.has(s))}function ee(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function ot(e,t,r,l,n,o){let i=e.parent(l);if(i&&it(e,t,i)&&!re(e,i,o))return i;let a=pe(r);if(!a)throw new k(n.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let s=(a===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,a,o)).filter(u=>!re(e,u,o));if(s.length===0)throw new k(n.path,`no container matching "${a}" inside this context to hold the new rows`);if(s.length>1)throw new k(n.path,`"${a}" matches ${s.length} containers inside this context, so the new rows have no single destination`);return s[0]}function it(e,t,r){let l=r;for(;l;){if(e.sameNode(l,t))return!0;l=e.parent(l)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(n=>e.sameNode(n,r))}var te=["no-data","editor-ui"];function re(e,t,r){let l=t;for(;l;){if(r.templateAttr&&e.attr(l,r.templateAttr)!=null||te.some(o=>e.attr(l,o)!=null))return!0;let n=e.attr(l,"clay");if(n&&n.split(/\s+/).some(o=>te.includes(o)))return!0;l=e.parent(l)}return!1}function at(e,t,r,l,n){let o=e.children(t),i=o.map(s=>e.identity(s)),a=!1;l.forEach((s,u)=>{let d=e.identity(s),c=r+u;if(i[c]===d)return;if(!n[u]){let h=i.indexOf(d);h!==-1&&(i.splice(h,1),o.splice(h,1))}let f=Math.min(c,o.length);f<o.length?e.insertBefore(o[f],s):o.length?a?e.insertAfter(o[o.length-1],s):(e.insertAt(t,s,c),a=!0):e.insertAt(t,s,0),i.splice(f,0,d),o.splice(f,0,s)})}function st(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let l=new Map(e.children(r).map((o,i)=>[e.identity(o),i])),n=[];for(let o of t){let i=l.get(e.identity(o));if(i===void 0)return!1;n.push(i)}return n.sort((o,i)=>o-i),n[n.length-1]-n[0]===n.length-1}function ut(e,t,r,l,n){let o=null,i=n;for(let a=0;a<t.length;a++){if(!r[a]){o=t[a];continue}let s=o?e.parent(o):l;if(!s)continue;let u=o?Te(e,s,o)+1:i++;e.insertAt(s,t[a],u),o=t[a]}}function ct(e,t,r,l,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(D(r,l,[],o),o.length)throw new ce(o);$(e,t,r,l,{depth:0,path:[]},n)}function $(e,t,r,l,n,o={}){if(n.depth>j)throw new W(n.path);if(l===void 0)return t;if(typeof r=="string")return ft(e,t,r,l,n,o);if(Array.isArray(r)){let[i,a]=r;return xe(e,t,i,a,l,n,$,o),t}if(typeof r=="object"&&r!==null){for(let[i,a]of Object.entries(r)){let s=$(e,t,a,l==null?l:l[i],{depth:n.depth+1,path:[...n.path,i]},o);s&&s!==t&&(t=s)}return t}return t}function ft(e,t,r,l,n,o){if(r.endsWith("[]")){let s=r.slice(0,-2);return xe(e,t,s,null,l,n,$,o),t}if(r.startsWith("@"))return le(e,t,r.slice(1),l);let i=de(r);if(i!==-1){let s=r.slice(0,i),u=r.slice(i+1),d=s?e.find(t,s,o):[t];return d.length===0||le(e,d[0],u,l),t}if(r===".")return ne(e,t,l),t;let a=e.find(t,r,o);return a.length===0||ne(e,a[0],l),t}function ne(e,t,r){let l=r==null?"":String(r);e.text(t)!==l&&e.text(t,l)}function dt(e,t,r,l){if(e.styleVar){e.styleVar(t,r,l);return}Je(e,t,r,l)}function le(e,t,r,l){if(he(r))return dt(e,t,r,l==null?"":String(l).trim()),t;if(Ue.has(r)){let n=e.prop(t,r);if(n===l||n!=null&&l!=null&&String(n)===String(l))return t;throw new fe(r)}if(r==="outerHTML"){let n=l==null?"":String(l);return e.replaceWith(t,n)}if(Me.has(r)){let n=Ie(r,l);return e.prop(t,r)!==n&&e.prop(t,r,n),t}if(l==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let n=String(l);e.attr(t,r)!==n&&e.attr(t,r,n)}return t}function D(e,t,r,l){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((n,o)=>{typeof n=="object"&&n!==null&&l.push({path:N([...r,o]),expected:"scalar",got:E(n)})}):l.push({path:N(r),expected:"array",got:E(t)});return}t!==null&&typeof t=="object"&&l.push({path:N(r),expected:"scalar",got:E(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){l.push({path:N(r),expected:"array",got:E(t)});return}let n=e[1];t.forEach((o,i)=>D(n,o,[...r,i],l));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){l.push({path:N(r),expected:"object",got:E(t)});return}for(let[n,o]of Object.entries(e))D(o,t[n],[...r,n],l)}}}function E(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function N(e){return e.join(".")}function pt(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(n){let o=[],i=0;for(;i<n.length;){let a=n[i];if(/\s/.test(a)){i++;continue}if("{}".includes(a)){o.push({type:a,value:a}),i++;continue}if(a==="["){let c=!1,f=i+1;for(;f<n.length&&/\s/.test(n[f]);)f++;if(f<n.length&&/[a-zA-Z_]/.test(n[f])&&(c=!0),!c){o.push({type:a,value:a}),i++;continue}}if(a==="]"){o.push({type:a,value:a}),i++;continue}if(a===":"){o.push({type:t.COLON,value:a}),i++;continue}if(a===","){o.push({type:t.COMMA,value:a}),i++;continue}if(a==='"'||a==="'"){let c=a,f=i+1;for(;f<n.length&&n[f]!==c;)n[f]==="\\"&&f++,f++;o.push({type:t.STRING,value:n.substring(i+1,f),quoted:!0,sourceQuote:c}),i=f+1;continue}let s=i,u;for(;s<n.length&&!/[{},]/.test(n[s]);)if(n[s]===":"){let c=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],f=!1;for(let h of c){let m=h.substring(1);if(n.substring(s+1,s+1+m.length)===m){f=!0,s+=m.length;break}}if(!f)break}else if(n[s]==="["){for(s++;s<n.length&&n[s]!=="]";){if(n[s]==='"'||n[s]==="'"){let c=n[s];for(s++;s<n.length&&n[s]!==c;)n[s]==="\\"&&s++,s++}s++}s<n.length&&n[s]==="]"&&s++}else s++;u=n.substring(i,s);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?d=t.NUMBER:u==="true"||u==="false"||u==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(d=t.SELECTOR),o.push({type:d,value:u,quoted:!1}),i=s}return o}function l(n){let o="";for(let i=0;i<n.length;i++){let a=n[i];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let s=n[i+1];if(s&&(s.type==="}"||s.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING&&a.quoted){let s=a.value;a.sourceQuote==="'"&&(s=s.replace(/\\'/g,"'"),s=s.replace(/(\\*)"/g,(u,d)=>d.length%2===0?d+'\\"':u)),o+=`"${s}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}if(a.type===t.SELECTOR||a.type===t.IDENTIFIER){o+=`"${a.value}"`;continue}o+=`"${a.value}"`}return o}try{let n=r(e),o=l(n);return JSON.parse(o)}catch(n){throw new se("Invalid extraction rules syntax: "+n.message,n)}}var ht="1";var Qt=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"]})}),er=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),mt=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);var tr=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...mt],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"],customPropertyValues:Object.freeze({maxLength:200,refusedCharacters:[";","{","}","<",">","\\"],refusedFunctions:["url","src","image","image-set","-webkit-image-set","cross-fade","element","expression","paint"]})});function yt(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function gt(e){return e?(e.nodeType===9||e.nodeType,e):null}function oe(e,t,r){!e||e.nodeType!==1||(t==="value"&&e.tagName==="INPUT"?e.value=r===null?"":r:t==="checked"&&e.tagName==="INPUT"?e.checked=r!==null:t==="selected"&&e.tagName==="OPTION"&&(e.selected=r!==null))}function wt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function vt(e){if(!e||e.nodeType!==1)return;let t=[e,...e.querySelectorAll?e.querySelectorAll("textarea, input, option"):[]];for(let r of t)if(r.tagName==="TEXTAREA")r.value=r.defaultValue;else if(r.tagName==="INPUT"){let l=r.type;l!=="file"&&l!=="checkbox"&&l!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var bt={semanticExclude:!0,find(e,t,r={}){let l=gt(e);if(!l||!l.querySelectorAll)return[];let n=Array.from(l.querySelectorAll(t));r.includeRulesTag||(n=n.filter(a=>!yt(a)));let o=[];r.skip&&o.push(r.skip);let i=r.templateAttr===null?null:r.templateAttr||"cms-template";if(i&&o.push("["+i+"]"),o.length){let a=o.join(", ");n=n.filter(s=>!s.closest||!s.closest(a))}return n},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},matches(e,t){return!!(e&&e.matches)&&e.matches(t)},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t,wt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),oe(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),oe(e,t,null)},prop(e,t,r){if(r===void 0){let l=e?e[t]:void 0;return l!==void 0?l:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return vt(t),t},insertAt(e,t,r){let l=e.children[r]||null;e.insertBefore(t,l)},insertBefore(e,t){e.parentNode.insertBefore(t,e)},insertAfter(e,t){e.parentNode.insertBefore(t,e.nextSibling)},identity(e){return e||null},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let l=r.content.firstElementChild;if(!l)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(l,e),l},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};var R=bt;var xt="hha:upgrade-check:";function x(e,t){let r=e.querySelector(`meta[name="${t}"]`),l=r?r.getAttribute("content"):null;return l&&l.trim()?l.trim():null}function ie(e){if(typeof e!="string")return null;let t=e.trim().replace(/^v/,"");return/^\d+(\.\d+)*$/.test(t)?t.split(".").map(Number):null}function Tt(e,t){let r=ie(e),l=ie(t);if(!r||!l)return!1;let n=Math.max(r.length,l.length);for(let o=0;o<n;o++){let i=r[o]||0,a=l[o]||0;if(i!==a)return i>a}return!1}function At(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ot(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function Et({force:e=!1,doc:t,loc:r,fetchFn:l,now:n,ttlMs:o=864e5}={}){if(t=t||(typeof document<"u"?document:null),r=r||(typeof location<"u"?location:null),l=l||(f=>fetch(f)),n=n??Date.now(),!t)return null;let i=x(t,"hyper-source");if(!i)return null;let a=x(t,"hyper-version"),s;try{s=new URL(i,r?r.href:void 0)}catch{return null}if(r&&s.origin===r.origin&&s.pathname===r.pathname)return null;let u=`${xt}${s.href}:${a||"none"}`,d,c=e?null:At(u);if(c&&typeof c.checkedAt=="number"&&n-c.checkedAt<o)d=c.sourceVersion;else{try{let f=await l(s.href);if(!f.ok)throw new Error(`HTTP ${f.status}`);let h=await f.text(),m=new DOMParser().parseFromString(h,"text/html");d=x(m,"hyper-version")}catch{d=null}Ot(u,{checkedAt:n,sourceVersion:d})}return d?{available:Tt(d,a||"0.0.0"),currentVersion:a,sourceVersion:d,sourceUrl:s.href}:null}var Nt="script[data-rules-name]";function kt(e){return typeof e=="string"?e.trim().replace(/\s+/g," "):""}function Ae(e,t){let r=e.find(t,Nt,{includeRulesTag:!0}),l=new Set,n=[];for(let o of r){let i=kt(e.attr(o,"data-rules-name"));if(!i)continue;if(l.has(i)){console.warn(`hyper-html-api: duplicate rules tag name "${i}"; using the first.`);continue}let a=e.attr(o,"data-rules-version");if(a!==ht)throw new ue(a);l.add(i),n.push({name:i,rules:pt(e.text(o))})}return n}function Oe(e,t){let r={};for(let{name:l,rules:n}of Ae(e,t))r[l]=we(e,t,n);return r}function St(e){let t=e||document,r=t.nodeType===9?t:t.ownerDocument||t;return{dataByName:Oe(R,t),version:x(r,"hyper-version")}}var ae=class extends Error{constructor(e,t){super(`could not fetch upgrade source: ${e}`),this.name="UpgradeSourceUnreachable",this.sourceUrl=e,this.cause=t}},Rt=class extends Error{constructor(e){super(`upgrade source has no rules tags; refusing to drop all existing data: ${e}`),this.name="UpgradeSourceHasNoRules",this.sourceUrl=e}},P=class extends Error{constructor(e,t){super(e),this.name="UpgradeTransformInvalid",this.cause=t}},$t=class extends Error{constructor(e){super(`found ${e} script[type="text/hyper-upgrade"] tags; only one is allowed per document.`),this.name="UpgradeMultipleTransforms",this.count=e}},jt="text/hyper-upgrade";function Ct(e,t){let r=e.find(t,`script[type="${jt}"]`);if(r.length===0)return null;if(r.length>1)throw new $t(r.length);return e.text(r[0])||null}var Lt=new Function("url","return import(url)");async function Mt(e){let t=new Blob([e],{type:"text/javascript"}),r=URL.createObjectURL(t),l;try{l=await Lt(r)}catch(n){throw new P(`transform failed to load: ${n&&n.message?n.message:n}`,n)}finally{URL.revokeObjectURL(r)}if(typeof l.default!="function")throw new P("transform must `export default` a function");return l.default}function Ee(e,t){let r={carriedOver:0,discarded:0,listItems:0},l=B(t,e,r);return H(t,e,r),{data:l,summary:r}}function B(e,t,r){if(typeof e=="string")return e.endsWith("[]")?Array.isArray(t)?(r.listItems+=t.length,r.carriedOver+=t.length,t):void 0:t==null||typeof t=="object"?void 0:(r.carriedOver++,t);if(Array.isArray(e)){let[,l]=e;return Array.isArray(t)?(r.listItems+=t.length,t.map(n=>B(l,n,r))):void 0}if(typeof e=="object"&&e!==null){let l={};for(let[n,o]of Object.entries(e)){let i=B(o,t?.[n],r);i!==void 0&&(l[n]=i)}return l}}function H(e,t,r){if(t!=null){if(typeof e=="object"&&e!==null&&!Array.isArray(e)){if(typeof t!="object"||Array.isArray(t))return;let l=new Set(Object.keys(e));for(let n of Object.keys(t))l.has(n)?H(e[n],t[n],r):r.discarded+=S(t[n]);return}if(Array.isArray(e)&&Array.isArray(t)){let l=e[1];t.forEach(n=>H(l,n,r));return}typeof e=="string"&&!e.endsWith("[]")&&typeof t=="object"&&t!==null&&(r.discarded+=S(t))}}function S(e){return e==null?0:Array.isArray(e)?e.reduce((t,r)=>t+S(r),0):typeof e=="object"?Object.values(e).reduce((t,r)=>t+S(r),0):1}function Ut(e,t,r){let l=Ae(e,t),n={carriedOver:0,discarded:0,listItems:0},o={},i=new Set;for(let{name:a,rules:s}of l){if(i.add(a),!Object.prototype.hasOwnProperty.call(r,a)){o[a]={carriedOver:0,discarded:0,listItems:0};continue}let{data:u,summary:d}=Ee(r[a],s);ct(e,t,s,u),o[a]=d,n.carriedOver+=d.carriedOver,n.discarded+=d.discarded,n.listItems+=d.listItems}for(let a of Object.keys(r))i.has(a)||(n.discarded+=S(r[a]));return{totals:n,byName:o,rulesTagCount:l.length}}async function It({sourceUrl:e,dataByName:t,fromVersion:r,doc:l,loc:n,fetchFn:o}={}){if(l=l||(typeof document<"u"?document:null),n=n||(typeof location<"u"?location:null),o=o||(p=>fetch(p)),!l)throw new Error("upgrade.run requires a document context");if(e=e||x(l,"hyper-source"),!e)throw new Error("upgrade.run: no sourceUrl given and no hyper-source meta tag found");let i=new URL(e,n?n.href:void 0);r=r!==void 0?r:x(l,"hyper-version"),t=t||Oe(R,l);let a;try{a=await o(i.href)}catch(p){throw new ae(i.href,p)}if(!a.ok)throw new ae(i.href,new Error(`HTTP ${a.status}`));let s=await a.text(),u=new DOMParser().parseFromString(s,"text/html"),d=x(u,"hyper-version"),c=t,f=!1,h=Ct(R,u);if(h){let p=await(await Mt(h))(c,{fromVersion:r,toVersion:d});if(!p||typeof p!="object"||Array.isArray(p))throw new P("transform must return a plain object map of { rulesName: data }");c=p,f=!0}let{totals:m,byName:v,rulesTagCount:b}=Ut(R,u,c);if(b===0&&Object.keys(c).length>0)throw new Rt(i.href);return{html:Dt(u),fromVersion:r,toVersion:d,summary:{transformApplied:f,totals:m,byName:v}}}function Dt(e){return`<!DOCTYPE ${e.doctype&&e.doctype.name?e.doctype.name:"html"}>
2
+ `+e.documentElement.outerHTML}var C={checkForUpdate:Et,run:It,extractAll:St,shapeMatch:Ee};var T="The new version could not be downloaded. Nothing was changed.",V="The upgrade could not be saved. Nothing was changed.",ke="This document changed somewhere else. Reload and try again.",Pt="Something else is changing this document. Nothing was changed.";async function Bt(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let r=await t.digest("SHA-256",e);return[...new Uint8Array(r)].map(l=>l.toString(16).padStart(2,"0")).join("")}async function Ne(e,t){try{let r=await e(t,{credentials:"omit"});return!r||!r.ok?null:r}catch{return null}}function Ht(e,t,r){if(e&&typeof e.latestUrl=="string"&&e.latestUrl)return e.latestUrl;let l=x(t,"hyper-source");if(!l)return null;try{let n=new URL(l,r?r.href:void 0);return n.pathname=n.pathname.replace(/\.html$/,".json"),n.href}catch{return null}}function Wt(e){let t=x(e,"clay-template");if(!t)return null;let[r,l]=t.split(/\s+/);return r&&l?{id:r,variant:l}:null}function L(e,t="",r=[]){if(Array.isArray(e)){for(let l of e)L(l,`${t}[]`,r);return r}if(e&&typeof e=="object"){for(let[l,n]of Object.entries(e))L(n,t?`${t}.${l}`:l,r);return r}return e!=null&&r.push({path:t,value:e}),r}function Vt(e,t){let r=[e];for(let l of String(t).split(".")){let n=l.endsWith("[]"),o=n?l.slice(0,-2):l,i=[];for(let a of r){let s=o?a?.[o]:a;n?Array.isArray(s)&&i.push(...s):i.push(s)}r=i}return r}function qt(e,t,r={}){let l=new Map;for(let{path:o,value:i}of L(t)){let a=`${o}\0${String(i)}`;l.set(a,(l.get(a)||0)+1)}let n=[];for(let{path:o,value:i}of L(e)){let a=`${o}\0${String(i)}`;if(l.get(a)>0){l.set(a,l.get(a)-1);continue}let s=r[o];typeof s=="string"&&Vt(t,s).some(u=>u===i)||n.push({path:o,value:i})}return n}async function Ft(e){let t=new Blob([e],{type:"text/javascript"}),r=URL.createObjectURL(t);try{return await new Function("url","return import(url)")(r)}finally{URL.revokeObjectURL(r)}}async function zt(e){let r=new DOMParser().parseFromString(e,"text/html").querySelector('script[type="text/hyper-upgrade"]');if(!r)return{};let l=await Ft(r.textContent||"");return l&&l.renames&&typeof l.renames=="object"?l.renames:{}}async function Se(e,{doc:t=document,loc:r=location,fetchFn:l=(n,o)=>fetch(n,o)}={}){if((typeof window<"u"&&window.clay||{}).isDraftMode)return{ok:!1,code:"draft"};if(!e||typeof e.version!="string")return{ok:!1,code:"unavailable",message:T};let o=Ht(e,t,r);if(!o)return{ok:!1,code:"unavailable",message:T};let i=await Ne(l,o);if(!i)return{ok:!1,code:"unavailable",message:T};let a;try{a=await i.json()}catch{return{ok:!1,code:"unavailable",message:T}}if(!a||typeof a!="object")return{ok:!1,code:"unavailable",message:T};let s=Wt(t);if(!s||a.id!==s.id||a.variant!==s.variant)return{ok:!1,code:"template",message:"This upgrade is for a different document."};let u=x(t,"hyper-version");if(!u||typeof a.version!="string"||!J(a.version,u))return{ok:!1,code:"not-newer",message:"There is no newer version to install."};if(typeof a.html!="string"||!a.html)return{ok:!1,code:"unavailable",message:T};let d;try{d=new URL(a.html,o).href}catch{return{ok:!1,code:"unavailable",message:T}}if(!/^https:\/\/hyperclay\.com\/templates\//.test(d))return{ok:!1,code:"source",message:"This upgrade is not from the template host."};let c=await Ne(l,d);if(!c)return{ok:!1,code:"unavailable",message:T};let f;try{f=await c.text()}catch{return{ok:!1,code:"unavailable",message:T}}let h=await Bt(new TextEncoder().encode(f));if(!h||h!==String(a.sha256||"").toLowerCase())return{ok:!1,code:"unavailable",message:T};let m,v;try{v=await zt(f),m=await C.run({sourceUrl:d,doc:t,loc:r,fromVersion:u,fetchFn:async()=>({ok:!0,status:200,text:async()=>f})})}catch(O){return{ok:!1,code:"transform",message:O&&O.message?O.message:T}}let b=new DOMParser().parseFromString(m.html,"text/html"),p=C.extractAll(t).dataByName,g=C.extractAll(b).dataByName,y=qt(p,g,v),w=m.summary&&m.summary.totals&&m.summary.totals.discarded||0;return y.length||w>0?{ok:!1,code:"lost",lost:y,discarded:w,message:_t(y,w)}:{ok:!0,html:m.html,version:m.toVersion||a.version}}function _t(e,t){let r=e.slice(0,5).map(({path:n})=>n),l=e.length>r.length?` and ${e.length-r.length} more`:"";return r.length?`This upgrade would lose data: ${r.join(", ")}${l}. Nothing was changed.`:`This upgrade would lose ${t} value${t===1?"":"s"}. Nothing was changed.`}function Jt(e){let t=e&&e.state;if(t==="conflict")return{ok:!1,code:"conflict",message:ke};let r=e&&e.message?e.message:"The document could not be saved.";return{ok:!1,code:"flush",state:t||"failed",message:r}}async function Re(e,{doc:t=document,loc:r=location,fetchFn:l=(s,u)=>fetch(s,u),clay:n=typeof window<"u"?window.clay:null,reload:o=()=>window.location.reload(),replace:i=null,etag:a}={}){if((n||{}).isDraftMode)return{ok:!1,code:"draft"};let u=z("upgrade");if(!u)return{ok:!1,code:"busy",message:Pt};try{return await Xt(e,{doc:t,loc:r,fetchFn:l,clay:n,reload:o,replace:i,etag:a})}finally{_(u)}}async function Xt(e,{doc:t,loc:r,fetchFn:l,clay:n,reload:o,replace:i,etag:a}){let s=n||{};if(s.isEditMode&&s.save&&typeof s.save.flush=="function"){let f;try{f=await s.save.flush()}catch(h){return Jt(h)}if(f&&typeof f.state=="string"&&f.state!=="saved"&&f.state!=="clean"&&f.state!=="view")return{ok:!1,code:"flush",state:f.state,message:"This document has changes that could not be saved. Nothing was changed."}}let u=await Se(e,{doc:t,loc:r,fetchFn:l});if(!u.ok)return u;let d=typeof i=="function"?i:s.save&&typeof s.save.replace=="function"?s.save.replace:X,c;try{c=await d(u.html,{etag:a!==void 0?a:F()})}catch{return{ok:!1,code:"failed",message:V}}if(!c||!c.ok){let f=c&&c.code?c.code:"failed";return f==="conflict"?{ok:!1,code:f,message:ke}:f==="forbidden"?{ok:!1,code:f,message:"You are not allowed to save this document."}:f==="unsupported"?{ok:!1,code:f,message:"This host cannot save the upgrade."}:{ok:!1,code:f,message:V}}return o(),{ok:!0,html:u.html,version:u.version,etag:c.etag}}function A(e,t,r={}){let l=e.createElement(t);l.setAttribute("clay","editor-ui");for(let[n,o]of Object.entries(r))n==="style"?l.setAttribute("style",o):n==="text"?l.textContent=o:l.setAttribute(n,o);return l}function Yt(e){let r=(e&&e.pathname?e.pathname:"/").split("/").filter(Boolean).pop()||"page.html";try{r=decodeURIComponent(r)}catch{}return/\.html?$/i.test(r)?r:`${r}.html`}function Gt({clay:e,doc:t=document,loc:r=location}={}){let l=e&&e.getHTML;if(typeof l!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;try{let n=URL.createObjectURL(new Blob([l()],{type:"text/html"})),o=t.createElement("a");return o.setAttribute("clay","editor-ui"),o.href=n,o.download=Yt(r),o.style.setProperty("display","none","important"),t.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(n),4e4),!0}catch{return!1}}async function Kt(e){let t=e&&e.host;if(!t||!t.versions)return!1;try{return await t.versions===!0}catch{return!1}}async function Zt(e,t={}){let r=t.doc||document,l=t.clay||(typeof window<"u"?window.clay:null)||{};if(l.isDraftMode||!e||typeof e.version!="string")return null;let n=await Kt(l),o=A(r,"div",{role:"dialog","aria-modal":"true","data-clay-upgrade":"",style:"position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,17,21,.42);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;"}),i=A(r,"div",{style:"width:min(460px,100%);padding:20px;border-radius:14px;background:var(--clay-ui-bg,#fff);color:var(--clay-ui-fg,#1f2328);box-shadow:0 18px 48px -16px rgba(0,0,0,.55);font-size:14px;line-height:1.5;"}),a=A(r,"h2",{text:`Upgrade to version ${e.version}`,style:"margin:0 0 8px;font-size:16px;"}),s=A(r,"p",{text:`Your data moves into version ${e.version}. The page's layout and code are replaced; your current version stays in this document's history.`,style:"margin:0 0 16px;"}),u=A(r,"p",{role:"status",style:"margin:0 0 12px;min-height:1.5em;"}),d=A(r,"div",{style:"display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;"}),c="padding:7px 12px;border-radius:8px;border:1px solid rgba(23,28,36,.2);background:transparent;color:inherit;font:inherit;cursor:pointer;",f=A(r,"button",{type:"button",text:"Cancel",style:c}),h=n?null:A(r,"button",{type:"button",text:"Download a copy first",style:c}),m=A(r,"button",{type:"button",text:"Upgrade",style:`${c}border-color:transparent;background:#2f6fed;color:#fff;font-weight:600;`});n||(m.disabled=!0),h&&d.append(h),d.append(f,m),i.append(a,s,u,d),o.append(i),r.body.appendChild(o);let v=!1,b=()=>{v||(v=!0,o.remove())};h&&h.addEventListener("click",()=>{Gt({clay:l,doc:r,loc:t.loc})?(m.disabled=!1,u.textContent="Your copy was downloaded."):u.textContent="The copy could not be downloaded. Nothing was changed."}),f.addEventListener("click",b);let p,g=new Promise(y=>{p=y});return m.addEventListener("click",async()=>{m.disabled=!0,h&&(h.disabled=!0),u.textContent=`Upgrading to version ${e.version}\u2026`;let y=await Re(e,t);if(y.ok){b(),p(y);return}u.textContent=y.message||V,m.disabled=!1,h&&(h.disabled=!1),p(y)}),{root:o,title:a,body:s,status:u,cancel:f,download:h,upgrade:m,close:b,done:g}}export{Re as apply,Se as prepare,Zt as start};
@@ -0,0 +1 @@
1
+ var s={"permission-denied":"You don't have permission to edit this document.","save-failed":"Couldn't save, so this page stays in edit mode.","host-timeout":"The workspace didn't answer, so this page stays as it was."},o=new Set(["busy","cancelled"]);function t(e){return!e||e.ok!==!1||o.has(e.code)?null:s[e.code]||e.message||"Couldn't switch modes."}export{t as a};
@@ -0,0 +1 @@
1
+ import{b as x,f as b}from"./c-7O6AFR65.js";var d="/_/meta",T=6e3,v=new WeakMap,A=new WeakMap,_=new WeakMap,E=0;function a(t,e=s(),n=null,r=null){return v.set(e,t),n!==null&&A.set(e,n),r!==null&&_.set(e,r),e}function g(t){return v.get(t)??"none"}function $(t){return A.get(t)}function j(t){return _.get(t)??0}function s(){return{spec:null,extensions:[],document:null}}var m=null,p=null;function h({fresh:t=!1}={}){if(b)return Promise.resolve(s());if(!t)return m||(m=k().catch(s)),m;if(!p){let e=m;p=k().catch(s).finally(()=>{p=null}),m=p.then(async n=>{if(g(n)==="ok"||!e)return n;let r=await e;return g(r)==="ok"?r:n})}return p}async function R(t){return(await h()).extensions.includes(t)}async function U(){return(await h()).extensions.includes("page-format-v1")?1:0}async function D(){return(await h()).document?.versions===!0}function P(){m=null,p=null}async function W({saveId:t,requestHash:e,signal:n}={}){if(b||typeof t!="string"||!t||typeof e!="string"||!e||!/^https?:$/.test(window.location.protocol)||n?.aborted)return null;let r=new AbortController,l=()=>r.abort(),y=setTimeout(l,T);n?.addEventListener("abort",l);try{let u=await h();if(g(u)!=="ok"||!u.extensions.includes("save-history")||r.signal.aborted)return null;let f=x(),o=f?`${d}/${f}`:d,w=await fetch(new URL(o,window.location.origin).href,{method:"GET",credentials:f?"omit":"same-origin",headers:{"Document-URL":window.location.href,"Save-ID":t,"Save-Request-Hash":e},cache:"no-store",redirect:"manual",signal:r.signal});if(!w.ok)return null;let M=await w.text();if(!M)return null;let i;try{i=JSON.parse(M)}catch{return null}if(!i||typeof i!="object"||typeof i.spec!="number"||!Array.isArray(i.extensions)||!i.extensions.includes("save-history"))return null;let c=i.document&&typeof i.document=="object"?i.document.saveOutcome:null;return!c||typeof c!="object"||c.saveId!==t||c.requestHash!==e||c.status!=="applied"&&c.status!=="unknown"?null:{saveId:t,requestHash:e,status:c.status}}catch{return null}finally{clearTimeout(y),n?.removeEventListener("abort",l)}}async function k(){let t=location.pathname,e=++E;if(!/^https?:$/.test(window.location.protocol))return a("none",s(),t,e);let n=x(),r=n?`${d}/${n}`:d,l=new AbortController,y=setTimeout(()=>l.abort(),T);try{let u=await fetch(new URL(r,window.location.origin).href,{method:"GET",credentials:n?"omit":"same-origin",headers:{"Document-URL":window.location.href},cache:"no-store",redirect:"manual",signal:l.signal});if(!u.ok)return a(u.status>=500?"failed":"none",s(),t,e);let f=await u.text();if(!f)return a("none",s(),t,e);let o;try{o=JSON.parse(f)}catch{return a("none",s(),t,e)}return!o||typeof o!="object"||typeof o.spec!="number"?a("none",s(),t,e):a("ok",{spec:o.spec,extensions:Array.isArray(o.extensions)?o.extensions:[],document:o.document&&typeof o.document=="object"?o.document:null},t,e)}catch{return a("failed",s(),t,e)}finally{clearTimeout(y)}}export{g as a,$ as b,j as c,h as d,R as e,U as f,D as g,P as h,W as i};
@@ -0,0 +1,3 @@
1
+ import{a as _}from"./c-TQEMVJCS.js";import{a as Q,b as ee,c as R}from"./c-3IQRECYS.js";import{d as S}from"./c-AYVOREBE.js";import{c as X,e as W,g as q}from"./c-IJUK2GPW.js";import{b as z,f as E,i as j}from"./c-7O6AFR65.js";import{g as K}from"./c-N7JPUPGC.js";import{a as O,e as V,f as Y,g as Z}from"./c-35NBGMZB.js";var L=null,ne=null,x=null;function xe(e){let t=e?.document?.maxBytes;return Number.isSafeInteger(t)&&t>0?t:null}function te(e){return L=xe(e),ne=e?.document?.maxBytesMeasures==="file"?"file":null,L}var Ae=/<script\b[^>]*\bmerge=(["'])page\1[^>]*>[\s\S]*?<\/script\s*>/i;function N(e,t=ne){if(t!=="file"||typeof e!="string")return e;let n=Ae.exec(e);if(!n)return e;let o=n.index,i=o+n[0].length,r=e.lastIndexOf(`
2
+ `,o-1)+1,u=e.indexOf(`
3
+ `,i),l=u===-1?e.length:u+1;return!/\S/.test(e.slice(r,o))&&!/\S/.test(e.slice(i,l))&&(o=r,i=l),e.slice(0,o)+e.slice(i)}function F(e,t){let n=new TextEncoder().encode(e).byteLength,o=Number.isSafeInteger(t)&&t>0;return{bytes:n,maxBytes:o?t:null,state:o?n>t?"over":n>=Math.ceil(t*.8)?"near":"ok":"unknown"}}function re(){return L}function b({fresh:e=!1}={}){return e?(x=S({fresh:!0}).then(te),x):(x||(x=S().then(te)),x)}function yt({fresh:e=!1}={}){return b({fresh:e}).then(t=>({maxBytes:t}))}async function vt(e){let t=await b();return F(N(e),t)}function oe(e){let t=new CustomEvent("clay:save-size",{detail:e});document.dispatchEvent(t),(e.state==="near"||e.state==="over")&&import("./c-EY6UOM54.js").then(n=>n.start(t),()=>{})}var we="clay-page-format";var se=e=>Number.isSafeInteger(e)&&e>0?e:0,ae=e=>/<meta\b[^>]*\bname\s*=\s*["']?clay-page-format["']?[^>]*>/i.exec(e);function Te(e){if(typeof e!="string")return 0;let t=ae(e);if(!t)return 0;let n=/\bcontent\s*=\s*["']?(\d+)/i.exec(t[0]);return n?se(Number(n[1])):0}function ce(e,t){let n=se(t);if(typeof e!="string"||!n)return e;let o=ae(e);if(o&&Te(o[0])===n)return e;let i=`<meta name="${we}" content="${n}">`;if(o)return e.slice(0,o.index)+i+e.slice(o.index+o[0].length);let r=/<\/head\s*>/i.exec(e)||/<body\b/i.exec(e);return r?e.slice(0,r.index)+i+e.slice(r.index):i+e}var Ee=0,ue=()=>Ee;var $="/_/clayjs/",Oe=/[\u0000-\u001F\u007F]/,Re=/^[\t\n\f\r ]|[\t\n\f\r ]$/,be=/^https:\/\/clayjs\.com\/v(\d+)\/([\s\S]*)$/,$e=/^https:\/\/clayjs\.com\/(\d+)\.(\d+)\.(\d+)\/([\s\S]*)$/,le=/^\/_\/clayjs\/(\d+)\.(\d+)\.(\d+)\/([\s\S]*)$/,ke=/%2e|%2f|%5c/i;function Me(e){if(typeof e!="string")return null;let t=/^(\d+)\.\d+\.\d+$/.exec(e);return t?t[1]:null}function Pe(e){if(typeof e!="string"||e==="")return null;try{return new URL(e).origin}catch{return null}}function Ie(e){let t=e.indexOf("#"),n=t<0?"":e.slice(t),o=t<0?e:e.slice(0,t),i=o.indexOf("?"),r=i<0?"":o.slice(i);return{head:i<0?o:o.slice(0,i),search:r,hash:n}}function je(e){if(e===""||e.includes("\\")||ke.test(e))return null;let t=e.split("/"),n=[];for(let o of t){if(o===""||o==="."||o==="..")return null;let i;try{i=decodeURIComponent(o)}catch{return null}if(i.includes("/")||i.includes("\\")||i==="."||i==="..")return null;n.push(i)}return n.join("/")}function A(e,{documentURL:t}={}){if(typeof e!="string"||e===""||Re.test(e)||Oe.test(e))return null;let{head:n,search:o,hash:i}=Ie(e),r=null,u=null,l=null,c=null,s=be.exec(n);if(s&&(r="rolling",l=s[1],c=s[2]),r||(s=$e.exec(n),s&&(r="exact",u=`${s[1]}.${s[2]}.${s[3]}`,l=s[1],c=s[4])),r||(s=le.exec(n),s&&(r="local",u=`${s[1]}.${s[2]}.${s[3]}`,l=s[1],c=s[4])),!r){let f=Pe(t);f&&n.startsWith(`${f}/`)&&(s=le.exec(n.slice(f.length)),s&&(r="local",u=`${s[1]}.${s[2]}.${s[3]}`,l=s[1],c=s[4]))}if(!r)return null;let a=je(c);return a===null?null:{kind:r,major:l,version:u,rawPath:c,path:a,search:o,hash:i}}function _e(e,t){let n=e&&typeof e=="object"?e[t]:null;return n&&typeof n.files=="object"&&n.files?n.files:null}function Le(e){return!e||typeof e!="object"?[]:Array.isArray(e.entries)?e.entries.filter(t=>t&&typeof t=="object"):[]}function Ne(e,t,n){if(!n)return!0;let o=_e(n,t);return!!(o&&Object.hasOwn(o,e.path))}function fe(e,{descriptor:t,releases:n,documentURL:o,aliases:i}={}){let r=A(e,{documentURL:o});if(!r||r.kind!=="local")return e;let u=Le(t),l=Me(r.version);for(let c of u){if(c.local!==e||typeof c.original!="string")continue;let s=n?.[r.version]?.aliases??i;if(s&&typeof s=="object"&&!r.search&&!r.hash&&Object.hasOwn(s,c.original)&&s[c.original]===r.path)return c.original;let a=A(c.original);if(a&&!(a.kind!=="rolling"&&a.kind!=="exact")&&a.rawPath===r.rawPath&&a.search===r.search&&a.hash===r.hash&&!(a.kind==="rolling"?a.major!==l:a.version!==r.version)&&Ne(r,r.version,n))return a.kind==="exact"?c.original:`https://clayjs.com/v${a.major}/${r.rawPath}${r.search}${r.hash}`}for(let c of u){if(typeof c.original!="string")continue;let s=A(c.original);if(s&&!(s.kind!=="rolling"&&s.kind!=="exact")&&s.rawPath===r.rawPath&&!(s.kind==="rolling"?s.major!==l:s.version!==r.version))return s.kind==="rolling"?`https://clayjs.com/v${s.major}/${r.rawPath}${r.search}${r.hash}`:`https://clayjs.com/${s.version}/${r.rawPath}${r.search}${r.hash}`}return`https://clayjs.com/${r.version}/${r.rawPath}${r.search}${r.hash}`}var Fe=Object.freeze({"https://cdn.jsdelivr.net/npm/overtype@2.6.1/dist/overtype.min.js":"compat/overtype-2.6.1.min.js","https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js":"compat/highlight-11.9.0.min.js","https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Sans:wght@400;500;600&display=swap":"fonts/ibm-plex.css"}),C="clay-runtime-map",Ue=new Set(["stylesheet","preload","modulepreload"]),de=null,U=null;function Ce(e){let t;try{t=JSON.parse(e)}catch{return null}return!t||typeof t!="object"||t.schema!==1?null:t}function De(){if(typeof document>"u")return null;let e=document.getElementById(C);if(!e)return null;let t=e.textContent??"";return t===de||(de=t,U=Ce(t)),U}var Ge=`script[src*="${$}"], link[href*="${$}"], #${C}`;function pe(e){if(e.querySelector(Ge))return!0;for(let t of e.querySelectorAll("template"))if(pe(t.content))return!0;return!1}function He(e){let t=[],n=[e];for(;n.length;){let o=n.pop();for(let i of o.children??[])t.push(i),n.push(i),i.content&&n.push(i.content)}return t}function Be(e){return e.tagName==="SCRIPT"&&e.hasAttribute("src")?"src":e.tagName!=="LINK"||!e.hasAttribute("href")?null:(e.getAttribute("rel")??"").toLowerCase().split(/\s+/).some(n=>Ue.has(n))?"href":null}function Je(e){if(!e||!pe(e))return;let t=[],n=!1;for(let r of He(e)){if(r.getAttribute("id")===C){r.remove();continue}let u=Be(r);u&&(t.push({element:r,name:u}),!n&&(r.getAttribute(u)??"").includes($)&&(n=!0))}if(!n)return;let o=location.href,i=De();for(let{element:r,name:u}of t){let l=r.getAttribute(u),c=A(l,{documentURL:o});!c||c.kind!=="local"||r.setAttribute(u,fe(l,{descriptor:i,documentURL:o,aliases:Fe}))}}Z(Je);var g=!1,he="/_/save",ze=12e3,Ke=6e4,P=!1,Se=[],G=new Map;function Gt(e,t){t==null?G.delete(e):G.set(e,String(t))}async function Ht(e,t){P=!!e;try{return await t()}finally{P=!1}}function Bt(){return g}function Jt(e){Se.push(e)}function me(e,t,n=null){for(let o of Se)try{o(e,n?{captureId:t??null,artifact:n}:{captureId:t??null})}catch(i){console.error("clayjs: onSaveAccepted hook failed:",i)}}var k=[],M=[];function zt(e){return k.push(e),()=>{let t=k.indexOf(e);t>=0&&k.splice(t,1)}}function Kt(e){return M.push(e),()=>{let t=M.indexOf(e);t>=0&&M.splice(t,1)}}function Xe(e){for(let t of k)try{t(e)}catch(n){console.error("clayjs: onSaveAttempt hook failed:",n)}}function We(e){for(let t of M)try{t(e)}catch(n){console.error("clayjs: onSaveOutcome hook failed:",n)}}function ge(e){return{ok:!0,msg:e.msg??"Saved",msgType:e.msgType||"success",code:e.code??null,etag:e.etag??null}}var w=[],qe=8,m=null;function Xt(){return m!==null}function ye(){let e=window.crypto?.randomUUID?.();if(e)return e;if(window.crypto?.getRandomValues){let n=new Uint8Array(16);return window.crypto.getRandomValues(n),Array.from(n,o=>o.toString(16).padStart(2,"0")).join("")}let t=()=>Math.random().toString(36).slice(2,12).padEnd(10,"0");return`${Date.now().toString(36)}-${t()}${t()}${t()}`}function Ve(e){w.push(e),w.length>qe&&w.shift()}function Ye(e){return typeof e=="string"&&e!==""&&w.includes(e)}function Wt(){w.length=0,m=null}function H(e){let t=e.name==="AbortError",n=!t&&e.status===412,o=!t&&!n&&e.code==="save-already-applied";return{ok:!1,msg:t?"Server not responding":e.message||"Save failed",msgType:t||o?"unknown":n?"conflict":"error",code:t?"timeout":n?"conflict":e.code??null,changedBy:n?e.changedBy??null:null,afterTimeout:n&&m!==null,conflictEtag:n?e.etag??null:null,status:Number.isInteger(e.status)?e.status:null,hadTimeout:t||e.hadTimeout===!0,reason:e.reason??null,retryAfter:e.retryAfter??null,saveOutcome:e.saveOutcome??null,etag:null}}function T(e){return{ok:!1,msg:e,msgType:"skipped",code:null,etag:null}}function Ze(e){let t=new Error(`This document is ${e.bytes} bytes; this host saves at most ${e.maxBytes}`);return t.code="save-too-large",{...H(t),sent:!1,size:e}}var y=null;function Qe(e){return y?null:(y={kind:e},y)}function et(e){y===e&&(y=null)}function tt(){return y?y.kind:null}function nt(){return{ok:!1,msg:"Invalid page conversion metadata",msgType:"error",code:"invalid-header",etag:null}}var rt=3,ot=/^(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} GMT|(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), \d{2}-(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2} \d{2}:\d{2}:\d{2} GMT|(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?: \d|\d{2}) \d{2}:\d{2}:\d{2} \d{4})$/;function it(e){if(e==null)return null;let t=String(e).trim();if(!t)return null;if(/^-?\d+$/.test(t))return Math.max(0,Math.min(3600,Number(t)));if(!ot.test(t))return null;let n=Date.parse(t);return Number.isNaN(n)?null:Math.max(0,Math.min(3600,Math.round((n-Date.now())/1e3)))}var st=/^[0-9a-f]{64}$/,at=/^[A-Za-z0-9-]{1,64}$/;function ct(e){if(e==null)return{header:null};if(typeof e!="object")return{invalid:!0};let{source:t,base:n,epoch:o}=e;return typeof n!="string"||!st.test(n)?{invalid:!0}:t==="file"?o!=null?{invalid:!0}:{header:`v1; source=file; base=${n}`}:t==="room"?typeof o!="string"||!at.test(o)?{invalid:!0}:{header:`v1; source=room; base=${n}; epoch=${o}`}:{invalid:!0}}function ut(e,t,n,o,i,r=!1,u=null){let l=z(),c=l?`${he}/${l}`:he,s={method:"POST",credentials:l?"omit":"same-origin",signal:n,headers:{"Document-URL":window.location.href,"Page-URL":window.location.href,"Save-Trigger":t?"user":"auto","Save-ID":o,[_]:String(1)},body:e};for(let[a,f]of G)s.headers[a]=f;return u&&(s.headers["Page-Conversion"]=u),i&&(s.headers["If-Match"]=i),r&&new Blob([e]).size<Ke&&(s.keepalive=!0),{url:lt(c),options:s}}function ve(){let e=Q();return ee()&&e?e:null}function lt(e){let t=window.location.origin;return!t||t==="null"?e:new URL(e,t).href}function D(e,t){let n=JSON.stringify(t);return{ok:e>=200&&e<300,status:e,statusText:e===200?"OK":"Insufficient Storage",text:()=>Promise.resolve(n)}}function ft(e){let t=K();return t?Promise.resolve().then(()=>{try{return t(e),D(200,{msg:"Saved in this browser",msgType:"success"})}catch(n){return D(507,{msg:"Couldn't save in this browser. Storage is full or turned off.",msgType:"error",code:n.code||"draft-storage"})}}):Promise.resolve(D(503,{msg:"Saving in this browser is not ready yet",msgType:"error",code:"draft-not-ready"}))}function dt(e,t,n,{captureId:o=null,conversionHeader:i=null,attempts:r=[]}={}){let u=new AbortController,l=setTimeout(()=>u.abort(),ze),c=W(),s=q(),a=c||s,f=P;P=!1;let{url:v,options:I}=ut(e,a,u.signal,t,n,f,i);return Ve(t),E||(r.some(d=>d.saveId===t&&d.etag===(n??null))||r.push({saveId:t,etag:n??null}),Xe({captureId:o,saveId:t,html:e,etag:n??null})),(E?ft(e):fetch(v,I)).then(d=>d.text().then(J=>{let p={};if(J)try{p=JSON.parse(J)}catch{if(d.ok)throw new Error("Server sent a response that was not JSON")}if(!d.ok){let h=new Error(p.msg||p.error||`HTTP ${d.status}: ${d.statusText}`);throw h.code=d.status===413?"save-too-large":p.code??null,h.status=d.status,h.changedBy=p.changedBy??null,h.etag=p.etag??null,h.saveId=p.saveId??null,h.reason=typeof p.reason=="string"?p.reason:null,h.saveOutcome=p.saveOutcome??null,h.retryAfter=it(d.headers?.get?.("Retry-After")),h}return R(p.etag??null),m=null,p})).catch(d=>{throw console.error("Failed to save page:",d),d.name==="AbortError"&&(m={saveId:t,etag:n}),a&&X(),d}).finally(()=>{clearTimeout(l)})}async function pt(){let e=m;if(!e)return{landed:null,resend:!1};let n=(await S({fresh:!0})).document,o=typeof n?.etag=="string"&&n.etag?n.etag:null;return o?n.saveId&&n.saveId===e.saveId?(R(o),m=null,{landed:{msg:"Saved",msgType:"success",etag:o},resend:!1}):(n.saveId&&(m=null),{landed:null,resend:!!e.etag,etag:e.etag}):{landed:null,resend:!1}}async function ht(e,{captureId:t=null,conversionHeader:n=null,attempts:o=[]}={}){let i=ye(),r=ve(),u=!1,l=!1,c=0,s=t??O();for(;;)try{return await dt(e,i,r,{captureId:t,conversionHeader:n,attempts:o})}catch(a){if(u&&(a.hadTimeout=!0),a.name==="AbortError"){if(u)throw a;let{landed:f,resend:v,etag:I}=await pt();if(f)return f;if(!v)throw a;r=I,u=!0;continue}if(a.status===412&&!l&&Ye(a.saveId)){R(a.etag??null),m=null,i=ye(),r=ve(),l=!0;continue}if(a.code==="page-converting"&&c<rt){if(O()!==s||(c+=1,await new Promise(f=>setTimeout(f,Math.max(0,a.retryAfter??1)*1e3)),O()!==s))throw a;continue}throw a}}function B(e,t,n,o,i=null){return e=ce(e,ue()),new Promise(r=>{let u=[],l=V(i),c=(f,v=!1)=>{v&&me(e,t??null,l),Y(i),We({captureId:t??null,result:f,attempts:u,sent:u.length>0}),typeof n=="function"&&n(f),r(f)};if(!j&&!window.clay?.testMode)return c(T("Not in edit mode"));if(g)return c(T("Save already in progress"));let s=ct(o);if(s.invalid)return c(nt());if(g=!0,window.clay?.testMode){setTimeout(()=>{g=!1,c(ge({msg:"Test mode: save skipped"}))},0);return}b();let a=F(N(e),re());if(oe(a),a.state==="over")return g=!1,c(Ze(a));ht(e,{captureId:t,conversionHeader:s.header,attempts:u}).then(ge,H).then(f=>{g=!1,f.code==="save-too-large"&&!f.size&&(f.size=a),f.ok&&me(e,t??null,l),c(f)})})}function mt(e,t=()=>{}){return B(e,null,t,null)}function qt(e,t,n=()=>{},{conversion:o,capture:i=null}={}){return B(e,t,n,o,i)}function Vt({html:e,captureId:t,conversion:n}){return B(e,t??null,void 0,n)}function Yt(e,t=()=>{}){return new Promise(n=>{let o=null,i=r=>{et(o),typeof t=="function"&&t(r),n(r)};if(!j)return i(T("Not in edit mode"));if(tt())return i(T("Another document operation is in progress"));if(g)return i(T("Save already in progress"));if(E)return i(!1);o=Qe("replace"),fetch(new URL(e,window.location.href).href).then(r=>{if(!r.ok)throw new Error(`Template fetch failed: HTTP ${r.status} ${r.statusText}`);return r.text()}).then(r=>mt(r)).then(i).catch(r=>{console.error("Failed to fetch template:",r),i(H(r))})})}export{b as a,yt as b,vt as c,Gt as d,Ht as e,Bt as f,Jt as g,zt as h,Kt as i,Xt as j,ye as k,Wt as l,Qe as m,et as n,tt as o,ut as p,mt as q,qt as r,Vt as s,Yt as t};
@@ -0,0 +1 @@
1
+ var s={"lib/mutation.js":"neutral","core/preserve-authored.js":"neutral","core/edit-mode.js":"neutral","core/mode-key.js":"neutral","core/stale-host-notice.js":"neutral","core/page-data.js":"neutral","core/snapshot.js":"neutral","core/save-core.js":"neutral","core/recovery.js":"neutral","core/unsaved-warning.js":"neutral","attrs/onaftersave.js":"neutral","attrs/refetch-on-save.js":"neutral","lib/cache-bust.js":"neutral","attrs/save-freeze.js":"neutral","core/persist.js":"neutral","attrs/add-from.js":"neutral","core/etag.js":"neutral","core/save.js":"export","core/conflict-notice.js":"export","core/autosave.js":"export","core/admin-attrs.js":"export","plugins/indicator.js":"export","plugins/richclay.js":"export","plugins/sortable.js":"export","plugins/undo.js":"export","plugins/unsent.js":"export","plugins/upload.js":"export","plugins/people.js":"export","plugins/live.js":"export","plugins/page.js":"export","plugins/visitor-drafts-owner.js":"export","plugins/menu.js":"neutral","plugins/upgrade.js":"neutral","plugins/derive.js":"neutral","plugins/bind-text.js":"neutral","plugins/page-view.js":"reader","plugins/source.js":"export","sync/live-sync.js":e=>e.liveSync.editParticipant(),"plugins/wire.js":"export","plugins/ai-edit.js":"export","plugins/cms.js":"export"},r=e=>Object.prototype.hasOwnProperty.call(s,e)?s[e]:null;export{r as a};
@@ -0,0 +1 @@
1
+ var e={table:{types:["table"],views:["table","table_cell"],module:"page/features/table.js",load:()=>import("./c-SGCCC4FW.js")},board:{types:["board"],module:"page/features/board.js",load:()=>import("./c-YG2NJYS6.js")},code:{types:["code_block"],module:"page/features/code.js",load:()=>import("./c-MMUIUUZG.js")},media:{types:["image","file"],module:"page/features/media.js",load:()=>import("./c-5Y6TNX5W.js")},tool:{types:["tool"],module:"page/features/tool.js",boot:["page/tools.js","page/tool-data.js"],load:()=>import("./c-4DRMS4QG.js")}},a=o=>Object.keys(e).find(t=>e[t].types.includes(o))??null,l={};export{e as a,a as b,l as c};
@@ -0,0 +1 @@
1
+ var m="clay:bottom-ui-changed";function d(){document.dispatchEvent(new CustomEvent(m))}function l(n,o){let t=window.innerHeight,i=0,u=document.elementsFromPoint?document.elementsFromPoint(n,t-3):[];for(let h of u)for(let e=h;e&&e!==document.body&&e!==document.documentElement&&!o(e);e=e.parentElement){let c=getComputedStyle(e).position;if(c==="fixed"||c==="sticky"){let r=Math.ceil(t-e.getBoundingClientRect().top);r<t/3&&(i=Math.max(i,r));break}}return i}function s(n){let o=document.querySelector("#hcp:not([hidden])");if(!o)return 0;let t=o.getBoundingClientRect();return!t.width||!t.height||t.right<=n.left||t.left>=n.right?0:Math.ceil(window.innerHeight-t.top)}export{m as a,d as b,l as c,s as d};
@@ -0,0 +1 @@
1
+ import{a as l,o as c}from"./c-DCFSEJZG.js";var u=/^\d{1,4}(?:\.\d{1,4}){0,63}$/,f=64,d=9999,E=new Set(["INPUT","TEXTAREA","SELECT"]),p='[contenteditable]:not([contenteditable="false"])',i=`${c}, ${l}`,s=e=>Array.from(e.children).filter(n=>!n.matches(i));function a(e){if(!e||e.nodeType!==1||typeof e.closest!="function")return null;if(E.has(e.tagName))return e;let n=e.closest(p);if(!n)return null;let o=typeof document.getSelection=="function"?document.getSelection():null,t=o&&o.rangeCount?o.focusNode:null;if(t&&t.nodeType!==1&&(t=t.parentElement),!t||t===n||!n.contains(t))return n;for(;t.parentElement&&t.parentElement!==n;)t=t.parentElement;return t.parentElement===n?t:n}function O(e){let n=document.body;if(!e||!n||e===n||!n.contains(e)||e.closest(i))return null;let o=[];for(let t=e;t!==n;t=t.parentElement){let r=s(t.parentElement).indexOf(t);if(r<0||r>d||o.length===f)return null;o.unshift(r)}return o.join(".")}function N(e){if(typeof e!="string"||!u.test(e)||!document.body)return null;let n=document.body;for(let o of e.split("."))if(n=s(n)[Number(o)],!n)return null;return n}export{u as a,a as b,O as c,N as d};
@@ -0,0 +1 @@
1
+ var e=new WeakMap;export{e as a};
@@ -0,0 +1,6 @@
1
+ import"./c-VHNSBD2M.js";var v="clay:debug:autosave",r=null,h=null;function d(){try{return localStorage.getItem(v)==="true"}catch{return!1}}async function u(){return r||h||(h=import("https://esm.sh/diff@5.2.0").then(e=>(r=e,e)).catch(e=>(console.warn("[autosave-debug] Failed to load diff library:",e),null)),h)}function m(e,o){if(!d())return;console.log(`[autosave] ${e}: ${o?"\u2713 matches":"\u2717 differs"}`)}function y(e,o=""){d()&&console.log(`[autosave] baseline ${e}${o?`: ${o}`:""}`)}async function x(e,o){if(!d())return;console.group("[autosave] Unload warning triggered - content differs from last save"),console.log("Current length:",e.length),console.log("Last saved length:",o.length),console.log("Difference:",e.length-o.length,"characters");let n=await u();if(n){let t=n.diffLines(o,e);console.log(`
2
+ --- DIFF (last saved \u2192 current) ---`);let a=!1;if(t.forEach(l=>{if(l.added||l.removed){a=!0;let s=l.added?"+++ ":"--- ",i=l.value.split(`
3
+ `).filter(f=>f.length>0),c=20;i.slice(0,c).forEach(f=>{let b=f.length>200?f.substring(0,200)+"...[truncated]":f;console.log(s+b)}),i.length>c&&console.log(`... and ${i.length-c} more lines`)}}),!a&&(console.log("(No line-level differences found - may be whitespace or inline changes)"),Math.abs(e.length-o.length)<500)){let l=n.diffChars(o,e);console.log(`
4
+ --- CHARACTER DIFF ---`),l.forEach(s=>{if(s.added||s.removed){let i=s.added?"+++ ":"--- ",c=s.value.length>100?s.value.substring(0,100)+"...[truncated]":s.value;console.log(i+JSON.stringify(c))}})}}else console.log("(diff library not available - showing raw comparison)"),console.log("First 500 chars of current:",e.substring(0,500)),console.log("First 500 chars of last saved:",o.substring(0,500));console.groupEnd()}function L(e,o){if(d()){if(console.group("[autosave] Unload warning triggered - content differs from last save"),console.log("Current length:",e.length),console.log("Last saved length:",o.length),console.log("Difference:",e.length-o.length,"characters"),r){let n=r.diffLines(o,e);console.log(`
5
+ --- DIFF (last saved \u2192 current) ---`);let t=!1;n.forEach(a=>{if(a.added||a.removed){t=!0;let l=a.added?"+++ ":"--- ",s=a.value.split(`
6
+ `).filter(g=>g.length>0),i=20;s.slice(0,i).forEach(g=>{let f=g.length>200?g.substring(0,200)+"...[truncated]":g;console.log(l+f)}),s.length>i&&console.log(`... and ${s.length-i} more lines`)}}),t||(console.log("(No line-level differences - checking character diff)"),Math.abs(e.length-o.length)<500&&r.diffChars(o,e).forEach(l=>{if(l.added||l.removed){let s=l.added?"+++ ":"--- ",i=l.value.length>100?l.value.substring(0,100)+"...[truncated]":l.value;console.log(s+JSON.stringify(i))}}))}else{u(),console.log('(diff library loading - run localStorage.setItem("clay:debug:autosave", "true") and reload for full diff)');let n=0,t=Math.min(e.length,o.length);for(;n<t&&e[n]===o[n];)n++;console.log("First difference at position:",n),console.log("Context around difference:"),console.log(" Last saved:",JSON.stringify(o.substring(Math.max(0,n-50),n+100))),console.log(" Current:",JSON.stringify(e.substring(Math.max(0,n-50),n+100)))}console.groupEnd()}}function E(){d()&&(u(),console.log("[autosave-debug] Debug mode enabled - diff library loading"))}export{d as isDebugEnabled,y as logBaseline,m as logSaveCheck,x as logUnloadDiff,L as logUnloadDiffSync,E as preloadIfEnabled};
@@ -0,0 +1 @@
1
+ import{a as wt}from"./c-GQ6F6IDK.js";import{c as _}from"./c-2SPVQSHC.js";import{b as Ne}from"./c-5VYOWDTI.js";import{a as Mt,d as J,e as Ie,f as B,h as D}from"./c-7VGZ7RU5.js";import{a as Re,b as _t}from"./c-4YSCRICO.js";import{a as Dt}from"./c-UGHH4MB3.js";import{a as St}from"./c-HT33EQRN.js";import{a as Tt,e as xt,f as T,j as Ct,r as Le,t as Pt}from"./c-B2ZXPOS3.js";import{a as Oe,c as At,g as Et,h as ke}from"./c-3IQRECYS.js";import{a as Pe,f as Me,h as z}from"./c-IJUK2GPW.js";import{f as F,i as g}from"./c-7O6AFR65.js";import{i as mt,k as vt}from"./c-N7JPUPGC.js";import{f as fe,k as De,m as yt,o as q,p as le,q as _e}from"./c-35NBGMZB.js";import{a as ue,e as ht}from"./c-GHBCCVG4.js";import{d as lt,e as ct,g as dt,h as pt}from"./c-HA6INT6J.js";import{k as gt}from"./c-DCFSEJZG.js";var Yt="clay:debug:autosave";function ce(){try{return localStorage.getItem(Yt)==="true"}catch{return!1}}function de(){return import("./c-CFHW5AMY.js").catch(e=>(console.warn("[autosave-debug] Failed to load the debug logger:",e),null))}function pe(e,t){ce()&&de().then(n=>n?.logSaveCheck(e,t))}function Z(e,t=""){ce()&&de().then(n=>n?.logBaseline(e,t))}function Ot(e,t){ce()&&de().then(n=>n?.logUnloadDiffSync(e,t))}function kt(){ce()&&de().then(e=>e?.preloadIfEnabled())}var O=Number.NEGATIVE_INFINITY;function jt({firstDirtyAt:e=O,lastActivityAt:t=O,finishedAt:n=O,costMs:o=0}={}){let r=e??O,s=t??O,a=n??O,u=Math.min(3e4,Math.max(1200,0*o)),f=Math.max(s,a)+1500,p=Math.max(r+1e4,a+u);return Math.max(a+1200,Math.min(f,p))}function Lt({now:e=()=>Date.now(),setTimer:t=(r,s)=>setTimeout(r,s),clearTimer:n=r=>clearTimeout(r),run:o=()=>{}}={}){let r=null,s=null,a=O,u=0,f=null,p=null,c=!1,d=!1;function l(){return jt({firstDirtyAt:r,lastActivityAt:s,finishedAt:a,costMs:u})}function S(){if(!c||d)return;let m=l();if(f!==null){if(p===m)return;n(f)}p=m,f=t(E,Math.max(0,m-e()))}function E(){if(f=null,p=null,!(!c||d)){if(e()<l()){S();return}j()}}function j(){c=!1,d=!0,r=null,s=null;let m;try{m=o()}catch{U();return}Promise.resolve(m).then(U,U)}function U(){d=!1,a=e(),c&&S()}function b({at:m=e()}={}){r===null&&(r=m),s=m,c=!0,S()}function i(){c=!0,S()}function h(m){m>0&&(u=Math.max(m,u*.8))}return{noteActivity:b,request:i,noteCost:h,dueAt:l,costEstimate:()=>u,pending:()=>c||d,running:()=>d}}De(e=>{for(let t of pt)e.removeAttribute(t)});De(e=>{for(let t of[...lt,...ct,...dt])e.removeAttribute(t)});var A=null;function y(e,t="",n="",o=null){A&&(clearTimeout(A),A=null),document.documentElement.setAttribute("savestatus",e);let r=new CustomEvent(`clay:save-${e}`,{detail:{msg:t,msgType:n,timestamp:Date.now(),...o||{}}});document.dispatchEvent(r)}function ze(){A&&(clearTimeout(A),A=null),document.documentElement.setAttribute("savestatus","offline")}function bt(){A=setTimeout(()=>{y("saving")},500)}window.addEventListener("offline",()=>{ze()});window.addEventListener("online",()=>{document.documentElement.getAttribute("savestatus")==="offline"&&M().then(e=>{e.msgType==="skipped"&&document.documentElement.getAttribute("savestatus")==="offline"&&document.documentElement.setAttribute("savestatus","saved")})});var k=!1,C="",w="",qe=0,$=new Set,L=!1,G=!1,K=!1,I=0,Be=!1;function zt(){I++}function Ft(){I!==0&&(I--,!(I>0)&&(oe&&(oe=!1,Q=setTimeout(it,0)),Be&&(Be=!1,xe())))}function Jt(){return I>0}var H=0,se=!1,he=!1,Se=!1;function Ee(e=null){return H===0||un(e)}function Je(){return se}function Zt(){if(se)return!0;try{let e=q({flushUndo:!1});return ft(e)?!1:e!==w}catch{return!0}}function en(){let e="idle",t=0;return{get phase(){return e},get open(){return e==="open"},changedWhileClosed(){return e==="quiesced"&&Ie()!==t},start(){e==="idle"&&(e="open")},quiesce(){e==="open"&&(e="quiesced",t=Ie(),H++)},resume(){e==="quiesced"&&(e="open",H--,!(H>0)&&(hn(),Rt()))},stop(){if(e==="stopped")return;let n=e==="quiesced";(n||e==="open")&&Zt()&&(Se=!0),e="stopped",n&&(H--,H===0&&Rt())}}}var It=!1,te=null,He=null,Ge=!1;function sr(e=Y){if(!te||te.generation!==e)return null;let{bytes:t,etag:n}=te;return{bytes:t,etag:n}}function ar({represented:e}={}){let t=B(),{forComparison:n,forDirty:o}=le(),r=typeof e?.etag=="string"&&e.etag?e.etag:null;return!(Ge&&r!==null&&r!==He)&&Se&&(n!==C||o!==w)?{ok:!1,code:"pending-input"}:(Se=!1,re(n,o),R=n,V=!1,st=!0,He=r,Ge=!0,D(t),document.documentElement.setAttribute("savestatus","saved"),document.dispatchEvent(new CustomEvent("clay:baseline-settled")),{ok:!0})}var Ze=Promise.resolve(!1),ye=!1,tn=()=>(ye=!0,Et().catch(()=>!1).then(e=>(ye=!1,e)));function ur(){return{id:"clay:save",order:10,prepare(e={}){let t=en();return e.initial===!0&&t.start(),{enable(){Ze=tn();let n=e.represented?.etag;typeof n=="string"&&n&&At(n),e.initial!==!0&&(nn(),t.start())},quiesce:()=>t.quiesce(),resume:()=>t.resume(),dispose:()=>t.stop()}}}}function nn(){It||(It=!0,Mt(),Pe(),Vt(),$t())}var P=0,Ke=!1,we=!1,et="Waiting for the AI edit to be kept or reverted",W=new Map;function fr(e=et){P++,W.set(e,(W.get(e)||0)+1)}function lr({replay:e=!0,reason:t=et}={}){let n=W.get(t)||0;if(n===0||(n===1?W.delete(t):W.set(t,n-1),P--,P>0))return;let o=Ke,r=we;Ke=!1,we=!1,e&&(o?M():r&&xe())}function cr(){return P>0}function tt(){return P===0?null:W.keys().next().value||et}function qt(e,t){if(P===0)return!1;Ke=!0,z();let n=v(tt());return e(n),t(n),!0}var N=!1,ne=null;function rn(e){ne=e??null,!N&&(N=!0,zt())}function on(){N&&(N=!1,ne=null,Ft())}function We(){return N}function dr(e){if(!N||ne&&e!==ne)return;N=!1,ne=null,!Ne()&&J()||(document.documentElement.getAttribute("savestatus")==="conflict"&&document.documentElement.setAttribute("savestatus","saved"),document.dispatchEvent(new CustomEvent("clay:save-conflict-resolved",{detail:{timestamp:Date.now()}}))),document.dispatchEvent(new CustomEvent("clay:save-conflict-released",{detail:{etag:e??null}})),Ft()}function v(e){return{ok:!1,msg:e,msgType:"skipped",code:null,etag:null}}function nt(e){return(J()||_())&&(se=!0),v(e)}var rt=new Set,Y=0;function pr(){return Y}function mr(e){typeof e=="number"&&(Y=e)}function sn(e=Y){let t=Object.freeze({generation:e});return rt.add(t),t}function an(e){rt.delete(e)}function un(e){return!!e&&rt.has(e)&&e.generation===Y}function ge(e,t){e!=null&&_t({captureId:e,ok:t.ok===!0,etag:t.etag??null})}function Bt(e,t,n,o,r,s=null,a=null,u=!1){if(ge(a,e),e.ok)se=!1,re(t,n),Gt=s,te={bytes:s,etag:Oe(),generation:Y},He=te.etag,Ge=!0,Se=!1,k=!1,D(r),y("saved",e.msg||"Saved",e.msgType,{etag:e.etag??null,captureId:a}),Z(o,`${C.length} chars`),on();else if(e.msgType==="conflict"){if(u){A&&(clearTimeout(A),A=null),document.documentElement.setAttribute("savestatus","saved");return}rn(e.conflictEtag),y("conflict",e.msg,e.msgType,{hadTimeout:e.hadTimeout===!0,changedBy:e.changedBy??null,afterTimeout:e.afterTimeout===!0,etag:e.conflictEtag??null,code:e.code??null,reason:e.reason??null,retryAfter:e.retryAfter??null,captureId:a})}else if(e.msgType!=="skipped"){let f={status:e.status??null,hadTimeout:e.hadTimeout===!0,code:e.code??null,reason:e.reason??null,retryAfter:e.retryAfter??null,captureId:a};navigator.onLine?y("error",e.msg,"",f):y("offline",e.msg,"",f)}}function Ht(){if(!(!L&&!G)&&!Ct()){if(L){L=!1,G=!1,M();return}G=!1,Ye.request()}}function vr(){return k}function gr(e){k=e}function hr(){return C}function ot(){return w}var Gt=null;function Sr(){return Gt}function re(e,t){C=e,w=t,qe++}function yr(e){re(e,e)}var ee=()=>typeof performance<"u"&&performance.now?performance.now():Date.now();function Te(e,t=()=>{}){return ye?Ze.then(()=>Te(e,t)):X?ie.then(()=>Qe(e,t)):Qe(e,t)}function Qe({kind:e,permit:t=null},n=()=>{}){let o=e==="explicit";return new Promise(r=>{if(!g&&!window.clay?.testMode){o&&z();let i=v("Not in edit mode");return n(i),r(i)}if(!Ee(t)){o||(he=!0);let i=nt("Save session is quiesced");return n(i),r(i)}if(o){if(qt(n,r))return;if(T()){L=!0;let i=v("Save already in progress");return n(i),r(i)}}else{if(P>0){we=!0;let i=v(tt());return n(i),r(i)}if(T()&&!V&&K){G=!0;let i=v("Save already in progress");return n(i),r(i)}if(!V&&!J()){let i=v("No changes to save");return n(i),r(i)}}let s=window.clay?.source?.ensureForSave?.();if(s)return s.then(()=>r(Qe({kind:e,permit:t},n)));let a=o?gn():[],u=i=>a.forEach(h=>h(i));!navigator.onLine&&ze();let p=ee(),c,d,l,S,E,j=B();try{c=_e({requestRefresh:!0,forRequest:!0}),{forSave:d,forComparison:l,forDirty:S,captureId:E}=c}catch(i){console.error(`${o?"savePage":"savePageThrottled"}: captureForSaveAndComparison failed`,i),o?(z(),y("error",i.message,"",{sent:!1,code:i.code??null})):y("error",i.message);let h={msg:i.message,msgType:"error",code:o?i.code??null:null,etag:null};typeof n=="function"&&n(h),r(h),u(h);return}let U=ee()-p;if(Re({captureId:E,html:d}),o){if(k=S!==w,pe("savePage dirty check",!k),!k){z(),D(j),fe(c);let i=v("No changes to save");ge(E,i),n(i),r(i),u(i);return}}else{let i=!V||l!==R,h=l!==C;if(pe("throttled vs baseline",!i),pe("throttled vs lastSave",!h),!(i&&h)){let m=!1;try{m=!h&&(!document.querySelector(gt)||J()&&S===w)}catch(Xt){console.error("savePageThrottled: dirty domain check failed",Xt)}m&&D(j),Ye.noteCost(U),fe(c);let ae=v("No changes to save");ge(E,ae),n(ae),r(ae);return}if(k=!0,T()){L=!0,fe(c);let m=v("Save already in progress");ge(E,m),n(m),r(m);return}}bt();let b={forComparison:l,forDirty:S};$.add(b),K=!0,Le(d,E,i=>{K=!1,$.delete(b);let h=ee();Bt(i,b.forComparison,b.forDirty,"updated after save",j,d,E),o||Ye.noteCost(U+(ee()-h)),typeof n=="function"&&n(i),r(i),u(i),Ht()},{capture:c})})}function M(e=()=>{}){return Te({kind:"explicit"},e)}function fn(e,t=()=>{}){return Te({kind:"explicit",permit:e},t)}function Ae(e=()=>{},{quietConflict:t=!1}={}){return ye?Ze.then(()=>Ae(e,{quietConflict:t})):new Promise(n=>{if(!g&&!window.clay?.testMode){let l=v("Not in edit mode");return e(l),n(l)}if(!Ee()){let l=nt("Save session is quiesced");return e(l),n(l)}if(qt(e,n))return;if(T()){L=!0;let l=v("Save already in progress");return e(l),n(l)}let o=window.clay?.source?.ensureForSave?.();if(o)return o.then(()=>n(Ae(e,{quietConflict:t})));!navigator.onLine&&ze();let s,a,u,f,p,c=B();try{s=_e({requestRefresh:!0,forRequest:!0}),{forSave:a,forComparison:u,forDirty:f,captureId:p}=s}catch(l){console.error("savePageForce: captureForSaveAndComparison failed",l),y("error",l.message,"",{sent:!1,code:l.code??null});let S={msg:l.message,msgType:"error",code:l.code??null,etag:null};return typeof e=="function"&&e(S),n(S)}Re({captureId:p,html:a}),bt();let d={forComparison:u,forDirty:f};$.add(d),K=!0,Le(a,p,l=>{K=!1,$.delete(d),Bt(l,d.forComparison,d.forDirty,"updated after force save",c,a,p,t),typeof e=="function"&&e(l),n(l),Ht()},{capture:s})})}function ln(e){let t=["clay:save-saved","clay:save-error","clay:save-offline","clay:save-conflict"];return new Promise((n,o)=>{let r=null,s=()=>{clearTimeout(r);for(let f of t)document.removeEventListener(f,a)},a=()=>{s(),n()},u=e-Date.now();if(u<=0){o(Object.assign(new Error("Save timed out."),{state:"failed"}));return}r=setTimeout(()=>{s(),o(Object.assign(new Error("Save timed out."),{state:"failed"}))},u);for(let f of t)document.addEventListener(f,a)})}function x(e,t){return Object.assign(new Error(e),{state:t})}function cn(e,t){return new Promise((n,o)=>{let r=t-Date.now();if(r<=0)return o(x("Save timed out.","failed"));let s=setTimeout(()=>{document.removeEventListener(e,a),o(x("Save timed out.","failed"))},r),a=()=>{clearTimeout(s),n()};document.addEventListener(e,a,{once:!0})})}async function wr({keepalive:e=!1,timeoutMs:t=15e3,permit:n=null}={}){if(!g)return{state:"view",etag:null};let o=Date.now()+t,r=n||sn(),s=null,a=new Promise((u,f)=>{s=setTimeout(()=>f(x("Save timed out.","failed")),Math.max(0,t))});try{return await Promise.race([dn(e,o,r),a])}catch(u){throw u&&typeof u.state=="string"?u:x(u?.message||"Save failed","failed")}finally{clearTimeout(s),n||an(r)}}async function dn(e,t,n){Kt()||await cn("clay:baseline-settled",t);let o=!1,r=null;for(let s=0;s<4;s++){if(T()&&await ln(t),We())throw x("This document has a conflict to resolve.","conflict");let a=B();if(!je()){if(D(a),_())throw x("This document has unsaved work a save cannot write.","blocked");return{state:o?"saved":"clean",etag:r??Oe()}}let u=await xt(e,()=>fn(n));if(u.msgType!=="skipped"){if(!u.ok)throw x(u.msg||"Save failed",u.msgType==="conflict"||We()?"conflict":"failed");o=!0,r=u.etag??null}}throw x("The document kept changing while saving.","failed")}async function Ar(e=()=>{}){return await ke({fresh:!0}),Ae(e)}function Er(e){!g||F||Pt(e,t=>{t.ok?window.location.reload():t.msgType==="skipped"?y("error",t.msg||"Template not saved"):y("error",t.msg||"Failed to save template")})}var pn=wt(e=>Te({kind:"automatic"},e),1200),mn=250,vn=1e3,Q=null,Nt=0,Ve=[],$e=[],oe=!1,gn=()=>{let e=$e;return $e=[],e};function it(){if(Q=null,I>0||!Ee()){oe=!0;return}let e=Ve;if(Ve=[],T()){$e.push(...e),M();return}M().then(t=>e.forEach(n=>n(t)))}function Tr(){let e=Date.now();return Q===null?Nt=e:clearTimeout(Q),new Promise(t=>{Ve.push(t),Q=setTimeout(it,Math.max(0,Math.min(mn,Nt+vn-e)))})}function hn(){he&&(he=!1,xe())}function Rt(){oe&&(oe=!1,Q=setTimeout(it,0))}var R="",V=!0,st=!1;function Kt(){return st}var Ue=!1,Sn=250,yn=1250,be=null,Wt="clay:paint-heal:"+location.pathname;function Qt(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)|0;return String(t>>>0)}function wn(e){try{return localStorage.getItem(Wt)===Qt(e)}catch{return!1}}function An(e){try{localStorage.setItem(Wt,Qt(e))}catch{}}function En(){return ht(yt({flushUndo:!1}))}function xr(e){!g||F||(clearTimeout(be),be=setTimeout(async()=>{be=null,X&&await ie;let t=typeof e=="function"?e():e;t==null||!Ne()||!Kt()||We()||Jt()||q({flushUndo:!1})===w&&t!==En()&&(wn(t)||(An(t),Ae(()=>{},{quietConflict:!0})))},Sn+Math.random()*yn))}var me=null,Fe=null,X=0,ie=Promise.resolve(),at=!1,ut=[];function Tn(){return Fe??=import("./c-CZUSOB7V.js").catch(e=>(Fe=null,console.error("style-comparisons failed to load",e),null)),Fe}async function xn(e){try{if(me||(me=(await Tn())?.styleComparisonStripper??null),!me)return;let t=me(e);C=t(C),w=t(w),R=t(R);for(let n of $)n.forComparison=t(n.forComparison),n.forDirty=t(n.forDirty)}catch(t){console.error("style adoption failed",t)}finally{X--,ut.shift()}}var ve=e=>e.replace(/&/g,"&amp;").replace(/"/g,"&quot;");function Cn(e){if(e.name!==void 0){let n=[`data-name="${ve(e.name)}"`];return e.legacyId!==void 0&&n.push(`id="${ve(e.legacyId)}"`),n}let t=[ve(e.href)];try{let{pathname:n}=new URL(e.href);n&&t.push(ve(n))}catch{}return t}function Pn(e){let t=[C,w,R];for(let n of $)t.push(n.forComparison,n.forDirty);return t.some(n=>n&&e.some(o=>o&&n.includes(o)))}function Mn(e,t){let n=[];for(let{markers:s,tag:a}of t)for(let u of s)for(let f=e.indexOf(u);f>=0;f=e.indexOf(u,f+u.length)){let p=e.lastIndexOf("<",f);if(p<0||e.slice(p+1,p+1+a.length).toLowerCase()!==a)continue;let c=a==="style"?e.indexOf("</style",f):f;if(c<0)continue;let d=e.indexOf(">",c);d>=0&&n.push([p,d+1])}n.sort((s,a)=>s[0]-a[0]);let o="",r=0;for(let[s,a]of n)s<r||(o+=e.slice(r,s),r=a);return o+e.slice(r)}Dt(e=>{let t=Cn(e);Pn(t)&&(X||(at=!1),X++,ut.push({markers:t,tag:e.name!==void 0?"style":"link"}),ie=ie.then(()=>xn(e)))});function Cr(){return ie}function ft(e){return!X||at||_()||T()||L||G||se||typeof e!="string"?!1:e===Mn(w,ut)}var Dn=500,_n=3e3,On=1e4,Xe=null;function kn(){ue.holdSettle=!1,Xe&&Xe()}function Ut(){if(!g)return;let e=!1,t=null,{forComparison:n,forDirty:o}=le();re(n,o);let r=qe;R=n,Z("immediate capture",`${n.length} chars`);let s=["keydown","pointerdown","drop","input","change","paste"],a=new Set(["Shift","Control","Alt","Meta"]),u=c=>{c.type==="keydown"&&a.has(c.key)||(at=!0,e||(Ue=!0))};s.forEach(c=>document.addEventListener(c,u,!0));let f=()=>{if(!e){if(e=!0,t&&t(),!Ue&&qe===r){let c=B(),{forComparison:d,forDirty:l}=le();re(d,l),R=d,D(c),Z("settled capture",`${d.length} chars`)}else Z("settled skipped",Ue?"user edited":"save occurred during settle");V=!1,document.documentElement.setAttribute("savestatus","saved"),st=!0,document.dispatchEvent(new CustomEvent("clay:baseline-settled"))}};Xe=f;let p=()=>{ue.holdSettle||f()};t=St.onAnyChange({debounce:Dn,omitChangeDetails:!0,require:"autosave"},p),setTimeout(()=>{e||p()},_n),setTimeout(()=>{!e&&ue.holdSettle&&kn()},On)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ut):Ut();function xe(e=()=>{}){if(!g){let t=v("Not in edit mode");return e(t),Promise.resolve(t)}if(P>0){we=!0;let t=v(tt());return e(t),Promise.resolve(t)}if(!Ee()){he=!0;let t=nt("Save session is quiesced");return e(t),Promise.resolve(t)}if(I>0){Be=!0;let t=v("Autosave suspended");return e(t),Promise.resolve(t)}if(!V&&K){G=!0;let t=v("Save already in progress");return e(t),Promise.resolve(t)}return pn(e).catch(t=>{let n={ok:!1,msg:t?.message||"Save failed",msgType:"error",code:null,etag:null};return y("error",n.msg),n})}var Ye=Lt({now:ee,run:()=>xe()});function Vt(){document.addEventListener("keydown",function(e){if((window.navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)&&e.keyCode==83){if(!g)return;e.preventDefault(),e.isTrusted&&Me(),M()}})}function $t(){document.addEventListener("click",e=>{e.target.closest("[trigger-save]")&&(e.isTrusted&&Me(),M())})}function Ln(){g&&(ke(),Tt(),Pe(),Vt(),$t())}Ln();var Pr=M;var Ce=!1;function Nr({isCurrent:e,reload:t}){return e()?(Ce=!0,setTimeout(()=>{Ce=!1},1e3),t(),!0):!1}kt();function In(){return Je()?!0:g?_()?!0:F?vt():window.clay?.demo?!1:je():!1}function je(){if(!g)return!1;try{let e=q();return ft(e)?!1:e!==ot()}catch{return!0}}window.addEventListener("beforeunload",e=>{if(!g&&!Je())return;if(Ce){Ce=!1;return}if(!((!F||mt())&&!In())&&(e.preventDefault(),e.returnValue="",!window.clay?.demo&&!_()))try{let n=q(),o=ot();n!==o&&Ot(n,o)}catch{}});export{Nr as a,In as b,je as c,zt as d,Ft as e,Jt as f,Ee as g,Je as h,en as i,sr as j,ar as k,ur as l,fr as m,lr as n,cr as o,tt as p,We as q,dr as r,pr as s,mr as t,sn as u,an as v,vr as w,gr as x,hr as y,ot as z,Sr as A,re as B,yr as C,M as D,Ae as E,wr as F,Ar as G,Er as H,Tr as I,Kt as J,En as K,xr as L,Cr as M,ft as N,kn as O,xe as P,Ye as Q,Vt as R,$t as S,Ln as T,Pr as U};
@@ -0,0 +1 @@
1
+ var d=c=>`clay:doc:${location.pathname}:${c}`;function l(c){let o=new Map,r=new Set,s=()=>d(""),a=()=>{try{return window[c]||null}catch{return null}};return{get(n){let e=s()+n;if(!r.has(e))try{let t=a()?.getItem(e);if(t!=null)return JSON.parse(t)}catch{}return o.has(e)?o.get(e):void 0},set(n,e){let t=s()+n;o.set(t,e);try{return a().setItem(t,JSON.stringify(e)),r.delete(t),!0}catch{return r.add(t),!1}},remove(n){let e=s()+n;o.delete(e);try{a().removeItem(e),r.delete(e)}catch{r.add(e)}}}}var i={local:l("localStorage"),session:l("sessionStorage")};export{d as a,i as b};
@@ -0,0 +1 @@
1
+ import{a as i}from"./c-S7H2DRCB.js";import{a as g}from"./c-7SWMYKAI.js";import"./c-VHNSBD2M.js";function I(r){let n=new Map;return e=>{if(!e||!e.includes(r.name!==void 0?"<style":"<link"))return e;if(n.has(e))return n.get(e);let c=[],d=i(e,{sourceCodeLocationInfo:!0,scriptingEnabled:!0}),u=s=>{let t=new Map((s.attrs||[]).map(({name:l,value:m})=>[l,m])),p=r.name!==void 0?s.tagName==="style"&&(t.get("data-name")===r.name||r.legacyId!==void 0&&t.get("id")===r.legacyId&&!t.has("data-name")):s.tagName==="link"&&t.get("rel")?.toLowerCase()==="stylesheet"&&g(t.get("href")??null)===r.href,o=s.sourceCodeLocation;if(p&&o?.startTag)c.push([o.startTag.startOffset,o.endTag?.endOffset??o.endOffset]);else for(let l of s.childNodes||[])u(l)};u(d),c.sort((s,t)=>s[0]-t[0]);let a="",f=0;for(let[s,t]of c)a+=e.slice(f,s),f=t;return a+=e.slice(f),n.set(e,a),a}}export{I as styleComparisonStripper};
@@ -0,0 +1 @@
1
+ import{a}from"./c-2JL6E75N.js";import"./c-B2ZXPOS3.js";import"./c-TQEMVJCS.js";import"./c-3IQRECYS.js";import"./c-AYVOREBE.js";import"./c-IJUK2GPW.js";import"./c-7O6AFR65.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-35NBGMZB.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-GHBCCVG4.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";export{a as replace};
@@ -0,0 +1 @@
1
+ import{b as m,c as g,d as c,e as f,f as v}from"./c-WRBKEJD4.js";var w=['[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]"],N=["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"],u=w.join(","),_=new RegExp("^(?:"+N.join("|")+")(?:-|$)");function X(e){if(!(!e||!e.querySelectorAll))try{for(let a of e.querySelectorAll(u))a.remove();let t=a=>{let r=a.attributes;if(!r)return;let n=null;for(let s=0;s<r.length;s++){let o=r[s].name;_.test(o.toLowerCase())&&(n||(n=[])).push(o)}if(n)for(let s of n)a.removeAttribute(s)};t(e);for(let a of e.querySelectorAll("*"))t(a)}catch(t){typeof console<"u"&&console.warn("[clay] stripExtensionNoise skipped:",t)}}var l={FULL:"full",FROZEN:"frozen",NONE:"none"},k=["no-save","no-trigger-autosave","no-dirty","no-undo","no-watch","no-data","freeze","editor-ui","live"],A=[...m],i=g;function z(e,t){let a=new Set((e.getAttribute("clay")||"").trim().split(/\s+/).filter(Boolean));a.has(t)||(a.add(t),e.setAttribute("clay",Array.from(a).join(" ")))}var T=`${f("save")}, [save-remove]`,h='[clay~="freeze"], [freeze], [save-freeze]',y='[clay~="no-save"], [clay~="no-trigger-autosave"], [clay~="no-dirty"], [clay~="freeze"], [clay~="no-watch"], [no-save], [save-remove], [no-trigger-autosave], [no-dirty], [save-ignore], [freeze], [save-freeze], [no-watch], [mutations-ignore], [clay~="live"]',x='[clay~="no-trigger-autosave"], [no-trigger-autosave]',j='[clay~="live"]',R='[clay~="no-dirty"], [no-dirty], [save-ignore]',S='[clay~="no-save"], [clay~="no-dirty"], [clay~="freeze"], [clay~="no-watch"], [no-save], [save-remove], [no-dirty], [save-ignore], [freeze], [save-freeze], [no-watch], [mutations-ignore], [clay~="live"]',p=`${f("snapshot")}, [snapshot-remove]`,O=f("data");function I(e){let t=E(e);return!!(t&&t.closest&&t.closest(p))}function b(e){return v(e,"data")}var d={full:0,frozen:1,none:2},C=["full","frozen","none"];function E(e){return e&&e.nodeType!==1?e.parentElement:e}function L(e){let t=E(e);if(t&&t.closest&&t.closest(u))return{watched:!1,autosaveTriggered:!1,dirtyTracked:!1,undoable:!1,persist:l.FULL,extension:!0};let a=!0,r=!0,n=!1,s=!1,o=0;for(;t&&t.nodeType===1;)t.hasAttribute&&(c(t,"no-watch")&&(a=!1),i(t,"no-trigger-autosave")&&(n=!0),i(t,"no-dirty")&&(n=!0,s=!0),i(t,"live")&&(n=!0,s=!0,r=!1),c(t,"no-undo")&&(r=!1),c(t,"no-save")&&(o=Math.max(o,d.none)),i(t,"freeze")&&(o=Math.max(o,d.frozen)),i(t,"mutations-ignore")&&(a=!1),i(t,"save-remove")&&(o=Math.max(o,d.none),r=!1),i(t,"save-ignore")&&(n=!0,s=!0,r=!1),i(t,"save-freeze")&&(o=Math.max(o,d.frozen),r=!1)),t=t.parentElement;return a||(n=!0,r=!1,s=!0),o>0&&(n=!0,s=!0),{watched:a,autosaveTriggered:!n,dirtyTracked:!s,undoable:r,persist:C[o],extension:!1}}function P(e){let t=E(e);if(t&&t.closest&&t.closest(u))return!0;for(;t&&t.nodeType===1;){if(t.hasAttribute&&(c(t,"no-watch")||i(t,"mutations-ignore")))return!0;t=t.parentElement}return!1}function F(e,t){return{watched:e.watched&&t.watched,autosaveTriggered:e.autosaveTriggered&&t.autosaveTriggered,dirtyTracked:e.dirtyTracked&&t.dirtyTracked,undoable:e.undoable&&t.undoable,persist:d[e.persist]>=d[t.persist]?e.persist:t.persist,extension:e.extension||t.extension}}var D={"no-watch":e=>!e.watched,"mutations-ignore":e=>!e.watched,"no-save":e=>e.persist===l.NONE,"save-remove":e=>e.persist===l.NONE,freeze:e=>e.persist===l.FROZEN,"save-freeze":e=>e.persist===l.FROZEN,"no-trigger-autosave":e=>!e.autosaveTriggered,"no-dirty":e=>!e.dirtyTracked,"save-ignore":e=>!e.dirtyTracked,"no-undo":e=>!e.undoable};function M(e,t,a){if(e.extension)return!0;if(a&&a.length)return a.some(r=>D[r]?.(e)||!1);switch(t){case"observed":return!e.watched;case"autosave":return!e.autosaveTriggered;case"dirty":return!e.dirtyTracked;case"undo":return!e.undoable;default:return!e.watched||!e.autosaveTriggered||e.persist!==l.FULL}}var K={resolveRegionPolicy:L,isInert:P,isSnapshotRemoved:I,isDataExcluded:b,skipForPolicy:M,strictestPolicy:F,addRegionToken:z,PERSIST:l,TOKENS:A,REGION_ATTRS:k,STRIP_FROM_SAVE:T,STRIP_FROM_COMPARISON:y,STRIP_FROM_DIRTY_CHECK:S,NO_TRIGGER_AUTOSAVE_SELECTOR:x,NO_DIRTY_SELECTOR:R,SNAPSHOT_REMOVE_SELECTOR:p,NO_DATA_SELECTOR:O,FREEZE_SELECTOR:h,selectors:{stripFromSave:T,stripFromComparison:y,stripFromDirtyCheck:S,noTriggerAutosave:x,noDirty:R,snapshotRemove:p,noData:O,freeze:h}},q=K;export{u as a,_ as b,X as c,l as d,k as e,A as f,z as g,T as h,h as i,y as j,x as k,j as l,R as m,S as n,p as o,O as p,I as q,b as r,L as s,P as t,F as u,M as v,K as w,q as x};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./c-JAX2667S.js";import"./c-VHNSBD2M.js";export{a as HyperMorph,e as default,c as findChangedRoots,b as morph,d as spliceProtected};
@@ -0,0 +1 @@
1
+ import{A as X,B as F,d as M,e as R,g as A,i as I,j as O,k as E,l as C,m as D,n as N,p as $,y as P}from"./c-TR6RMDQ7.js";import{m as B}from"./c-66O32MV3.js";var Y=new WeakMap;function v(s){let t=Y.get(s);return t||Y.set(s,t=R(s)),t}var _=B.nodes,y=s=>s.type===_.list_item,L=s=>s.type===_.toggle,w=s=>s.attrs.parent??null;function G(s,t,e){if(e<0)return[null];let n=[],i=s[e].node;L(i)&&i.attrs.open&&!s[e].hidden&&n.unshift(i.attrs.id);for(let r=w(i);r!==null&&!n.includes(r);){let c=s[t.get(r)];if(!c)break;n.unshift(r),r=w(c.node)}let o=[null];for(let r of n){let c=s[t.get(r)];if(!c.node.attrs.open||c.hidden)break;o.push(r)}return o}function H(s,t,e,n){let i=w(s[t].node),o=y(s[t].node)?n.indent-s[t].node.attrs.indent:0;return r=>r.i<t||r.i>e||w(r.node)!==i?null:y(r.node)?{parent:n.parent,indent:r.node.attrs.indent+o}:{parent:n.parent}}function J(s,t){let e=null;s.doc.forEach((n,i)=>{n.attrs.id===t&&L(n)&&(e={n,off:i})}),e&&!e.n.attrs.open&&s.setNodeMarkup(e.off,null,{...e.n.attrs,open:!0})}function S(s,t,e,n,i,o=null){let r=H(t,e,n,i),c=t[e].at,d=t[n].end,p=o??new C(s.doc.resolve(c),s.doc.resolve(d)),a;if(i.at===c||i.at===d){a=s.tr;for(let l=e;l<=n;l++){let h=r(t[l]);h&&a.setNodeMarkup(t[l].at,null,{...t[l].node.attrs,...h})}a.setSelection(p.map(a.doc,a.mapping)),a.setMeta(M,D(t,e,n,i.at,r))}else a=N(s,t,e,n,i.at,r,p);if(i.open){J(a,i.open);let l=a.getMeta(M);l&&a.setMeta(M,{...l,attrs:{...l.attrs,[i.open]:{open:!0}}})}return a}function K(s,t,e,n,i){if(i.parent!=null&&t.slice(e,n+1).some(a=>a.node.attrs.id===i.parent))return!1;let o=t[n].end-t[e].at,r=H(t,e,n,i);for(let a=e;a<=n;a++)if(y(t[a].node)&&(r(t[a])?.indent??t[a].node.attrs.indent)>$)return!1;let c=S(s,t,e,n,i),p=i.at===t[e].at||i.at===t[n].end?t[e].at:i.at>t[e].at?i.at-o:i.at;return A(c.doc,s.doc).every(a=>a.at>=p&&a.at<p+o)}function U(s,t,e,n,i){let o=new Map;t.forEach(l=>{L(l.node)&&l.node.attrs.id&&o.set(l.node.attrs.id,l.i)});let r=i<0?s.doc.content.size:t[i].at;if(r>t[e].at&&r<t[n].end)return[];let c=(i<0?t.length:i)-1,d=G(t,o,c),p=d.indexOf(i<0?null:w(t[i].node)),a=[];for(let l of d.slice(Math.max(0,p))){let h=l===null?0:t[o.get(l)].depth+1,x=c>=0&&y(t[c].node)&&w(t[c].node)===l?t[c].node:null,f=y(t[e].node)&&x?x.attrs.indent+1:0;for(let u=0;u<=f;u++){let m={at:r,parent:l,indent:u,depth:h+(y(t[e].node)?u:0)};K(s,t,e,n,m)&&a.push(m)}}return a}function q(s,t,e,n,i){let o=t[i];if(!o||!L(o.node)||o.node.attrs.open||o.hidden||i>=e&&i<=n||o.at>t[e].at&&o.at<t[n].end)return null;let r=o.node.attrs.id,c={at:t[o.subEnd].end,parent:r,indent:0,depth:o.depth+1,open:r};return K(s,t,e,n,c)?c:null}function z(s,t){let e=null;for(let n of s)(!e||Math.abs(n.depth-t)<Math.abs(e.depth-t))&&(e=n);return e}var Q=4,b=56,V=18;function Z(s){for(let t=s.parentElement;t;t=t.parentElement){let e=getComputedStyle(t).overflowY;if((e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight)return t}return s.ownerDocument.scrollingElement}var W=new WeakMap;function tt(s,t){let e=W.get(s);if(!e){e=[];for(let n of s){if(n.hidden)continue;let i=t.nodeDOM(n.at);i?.getBoundingClientRect&&e.push({i:n.i,dom:i})}W.set(s,e)}return e}function et(s,t){let e=0,n=s.length;for(;e<n;){let i=e+n>>1,o=s[i].dom.getBoundingClientRect();t<o.top+o.height/2?n=i:e=i+1}return e<s.length?e:-1}var j=class{constructor(t,e,{index:n,onClick:i}){this.view=t,this.grip=e,this.index=n,this.onClick=i,this.shell=t.dom.parentElement,this.line=document.createElement("div"),this.line.className="page-drop",this.line.hidden=!0,this.line.setAttribute("aria-hidden","true"),this.shell.append(this.line),this.state=null,this.onMove=o=>this.move(o),this.onUp=o=>this.end(o),this.onCancel=o=>{o.pointerId===this.state?.pointer&&this.cancel()},this.onKey=o=>{o.key==="Escape"&&this.state?.active&&(o.preventDefault(),o.stopPropagation(),this.cancel())},e.addEventListener("pointerdown",o=>this.start(o))}start(t){if(t.button!==0||this.state)return;let e=this.view.state,n=v(e.doc),i=e.selection,o=Math.min(this.index(),n.length-1),r=i instanceof C&&n[o].at>=i.from&&n[o].end<=i.to,{lo:c,hi:d}=r?i.span(e.doc):I(n,o,o);this.state={index:o,span:O(n,c,d),touch:t.pointerType==="touch",pointer:t.pointerId,x0:t.clientX,y0:t.clientY,x:t.clientX,y:t.clientY,active:!1,raf:0,gap:void 0,targets:[],target:null},this.grip.setPointerCapture?.(t.pointerId),this.grip.addEventListener("pointermove",this.onMove),this.grip.addEventListener("pointerup",this.onUp),this.grip.addEventListener("pointercancel",this.onCancel),this.grip.addEventListener("lostpointercapture",this.onCancel),t.preventDefault()}move(t){let e=this.state;if(!(!e||t.pointerId!==e.pointer)){if(e.x=t.clientX,e.y=t.clientY,!e.active){if(Math.hypot(e.x-e.x0,e.y-e.y0)<=Q)return;if(e.touch)return this.stop();this.begin()}this.track()}}begin(){let t=this.state;if(!t||t.active)return;let e=this.view.state,n=v(e.doc),i=E(n,t.span);if(!i)return this.cancel();t.active=!0,this.view.dispatch(e.tr.setSelection(F(e.doc,i.lo,i.hi))),this.shell.classList.add("is-dragging");let o=this.shell.appendChild(document.createElement("div"));o.style.cssText="position:absolute;visibility:hidden;width:var(--page-indent)",this.indentPx=o.getBoundingClientRect().width||27,o.remove(),this.scroller=Z(this.view.dom),window.addEventListener("keydown",this.onKey,!0),this.loop(),this.track()}track(){let t=this.state,e=this.view,n=e.state;if(!t)return;let i=v(n.doc),o=E(i,t.span);if(!o)return this.cancel();let{lo:r,hi:c}=o,d=tt(i,e),p=et(d,t.y),a=-1,l=null,h=null,x=p<0?d.length:p+1;for(let k=Math.max(0,x-2);k<x;k++){let g=d[k].dom.getBoundingClientRect();t.y>=g.top+g.height/4&&t.y<=g.bottom-g.height/4&&(h={i:d[k].i,bottom:g.bottom}),l=g.bottom+2}p>=0&&(a=d[p].i,l=d[p].dom.getBoundingClientRect().top-2);let f=r<0?null:h&&q(n,i,r,c,h.i),u=f?`summary:${h.i}`:a;(u!==t.gap||n.doc!==t.doc)&&(t.gap=u,t.doc=n.doc,t.targets=r<0?[]:f?[f]:U(n,i,r,c,a)),f&&(l=h.bottom+2);let m=e.dom.getBoundingClientRect().left;t.target=z(t.targets,(t.x-m)/this.indentPx);let T=this.shell.getBoundingClientRect();if(!t.target||l===null){this.line.hidden=!0,this.shell.dataset.drop="none";return}this.shell.dataset.drop="ok",this.line.hidden=!1,this.line.style.setProperty("--page-drop-y",`${l-T.top}px`),this.line.style.setProperty("--page-drop-x",`${m-T.left+t.target.depth*this.indentPx}px`),this.line.style.setProperty("--page-drop-w",`${e.dom.getBoundingClientRect().right-m-t.target.depth*this.indentPx}px`)}loop(){let t=()=>{let e=this.state;if(!e?.active)return;let n=this.scroller,i=n===n.ownerDocument.scrollingElement?{top:0,bottom:window.innerHeight}:n.getBoundingClientRect(),o=0;e.y<i.top+b?o=-V*Math.min(1,(i.top+b-e.y)/b):e.y>i.bottom-b&&(o=V*Math.min(1,(e.y-(i.bottom-b))/b)),o&&(n.scrollTop+=o,this.track()),e.raf=requestAnimationFrame(t)};this.state.raf=requestAnimationFrame(t)}end(t){let e=this.state;if(!e||t.pointerId!==e.pointer)return;if(!e.active){if(this.stop(),t.type==="pointerup"){let l=v(this.view.state.doc),h=E(l,e.span);h&&this.onClick(h.lo)}return}if(this.track(),this.state!==e)return;let n=e.target,i=this.view.state,o=v(i.doc),r=E(o,e.span);if(this.stop(),!n||!r)return;let{lo:c,hi:d}=r;if(!n.open&&(n.at===o[c].at||n.at===o[d].end)&&n.parent===(o[c].node.attrs.parent??null)&&(o[c].node.type.name!=="list_item"||n.indent===o[c].node.attrs.indent))return;this.view.dispatch(X(S(i,o,c,d,n)).scrollIntoView());let a=d-c+1;P(this.view,`Moved ${a} ${a===1?"block":"blocks"}`),this.view.focus()}cancel(){this.stop(),P(this.view,"Move cancelled")}stop(){let t=this.state;t&&(this.state=null,cancelAnimationFrame(t.raf),this.grip.removeEventListener("pointermove",this.onMove),this.grip.removeEventListener("pointerup",this.onUp),this.grip.removeEventListener("pointercancel",this.onCancel),this.grip.removeEventListener("lostpointercapture",this.onCancel),this.grip.releasePointerCapture?.(t.pointer),window.removeEventListener("keydown",this.onKey,!0),this.shell.classList.remove("is-dragging"),delete this.shell.dataset.drop,this.line.hidden=!0)}destroy(){this.stop(),this.line.remove()}};export{v as a,Z as b,j as c};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f}from"./c-N326R2JD.js";import"./c-VHNSBD2M.js";export{f as beginLineageCapture,a as captureFootprintWitnesses,b as footprintWitnessesValid,c as protectionGeneration,d as protectionOf,e as releaseProtection};
@@ -0,0 +1 @@
1
+ import{g as p,l as w,n as v,q as s}from"./c-OIBUTDXI.js";import{a as f}from"./c-4JZDZFF6.js";import"./c-VAK7SG37.js";import{c as u}from"./c-4FFHZM32.js";import"./c-PZ4XEPUP.js";import{b as c}from"./c-NUHP2XDB.js";import{i as l}from"./c-7O6AFR65.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-35NBGMZB.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-GHBCCVG4.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var E="Download a copy, then reduce its size; saving still works.",$="Download a copy to keep your work.",t=null,a=null,o=null,r=null;function m(e){return typeof e!="number"||!Number.isFinite(e)||e<0?"an unknown size":e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.max(1,Math.round(e/1024))} KB`:`${e} bytes`}function z({bytes:e,maxBytes:n,state:g}){let d=`At the last save attempt: ${m(e)} of ${m(n)}.`;return g==="over"?`This host can't save a file this size. ${d} ${$}`:`This file is getting large. ${d} ${E}`}function i(){if(!t)return;let e=window.visualViewport,n=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;c(t,"bottom",`calc(${16+n}px + env(safe-area-inset-bottom,0px))`)}function S(){u({})}function b(){t=w("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483000","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${f()}`]),t.setAttribute("clay","editor-ui"),t.setAttribute("data-clay-save-size",""),t.setAttribute("role","status"),a=v("span",[],""),o=p("Download my copy",{small:!0,onClick:S}),s(o,!1,"inline-flex"),t.append(a,o),document.body.appendChild(t),i(),window.visualViewport?.addEventListener("resize",i),window.visualViewport?.addEventListener("scroll",i)}function y(e){t||b(),a.textContent=z(e),s(o,e.state==="over","inline-flex"),i()}function h(){t&&(window.visualViewport?.removeEventListener("resize",i),window.visualViewport?.removeEventListener("scroll",i),t.remove(),t=null,a=null,o=null)}function x(e){let n=e?.detail;n&&(n.state==="near"||n.state==="over"?y(n):h())}function A(){l||M()}function T(e){l&&(r||=new AbortController,document.addEventListener("clay:save-size",x,{signal:r.signal}),document.addEventListener("clay:modechange",A,{signal:r.signal}),e?.type==="clay:save-size"&&x(e))}function M(){r?.abort(),r=null,h()}export{T as start,M as stop};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./c-5R4PTRG2.js";import"./c-ZUCOKOHT.js";import"./c-KIPQJX4B.js";import"./c-QHWJ5ZIJ.js";import"./c-UL2YUY52.js";import"./c-LFPHCXY3.js";import"./c-OIBUTDXI.js";import"./c-4JZDZFF6.js";import"./c-VAK7SG37.js";import"./c-46XYM55L.js";import"./c-NUHP2XDB.js";import"./c-VKEDWYDF.js";import"./c-VHNSBD2M.js";export{a as ask,b as consent,e as init,d as snippet,c as tell};
@@ -0,0 +1 @@
1
+ import{a as w}from"./c-BBVGTQG7.js";import{b as m,c as v}from"./c-KKWLDOPM.js";import"./c-VKEDWYDF.js";import{p as f,r as y}from"./c-7O6AFR65.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-35NBGMZB.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-GHBCCVG4.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var L="script[editmode\\:resource]";function d(e=document){let t=[...e.querySelectorAll(L)];return{reversible:t.length===0,scripts:t}}function R(e=document){return{enable(){m(e)},quiesce(){},resume(){},dispose(){v()}}}function g(e=document){return{id:"clay:resources",order:100,prepare(){let{reversible:t}=d(e);if(!t)throw Object.assign(new Error("clay.modeLifecycle: an editmode:resource script cannot be re-run"),{code:"unsupported-plugin"});return R(e)}}}var b=!1,S=()=>{let e=new Set;for(let t of f()){if(typeof t?.then=="function")continue;let n=t?.id;if(typeof n!="string"||typeof t?.prepare!="function"||e.has(n))return!1;e.add(n)}return!0},j=e=>[...e?.edit?.core??[],...e?.edit?.plugins??[],...e?.edit?.late??[],...e?.view?.plugins??[],...e?.view?.late??[]];function A(e){return[...new Set(j(e))].filter(t=>w(t)===null)}function T(e){return S()&&A(e).length===0&&d().reversible}function _(){b||(b=!0,y(g()))}var l=()=>Object.assign(new Error("clay.modeLifecycle: the import was cancelled"),{name:"AbortError",code:"aborted"}),O=15e3,E=(e,t)=>Object.assign(new Error(`clayjs: ${e}`),{code:t}),q=(e,t)=>new Promise((n,s)=>{if(t?.aborted)return s(l());let o=()=>s(l());t?.addEventListener?.("abort",o),Promise.resolve(e).then(i=>{t?.removeEventListener?.("abort",o),n(i)},i=>{t?.removeEventListener?.("abort",o),s(i)})}),h=e=>!e?.represented||e.represented.bytes===null,P=e=>e&&(e.liveSync??e.default??e)||null;async function k(e,t={}){let n=t.signal,s={signal:n,deadline:O},o=e?.loaded?.["plugins/page-view.js"];if(o?.ready){await q(o.acquired,n);let a=await o.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}let i=P(e?.loaded?.["sync/live-sync.js"]);if(i&&!i.isDestroyed&&i.lane==="saved"){let a=await i.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}return null}function I(e,t=null){let n=e?.loaded?.["plugins/page-view.js"],s=Array.isArray(e?.view?.plugins)?e.view.plugins.includes("sync/live-sync.js"):!!e?.loaded?.["sync/live-sync.js"];if(n&&((n.restart??n.start)({sync:s,represented:t}),!s))return;let o=P(e?.loaded?.["sync/live-sync.js"]);if(o)return o.start(o.currentFile,{lane:"saved",represented:t})}async function V(e,t,{signal:n}={}){let s=e.inflight||=new Map,o=[],i=()=>{if(n?.aborted)throw l()},a=e.loadEditHints?.();if(a)try{await a}catch{}let u=r=>{if(!s.has(r)){let c=Promise.resolve().then(()=>e.modules[r]()).catch(x=>{throw s.delete(r),x});s.set(r,c)}return s.get(r)};for(let r of t.core??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,c.install?.()}e.attachEditCore(e.loaded);for(let r of t.plugins??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}let p=(t.late??[]).filter(r=>!e.loaded[r]);if(p.length){i();try{await e.late}catch{}for(let r of p){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}}return o}export{V as importPlan,T as liveAllowed,_ as openResources,k as prepareReader,I as startReader,A as unsupportedPaths};
@@ -0,0 +1 @@
1
+ import{f as a}from"./c-HA6INT6J.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var T="path",p="edit",u="draft";function k(){let t=globalThis.crypto?.randomUUID?.();return t||`wr-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function f(t=globalThis.document?.documentElement){if(!t||typeof t.getAttribute!="function")return null;for(let n of a){let o=t.getAttribute(n);if(o)return{kind:n,identity:o}}return null}function x(t){let n=String(t||"/").split(/[?#]/)[0];return{kind:T,identity:n||"/"}}function E(t,n){return!t||!n||!t.host||!t.documentId||!t.principalId?!1:t.host===n.host&&t.documentId===n.documentId&&t.principalId===n.principalId}function A({mode:t=p,root:n=globalThis.document?.documentElement,location:o=globalThis.window?.location,pathname:m,origin:h,writerId:y}={}){let c=t===u?u:p,l=m??o?.pathname??"/",s=h??o?.origin??"",I=x(l),e=c===u?null:f(n),r=e??I,d=[s,r.kind,r.identity,c];return{origin:s,pathname:l,mode:c,scope:d,writerId:y||k(),identityKind:r.kind,identity:r.identity,check(g=globalThis.document?.documentElement){let i=f(g);return e?i?i.kind!==e.kind||i.identity!==e.identity?{ok:!1,code:"identity-mismatch",captured:e,found:i,scope:d}:{ok:!0,code:null}:{ok:!1,code:"identity-missing",captured:e,scope:d}:i?{ok:!0,code:null,bound:i,scope:d}:{ok:!0,code:null}}}}export{u as DRAFT_MODE,p as EDIT_MODE,T as PATH_KIND,A as createIdentity,f as hostIdentityOf,k as newWriterId,x as pathIdentityOf,E as sameAuthority};
@@ -0,0 +1 @@
1
+ var r=null,n=null,l=()=>r;function t(){return r?Promise.resolve(r):(n??=Promise.all([import("./c-DNZ5IFM6.js"),import("./c-XPELB6E5.js")]).then(([e,o])=>r={HyperMorph:e.HyperMorph,morph:e.morph,mergeTagRecognizers:o.mergeTagRecognizers}).catch(e=>{throw n=null,e}),n)}export{l as a,t as b};
@@ -0,0 +1 @@
1
+ import{e as a,f as b,g as c}from"./c-GB3JTV6E.js";import"./c-BWFVSBDF.js";import"./c-AYVOREBE.js";import"./c-7O6AFR65.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";export{a as PresenceStore,c as default,b as presence};
@@ -0,0 +1 @@
1
+ import{a as K}from"./c-BWFVSBDF.js";import{d as A}from"./c-AYVOREBE.js";var p=1,P=8*1024,B=256,L=1024,Y=128,X=128,G=Object.freeze(["title","description","labels","members","dates","checklist","comment","attachments"]),m=250,E=5e3,ie=15e3;var W=new Set(["kind","id","field"]),$=new Set(["kind","v","epoch","generation","selection"]),q=new Set(["kind","anchor","head"]),F=new Set(["kind","ids"]),J=new Set(["kind","block","row","col"]),V=new Set(["block","rel"]),H=/^[\x20-\x7e]+$/,U=/^[A-Za-z0-9+/]+={0,2}$/,Z=/[\u0000-\u001f\u007f]/,o=e=>({ok:!1,reason:e}),a=e=>({ok:!0,target:e}),g=e=>!!e&&typeof e=="object"&&!Array.isArray(e),d=(e,t)=>{for(let n of Object.keys(e))if(!t.has(n))return!1;return!0};function T(e){let t=0;for(let n of e){let s=n.codePointAt(0);t+=s<128?1:s<2048?2:s<65536?3:4}return t}function f(e){return typeof e=="string"&&e.length>0&&!Z.test(e)&&T(e)<=B}function Q(e){if(typeof e!="string"||!e.length||e.length%4!==0||!U.test(e))return!1;let t=e.endsWith("==")?2:e.endsWith("=")?1:0;return e.length/4*3-t<=L}function _(e){return!g(e)||!d(e,V)||!f(e.block)||!Q(e.rel)?null:{block:e.block,rel:e.rel}}function v(e){if(!g(e))return null;if(e.kind==="text"){if(!d(e,q))return null;let t=_(e.anchor),n=_(e.head);return t&&n?{kind:"text",anchor:t,head:n}:null}if(e.kind==="blocks"){if(!d(e,F)||!Array.isArray(e.ids)||!e.ids.length||e.ids.length>X)return null;for(let t of e.ids)if(!f(t))return null;return{kind:"blocks",ids:[...e.ids]}}return e.kind==="cell"?!d(e,J)||!f(e.block)||!f(e.row)||!f(e.col)?null:{kind:"cell",block:e.block,row:e.row,col:e.col}:null}function w(e){return T(JSON.stringify(e))<=P}function ee(e){if(!d(e,W))return o("key");let t=e.id;if(typeof t!="string"||!t.length||t.length>Y||!H.test(t))return o("id");if(e.field===void 0){let s={kind:"record",id:t};return w(s)?a(s):o("size")}if(typeof e.field!="string"||!G.includes(e.field))return o("field");let n={kind:"record",id:t,field:e.field};return w(n)?a(n):o("size")}function te(e){if(!d(e,$))return o("key");if(e.v!==p)return o("version");if(!f(e.epoch))return o("epoch");if(!Number.isSafeInteger(e.generation)||e.generation<0)return o("generation");let t=v(e.selection);if(!t)return o("selection");let n={kind:"page",v:p,epoch:e.epoch,generation:e.generation,selection:t};return w(n)?a(n):o("size")}function y(e){return e===null?a(null):typeof e=="string"?K.test(e)?a(e):o("path"):g(e)?e.kind==="record"?ee(e):e.kind==="page"?te(e):o("kind"):o("shape")}function O(e){let t=y(e===void 0?null:e);return!t.ok||t.target!==null&&typeof t.target=="object"&&t.target.kind!=="record"?null:t.target}function R(e){return e==null?"":typeof e=="string"?`path:${e}`:`target:${JSON.stringify(e)}`}function z(e,t=null){let n=Array.isArray(e)?e:[],s=[];for(let i of n){if(!g(i))continue;let r=f(i.id)?i.id:null;if(!r)continue;let l=Number.isSafeInteger(i.n)&&i.n>=0?i.n:0,h=t&&t.get(r);if(h&&l<h.n){s.push(h);continue}let u=y(i.editing===void 0?null:i.editing);s.push({id:r,you:i.you===!0,n:l,editing:u.ok?u.target:null})}return s}function I(e){if(!g(e))return null;let t=f(e.id)?e.id:null,n=typeof e.token=="string"&&e.token.length?e.token:null;return t&&n?{id:t,token:n}:null}function N({target:e=null,session:t=null,n=0}){if(e==null||typeof e=="string")return{editing:e??null};let s=t&&typeof t.token=="string"&&t.token.length?t.token:null;return s?!Number.isSafeInteger(n)||n<0?null:{v:p,session:s,n,editing:e}:e.kind==="record"?{editing:e}:null}var ne=()=>Object.freeze({supported:!1,recordAwareness:!1,pageAwareness:!1,people:Object.freeze([]),anonymous:0}),S=class{constructor(){this.supported=!1,this.recordAwareness=!1,this.pageAwareness=!1,this.people=[],this.anonymous=0,this.snapshot=ne(),this.listeners=new Set,this.sessions=new Map,this.session=null,this.target=null,this.heldKey="",this.owner=null,this.explicit=!1,this.connecting=null,this.n=0,this.sentKey=null,this.timer=null,this.timerKind=null,this.inflight=!1}getSnapshot(){return this.snapshot}subscribe(t){if(typeof t!="function")throw new TypeError("clay.presence.subscribe needs a listener function");return this.listeners.add(t),t(this.snapshot),()=>{this.listeners.delete(t)}}setCapabilities({supported:t=!1,recordAwareness:n=!1,pageAwareness:s=!1}={}){let i=t===!0,r=n===!0,l=s===!0;return i===this.supported&&r===this.recordAwareness&&l===this.pageAwareness?this.snapshot:(this.supported=i,this.recordAwareness=r,this.pageAwareness=l,this.emit())}receive(t){let n=t&&typeof t=="object"?t:{},s=Array.isArray(n.people)?n.people:[],i=this.sessions,r=new Map,l=[];for(let c of s){if(!c||typeof c.id!="string"||!c.id)continue;let D=typeof c.name=="string"&&c.name.trim()?c.name.trim():"Someone",k=z(c.sessions,i);for(let b of k)r.set(b.id,b);let x={id:c.id,name:D,you:c.you===!0,editing:O(c.editing),sessions:k};typeof c.canEdit=="boolean"&&(x.canEdit=c.canEdit),l.push(x)}this.people=l,this.sessions=r;let h=n.anonymous;this.anonymous=typeof h=="number"&&Number.isFinite(h)&&h>0?Math.floor(h):0;let u=I(n.selfSession),M=!this.session||!this.session.token;u&&(this.session=u);let j=this.emit();return u&&M&&this.owner&&this.target!==null&&(this.sentKey=null,this.flush()),j}clear(){return this.people=[],this.anonymous=0,this.sessions=new Map,this.session=null,this.cancel(),this.sentKey=null,this.emit()}setTarget(t){let n=y(t===void 0?null:t);return n.ok?(this.explicit=!0,this.hold(n.target)):!1}setGeneric(t){if(this.explicit)return!1;let n=y(t===void 0?null:t);return n.ok?this.hold(n.target):!1}releaseTarget(){return this.explicit?(this.explicit=!1,this.hold(null)):!1}hold(t){let n=R(t);return n===this.heldKey?(this.owner&&this.sentKey!==n&&this.schedule(m),!0):(this.target=t,this.heldKey=n,t===null?(this.cancel(),this.flush(),!0):(this.schedule(m),!0))}attachTransport(t){if(!t||typeof t.send!="function")throw new TypeError("clay.presence.attachTransport needs a transport with a send function");let n=this,s={send:t.send,get active(){return n.owner===s},detach(){n.owner===s&&(n.owner=null,n.session=null,n.n=0,n.sentKey=null,n.cancel(),n.target=null,n.heldKey="",n.explicit=!1,n.clear())}};return this.owner=s,this.session=null,this.n=0,this.sentKey=null,this.cancel(),this.target!==null&&this.flush(),s}connect({send:t=null}={}){return this.connecting?this.connecting:(this.connecting=A().then(n=>{let s=Array.isArray(n?.extensions)?n.extensions:[],i=n?.document&&typeof n.document=="object"?n.document.awareness:null;if(i&&i.transport==="broadcast"&&(s.includes("page-awareness-v1")||s.includes("record-awareness-v1"))){let r=typeof i.scope=="string"&&i.scope?i.scope:null;return import("./c-RUJKSUQW.js").then(({localPresence:l})=>l({scope:r,store:this}).start()??null)}return typeof t=="function"&&s.includes("presence-editing")?this.attachTransport({send:t}):null}).finally(()=>{this.connecting=null}),this.connecting)}reconnect(){this.session=null,this.n=0,this.sentKey=null,this.cancel(),!(!this.owner||this.target===null)&&this.flush()}emit(){let t=this.people.map(n=>Object.freeze({...n,sessions:Object.freeze(n.sessions)}));this.snapshot=Object.freeze({supported:this.supported,recordAwareness:this.recordAwareness,pageAwareness:this.pageAwareness,people:Object.freeze(t),anonymous:this.anonymous});for(let n of[...this.listeners])n(this.snapshot);return this.snapshot}schedule(t,n="coalesce"){if(this.timer!==null){if(this.timerKind==="coalesce")return;clearTimeout(this.timer)}this.timerKind=n,this.timer=setTimeout(()=>{this.timer=null,this.timerKind=null,this.flush()},t)}cancel(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null,this.timerKind=null)}renew(){this.timer!==null||!this.owner||this.target===null||this.schedule(E,"renew")}flush(){if(this.inflight)return;let t=this.owner;if(!t)return;let n=this.n+1,s=N({target:this.target,session:this.session,n});if(!s)return;this.cancel(),this.sentKey=this.heldKey,this.inflight=!0,s.v===p&&(this.n=n);let i=r=>{if(this.inflight=!1,this.owner===t){if(this.heldKey!==this.sentKey){this.flush();return}r?this.renew():this.schedule(E,"renew")}};Promise.resolve(t.send(s)).then(r=>i(!!r),()=>i(!1))}},C=new S,le=C;typeof window<"u"&&(window.clay=window.clay||{},window.clay.presence||(window.clay.presence=C));export{p as a,E as b,ie as c,y as d,S as e,C as f,le as g};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i}from"./c-AYVOREBE.js";import"./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";export{d as hostMeta,c as hostMetaOrder,a as hostMetaOutcome,b as hostMetaPath,f as hostPageFormat,e as hostSupports,g as hostVersions,i as querySaveOutcome,h as resetHostMeta};
@@ -0,0 +1 @@
1
+ var h={holdSettle:!1};var p="sap-error",S=/^(show-when|hide-when|option|option-not):/,m=new Set(["id","data-id","class","style","sap","scope","items","item","bind","state","template","cms-template","sap-ignore"]),b=new Set(["value","checked","selected"]);function v(t){return t.hasAttribute("bind")||t.hasAttribute("persist")||!!t.closest("select[bind]")}function g(t){return t.localName==="template"||t.hasAttribute("template")||t.hasAttribute("cms-template")||t.hasAttribute("sap-ignore")}function a(t,e=null){let r=null;for(let s=t;s&&s.nodeType===1;s=s.parentElement){if(g(s))return null;if(s.hasAttribute("sap"))return s;r=s}return e&&r&&!r.isConnected?a(e):null}function A(t,e){let r=t.getAttribute("state");if(!r)return!1;for(let s of r.trim().split(/\s+/))if(s.split("=")[0].split(":")[0]===e)return!0;return!1}function x(t){if(t.hasAttribute("show"))return!0;for(let e of t.attributes)if(S.test(e.name))return!0;return!1}function y(t,e,r=null){return!t||t.nodeType!==1||!e?!1:e===p?!!a(t,r):m.has(e)||b.has(e)&&v(t)?!1:e==="hidden"?x(t)&&!!a(t,r):t.hasAttribute("attr:"+e)&&!A(t,e)&&!!a(t,r)}function f(t){if(!t||t.nodeType!==1||!a(t))return null;let e=null,r=(s,n)=>(e||(e={attrs:[],classes:[],vars:[],text:!1}))[s].push(n);for(let s of t.attributes){let n=s.name;if(n==="text"||n.startsWith("text:"))t.hasAttribute("bind")||((e||(e={attrs:[],classes:[],vars:[],text:!1})).text=!0);else if(n.startsWith("attr:")){let i=n.slice(5);i&&!m.has(i)&&!(b.has(i)&&v(t))&&!A(t,i)&&r("attrs",i)}else n.startsWith("class:")?r("classes",n.slice(6)):n.startsWith("css:")&&r("vars","--"+n.slice(4))}return x(t)&&r("attrs","hidden"),t.hasAttribute(p)&&r("attrs",p),e}function d(t,e){if(!t||t.nodeType!==1&&t.nodeType!==9)return;let r=t.nodeType===1&&t.hasAttribute("sap")?[t]:[...t.querySelectorAll("[sap]")].filter(s=>!s.parentElement||!s.parentElement.closest("[sap]"));for(let s of r)for(let n of[s,...s.querySelectorAll("*")]){let i=f(n);i&&e(n,i)}}function w(t){d(t,(e,r)=>{for(let s of r.attrs)e.hasAttribute(s)&&e.removeAttribute(s);for(let s of r.classes)e.classList.contains(s)&&e.classList.remove(s);!e.getAttribute("class")&&e.hasAttribute("class")&&r.classes.length&&e.removeAttribute("class");for(let s of r.vars)e.style.getPropertyValue(s)!==""&&e.style.removeProperty(s);r.vars.length&&e.hasAttribute("style")&&!e.getAttribute("style").trim()&&e.removeAttribute("style"),r.text&&e.firstChild&&e.replaceChildren()})}var P=(t,e,r=null)=>y(t,e,r),O=t=>!!t&&t.nodeType===1&&!!f(t)?.text,j=t=>w(t);function D(t){let e=[];return d(t,(r,s)=>{e.push(r.localName);for(let n of s.attrs)n!=="sap-error"&&e.push(n+"="+(r.getAttribute(n)??"\0"));for(let n of s.classes)e.push("."+n+"="+r.classList.contains(n));for(let n of s.vars)e.push(n+"="+r.style.getPropertyValue(n));s.text&&e.push("#"+r.textContent)}),e.join("")}function q(t){return D(new DOMParser().parseFromString(t,"text/html"))}function T(t,e,r,s,n){return r(t||"").map(i=>i.trim()).filter(i=>i&&!e.includes(n(i))).sort().join(s)}function E(t,e,r,s){let n=f(t);if(!n)return!1;if(e==="class"){if(!n.classes.length)return!1;let u=o=>T(o,n.classes,l=>l.split(/\s+/)," ",l=>l);return u(r)===u(s)}if(!n.vars.length)return!1;let i=u=>T(u,n.vars,o=>o.split(";"),";",o=>o.split(":")[0].trim());return i(r)===i(s)}function F(t){if(t.__derived!==void 0)return t.__derived;let e=t.element,r=!1;if(e&&e.nodeType===1)if(t.type==="attribute"){let s=t.attribute;r=P(e,s)||(s==="class"||s==="style")&&E(e,s,t.oldValue,t.newValue)}else t.type==="characterData"&&(r=O(e));return t.__derived=r,r}var c=new Set,_=!1;function H(){return c.size>0||h.holdSettle}var C=[];function L(){for(let t of[...c])try{t()}catch(e){console.error("clayjs: a derived repaint failed:",e)}}var M={register(t){return c.add(t),()=>c.delete(t)},mounted(){_=!0;for(let t of C.splice(0))t()}};export{h as a,P as b,O as c,j as d,D as e,q as f,F as g,H as h,L as i,M as j};
@@ -0,0 +1 @@
1
+ import{a,b,c}from"./c-ZUCOKOHT.js";import"./c-OIBUTDXI.js";import"./c-4JZDZFF6.js";import"./c-VAK7SG37.js";import"./c-NUHP2XDB.js";import"./c-VHNSBD2M.js";export{c as default,b as dismissPersistent,a as toastPersistent};
@@ -0,0 +1 @@
1
+ import{c as a}from"./c-4Q2XTQ2N.js";import"./c-LRPUO2MX.js";import"./c-VHNSBD2M.js";export{a as createToolHost};
@@ -0,0 +1 @@
1
+ function h(a,p,m=!0){let u=m?0:Date.now(),o=null,r=[];function f(c,s,n){let l;try{l=a.apply(c,s)}catch(t){for(let e of n)e.reject(t);return}Promise.resolve(l).then(t=>{for(let e of n)e.resolve(t)},t=>{for(let e of n)e.reject(t)})}return function(...c){let s=this,n=Date.now(),l=p-(n-u);return new Promise((t,e)=>{if(l<=0){clearTimeout(o),o=null,u=n;let i=r.concat({resolve:t,reject:e});r=[],f(s,c,i)}else r.push({resolve:t,reject:e}),o||(o=setTimeout(()=>{u=Date.now(),o=null;let i=r;r=[],f(s,c,i)},l))})}}var w=h;export{w as a};
@@ -0,0 +1 @@
1
+ import"./c-VHNSBD2M.js";var s=i=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:i.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:i.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),d=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],c=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],b=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],g=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],m=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function p(i){let o=i.regex,e=s(i),t={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n="and or not only",a=/@-?\w[\w]*(-\w+)*/,l="[a-zA-Z-][a-zA-Z0-9_-]*",r=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[e.BLOCK_COMMENT,t,e.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+l,relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+b.join("|")+")"},{begin:":(:)?("+g.join("|")+")"}]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+m.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[e.BLOCK_COMMENT,e.HEXCOLOR,e.IMPORTANT,e.CSS_NUMBER_MODE,...r,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...r,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},e.FUNCTION_DISPATCH]},{begin:o.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:a},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:n,attribute:c.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...r,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+d.join("|")+")\\b"}]}}export{p as default};
@@ -0,0 +1 @@
1
+ import{g as l}from"./c-WRBKEJD4.js";var o="ephemeral",i="ephemeral:",_=new Set(["class","id","data-id","value","checked","selected","save-remove","save-ignore","save-freeze","mutations-ignore","snapshot-remove"]),T=t=>_.has(t)||l(t);function d(t,e){return t===o?!0:!t||!e||e.nodeType!==1||T(t)||t.startsWith(i)?!1:t==="open"&&e.localName==="dialog"?!0:e.hasAttribute(i+t)}function h(t,e){return!!e&&e.nodeType===1&&e.hasAttribute(i+t)}function p(t){t.localName==="dialog"&&t.hasAttribute("open")&&t.removeAttribute("open"),t.hasAttribute(o)&&t.removeAttribute(o);let e=t.attributes,r=null;for(let n=0;n<e.length;n++){let f=e[n].name;if(!f.startsWith(i))continue;let s=f.slice(i.length);s&&!T(s)&&(r||(r=[])).push(s)}if(r)for(let n of r)t.removeAttribute(n)}function A(t){if(!(!t||t.nodeType!==1)){p(t);for(let e of t.querySelectorAll("*"))if(p(e),e.localName==="template"&&e.content)for(let r of e.content.children)A(r);if(t.localName==="template"&&t.content)for(let e of t.content.children)A(e)}}function c(t){return(t.getAttribute(o)||"").split(/\s+/).filter(Boolean)}function m(t,e){e.length?t.setAttribute(o,e.join(" ")):t.removeAttribute(o)}var a={has(t,e){return c(t).includes(e)},add(t,e){let r=c(t);r.includes(e)||m(t,[...r,e])},remove(t,e){let r=c(t);r.includes(e)&&m(t,r.filter(n=>n!==e))},toggle(t,e,r){let n=r===void 0?!a.has(t,e):!!r;return n?a.add(t,e):a.remove(t,e),n}};var v=["savetoken"],x=["htmlclaytoken"],b=["documentid","htmlclayid"],S=["documentetag","sitevisibility"],g=[...v,...x,...b],O=["savestatus","editmode","pageowner","draftmode","unsaved","canedit"],N=new Set([...g,...S,...O]);var E="route-",u="route-active";function R(t,e){return d(t,e)||t===u?!0:!e||e.localName!=="html"||e.parentElement?!1:N.has(t)||t.startsWith(E)}function k(t,e,r){return R(e,r||t)}function V(t,e){return R(t,e)&&!h(t,e)?!1:void 0}function H(t){for(let e of[...t.attributes])e.name.startsWith(E)&&t.removeAttribute(e.name);for(let e of t.querySelectorAll(`[${u}]`))e.removeAttribute(u)}export{d as a,A as b,a as c,v as d,x as e,b as f,S as g,O as h,N as i,E as j,u as k,R as l,k as m,V as n,H as o};
@@ -0,0 +1,2 @@
1
+ import{e as a}from"./c-OIBUTDXI.js";import{a as c}from"./c-4JZDZFF6.js";var s=e=>e.nodeType===1&&e.hasAttribute("data-clay-skin");function f(e){for(let t of e.childNodes)if(!s(t))return t;return null}function d(e,t){if(t.parentNode!==e)return!1;for(let n=t.previousSibling;n;n=n.previousSibling)if(!s(n))return!1;return!0}var u=new Map;function y(e){return`
2
+ @layer clay-skin{:is(${e.join(", ")}){color-scheme:${c()} !important}}`}function m(e,t,{roots:n}={}){u.set(e,{css:t,roots:n});let o=document.head||document.documentElement,i=null;for(let l of o.querySelectorAll("style[data-clay-skin]"))l.getAttribute("data-clay-skin")===e&&(i=l);i||(i=document.createElement("style"),i.setAttribute("clay",a),i.setAttribute("data-clay-skin",e));let r=n?t+y(n):t;return i.textContent!==r&&(i.textContent=r),d(o,i)||o.insertBefore(i,f(o)),i}typeof document<"u"&&document.addEventListener("clay:sync-applied",()=>{for(let[e,{css:t,roots:n}]of u)m(e,t,{roots:n})});export{m as a};