@panphora/clayjs 1.16.0 → 1.17.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 (283) hide show
  1. package/dist/all.js +1 -1
  2. package/dist/clay-dom.js +1 -1
  3. package/dist/clay-events.js +1 -1
  4. package/dist/clay-internals.js +1 -1
  5. package/dist/clay-options.js +1 -1
  6. package/dist/clay-router.js +1 -1
  7. package/dist/clay-ui.js +1 -1
  8. package/dist/clay-utils.js +1 -1
  9. package/dist/clay.js +1 -1
  10. package/dist/clay.standalone.js +7917 -5621
  11. package/dist/m/attrs/refetch-on-save-ZUE7PSCI.js +1 -0
  12. package/dist/m/attrs/save-freeze-MYNVXREN.js +1 -0
  13. package/dist/m/c-2YYDMLNZ.js +1 -0
  14. package/dist/m/c-336SGU5W.js +1 -0
  15. package/dist/m/c-3H6BZDNJ.js +6 -0
  16. package/dist/m/{c-LR4CGEPT.js → c-3RUU4TPX.js} +1 -1
  17. package/dist/m/c-3XIRD4NU.js +1 -0
  18. package/dist/m/c-4DFEJ2PO.js +3 -0
  19. package/dist/m/c-56QRZTZH.js +1 -0
  20. package/dist/m/c-5J4E7O4Y.js +4 -0
  21. package/dist/m/c-5LKDWQTL.js +19 -0
  22. package/dist/m/c-5QWQ7A5L.js +1 -0
  23. package/dist/m/c-5RJFTLSF.js +1 -0
  24. package/dist/m/c-6AZOGAPE.js +1 -0
  25. package/dist/m/{c-Y6USGTS5.js → c-6CRUUXOX.js} +5 -5
  26. package/dist/m/{c-54RCDCBU.js → c-6KEVEQ7L.js} +1 -1
  27. package/dist/m/{c-LTGMXXKO.js → c-6NC5I2TV.js} +1 -1
  28. package/dist/m/{c-YDH7Q3NY.js → c-74MGYWZF.js} +1 -1
  29. package/dist/m/{c-Z36J63PP.js → c-7OLLJPWP.js} +1 -1
  30. package/dist/m/c-A3E3NIMC.js +1 -0
  31. package/dist/m/{c-5R4PTRG2.js → c-AMSNPOCX.js} +1 -1
  32. package/dist/m/c-B3JM5ZXC.js +1 -0
  33. package/dist/m/c-BPF2NSPV.js +1 -0
  34. package/dist/m/c-BQ6LOBEE.js +1 -0
  35. package/dist/m/c-CJ3A7ZKE.js +1 -0
  36. package/dist/m/c-CQHPGKX2.js +1 -0
  37. package/dist/m/c-DCXOXBF3.js +1 -0
  38. package/dist/m/c-DFS4XZJV.js +2 -0
  39. package/dist/m/{c-F3CKJTJS.js → c-DNENWY4O.js} +1 -1
  40. package/dist/m/c-E4LIR5X5.js +1 -0
  41. package/dist/m/c-EVCQ3BKA.js +1 -0
  42. package/dist/m/{c-5Y6TNX5W.js → c-EZU56NQV.js} +2 -2
  43. package/dist/m/c-FDNHHZY5.js +1 -0
  44. package/dist/m/{c-SWRJFCNN.js → c-FRLHSY7E.js} +1 -1
  45. package/dist/m/c-FROJUZMV.js +1 -0
  46. package/dist/m/c-G2JPKCTP.js +1 -0
  47. package/dist/m/c-GB6TU7WV.js +1 -0
  48. package/dist/m/{c-GB3JTV6E.js → c-GFJJEBTU.js} +1 -1
  49. package/dist/m/{c-J7CA54IP.js → c-GSFIGKOP.js} +1 -1
  50. package/dist/m/{c-OYTFP5QN.js → c-GY422N3Q.js} +1 -1
  51. package/dist/m/c-HAWFNBYG.js +1 -0
  52. package/dist/m/{c-33HUYEDI.js → c-HDDEEL77.js} +1 -1
  53. package/dist/m/c-HFKUVACH.js +1 -0
  54. package/dist/m/c-HHDFCNHV.js +1 -0
  55. package/dist/m/c-I2ZATQCD.js +2 -0
  56. package/dist/m/c-IEM4NTCS.js +1 -0
  57. package/dist/m/c-IW6GGOU2.js +1 -0
  58. package/dist/m/{c-SGCCC4FW.js → c-JDCX26UP.js} +2 -2
  59. package/dist/m/c-JRKY44DK.js +1 -0
  60. package/dist/m/c-JU3NK25H.js +1 -0
  61. package/dist/m/{c-VFX45IZQ.js → c-KAU6E43D.js} +1 -1
  62. package/dist/m/c-KBS3UV6B.js +1 -0
  63. package/dist/m/c-KGVGROZT.js +1 -0
  64. package/dist/m/{c-YG2NJYS6.js → c-KQ6TYJAP.js} +2 -2
  65. package/dist/m/{c-2JL6E75N.js → c-KU3ZFADW.js} +1 -1
  66. package/dist/m/c-LWLBHLVC.js +3 -0
  67. package/dist/m/c-M2L47S2X.js +7 -0
  68. package/dist/m/c-MFP2ZWD4.js +1 -0
  69. package/dist/m/{c-4YSCRICO.js → c-MKSQ4Y57.js} +1 -1
  70. package/dist/m/{c-2M73252O.js → c-NUFFJVVJ.js} +1 -1
  71. package/dist/m/c-NUHSPT5P.js +1 -0
  72. package/dist/m/c-O72HVYSA.js +1 -0
  73. package/dist/m/c-OW5QIGG3.js +1 -0
  74. package/dist/m/c-PGRCK73F.js +1 -0
  75. package/dist/m/{c-4DRMS4QG.js → c-PS5ARVWR.js} +1 -1
  76. package/dist/m/c-Q622NS2Y.js +1 -0
  77. package/dist/m/c-Q7NQD65V.js +1 -0
  78. package/dist/m/c-QH63LQOS.js +1 -0
  79. package/dist/m/{c-TQZ2JYHD.js → c-QICP2YR5.js} +1 -1
  80. package/dist/m/{c-7VGZ7RU5.js → c-QJ4OM3G6.js} +1 -1
  81. package/dist/m/{c-MMUIUUZG.js → c-R3L7ZJGB.js} +1 -1
  82. package/dist/m/c-R7IWVINQ.js +1 -0
  83. package/dist/m/{c-HVYXIS72.js → c-RSMOODDU.js} +1 -1
  84. package/dist/m/{c-KKWLDOPM.js → c-RYUXUUBX.js} +1 -1
  85. package/dist/m/c-S4ZEH46B.js +9 -0
  86. package/dist/m/c-SDAXDM2D.js +1 -0
  87. package/dist/m/c-SMBZG5X4.js +1 -0
  88. package/dist/m/{c-UXBMRDZB.js → c-SMGU7RT3.js} +1 -1
  89. package/dist/m/c-SPIORRYS.js +1 -0
  90. package/dist/m/c-SWLRT66R.js +1 -0
  91. package/dist/m/c-SZGYW5HT.js +1 -0
  92. package/dist/m/c-TCJTVAFN.js +1 -0
  93. package/dist/m/{c-HRDCD3WN.js → c-TJ6WOJL3.js} +1 -1
  94. package/dist/m/c-TYLXX4NF.js +21 -0
  95. package/dist/m/c-U62OB4BT.js +1 -0
  96. package/dist/m/{c-NMJRXKPC.js → c-U6YWUAR3.js} +1 -1
  97. package/dist/m/c-UDCSU5G5.js +2 -0
  98. package/dist/m/{c-NZMNXVF6.js → c-UDUUJPFZ.js} +1 -1
  99. package/dist/m/c-VE6ZMYMC.js +1 -0
  100. package/dist/m/c-VG5XIN4T.js +1 -0
  101. package/dist/m/c-VHM5XQHK.js +1 -0
  102. package/dist/m/c-VI5RMSVY.js +1 -0
  103. package/dist/m/c-VRZN56XY.js +1 -0
  104. package/dist/m/c-W5MCHEGA.js +1 -0
  105. package/dist/m/c-WDC5GVKU.js +1 -0
  106. package/dist/m/c-WWXIDH4O.js +28 -0
  107. package/dist/m/{c-QIX5BJYN.js → c-XCNTK76U.js} +1 -1
  108. package/dist/m/c-XMS6DPBR.js +1 -0
  109. package/dist/m/c-Y5HBBIQ4.js +1 -0
  110. package/dist/m/{c-5M4YEKCX.js → c-ZVPVXTJF.js} +1 -1
  111. package/dist/m/c-ZVRKXKM7.js +1 -0
  112. package/dist/m/{c-HT33EQRN.js → c-ZWIOJGMT.js} +1 -1
  113. package/dist/m/core/admin-attrs-QHOKPJ7W.js +1 -0
  114. package/dist/m/core/autosave-HRYGUWV6.js +1 -0
  115. package/dist/m/core/conflict-notice-6MROJN2L.js +1 -0
  116. package/dist/m/core/host-permission-FNXVEFNE.js +1 -0
  117. package/dist/m/core/is-edit-mode-KTWA3O5N.js +1 -0
  118. package/dist/m/core/{persist-HKHA66IY.js → persist-JFYRHMRJ.js} +1 -1
  119. package/dist/m/core/recovery-FLTCC2OC.js +1 -0
  120. package/dist/m/core/save-HQZ4S667.js +1 -0
  121. package/dist/m/core/save-core-KGQWFUNH.js +1 -0
  122. package/dist/m/core/snapshot-EGQZNT45.js +1 -0
  123. package/dist/m/core/unsaved-warning-IDJLD66H.js +1 -0
  124. package/dist/m/events/index-RN2JNGBV.js +1 -0
  125. package/dist/m/internals/index-PVXGPUDA.js +1 -0
  126. package/dist/m/lib/cache-bust-MUMFXZK6.js +1 -0
  127. package/dist/m/loader-S4I7GKXR.js +1 -0
  128. package/dist/m/manifest-4C419D67.js +1 -0
  129. package/dist/m/manifest-edit-B077F288.js +1 -0
  130. package/dist/m/manifest.json +1555 -1058
  131. package/dist/m/options/options-EJMS3K24.js +1 -0
  132. package/dist/m/page/{editor-XUTB2HB2.js → editor-NNJA4OKD.js} +21 -8
  133. package/dist/m/plugins/{ai-edit-ZQ4CGWIP.js → ai-edit-QN4PMMNL.js} +1 -1
  134. package/dist/m/plugins/demo-RM5IR6AO.js +1 -0
  135. package/dist/m/plugins/indicator-URDBBOQO.js +1 -0
  136. package/dist/m/plugins/live-HFWD4OIH.js +1 -0
  137. package/dist/m/plugins/{menu-HCKO3DSP.js → menu-3HIEQSI6.js} +2 -2
  138. package/dist/m/plugins/page-JOKB6XPR.js +2 -0
  139. package/dist/m/plugins/page-view-NXOJHNW6.js +1 -0
  140. package/dist/m/plugins/people-SGPJKANK.js +1 -0
  141. package/dist/m/plugins/{richclay-RC3L2F6X.js → richclay-NRQDSWX6.js} +2 -2
  142. package/dist/m/plugins/sortable-GWT4PWDV.js +1 -0
  143. package/dist/m/plugins/source-4ZRSAIYM.js +1 -0
  144. package/dist/m/plugins/undo-VDA5P7FH.js +1 -0
  145. package/dist/m/plugins/{upgrade-ZNYODP5Y.js → upgrade-W7FG5VFG.js} +1 -1
  146. package/dist/m/plugins/upload-WLYKK6TL.js +1 -0
  147. package/dist/m/plugins/visitor-drafts-LIDY7NH6.js +21 -0
  148. package/dist/m/plugins/visitor-drafts-owner-ZXCKBZE7.js +1 -0
  149. package/dist/m/plugins/wire-4N6GYAF6.js +1 -0
  150. package/dist/m/{reader-core-ILWLXVMP.js → reader-core-DXYCURFF.js} +2 -2
  151. package/dist/m/sync/live-sync-J7VMYTKS.js +1 -0
  152. package/dist/m/ui/{index-EVHKMKBL.js → index-3JLVI27O.js} +1 -1
  153. package/dist/offline-manifest.json +857 -623
  154. package/dist/page/themes/light-1.css +25 -1
  155. package/dist/server/core.cjs +115 -24
  156. package/package.json +1 -1
  157. package/src/core/boot-phase.js +2 -1
  158. package/src/core/conflict-download.js +3 -29
  159. package/src/core/download.js +32 -0
  160. package/src/core/host-meta.js +18 -0
  161. package/src/core/save-core.js +8 -4
  162. package/src/core/save.js +4 -4
  163. package/src/core/snapshot.js +39 -1
  164. package/src/lib/autosave-scheduler.js +3 -4
  165. package/src/page/blocks.js +34 -1
  166. package/src/page/board-views.js +2 -16
  167. package/src/page/chart-tables.js +11 -0
  168. package/src/page/chart.js +6 -10
  169. package/src/page/checkpoint-proof.js +289 -0
  170. package/src/page/chrome.js +24 -6
  171. package/src/page/document-title-dom.js +12 -0
  172. package/src/page/document-title-runtime.js +15 -1
  173. package/src/page/document-title.js +4 -1
  174. package/src/page/editor.js +77 -12
  175. package/src/page/emoji-data.js +162 -0
  176. package/src/page/features/board.js +12 -3
  177. package/src/page/features/chart.js +11 -0
  178. package/src/page/features/dates.js +180 -0
  179. package/src/page/features/emoji.js +187 -0
  180. package/src/page/features/mentions.js +188 -0
  181. package/src/page/features/registry.js +6 -1
  182. package/src/page/features/table.js +2 -2
  183. package/src/page/format-command.js +9 -0
  184. package/src/page/format-host.js +54 -0
  185. package/src/page/format-native-commands.js +142 -0
  186. package/src/page/format-native.js +42 -0
  187. package/src/page/inline.js +32 -8
  188. package/src/page/items.js +15 -3
  189. package/src/page/markdown.js +26 -2
  190. package/src/page/mention-picker.js +99 -0
  191. package/src/page/merge.js +1 -1
  192. package/src/page/projection.js +58 -15
  193. package/src/page/save-projection.js +39 -0
  194. package/src/page/save-states.js +1 -1
  195. package/src/page/schema.js +33 -0
  196. package/src/page/themes/content.css +25 -1
  197. package/src/page/themes/light-1.css +25 -1
  198. package/src/page/view-hooks.js +32 -0
  199. package/src/page/ybind/binding.js +31 -4
  200. package/src/page/ybind/marks.js +2 -1
  201. package/src/page/ybind/provider.js +13 -2
  202. package/src/page/ybind/recovery-replay.js +362 -4
  203. package/src/plugins/live.js +37 -1
  204. package/src/plugins/page.js +117 -3
  205. package/src/plugins/visitor-drafts/intro.js +2 -1
  206. package/src/server/checkpoint/index.js +2 -2
  207. package/src/sync/saved-stream.js +17 -8
  208. package/dist/m/attrs/refetch-on-save-NWPPXOCZ.js +0 -1
  209. package/dist/m/attrs/save-freeze-FUP4Q4X3.js +0 -1
  210. package/dist/m/c-35NBGMZB.js +0 -1
  211. package/dist/m/c-3IQRECYS.js +0 -1
  212. package/dist/m/c-4B6H4G5V.js +0 -1
  213. package/dist/m/c-4FFHZM32.js +0 -1
  214. package/dist/m/c-66O32MV3.js +0 -28
  215. package/dist/m/c-7O6AFR65.js +0 -1
  216. package/dist/m/c-ANQTJ3B5.js +0 -2
  217. package/dist/m/c-AYVOREBE.js +0 -1
  218. package/dist/m/c-B2ZXPOS3.js +0 -3
  219. package/dist/m/c-BMIZKMPV.js +0 -1
  220. package/dist/m/c-CJZSLMVQ.js +0 -1
  221. package/dist/m/c-DBE6ORSI.js +0 -1
  222. package/dist/m/c-EDHUR4MX.js +0 -1
  223. package/dist/m/c-EY6UOM54.js +0 -1
  224. package/dist/m/c-F7Y6FLPY.js +0 -1
  225. package/dist/m/c-FA4DZVTC.js +0 -1
  226. package/dist/m/c-G2BUZITR.js +0 -1
  227. package/dist/m/c-GBGWXTX4.js +0 -1
  228. package/dist/m/c-GHBCCVG4.js +0 -1
  229. package/dist/m/c-IB52R237.js +0 -1
  230. package/dist/m/c-IKWNE4R4.js +0 -1
  231. package/dist/m/c-IU3IYEU6.js +0 -1
  232. package/dist/m/c-IZ2EBRAJ.js +0 -1
  233. package/dist/m/c-KR4UW4KW.js +0 -1
  234. package/dist/m/c-KY3VJGUA.js +0 -8
  235. package/dist/m/c-LXENEBV7.js +0 -1
  236. package/dist/m/c-PPOSCAQD.js +0 -1
  237. package/dist/m/c-QQHEX6HA.js +0 -1
  238. package/dist/m/c-R7RMANJI.js +0 -9
  239. package/dist/m/c-RI4NT75Y.js +0 -1
  240. package/dist/m/c-RUJKSUQW.js +0 -1
  241. package/dist/m/c-T4VO4OCB.js +0 -1
  242. package/dist/m/c-TR6RMDQ7.js +0 -3
  243. package/dist/m/c-UKHTLWUW.js +0 -1
  244. package/dist/m/c-UNN7LWCT.js +0 -1
  245. package/dist/m/c-V7PZZRG7.js +0 -1
  246. package/dist/m/c-VL52ADDR.js +0 -1
  247. package/dist/m/c-WWDBYXLK.js +0 -1
  248. package/dist/m/c-XNNW2CWK.js +0 -1
  249. package/dist/m/c-Z4VRC7GU.js +0 -7
  250. package/dist/m/c-Z6K52OLP.js +0 -19
  251. package/dist/m/c-ZDY2MDAA.js +0 -21
  252. package/dist/m/core/admin-attrs-VGNLAUDK.js +0 -1
  253. package/dist/m/core/autosave-E4PEFPZ6.js +0 -1
  254. package/dist/m/core/conflict-notice-VQ6Y64PH.js +0 -1
  255. package/dist/m/core/host-permission-XN3K2IW3.js +0 -1
  256. package/dist/m/core/is-edit-mode-JXHDVGUL.js +0 -1
  257. package/dist/m/core/recovery-TBBSICE2.js +0 -1
  258. package/dist/m/core/save-WUCHTQBE.js +0 -1
  259. package/dist/m/core/save-core-FJVHT5M3.js +0 -1
  260. package/dist/m/core/snapshot-F3SWDZMM.js +0 -1
  261. package/dist/m/core/unsaved-warning-STKBHE6G.js +0 -1
  262. package/dist/m/events/index-23DPTUT4.js +0 -1
  263. package/dist/m/internals/index-WOVAP3RU.js +0 -1
  264. package/dist/m/lib/cache-bust-CGWT6ZJI.js +0 -1
  265. package/dist/m/loader-HXX6YNH5.js +0 -1
  266. package/dist/m/manifest-F22DEDAC.js +0 -1
  267. package/dist/m/manifest-edit-C3C7376B.js +0 -1
  268. package/dist/m/options/options-2LH76JQ3.js +0 -1
  269. package/dist/m/plugins/demo-ZIBFAA3R.js +0 -1
  270. package/dist/m/plugins/indicator-PV4YW2ID.js +0 -1
  271. package/dist/m/plugins/live-NUTTXSBS.js +0 -1
  272. package/dist/m/plugins/page-KSUH7G6J.js +0 -2
  273. package/dist/m/plugins/page-view-W73OW7WI.js +0 -1
  274. package/dist/m/plugins/people-AJJ32YCG.js +0 -1
  275. package/dist/m/plugins/sortable-YRMQX3ZU.js +0 -1
  276. package/dist/m/plugins/source-KHK5UUSK.js +0 -1
  277. package/dist/m/plugins/undo-OF2L3CXU.js +0 -1
  278. package/dist/m/plugins/upload-XSGNILUY.js +0 -1
  279. package/dist/m/plugins/visitor-drafts-XK5GW55Q.js +0 -21
  280. package/dist/m/plugins/visitor-drafts-owner-KSSH75EV.js +0 -1
  281. package/dist/m/plugins/wire-ZWVWKF76.js +0 -1
  282. package/dist/m/sync/live-sync-4AUVXVJU.js +0 -1
  283. /package/dist/m/plugins/{richclay-RC3L2F6X.js.LEGAL.txt → richclay-NRQDSWX6.js.LEGAL.txt} +0 -0
@@ -1,21 +0,0 @@
1
- import{b as We,c as Ue}from"../c-BTDI4Y23.js";import{a as qe,b as _e,c as ze,d as Fe}from"../c-MTQHWQC3.js";import{c as Ie,f as Be,i as He,k as me}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as te,f as De,h as Pe,j as F}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ut=Object.defineProperty,qt=(e,t)=>{for(var r in t)Ut(e,r,{get:t[r],enumerable:!0})},ut=["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"],_t=new Set(ut),zt=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),ct=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),Ve=new Set(["checked","selected","disabled","readOnly","paused"]);function Ft(e,t){return t==null?Ve.has(e)?!1:"":Ve.has(e)?t==="false"?!1:!!t:t}var P={};qt(P,{EmptyListInsert:()=>Z,MAX_RULE_DEPTH:()=>se,MaxRuleDepthExceeded:()=>Te,NoRulesTag:()=>Kt,RuleTargetReadOnly:()=>pt,RulesParseError:()=>Ee,ShapeMismatch:()=>ft,UnknownRulesVersion:()=>dt,WriteNotRoundTripped:()=>Jt,WriteRefused:()=>ht,WriteRejected:()=>Zt});var Ee=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},dt=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},se=20,Te=class extends Error{constructor(e){super(`rule depth exceeded ${se} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},ft=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},Z=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}},pt=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},ht=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function Vt(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var Jt=class extends Error{constructor(e){super(`write did not round-trip at "${Vt(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},Kt=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},Zt=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 z(e){let t=0,r=null,n=-1;for(let o=0;o<e.length;o++){let l=e[o];l==="\\"?o++:r?l===r&&(r=null):l==='"'||l==="'"?r=l:l==="["||l==="("?t++:l==="]"||l===")"?t>0&&t--:l==="@"&&t===0&&(n=o)}return n}function Xt(e){let t=z(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function mt(e){let t=0,r=null,n=-1,o=!1;for(let l=0;l<e.length;l++){let a=e[l];a==="\\"?l++:r?a===r&&(r=null):a==='"'||a==="'"?r=a:a==="["||a==="("?t++:a==="]"||a===")"?t>0&&t--:t===0&&a===">"?n=l:t===0&&a===","&&(o=!0)}return o||n===-1||!Yt(e,n+1)?null:e.slice(0,n).trim()||null}function Yt(e,t){let r=t,n=e.replace(/\s+$/,"").length;for(;r<n&&/\s/.test(e[r]);)r++;let o=0,l=null;for(;r<n;r++){let a=e[r];if(a==="\\")r++;else if(l)a===l&&(l=null);else if(a==='"'||a==="'")l=a;else if(a==="["||a==="(")o++;else if(a==="]"||a===")")o>0&&o--;else if(o===0&&(a==="+"||a==="~"||/\s/.test(a)))return!1}return!0}var Gt=/^--[A-Za-z0-9_-]+$/;function Oe(e){return typeof e=="string"&&Gt.test(e)}function yt(e){let t=[],r=[],n=null,o=0;for(let l=0;l<e.length;l++){let a=e[l];if(n){a==="\\"?l++:a===n&&(n=null);continue}if(a==="/"&&e[l+1]==="*"){let i=e.indexOf("*/",l+2);l=i===-1?e.length:i+1;continue}a==='"'||a==="'"?n=a:a==="("?r.push(")"):a==="["?r.push("]"):a==="{"?r.push("}"):(a===")"||a==="]"||a==="}")&&r[r.length-1]===a?r.pop():a===";"&&r.length===0&&(t.push(e.slice(o,l)),o=l+1)}return t.push(e.slice(o)),t}function Qt(e){let t="",r=null;for(let n=0;n<e.length;n++){let o=e[n];if(r){t+=o,o==="\\"&&n+1<e.length?t+=e[++n]:o===r&&(r=null);continue}if(o==="/"&&e[n+1]==="*"){let l=e.indexOf("*/",n+2);n=l===-1?e.length:l+1,t+=" ";continue}(o==='"'||o==="'")&&(r=o),t+=o}return t}function gt(e){e=Qt(e);let t=e.indexOf(":");if(t===-1)return null;let r=e.slice(0,t).trim(),n=e.slice(t+1).trim(),o=/!\s*important\s*$/i.exec(n);return o&&(n=n.slice(0,o.index).trim()),{name:r,value:n,important:!!o}}function xe(e,t){if(e==null)return null;let r=null;for(let n of yt(String(e))){let o=gt(n);!o||o.name!==t||(!r||o.important||!r.important)&&(r=o)}return r?r.value:null}function er(e,t,r){let n=e==null?"":String(e),o=r==null||r==="",l=yt(n),a=l.map(gt),i=a.some(h=>h&&h.name===t&&h.important),s=[],u=!1;l.forEach((h,p)=>{let A=a[p];if(!A||A.name!==t){s.push(h);return}if(o||u)return;let d=/^\s*/.exec(h)[0];s.push(`${d}${t}: ${r}${i?" !important":""}`),u=!0});let c=s.join(";");if(!o&&!u){let h=c.trimEnd();c=h===""?`${t}: ${r}`:`${h}${h.endsWith(";")?" ":"; "}${t}: ${r}`}return c.trim()===""?null:c}function vt(e,t,r,n){let o=e.attr(t,"style");if((xe(o,r)??"")===n)return;let l=er(o,r,n);l==null?e.removeAttr(t,"style"):e.attr(t,"style",l)}function oe(e,t,r,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.");return ye(e,t,r,{depth:0,path:[]},n)}function ye(e,t,r,n,o){if(n.depth>se)throw new Te(n.path);if(typeof r=="string")return tr(e,t,r,n,o);if(Array.isArray(r)){let[l,a]=r,i=e.find(t,l,o);return wt(o,n,i),i.map((s,u)=>ye(e,s,a,{depth:n.depth+1,path:[...n.path,u]},o))}if(typeof r=="object"&&r!==null){let l={};for(let[a,i]of Object.entries(r))l[a]=ye(e,t,i,{depth:n.depth+1,path:[...n.path,a]},o);return l}return null}function tr(e,t,r,n,o){if(r.endsWith("[]")){let i=r.slice(0,-2),s=e.find(t,i,o);return wt(o,n,s),s.map(u=>e.text(u))}if(r.startsWith("@"))return Je(e,t,r.slice(1));let l=z(r);if(l!==-1){let i=r.slice(0,l),s=r.slice(l+1),u=i?e.find(t,i,o):[t];return u.length===0?null:Je(e,u[0],s)}if(r===".")return e.text(t);let a=e.find(t,r,o);return a.length===0?null:e.text(a[0])}function wt(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function Je(e,t,r){if(Oe(r))return xe(e.attr(t,"style"),r);if(_t.has(r)){let o=e.prop(t,r);return o==null?null:String(o)}return e.attr(t,r)??null}function rr(e,t,r,n){let o=e.length,l=t.length,a=new Array(o).fill(-1);if(n){let f=new Set;for(let g=0;g<o;g++){let v=n[g];!(v>=0&&v<l)||f.has(v)||(a[g]=v,f.add(v))}}if(o===0||l===0)return a;let i=e.map(f=>Ke(f,r)),s=t.map(f=>Ke(f,r)),u=new Array(l).fill(!1);for(let f of a)f>=0&&(u[f]=!0);let c=new Map;s.forEach((f,g)=>{u[g]||c.set(f,c.has(f)?-1:g)});let h=new Map;i.forEach((f,g)=>{a[g]>=0||h.set(f,(h.get(f)||0)+1)}),i.forEach((f,g)=>{if(a[g]>=0||h.get(f)!==1)return;let v=c.get(f);v===void 0||v===-1||u[v]||(a[g]=v,u[v]=!0)});let p=[];for(let f=0;f<o;f++)a[f]<0&&p.push(f);let A=[];for(let f=0;f<l;f++)u[f]||A.push(f);if(p.length===0||A.length===0)return a;let d=o*l+1,m=nr(e,t,r),y=(f,g)=>m(f,g)*d+Math.abs(f-g);for(let[f,g]of or(p,A,y))a[f]=g;return a}var bt=e=>typeof e=="object"&&e!==null;function Ke(e,t){if(!bt(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let o=JSON.stringify(e?.[n]);return o===void 0?" undef":o}))}function nr(e,t,r){if(!bt(r))return(i,s)=>e[i]===t[s]?0:1;let n=Object.keys(r),o=i=>n.map(s=>JSON.stringify(i?.[s])),l=e.map(o),a=t.map(o);return(i,s)=>{let u=l[i],c=a[s],h=0;for(let p=0;p<n.length;p++)u[p]!==c[p]&&h++;return h}}function or(e,t,r){return e.length<=t.length?Ze(e,t,r,!1):Ze(t,e,(n,o)=>r(o,n),!0)}function Ze(e,t,r,n){let o=e.length,l=t.length,a=[];for(let h=0;h<=o;h++)a.push(new Float64Array(l+1).fill(1/0));let i=[];for(let h=0;h<=o;h++)i.push(new Uint8Array(l+1));for(let h=0;h<=l;h++)a[o][h]=0;for(let h=o-1;h>=0;h--)for(let p=l-1;p>=0;p--){let A=r(e[h],t[p])+a[h+1][p+1],d=a[h][p+1];A<=d?(a[h][p]=A,i[h][p]=1):a[h][p]=d}let s=[],u=0,c=0;for(;u<o&&c<l;)i[u][c]&&(s.push(n?[t[c],e[u]]:[e[u],t[c]]),u++),c++;return s}function At(e,t,r,n,o,l,a,i={}){let s=e.find(t,r,i);if(o.length===0){s.forEach(T=>e.remove(T)),ge(i,"onRowsApplied",l.path,[]);return}let u=o.length>s.length,c=s[0]||null;if(u&&!c&&(c=sr(e,t,r,i),!c))throw new Z(l.path);let h=s.map(T=>ar(e,T,n,i)),p=null;if(u&&c){p=e.clone(c),i.templateAttr&&e.removeAttr(p,i.templateAttr);let T=e.stripIds(p);T>0&&console.warn(`[hyper-html-api] stripped ${T} id attribute(s) from cloned template at "${l.path.join(".")||"(root)"}"`)}let A=rr(o,h,n,lr(e,s,o,l,i)),d=s.length>0?e.parent(s[0]):fr(e,t,r,c,l,i),m=s.length>0?Et(e,d,s[0]):0,y=mr(e,s),f=new Set,g=[],v=o.map((T,O)=>{let x=A[O];if(x>=0)return f.add(x),g.push(!1),s[x];g.push(!0);let C=e.clone(p);return e.stripIds(C),C});s.forEach((T,O)=>{f.has(O)||e.remove(T)}),y?hr(e,d,m,v,g):yr(e,v,g,d,m),ir(e,v,n,o,l,a,i),ge(i,"onRowsApplied",l.path,v)}function ge(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(o){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,o);return}}function lr(e,t,r,n,o){let l=ge(o,"identifyRows",n.path,r);if(!Array.isArray(l))return null;let a=new Array(r.length).fill(-1),i=new Set,s=new Map(t.map((u,c)=>[e.identity(u),c]));for(let u=0;u<r.length;u++){if(!l[u])continue;let c=s.get(e.identity(l[u]));c===void 0||i.has(c)||(a[u]=c,i.add(c))}return a}function ir(e,t,r,n,o,l,a){t.forEach((i,s)=>{if(r===null){let u=n[s],c=u==null?"":String(u);e.text(i)!==c&&e.text(i,c)}else{let u=l(e,i,r,n[s],{depth:o.depth+1,path:[...o.path,s]},a);u&&u!==i&&(t[s]=u)}})}function ar(e,t,r,n){return r===null?e.text(t):oe(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function Et(e,t,r){let n=e.children(t);for(let o=0;o<n.length;o++)if(e.sameNode(n[o],r))return o;return-1}function sr(e,t,r,n){if(!n.templateAttr)return null;let o=/^\s*:scope\s*>\s*/.test(r),l=new RegExp(":not\\(\\["+n.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),a=r.replace(/^\s*:scope\s*>\s*/,"").replace(l,""),i=o?ur(a):0,s=mt(a),u=t;for(;u;){let c=e.find(u,a,{includeRulesTag:!1,templateAttr:null});for(let h of c)if(e.attr(h,n.templateAttr)!=null&&!(o&&!dr(e,t,h,i))&&!(s&&!e.matches(e.parent(h),s)))return h;u=e.parent(u)}return null}function ur(e){let t=0,r=null,n=1;for(let o=0;o<e.length;o++){let l=e[o];if(l==="\\")o++;else if(r)l===r&&(r=null);else if(l==='"'||l==="'")r=l;else if(l==="["||l==="(")t++;else if(l==="]"||l===")")t>0&&t--;else if(t===0&&l===">")n++;else{if(t===0&&(l==="+"||l==="~"))return null;if(t===0&&/\s/.test(l)){if(!cr(e,o))return null;for(;o+1<e.length&&/\s/.test(e[o+1]);)o++}}}return n}function cr(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let n=t>0?e[t-1]:"",o=r<e.length?e[r]:"";return Xe(n)||Xe(o)}function Xe(e){return e===">"||e==="+"||e==="~"}function dr(e,t,r,n){if(n===null)return!0;let o=r;for(let s=0;s<n;s++)if(o=e.parent(o),!o)return!1;let l=e.prop(t,"tagName");if(!l)return!0;let a=e.prop(o,"tagName");if(!a||String(a).toLowerCase()!==String(l).toLowerCase())return!1;let i=new Set(Ye(e,o));return Ye(e,t).every(s=>i.has(s))}function Ye(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function fr(e,t,r,n,o,l){let a=e.parent(n);if(a&&pr(e,t,a)&&!Qe(e,a,l))return a;let i=mt(r);if(!i)throw new Z(o.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=(i===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,i,l)).filter(u=>!Qe(e,u,l));if(s.length===0)throw new Z(o.path,`no container matching "${i}" inside this context to hold the new rows`);if(s.length>1)throw new Z(o.path,`"${i}" matches ${s.length} containers inside this context, so the new rows have no single destination`);return s[0]}function pr(e,t,r){let n=r;for(;n;){if(e.sameNode(n,t))return!0;n=e.parent(n)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(o=>e.sameNode(o,r))}var Ge=["no-data","editor-ui"];function Qe(e,t,r){let n=t;for(;n;){if(r.templateAttr&&e.attr(n,r.templateAttr)!=null||Ge.some(l=>e.attr(n,l)!=null))return!0;let o=e.attr(n,"clay");if(o&&o.split(/\s+/).some(l=>Ge.includes(l)))return!0;n=e.parent(n)}return!1}function hr(e,t,r,n,o){let l=e.children(t),a=l.map(s=>e.identity(s)),i=!1;n.forEach((s,u)=>{let c=e.identity(s),h=r+u;if(a[h]===c)return;if(!o[u]){let A=a.indexOf(c);A!==-1&&(a.splice(A,1),l.splice(A,1))}let p=Math.min(h,l.length);p<l.length?e.insertBefore(l[p],s):l.length?i?e.insertAfter(l[l.length-1],s):(e.insertAt(t,s,h),i=!0):e.insertAt(t,s,0),a.splice(p,0,c),l.splice(p,0,s)})}function mr(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=new Map(e.children(r).map((l,a)=>[e.identity(l),a])),o=[];for(let l of t){let a=n.get(e.identity(l));if(a===void 0)return!1;o.push(a)}return o.sort((l,a)=>l-a),o[o.length-1]-o[0]===o.length-1}function yr(e,t,r,n,o){let l=null,a=o;for(let i=0;i<t.length;i++){if(!r[i]){l=t[i];continue}let s=l?e.parent(l):n;if(!s)continue;let u=l?Et(e,s,l)+1:a++;e.insertAt(s,t[i],u),l=t[i]}}function le(e,t,r,n,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let l=[];if(ve(r,n,[],l),l.length)throw new ft(l);ie(e,t,r,n,{depth:0,path:[]},o)}function ie(e,t,r,n,o,l={}){if(o.depth>se)throw new Te(o.path);if(n===void 0)return t;if(typeof r=="string")return gr(e,t,r,n,o,l);if(Array.isArray(r)){let[a,i]=r;return At(e,t,a,i,n,o,ie,l),t}if(typeof r=="object"&&r!==null){for(let[a,i]of Object.entries(r)){let s=ie(e,t,i,n==null?n:n[a],{depth:o.depth+1,path:[...o.path,a]},l);s&&s!==t&&(t=s)}return t}return t}function gr(e,t,r,n,o,l){if(r.endsWith("[]")){let s=r.slice(0,-2);return At(e,t,s,null,n,o,ie,l),t}if(r.startsWith("@"))return tt(e,t,r.slice(1),n);let a=z(r);if(a!==-1){let s=r.slice(0,a),u=r.slice(a+1),c=s?e.find(t,s,l):[t];return c.length===0||tt(e,c[0],u,n),t}if(r===".")return et(e,t,n),t;let i=e.find(t,r,l);return i.length===0||et(e,i[0],n),t}function et(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function vr(e,t,r,n){if(e.styleVar){e.styleVar(t,r,n);return}vt(e,t,r,n)}function tt(e,t,r,n){if(Oe(r))return vr(e,t,r,n==null?"":String(n).trim()),t;if(ct.has(r)){let o=e.prop(t,r);if(o===n||o!=null&&n!=null&&String(o)===String(n))return t;throw new pt(r)}if(r==="outerHTML"){let o=n==null?"":String(n);return e.replaceWith(t,o)}if(zt.has(r)){let o=Ft(r,n);return e.prop(t,r)!==o&&e.prop(t,r,o),t}if(n==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let o=String(n);e.attr(t,r)!==o&&e.attr(t,r,o)}return t}function ve(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,l)=>{typeof o=="object"&&o!==null&&n.push({path:J([...r,l]),expected:"scalar",got:V(o)})}):n.push({path:J(r),expected:"array",got:V(t)});return}t!==null&&typeof t=="object"&&n.push({path:J(r),expected:"scalar",got:V(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:J(r),expected:"array",got:V(t)});return}let o=e[1];t.forEach((l,a)=>ve(o,l,[...r,a],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:J(r),expected:"object",got:V(t)});return}for(let[o,l]of Object.entries(e))ve(l,t[o],[...r,o],n)}}}function V(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function J(e){return e.join(".")}function wr(e){try{return JSON.parse(e)}catch(t){throw new Ee(`Invalid strict JSON: ${t.message}`,t)}}function Tt(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(o){let l=[],a=0;for(;a<o.length;){let i=o[a];if(/\s/.test(i)){a++;continue}if("{}".includes(i)){l.push({type:i,value:i}),a++;continue}if(i==="["){let h=!1,p=a+1;for(;p<o.length&&/\s/.test(o[p]);)p++;if(p<o.length&&/[a-zA-Z_]/.test(o[p])&&(h=!0),!h){l.push({type:i,value:i}),a++;continue}}if(i==="]"){l.push({type:i,value:i}),a++;continue}if(i===":"){l.push({type:t.COLON,value:i}),a++;continue}if(i===","){l.push({type:t.COMMA,value:i}),a++;continue}if(i==='"'||i==="'"){let h=i,p=a+1;for(;p<o.length&&o[p]!==h;)o[p]==="\\"&&p++,p++;l.push({type:t.STRING,value:o.substring(a+1,p),quoted:!0,sourceQuote:h}),a=p+1;continue}let s=a,u;for(;s<o.length&&!/[{},]/.test(o[s]);)if(o[s]===":"){let h=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],p=!1;for(let A of h){let d=A.substring(1);if(o.substring(s+1,s+1+d.length)===d){p=!0,s+=d.length;break}}if(!p)break}else if(o[s]==="["){for(s++;s<o.length&&o[s]!=="]";){if(o[s]==='"'||o[s]==="'"){let h=o[s];for(s++;s<o.length&&o[s]!==h;)o[s]==="\\"&&s++,s++}s++}s<o.length&&o[s]==="]"&&s++}else s++;u=o.substring(a,s);let c=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?c=t.NUMBER:u==="true"||u==="false"||u==="null"?c=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(c=t.SELECTOR),l.push({type:c,value:u,quoted:!1}),a=s}return l}function n(o){let l="";for(let a=0;a<o.length;a++){let i=o[a];if("{}".includes(i.type)||"[]".includes(i.type)){l+=i.value;continue}if(i.type===t.COLON){l+=i.value;continue}if(i.type===t.COMMA){let s=o[a+1];if(s&&(s.type==="}"||s.type==="]"))continue;l+=i.value;continue}if(i.type===t.STRING&&i.quoted){let s=i.value;i.sourceQuote==="'"&&(s=s.replace(/\\'/g,"'"),s=s.replace(/(\\*)"/g,(u,c)=>c.length%2===0?c+'\\"':u)),l+=`"${s}"`;continue}if(i.type===t.NUMBER||i.type===t.BOOLEAN){l+=i.value;continue}if(i.type===t.SELECTOR||i.type===t.IDENTIFIER){l+=`"${i.value}"`;continue}l+=`"${i.value}"`}return l}try{let o=r(e),l=n(o);return JSON.parse(l)}catch(o){throw new Ee("Invalid extraction rules syntax: "+o.message,o)}}var br="1",rt=/^[a-zA-Z0-9_-]+$/;function ke(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!rt.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${rt})`);n=`script[data-rules-name~="${r}"]`}let o=e.find(t,n,{includeRulesTag:!0});if(o.length===0)return null;r!==void 0&&o.length>1&&console.warn(`hyper-html-api: ${o.length} rules tags match data-rules-name~="${r}"; using the first.`);let l=o[0],a=e.attr(l,"data-rules-version");if(a!==br)throw new dt(a);return{rules:Tt(e.text(l)),tagNode:l}}var Se=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"]})}),Ar=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Er=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ae(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Ot(e,t){if(ae(e,t))return!0;for(let[r,n]of Object.entries(Ar))if(n.includes(t)&&ae(e,r))return!0;return!1}function we(e){let t=Se[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function Tr(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=Se[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(o=>Ot(r,o))||n.bundles.some(o=>ae(r,o)))return r;r=r.parentElement}return null}function Or(e,t){return!!Tr(e,t)}var Ne=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",...Er],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"]})}),xr=new Set(["textContent","innerText"]);function kr(e){let t=String(e).replace(/^[\u0000- ]+|[\u0000- ]+$/g,"").replace(/[\t\n\r]/g,"").match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/);return t?t[1].toLowerCase():null}var Sr=/^[^\t\n\f\r "'>/=\u0000-\u001f\u007f]+$/;function Nr(e,t,r=Ne){if(!Sr.test(String(e)))return`attribute name ${JSON.stringify(String(e))} is not valid`;let n=String(e).toLowerCase();if(r.refusedAttributePrefixes.some(o=>n.startsWith(o)))return`attribute "${n}" can run script`;if(r.refusedAttributes.includes(n))return`attribute "${n}" is not content`;if(r.urlAttributes.includes(n)&&t!=null){let o=n==="srcset"?String(t).split(",").map(l=>l.trim().split(/\s+/)[0]).filter(Boolean):[String(t)];for(let l of o){let a=kr(l);if(a&&r.refusedSchemes.includes(a))return`"${a}:" URLs are not allowed in "${n}"`}}return null}function Le(e,t){let r=e.prop(t,"tagName");return r?String(r).toLowerCase():""}function Lr(e,t){let r=Le(e,t)||"node",n=e.attr(t,"id");return n?`<${r}#${n}>`:`<${r}>`}function Rr(e,t,r){let n=t;for(;n;){let o=Le(e,n);if(o&&r.refusedTargets.includes(o))return o;n=e.parent(n)}return null}function xt(e,t){return e.find(t,"script[data-rules-name]",{includeRulesTag:!0,templateAttr:null}).length>0}function Cr(e,t){return Le(e,t)==="script"&&e.attr(t,"data-rules-name")!=null?!0:xt(e,t)}function $r(e){if(/[\u0000-\u001f\u007f]/.test(e))return"control characters are not allowed in a custom property value";let t=[],r=null;for(let n=0;n<e.length;n++){let o=e[n];if(r){o===r&&(r=null);continue}if(o==='"'||o==="'")r=o;else{if(o==="/"&&e[n+1]==="*")return"comments are not allowed in a custom property value";if(o==="(")t.push(")");else if(o==="[")t.push("]");else if((o===")"||o==="]")&&t.pop()!==o)return`"${o}" does not close anything in this custom property value`}}return r?"a custom property value must close its quotes":t.length?"a custom property value must close its brackets":null}function Mr(e,t=Ne){let r=t.customPropertyValues,n=String(e);if(n.length>r.maxLength)return`custom property values are limited to ${r.maxLength} characters`;let o=r.refusedCharacters.find(s=>n.includes(s));if(o)return`${JSON.stringify(o)} is not allowed in a custom property value`;let l=$r(n);if(l)return l;let a=n.toLowerCase(),i=r.refusedFunctions.find(s=>new RegExp(`(^|[^a-z0-9_-])${s.replace(/[-]/g,"\\-")}\\s*\\(`).test(a));return i?`"${i}()" is not allowed in a custom property value`:null}function nt(e,t=Ne){let r=[],n=(i,s)=>(r.push({target:Lr(e,i),reason:s}),!1),o=i=>{let s=Rr(e,i,t);return s?n(i,`inside <${s}>, which is not content`):!0},l=i=>o(i)?xt(e,i)?n(i,"a text write here would delete the data rules tag"):!0:!1,a=(i,s,u)=>{if(!o(i))return!1;let c=Nr(s,u,t);return c?n(i,c):!0};return{...e,text(i,s){if(s===void 0)return e.text(i);l(i)&&e.text(i,s)},attr(i,s,u){if(u===void 0)return e.attr(i,s);a(i,s,u)&&e.attr(i,s,u)},removeAttr(i,s){a(i,s,null)&&e.removeAttr(i,s)},styleVar(i,s,u){if((xe(e.attr(i,"style"),s)??"")!==u&&o(i)){if(!Oe(s))return n(i,`"${s}" is not a custom property`);if(u!==""){let c=Mr(u,t);if(c)return n(i,c)}vt(e,i,s,u)}},prop(i,s,u){if(u===void 0)return e.prop(i,s);if(t.refusedRuleForms.includes(s))return n(i,`"@${s}" writes HTML, only text is allowed`);if(xr.has(s)){l(i)&&e.prop(i,s,u);return}a(i,s==="className"?"class":s,u)&&e.prop(i,s,u)},remove(i){if(Cr(e,i)){n(i,"removing this would delete the data rules tag");return}e.remove(i)},replaceWith(i,s){return s===e.prop(i,"outerHTML")||n(i,'"@outerHTML" writes HTML, only text is allowed'),i},refusals:r,assertClean(){if(r.length)throw new ht(r.slice())}}}function K(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ot(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:r,"")}function jr(e,t,r,n,o={}){let l=[],a=[];function i(u,c,h){if(Array.isArray(u)){let[,p]=u;if(!Array.isArray(c)||!K(p))return;c.forEach((A,d)=>i(p,A,[...h,d]));return}if(!(!K(u)||!K(c)))for(let p of Object.keys(c))Object.prototype.hasOwnProperty.call(u,p)?i(u[p],c[p],[...h,p]):l.push(ot([...h,p]))}function s(u,c,h,p){if(h!==void 0){if(typeof c=="string"){if(c.endsWith("[]")||c==="."||c.startsWith("@"))return;let A=z(c),d=A===-1?c:c.slice(0,A);if(!d)return;e.find(u,d,o).length===0&&a.push({path:ot(p),selector:d});return}if(!Array.isArray(c)&&K(c)&&K(h))for(let[A,d]of Object.entries(c))s(u,d,h[A],[...p,A])}}return i(r,n,[]),s(t,r,n,[]),{unknownKeys:l,unmatched:a}}function lt(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return ke(e,n,r)}return null}var Ir=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Dr(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function it(e,t,r,n){if(n)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===r)break;o=o.parentElement}return!1}function at(e,t,r,n,o,l){return(l?Or(e,t):it(e,r,o,!1))||!!(n&&(l&&e!==o?e.matches(n):it(e,n,o,l)))}function Pr(e,t){let r=Se[t];return r.tokens.some(n=>Ot(e,n))||r.bundles.some(n=>ae(e,n))}var Br=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function kt(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let o=e,l=t;if(e.nodeType===1){if(Br.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);o=e.content,l=t.content,r.cloneToLive.set(l,o),r.liveToClone.set(o,l)}}else if(e.nodeType!==11)return;let a=l.firstChild;for(let i=o.firstChild;i&&a;i=i.nextSibling)kt(i,a,r,n),a=a.nextSibling}function re(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:o=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let l=e.nodeType===9?e:e.ownerDocument;if(!l?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let a=l.implementation.createHTMLDocument(""),i=o||new WeakMap,s=new WeakMap,u=e.nodeType===9?e.documentElement:e;r&&a.documentElement.matches(r);let c=we(t),h=n?d=>Pr(d,t)||!!(r&&d.matches(r)):d=>at(d,t,c,r,u,!1),p=null;if(u.nodeType!==1||!at(u,t,c,r,u,n)){p=a.importNode(u,!0);let d={cloneToLive:i,liveToClone:s,dropped:[],controls:[]};kt(u,p,d,h);for(let m of d.dropped)m.remove();for(let m=0;m<d.controls.length;m+=2)Dr(d.controls[m],d.controls[m+1])}e.nodeType===9&&p&&(a.replaceChild(p,a.documentElement),s.set(e,a),i.set(a,e));let A=d=>{if(Ir.test(d))throw new Error(`Filtered content queries do not support stateful selector: ${d}`)};return{root:p,document:a,capability:t,selector:we(t),cloneToLive:i,liveToClone:s,original(d){return i.get(d)||null},cloneOf(d){return s.get(d)||null},query(d,m=p){return A(d),Array.from(m.querySelectorAll(d),y=>i.get(y)||y)},text(d=p){return(d===p?p:s.get(d))?.textContent||""},html(d=p){return(d===p?p:s.get(d))?.innerHTML??""},clone(d=p){let m=d===p?p:s.get(d);return m?a.importNode(m,!0):null}}}function St(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function Hr(e){return e?(e.nodeType===9||e.nodeType,e):null}function st(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 Nt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function Lt(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 n=r.type;n!=="file"&&n!=="checkbox"&&n!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var S={semanticExclude:!0,find(e,t,r={}){let n=Hr(e);if(!n||!n.querySelectorAll)return[];let o=Array.from(n.querySelectorAll(t));r.includeRulesTag||(o=o.filter(i=>!St(i)));let l=[];r.skip&&l.push(r.skip);let a=r.templateAttr===null?null:r.templateAttr||"cms-template";if(a&&l.push("["+a+"]"),l.length){let i=l.join(", ");o=o.filter(s=>!s.closest||!s.closest(i))}return o},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,Nt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),st(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),st(e,t,null)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return Lt(t),t},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},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 n=r.content.firstElementChild;if(!n)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(n,e),n},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}};function H(e,t={}){if(t.exclude===null)return S;let r=[we("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,o=e.nodeType===9?e.documentElement:e;if(!t._write&&!o?.matches?.(r)&&!o?.querySelector?.(r)&&!n?.querySelector?.(r))return S;let l=e.nodeType===9||!e.isConnected?e:e.ownerDocument,a=e.nodeType===9?e:e.ownerDocument,i=null,s=()=>i||(i=re(l,{capability:"data",exclude:t.exclude||null})),u=d=>{let m=s();return d===e?m.cloneOf(e):m.cloneOf(d)||d},c=d=>i?.original(d)||d,h=(d,m)=>{s().liveToClone.set(d,m),s().cloneToLive.set(m,d);let y=d.childNodes||[],f=m.childNodes||[];for(let g=0;g<Math.min(y.length,f.length);g++)h(y[g],f[g])},p=(d,m,y,f)=>{let g=Array.from(d.childNodes).filter(x=>i.cloneOf(x)),v=g[0];for(;v&&g.includes(v);)v=v.nextSibling;for(let x of g)x.remove();if(y==="innerHTML"){let x=a.createElement("template");x.innerHTML=f;for(let C of Array.from(x.content.childNodes))d.insertBefore(C,v||null)}else d.insertBefore(a.createTextNode(f),v||null),Nt(d,f);let T=re(d,{capability:"data",exclude:t.exclude||null});m.replaceChildren(...Array.from(T.root?.childNodes||[]));let O=x=>{let C=T.original(x);C&&(i.liveToClone.set(C,x),i.cloneToLive.set(x,C));for(let W of Array.from(x.childNodes||[]))O(W)};for(let x of Array.from(m.childNodes))O(x)},A={...S,find(d,m,y={}){let f=u(d);if(!f?.querySelectorAll)return[];let g=s().query(m,f);y.includeRulesTag||(g=g.filter(O=>!St(O)));let v=[];y.skip&&v.push(y.skip);let T=y.templateAttr===null?null:y.templateAttr||"cms-template";if(T&&v.push(`[${T}]`),v.length){let O=v.join(", ");g=g.filter(x=>!x.closest?.(O))}return g},parent(d){let m=u(d)?.parentElement;return m?c(m):null},children(d){return Array.from(u(d)?.children||[],c)},text(d,m){if(m===void 0){let g=c(d);return!g?.matches?.(r)&&!g?.querySelector?.(r)?S.text(g):(u(d)?.textContent||"").trim()}let y=c(d);if(!y?.matches?.(r)&&!y?.querySelector?.(r)&&!i){S.text(y,m);return}let f=s().cloneOf(y);f?p(y,f,"textContent",m):S.text(y,m)},attr(d,m,y){let f=c(d);if(y===void 0)return S.attr(f,m);S.attr(f,m,y);let g=i?.cloneOf(f);g&&(S.attr(g,m,y),re(f,{capability:"data",exclude:t.exclude||null}).root===null&&(g.remove(),i.liveToClone.delete(f),i.cloneToLive.delete(g)))},removeAttr(d,m){let y=c(d);S.removeAttr(y,m);let f=i?.cloneOf(y);f&&S.removeAttr(f,m)},prop(d,m,y){let f=c(d);if(y===void 0)return m==="innerHTML"||m==="outerHTML"||m==="textContent"||m==="innerText"?S.prop(u(f),m):S.prop(f,m);let g=m==="innerHTML"||m==="textContent"||m==="innerText",v=g?s().cloneOf(f):i?.cloneOf(f);v&&g?p(f,v,m,y):(S.prop(f,m,y),v&&S.prop(v,m,y))},clone(d){let m=u(d);if(m===d)return S.clone(d);let y=a.importNode(m,!0);return Lt(y),y},insertAt(d,m,y){let f=c(d),g=A.children(f)[y]||(()=>{for(let O=f.children.length-1;O>=0;O--){let x=f.children[O];if(s().cloneOf(x))return x.nextElementSibling}return f.firstElementChild})(),v=c(m);f.insertBefore(v,g||null);let T=s().cloneOf(f);if(T){let O=s().cloneOf(v);O||(O=a.importNode(v,!0),h(v,O));let x=Array.from(T.children);T.insertBefore(O,x[y]||null)}},insertBefore(d,m){let y=c(d),f=c(m);y.parentNode.insertBefore(f,y);let g=s().cloneOf(y.parentNode);if(g){let v=s().cloneOf(f);v||(v=a.importNode(f,!0),h(f,v));let T=s().cloneOf(y);T?T.before(v):g.appendChild(v)}},insertAfter(d,m){let y=c(d),f=c(m);y.parentNode.insertBefore(f,y.nextSibling);let g=s().cloneOf(y.parentNode);if(g){let v=s().cloneOf(f);v||(v=a.importNode(f,!0),h(f,v));let T=s().cloneOf(y);T?T.after(v):g.appendChild(v)}},identity(d){return c(d)||null},remove(d){let m=c(d),y=s().cloneOf(m);S.remove(m),y&&S.remove(y)},replaceWith(d,m){let y=c(d),f=s().cloneOf(y),g=S.replaceWith(y,m);if(f){let v=re(g,{capability:"data",exclude:t.exclude||null});if(!v.root)f.remove();else{f.replaceWith(v.root);let T=O=>{let x=v.original(O);x&&(i.liveToClone.set(x,O),i.cloneToLive.set(O,x));for(let C of Array.from(O.childNodes||[]))T(C)};T(v.root)}}return g}};return A}var ne=S,ue={extract:(e,t,r={})=>oe(H(e,r),e,t,r),apply:(e,t,r,n={})=>le(H(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>ke(ne,e,t),findRules:(e,t)=>lt(ne,e,t),bind:(e,t,r={})=>{let n=lt(ne,e,t);if(!n){let o=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${o}`)}return{...n,get:()=>oe(H(e,r),e,n.rules,r),set:o=>le(H(e,{...r,_write:!0}),e,n.rules,o,r)}},parseStrict:wr,parseRelaxed:Tt,ruleAttrIndex:z,splitRule:Xt,errors:P,DOM_PROPERTIES:ut},be=e=>!!e&&typeof e.nodeType=="number";function Rt(e){let t=e&&e.ownerDocument?e.ownerDocument:e,r=ke(ne,t,"api");if(!r)throw new P.NoRulesTag("api");return r.rules}function Wr(e){if(e.nodeType===9)return e;let t=e.ownerDocument?.documentElement;if(t?.contains(e))return t;let r=e;for(;r.parentNode;)r=r.parentNode;return r}function Ur(e){if(e.nodeType!==11||!e.host)return e.cloneNode(!0);let t=e.ownerDocument.createDocumentFragment();for(let r of e.childNodes)t.appendChild(r.cloneNode(!0));return t}function qr(e,t){let r=[];for(;t!==e;){let n=t.parentNode;r.push(Array.prototype.indexOf.call(n.childNodes,t)),t=n}return r.reverse()}function _r(e,t){return t.reduce((r,n)=>r.childNodes[n],e)}function _(e,t){let r=e.querySelectorAll?Array.from(e.querySelectorAll(t)):[];return e.matches?.(t)&&r.unshift(e),r}function zr(e,t){let r=_(e,"option"),n=_(t,"option");r.forEach((s,u)=>n[u].selected=s.selected);let o=_(e,"input"),l=_(t,"input");o.forEach((s,u)=>{let c=s.type.toLowerCase();c!=="file"&&(l[u].value=s.value),(c==="checkbox"||c==="radio")&&(l[u].checked=s.checked)});let a=_(e,"textarea"),i=_(t,"textarea");a.forEach((s,u)=>i[u].value=s.value)}function Ae(e,t){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]"))return;let r=e.startsWith("@")?0:z(e);if(r===-1)return;let n=e.slice(r+1);if(ct.has(n))throw new P.RuleTargetReadOnly(n);return}if(Array.isArray(e)){if(!Array.isArray(t))return;t.forEach(r=>Ae(e[1],r));return}if(e&&typeof e=="object"&&t&&typeof t=="object"&&!Array.isArray(t))for(let[r,n]of Object.entries(e))Ae(n,t[r])}}function Fr(e,t,r){let n={templateAttr:"cms-template"},o=Wr(e),l=qr(o,e),a=Ur(o);zr(o,a);let i=_r(a,l),s=H(a,{...n,_write:!0}),u=jr(s,i,t,r,n);if(u.unknownKeys.length||u.unmatched.length)throw new P.WriteRejected(u.unknownKeys,u.unmatched);let c=nt(s);le(c,i,t,r,n),c.assertClean(),Ae(t,r);let h=nt(H(o,{...n,_write:!0}));le(h,e,t,r,n),h.assertClean()}function Vr(e){if(!(e instanceof Error))return e;let t=e.name||"Error";try{e.code=t}catch{Object.defineProperty(e,"code",{value:t,configurable:!0,enumerable:!0})}return e instanceof P.WriteRefused?e.details=e.refusals:e instanceof P.WriteRejected?e.details={unknownKeys:e.unknownKeys,unmatched:e.unmatched}:e instanceof P.ShapeMismatch?e.details=e.mismatches:Array.isArray(e.path)?e.details={path:e.path}:typeof e.target=="string"?e.details={target:e.target}:e.token!==void 0?e.details={token:e.token}:e.version!==void 0?e.details={version:e.version}:e.details={},e}function X(e,t){let r=be(e)?e:document,n=be(e)?t:e;return n===void 0?oe(H(r),r,Rt(r)):ue.bind(r,n).get()}function Y(e,t,r){try{if(!be(e))throw new Error("hyper-html-api: applyData(root, data, source?) needs a DOM root as the first argument.");let n=r===void 0?Rt(e):ue.bind(e,r).rules;Fr(e,n,t)}catch(n){throw Vr(n)}return e}var Jr="clay:visitor-drafts:",Ct=1;function Ce(){try{return window.localStorage}catch{return null}}var I=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function Kr(e){let t=[];for(let r of e.matchAll(/([^.[\]]+)|\[(\d+)\]/g))t.push(r[2]!==void 0?Number(r[2]):r[1]);return t}function Zr(e,t){let r=Kr(t),n=e;for(let o=0;o<r.length-1;o++)if(n=n?.[r[o]],n==null||typeof n!="object")return;n&&typeof n=="object"&&delete n[r[r.length-1]]}function B(e,t){return Array.isArray(e)?Array.isArray(t)&&t.length===e.length&&e.every((r,n)=>B(r,t[n])):I(e)?I(t)&&Object.keys(e).every(r=>B(e[r],t[r])):e===t}function ce(e,t){return B(e,t)&&B(t,e)}var $t=e=>Array.isArray(e)&&e.every(t=>I(t)&&(typeof t.id=="string"||typeof t.id=="number"))&&new Set(e.map(t=>t.id)).size===e.length;function de(e,t,r=!1){if(I(e)&&I(t)){let n={...e};for(let o of Object.keys(t))o in e?n[o]=de(e[o],t[o]):r||(n[o]=t[o]);return n}if($t(e)&&$t(t)){let n=new Map(t.map(o=>[o.id,o]));return e.map(o=>n.has(o.id)?de(o,n.get(o.id)):o)}return e}function Mt(e,t,r){if(ce(t,r)||ce(r,e))return{value:t,conflict:!1};if(ce(t,e))return{value:r,conflict:!1};if(I(t)&&I(r)){let n={},o=!1;for(let l of new Set([...Object.keys(t),...Object.keys(r)])){let a=Mt(I(e)?e[l]:void 0,t[l],r[l]);o||=a.conflict,a.value!==void 0&&(n[l]=a.value)}return{value:n,conflict:o}}return{value:t,conflict:!0}}function Re(e,t){F(!0),e.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:t}}));let r=new Error("Couldn't save in this browser. Storage is full or turned off.");return r.code="draft-storage",r}function jt({doc:e=document,storage:t=Ce(),now:r=()=>new Date}={}){let n=te(e),o=Jr+n,l=ue.findRulesIn(e,"api").rules,a=null,i=null,s=null,u=!1;function c(){try{return t?t.getItem(o):null}catch{return null}}function h(b){try{let w=JSON.parse(b);if(I(w)&&w.v===Ct&&I(w.data))return w}catch{}return null}function p(){let b=c();return b==null?null:{raw:b,record:h(b)}}function A(){return X(e,l)}function d(){let b=window.clay?.getHTML;return typeof b!="function"?A():X(new DOMParser().parseFromString(b.call(window.clay),"text/html"),l)}function m(){try{if(typeof t.keys=="function")return t.keys();let b=[];for(let w=0;w<t.length;w++)b.push(t.key(w));return b}catch{return[]}}function y(){try{return JSON.stringify(d())}catch{return null}}function f(b,{keepSlot:w=!1}={}){let k=m().find(j=>j.startsWith(o+":unreadable:")&&t.getItem(j)===b);if(k){if(s=null,!w)try{t.removeItem(o)}catch{}return k}let N=o+":unreadable:"+r().toISOString();try{t.setItem(N,b)}catch{return s=b,console.warn("visitor-drafts: this browser's saved copy no longer fits the page, and there is no room to keep it aside; nothing will be saved over it"),null}if(s=null,!w)try{t.removeItem(o)}catch{}return console.warn(w?"visitor-drafts: part of this browser's saved copy no longer fits the page; the original was kept under":"visitor-drafts: this browser's saved copy no longer fits the page; it was kept under",N),N}function g(b){let w=de(JSON.parse(JSON.stringify(b)),A(),!0),k=[];for(let N=0;N<4;N++){let j=e.cloneNode(!0);try{Y(j,w,l)}catch(R){let pe=R?.details?.unknownKeys??R?.unknownKeys;if(Array.isArray(pe)&&pe.length){for(let q of pe)Zr(w,q);continue}let he=Object.keys(w).filter(q=>{try{return Y(e.cloneNode(!0),{[q]:w[q]},l),!1}catch{return!0}});if(!he.length)return null;for(let q of he)delete w[q];k.push(...he);continue}let ee=X(j,l),U=Object.keys(w).filter(R=>!B(w[R],ee[R]));if(!U.length)return{data:w,dropped:k};for(let R of U)delete w[R];k.push(...U)}return null}function v(b){let w=f(b);return w||(a=b),i=A(),w?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}function T(){let b=p();if(!b)return i=A(),{restored:!1,hadDraft:!1};if(!b.record)return v(b.raw);let w=g(b.record.data);if(!w||!Object.keys(w.data).length)return v(b.raw);if(Y(e,w.data,l),a=b.raw,i=A(),w.dropped.length){let k=f(b.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w.data,partial:!0,parked:!!k,blocked:!k}}return{restored:!0,hadDraft:!0,data:w.data}}function O(){if(u)return!1;try{return!B(d(),i)}catch{return!0}}function x(b){let w=o+":conflict";try{t.setItem(w,b)}catch(k){throw Re(e,k)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",w)}function C(b){let w=c(),k=w==null?null:h(w);if(!k)return{data:b,stored:null};let N=b;if(w!==a){let j=Mt(i,b,k.data);j.conflict&&x(w),N=j.value}return N=de(N,k.data),{data:N,stored:ce(N,k.data)?w:null}}function W(b){let w=g(b);if(!w||!Object.keys(w.data).length)return null;Y(e,w.data,l);try{window.Sap?.refresh?.()}catch{}return e.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),w.data}function Q(b){if(u)return null;if(s!=null&&f(s,{keepSlot:!0})===null)throw Re(e,new Error("an earlier saved copy could not be kept aside"));let w=X(new DOMParser().parseFromString(b,"text/html"),l),k=c();if(B(w,i)&&(k===a||k==null))return F(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:w,unchanged:!0}})),w;let{data:N,stored:j}=C(w),ee=j??JSON.stringify({v:Ct,savedAt:r().toISOString(),data:N});if(!j)try{if(!t)throw new Error("no storage");t.setItem(o,ee)}catch(R){throw Re(e,R)}let U=Object.keys(w).filter(R=>!B(w[R],N[R]));return U.length&&W(Object.fromEntries(U.map(R=>[R,N[R]]))),a=ee,i=N,F(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:N}})),N}function E(){try{return Q(window.clay.getHTML()),!0}catch{return!1}}function L(){return u||!O()?!0:E()}function $(){if(u)return!1;let b=c();if(b==null||b===a||O())return!1;let w=h(b),k=w&&W(w.data);return k?(a=b,i={...i,...k},!0):!1}function D(){u=!0,s=null,F(!1);try{t.removeItem(o)}catch{}}return{slot:n,key:o,rules:l,read:p,restore:T,write:Q,writeLive:E,flush:L,changed:O,adoptExternal:$,park:f,clear:D,snapshot:y}}function It(e,t){let r=`clay:visitor-drafts:${e}:ui`,n=()=>({v:1,prompt:{},intro:{done:null},src:null}),o=n();try{let l=JSON.parse(t?.getItem(r)||"null");l&&typeof l=="object"&&l.v===1&&(o={...n(),...l})}catch{}return{get:()=>o,save(){try{t?.setItem(r,JSON.stringify(o))}catch{}},reset(){o=n();try{t?.removeItem(r)}catch{}}}}var Xr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Dt(e,t=window.location.search){let r=e.get(),n=null;try{n=new URLSearchParams(t).get("src")}catch{}return!r.src&&n&&Xr.test(n)&&(r.src=n,e.save()),r.src}function Pt(e,t=window.location){let r=t.pathname.replace(/\/+$/,"");return r&&!/\.(html|htmlclay)$/.test(r)&&(r+=".html"),`/_/download${r}?as=htmlclay${e?`&src=${encodeURIComponent(e)}`:""}`}var Yr="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=IBM+Plex+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,500&display=swap",Gr=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
2
- <section class="hcp-card" id="hcp-card" role="dialog" aria-modal="false" aria-labelledby="hcp-title">
3
- <button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square" aria-hidden="true"><path d="M5 12h14"/></svg></button>
4
- <div class="hcp-kicker">Free download</div>
5
- <h2 class="hcp-title" id="hcp-title"><span data-hcp-for="use">Your work is saved in this browser only.</span><span data-hcp-for="open">This app is free to keep.</span><span data-hcp-for="return">Your work is saved in this browser only.</span><span data-hcp-for="error">Your work isn't being saved in this browser.</span></h2>
6
- <p class="hcp-body"><span data-hcp-for="open">Download it as one file and use it on your computer, no account needed.</span><span data-hcp-for="use">Download the file to keep it on your computer for good.</span><span data-hcp-for="return">Download the file to keep it on your computer for good.</span><span data-hcp-for="error">Storage is full or turned off here. Download the file to keep what you've done.</span></p>
7
- <div class="hcp-file">
8
- <svg width="20" height="20" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>
9
- <div><b class="hcp-name" data-hcp-name>This app</b><small>One file with the whole app and your work in it</small></div>
10
- </div>
11
- <div class="hcp-actions">
12
- <a class="hcp-btn hcp-btn--primary" data-hcp-link href="/_/download?as=htmlclay"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>Download free</span></a>
13
- </div>
14
- <div class="hcp-foot"><button type="button" class="hcp-quiet" data-hcp="dismiss">Don&rsquo;t show again</button></div>
15
- </section>
16
- <div class="hcp-dock">
17
- <button type="button" class="hcp-btn hcp-tab" data-hcp="open" aria-controls="hcp-card" aria-expanded="false" aria-label="This app is free to keep"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg><span class="hcp-tab__label">This app is free to keep</span><span class="hcp-tab__mini">Keep</span></span></button>
18
- <button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize download notice"><svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor" aria-hidden="true"><path d="M1.4 0 6 4.6 10.6 0 12 1.4 7.4 6 12 10.6 10.6 12 6 7.4 1.4 12 0 10.6 4.6 6 0 1.4z"/></svg></button>
19
- </div>
20
- </aside>`;async function Bt({memory:e,appName:t,link:r}){if(!document.getElementById("hcp-style")){let{PROMPT_CSS:E}=await import("../c-SGIA4IEQ.js");document.head.insertAdjacentHTML("beforeend",`<link rel="stylesheet" clay="editor-ui" href="${Yr}">
21
- <style clay="editor-ui" id="hcp-style">${E}</style>`)}document.getElementById("hcp")||document.body.insertAdjacentHTML("beforeend",Gr);let n=document.getElementById("hcp"),o=e.get();(!o.prompt||typeof o.prompt!="object")&&(o.prompt={});let l=o.prompt,a=3,i=2500,s=/^(INPUT|TEXTAREA|SELECT)$/,u="#hcp, .clay-intro, .clay-owner",c=n.querySelector("[data-hcp-link]");c.href=r,t&&(n.querySelector("[data-hcp-name]").textContent=t);let h=n.querySelector("[data-hcp=open]");function p(E,L){n.hidden=!1,n.setAttribute("data-hcp-state",E),L&&n.setAttribute("data-hcp-reason",L),h.setAttribute("aria-expanded",E==="card"?"true":"false"),(E==="card"||E==="mini")&&(l.shown=!0,e.save(),n.setAttribute("data-hcp-arrived","")),O()}function A(E){return E&&!n.contains(E)&&!E.closest(u)&&(s.test(E.tagName)||E.isContentEditable)}let d=null;function m(E){clearTimeout(d),d=setTimeout(()=>{if(l.shown||l.dismissed||n.getAttribute("data-hcp-state")!=="tab")return;let L=document.activeElement;if(A(L)){let $=L.getBoundingClientRect(),D=Math.min(360,innerWidth-32);if(innerWidth<700||$.right>innerWidth-D-32&&$.bottom>innerHeight-380)return}p("card",E)},i)}let y=[];function f(E){n.contains(E.target)||!A(E.target)||(y.indexOf(E.target)<0&&y.push(E.target),l.uses=Math.max(l.uses||0,y.length),l.shown||e.save(),y.length>=a&&m("use"))}function g(E){A(E.target)&&(n.getAttribute("data-hcp-state")==="card"&&p(l.shown?"mini":"tab"),innerWidth<700&&n.setAttribute("data-hcp-typing",""))}function v(){setTimeout(()=>{A(document.activeElement)||n.removeAttribute("data-hcp-typing")},50)}let T=0;function O(){T||(T=requestAnimationFrame(()=>{T=0;let L=Ue(innerWidth-24,$=>n.contains($)||$.closest("[data-hcp-preview], .clay-owner"))+"px";n.style.getPropertyValue("--hcp-lift")!==L&&n.style.setProperty("--hcp-lift",L),We()}))}function x(){let E=window.clay&&window.clay.getHTML;if(typeof E!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let L=location.pathname.split("/").filter(Boolean).pop()||"index.html",$=URL.createObjectURL(new Blob([E()],{type:"text/html"})),D=document.createElement("a");return D.href=$,D.download=L.replace(/\.html$/,".htmlclay"),document.body.appendChild(D),D.click(),D.remove(),setTimeout(()=>URL.revokeObjectURL?.($),1e3),!0}n.addEventListener("click",E=>{let L=E.target.closest("[data-hcp]");if(L){let $=L.getAttribute("data-hcp");$==="open"?(p("card","open"),c.focus()):$==="minimize"?(p("mini"),h.focus()):$==="dismiss"&&(n.getAttribute("data-hcp-reason")==="error"?(p("mini"),h.focus()):(l.dismissed=!0,p("mini"),h.focus()));return}E.target.closest("[data-hcp-link]")&&(n.getAttribute("data-hcp-reason")==="error"&&(E.preventDefault(),x()),l.downloaded=!0,l.shown=!0,e.save())}),n.addEventListener("animationend",E=>{(E.animationName==="hcp-arrive"||E.animationName==="hcp-arrive-fade")&&n.setAttribute("data-hcp-arrived","")}),n.addEventListener("keydown",E=>{E.key==="Escape"&&n.getAttribute("data-hcp-state")==="card"&&(p("mini"),h.focus())});function C(){p("card","error")}function W(){n.getAttribute("data-hcp-reason")==="error"&&n.setAttribute("data-hcp-reason","use")}let Q={set:p,root:n,showError:C,clearError:W};return document.addEventListener("input",f,!0),document.addEventListener("change",f,!0),document.addEventListener("focusin",g),document.addEventListener("focusout",v),addEventListener("scroll",O,{passive:!0}),addEventListener("resize",O),document.addEventListener("transitionend",O,!0),p(l.shown||l.dismissed?"mini":"tab"),!l.shown&&(l.uses||0)>=a&&m("return"),Q}var M=null,G=null,Me=qe,je=null,Ht=Promise.resolve();function Wt(){return import("../c-HRDCD3WN.js").then(e=>e.mountOwnerChip()).catch(e=>(console.warn("visitor-drafts: the owner chip did not load",e),null))}function Qr(e){return e.template?import("../c-Z6K52OLP.js").then(t=>t.mountIntro(e)).catch(t=>(console.warn("visitor-drafts: the intro did not load",t),null)):Promise.resolve(null)}var fe=te(),$e=document.querySelector('script[data-rules-name~="api"]');if(Be&&fe&&$e){M=jt(),De(a=>M.write(a));let e=M.restore();G={restored:e.restored,hadDraft:e.hadDraft,parked:!!e.parked,...e.partial&&{partial:!0},...e.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:G}));let t=It(fe,Ce());je=Dt(t),Me=Pt(je);let r=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",n=document.querySelector("template[visitor-intro]"),o=()=>{Ht=Bt({memory:t,appName:r,link:Me}).then(a=>Qr({memory:t,template:n,appName:r,hadDraft:e.hadDraft}).then(()=>a)).then(a=>(document.addEventListener("clay:drafts-store-failed",()=>a.showError()),document.addEventListener("clay:drafts-saved",()=>a.clearError()),(me?Wt():Promise.resolve(null)).then(()=>a)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o,{once:!0}):o(),Pe(()=>M.flush()),window.addEventListener("storage",a=>{a.key===M.key&&M.adoptExternal()});let l=()=>M.flush();document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&l()}),window.addEventListener("pagehide",l)}else if(!fe||!$e){let e=[];fe||e.push('a visitor-drafts="<slot>" attribute on <html>'),$e||e.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${e.join(" and ")})`)}else me&&He&&!Ie()&&(Ht=Wt());var Sn=M?{active:!0,slot:M.slot,key:M.key,hasDraft:()=>!!M.read(),restored:()=>G,saveNow:()=>M.writeLive(),reset(){return M.clear(),window.location.reload(),!0},onRestore(e){return G?(e(G),!0):(document.addEventListener("clay:drafts-restored",t=>e(t.detail),{once:!0}),!1)},editOriginal:_e,backToDraft:ze,downloadUrl:()=>Me,source:je}:Fe();export{Ht as ready,Sn as visitorDrafts};
@@ -1 +0,0 @@
1
- import{d as m}from"../c-MTQHWQC3.js";import{c as a,i as u,k as f}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as l}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=l(),i=document.querySelector('script[data-rules-name~="api"]'),e=null,n=null,s=0,c=()=>f&&u&&!a()&&!!o&&!!i;function p(){if(e)return Promise.resolve(e);if(!n){let t=s;n=import("../c-HRDCD3WN.js").then(({mountOwnerChip:d})=>{let r=d()||document.getElementById("clay-owner");return t===s?(e=r,r):(r?.liftOff?.(),r?.remove(),null)}).finally(()=>{n=null})}return n}function h(){s+=1,e?.liftOff?.(),e?.remove(),e=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var v=c()?p():Promise.resolve(null),O=v;function P(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&p()},quiesce(){},resume(){},dispose(){h()}}}}}var k=m();export{P as draftsOwnerParticipant,P as modeParticipant,O as ready,k as visitorDrafts};
@@ -1 +0,0 @@
1
- import{a,b,c}from"../c-4B6H4G5V.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-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
@@ -1 +0,0 @@
1
- import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-KR4UW4KW.js";import{e as b}from"../c-Z36J63PP.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-7VGZ7RU5.js";import"../c-WYFDLITL.js";import"../c-HT33EQRN.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{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};