@panphora/clayjs 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) 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 +72474 -62090
  11. package/dist/m/attrs/{save-freeze-MYNVXREN.js → save-freeze-LWGF6XUN.js} +1 -1
  12. package/dist/m/c-2GRUM77Q.js +30 -0
  13. package/dist/m/c-2KIEGNC4.js +1 -0
  14. package/dist/m/{c-AMSNPOCX.js → c-2KL3BD52.js} +1 -1
  15. package/dist/m/c-2ZZBC45O.js +1 -0
  16. package/dist/m/c-372N6H3B.js +1 -0
  17. package/dist/m/{c-4WKFKEKF.js → c-3G2DGZUP.js} +1 -1
  18. package/dist/m/c-3LDGIBMN.js +1 -0
  19. package/dist/m/c-3O7OBDCM.js +1 -0
  20. package/dist/m/c-4ASQPRQL.js +1 -0
  21. package/dist/m/c-4TXNLX4K.js +6 -0
  22. package/dist/m/c-4YU3BR4D.js +6 -0
  23. package/dist/m/c-5734MF2P.js +1 -0
  24. package/dist/m/c-57XDY6HC.js +1 -0
  25. package/dist/m/{c-KAU6E43D.js → c-5B4YBZXC.js} +1 -1
  26. package/dist/m/c-5ONTYIUI.js +1 -0
  27. package/dist/m/c-5OOVFCJM.js +1 -0
  28. package/dist/m/{c-3XIRD4NU.js → c-5T6NZHNM.js} +1 -1
  29. package/dist/m/{c-74MGYWZF.js → c-5ZQV7KC4.js} +1 -1
  30. package/dist/m/{c-7OLLJPWP.js → c-6DB2OLRJ.js} +1 -1
  31. package/dist/m/c-6DNRCPNM.js +1 -0
  32. package/dist/m/c-6UGWFMQC.js +2 -0
  33. package/dist/m/c-7K4SCQB7.js +1 -0
  34. package/dist/m/c-7MG5RU63.js +1 -0
  35. package/dist/m/c-7PRJCA3E.js +1 -0
  36. package/dist/m/c-A6L3FMUS.js +1 -0
  37. package/dist/m/c-AMU3BPPR.js +4 -0
  38. package/dist/m/{c-Y5HBBIQ4.js → c-AMYEFA2E.js} +1 -1
  39. package/dist/m/c-AQYCG7QW.js +1 -0
  40. package/dist/m/c-ATKAOH23.js +1 -0
  41. package/dist/m/c-B5CS55WR.js +1 -0
  42. package/dist/m/c-B5UJQT7W.js +1 -0
  43. package/dist/m/c-B7J4K2AE.js +3 -0
  44. package/dist/m/c-BHZYSHW4.js +1 -0
  45. package/dist/m/{c-VHM5XQHK.js → c-BIJALSRD.js} +1 -1
  46. package/dist/m/c-BJ7YQ5QZ.js +1 -0
  47. package/dist/m/{c-KIPQJX4B.js → c-BRLCTNMC.js} +1 -1
  48. package/dist/m/{c-VE6ZMYMC.js → c-BUAYFEV5.js} +1 -1
  49. package/dist/m/c-C6IPRG34.js +1 -0
  50. package/dist/m/{c-KU3ZFADW.js → c-CAS3NND4.js} +1 -1
  51. package/dist/m/{c-PS5ARVWR.js → c-CCQ25GFY.js} +1 -1
  52. package/dist/m/c-CJFDLD43.js +1 -0
  53. package/dist/m/c-COPTL5WB.js +1 -0
  54. package/dist/m/c-D3E4WJ4M.js +166 -0
  55. package/dist/m/c-D5IKEKXW.js +7 -0
  56. package/dist/m/c-DHBRA6DL.js +1 -0
  57. package/dist/m/c-DKLS74XB.js +72 -0
  58. package/dist/m/c-DVYGFTSK.js +3 -0
  59. package/dist/m/c-E3ZXARWA.js +1 -0
  60. package/dist/m/c-EK63G3CG.js +1 -0
  61. package/dist/m/c-ERQSNR6K.js +13 -0
  62. package/dist/m/c-EVYAISP3.js +1 -0
  63. package/dist/m/c-EXKHPOVC.js +3 -0
  64. package/dist/m/{c-QJ4OM3G6.js → c-FWKHM4E7.js} +1 -1
  65. package/dist/m/{c-4Q2XTQ2N.js → c-GBKB5WDL.js} +1 -1
  66. package/dist/m/c-GNDL3TKB.js +1 -0
  67. package/dist/m/c-GRWMD6O5.js +1 -0
  68. package/dist/m/c-GRXHHFPO.js +1 -0
  69. package/dist/m/c-HG2C77BM.js +4 -0
  70. package/dist/m/c-HHGJBU4D.js +1 -0
  71. package/dist/m/c-HMV6P4RX.js +1 -0
  72. package/dist/m/c-HMYWIHFG.js +1 -0
  73. package/dist/m/c-HT2DKBV2.js +1 -0
  74. package/dist/m/c-I2SCCUEW.js +1 -0
  75. package/dist/m/{c-TJ6WOJL3.js → c-ICJYHABF.js} +2 -2
  76. package/dist/m/c-IMZCWYHR.js +7 -0
  77. package/dist/m/c-IVMD3FEM.js +1 -0
  78. package/dist/m/{c-WDC5GVKU.js → c-IVTRVENZ.js} +1 -1
  79. package/dist/m/c-JKZJIUIP.js +1 -0
  80. package/dist/m/{c-UDUUJPFZ.js → c-JNLX3RJB.js} +1 -1
  81. package/dist/m/c-K3ADYNLU.js +1 -0
  82. package/dist/m/c-KGHVFRR3.js +1 -0
  83. package/dist/m/{c-5QWQ7A5L.js → c-KJJPV77R.js} +1 -1
  84. package/dist/m/{c-CZUSOB7V.js → c-KNPDOMDY.js} +1 -1
  85. package/dist/m/{c-EZU56NQV.js → c-KP64LT2A.js} +2 -2
  86. package/dist/m/c-KQ7E3PYY.js +1 -0
  87. package/dist/m/c-L3F5ZLIV.js +1 -0
  88. package/dist/m/{c-3RUU4TPX.js → c-L42OLXWM.js} +3 -2
  89. package/dist/m/c-L5VFATT6.js +1 -0
  90. package/dist/m/c-L7JL5TL3.js +3 -0
  91. package/dist/m/c-LKSL4AUJ.js +1 -0
  92. package/dist/m/c-M6FNQCTQ.js +1 -0
  93. package/dist/m/c-MCOOHCSG.js +1 -0
  94. package/dist/m/c-MHI3GYKF.js +1 -0
  95. package/dist/m/c-MWXFLW4J.js +1 -0
  96. package/dist/m/{c-5RJFTLSF.js → c-NEL7HQW3.js} +1 -1
  97. package/dist/m/{c-DCXOXBF3.js → c-NQJRVJ56.js} +1 -1
  98. package/dist/m/c-NWX3MFT4.js +1 -0
  99. package/dist/m/{c-HPURYVZS.js → c-OJYM642Q.js} +1 -1
  100. package/dist/m/c-OKXI52N7.js +1 -0
  101. package/dist/m/{c-R3L7ZJGB.js → c-OPLUZR3A.js} +1 -1
  102. package/dist/m/{c-GSFIGKOP.js → c-OTMKN2OO.js} +1 -1
  103. package/dist/m/{c-6NC5I2TV.js → c-OYRZ7XG2.js} +1 -1
  104. package/dist/m/{c-EVCQ3BKA.js → c-P3OFYUMA.js} +1 -1
  105. package/dist/m/c-PLN76GF3.js +6 -0
  106. package/dist/m/c-PLP4JKFC.js +1 -0
  107. package/dist/m/c-Q26MME6N.js +1 -0
  108. package/dist/m/{c-S7H2DRCB.js → c-Q3XOWZEV.js} +1 -1
  109. package/dist/m/{c-FRLHSY7E.js → c-QIKT6SKM.js} +1 -1
  110. package/dist/m/c-QIXT3Q7C.js +28 -0
  111. package/dist/m/c-QO4HNGCQ.js +1 -0
  112. package/dist/m/{c-JU3NK25H.js → c-R27DWQKX.js} +1 -1
  113. package/dist/m/{c-RSMOODDU.js → c-R2XUODVY.js} +1 -1
  114. package/dist/m/{c-QNKREOL6.js → c-R7LBFMF5.js} +1 -1
  115. package/dist/m/c-RND3G2S2.js +1 -0
  116. package/dist/m/{c-Q622NS2Y.js → c-S2U6NJU4.js} +1 -1
  117. package/dist/m/c-SPZPGD3R.js +1 -0
  118. package/dist/m/c-SW4YEG2D.js +8 -0
  119. package/dist/m/c-T637T7SN.js +1 -0
  120. package/dist/m/c-TJAXGIRV.js +1 -0
  121. package/dist/m/{c-RYUXUUBX.js → c-TNEM3RNM.js} +1 -1
  122. package/dist/m/c-TTB5EK4S.js +32 -0
  123. package/dist/m/c-U7SHNWDH.js +1 -0
  124. package/dist/m/c-UDHIVLYH.js +20 -0
  125. package/dist/m/{c-BBVGTQG7.js → c-UGNV5MFB.js} +1 -1
  126. package/dist/m/{c-QICP2YR5.js → c-UORXLSD3.js} +1 -1
  127. package/dist/m/c-UPD33ZPE.js +1 -0
  128. package/dist/m/c-URSMSFCB.js +1 -0
  129. package/dist/m/c-UY4QX42B.js +1 -0
  130. package/dist/m/c-V44KWI2L.js +4 -0
  131. package/dist/m/c-VILENZTD.js +1 -0
  132. package/dist/m/{c-HDDEEL77.js → c-VJYEVRYK.js} +1 -1
  133. package/dist/m/{c-SMBZG5X4.js → c-VR2BJ4AN.js} +1 -1
  134. package/dist/m/c-W4JCVLAB.js +1 -0
  135. package/dist/m/c-W6DQSHXI.js +135 -0
  136. package/dist/m/c-WBGWGOM7.js +1 -0
  137. package/dist/m/{c-4L3BTFRK.js → c-WCXLG3MV.js} +1 -1
  138. package/dist/m/c-WGW764WX.js +1 -0
  139. package/dist/m/c-WMRJKQ2V.js +5 -0
  140. package/dist/m/c-WNTYKCDG.js +1 -0
  141. package/dist/m/c-WQWIRWO3.js +72 -0
  142. package/dist/m/c-X5LNHET5.js +1 -0
  143. package/dist/m/{c-I2ZATQCD.js → c-X5TSXZYJ.js} +2 -2
  144. package/dist/m/c-XGH4GS2T.js +1 -0
  145. package/dist/m/c-Y6F2FORL.js +1 -0
  146. package/dist/m/c-YBKHUAK7.js +10 -0
  147. package/dist/m/c-YBSS55KU.js +20 -0
  148. package/dist/m/c-YCLU4UNT.js +2 -0
  149. package/dist/m/c-YVZ2L7CE.js +1 -0
  150. package/dist/m/c-ZK4GIZH2.js +1 -0
  151. package/dist/m/c-ZRXJD4G6.js +1 -0
  152. package/dist/m/c-ZWBI4HYK.js +1 -0
  153. package/dist/m/core/{admin-attrs-QHOKPJ7W.js → admin-attrs-YY7T5FGU.js} +1 -1
  154. package/dist/m/core/autosave-S6OMNDCK.js +1 -0
  155. package/dist/m/core/conflict-notice-IWHMHH43.js +1 -0
  156. package/dist/m/core/{host-permission-FNXVEFNE.js → host-permission-6EVJGNPL.js} +1 -1
  157. package/dist/m/core/is-edit-mode-GCX6767E.js +1 -0
  158. package/dist/m/core/{persist-JFYRHMRJ.js → persist-UKXV5KLA.js} +1 -1
  159. package/dist/m/core/recovery-DRFZRJED.js +1 -0
  160. package/dist/m/core/save-LYY7K6U7.js +1 -0
  161. package/dist/m/core/save-core-MKRPSEEO.js +1 -0
  162. package/dist/m/core/snapshot-NU3YM6GR.js +1 -0
  163. package/dist/m/core/unsaved-warning-7QTKEN7Z.js +1 -0
  164. package/dist/m/internals/{index-PVXGPUDA.js → index-TGLQINN3.js} +1 -1
  165. package/dist/m/loader-3BBNZZGM.js +1 -0
  166. package/dist/m/manifest-F449FF98.js +1 -0
  167. package/dist/m/manifest-edit-4396A009.js +1 -0
  168. package/dist/m/manifest.json +2111 -1573
  169. package/dist/m/page/{editor-NNJA4OKD.js → editor-6LRB3GE4.js} +123 -21
  170. package/dist/m/plugins/ai-edit-UTV7YO2I.js +6 -0
  171. package/dist/m/plugins/{cms-HP3LSTPN.js → cms-LRAOZHT7.js} +9 -9
  172. package/dist/m/plugins/{demo-RM5IR6AO.js → demo-OYO5GCAO.js} +1 -1
  173. package/dist/m/plugins/{derive-UAAA4V4S.js → derive-FRE5JJQE.js} +1 -1
  174. package/dist/m/plugins/indicator-4VDXWYTD.js +1 -0
  175. package/dist/m/plugins/live-AD4H6XSL.js +1 -0
  176. package/dist/m/plugins/menu-M5WW7DBF.js +1 -0
  177. package/dist/m/plugins/page-MD3T2ZX3.js +2 -0
  178. package/dist/m/plugins/page-view-PAWVZNFY.js +1 -0
  179. package/dist/m/plugins/{people-SGPJKANK.js → people-JCHVPF7P.js} +1 -1
  180. package/dist/m/plugins/quickcrop-BQ5YYFCH.js +26 -0
  181. package/dist/m/plugins/{richclay-NRQDSWX6.js → richclay-KLGETK77.js} +2 -2
  182. package/dist/m/plugins/sortable-4S6SQC3D.js +1 -0
  183. package/dist/m/plugins/source-TJXOIOYY.js +1 -0
  184. package/dist/m/plugins/undo-NLPGCJQY.js +1 -0
  185. package/dist/m/plugins/{unsent-HJFLQJ2O.js → unsent-OA4RGBUT.js} +1 -1
  186. package/dist/m/plugins/upgrade-HSUNDNJD.js +1 -0
  187. package/dist/m/plugins/{upload-WLYKK6TL.js → upload-NHGJXZK2.js} +1 -1
  188. package/dist/m/plugins/visitor-drafts-BW43DGY3.js +20 -0
  189. package/dist/m/plugins/visitor-drafts-owner-7ODQG7JX.js +1 -0
  190. package/dist/m/plugins/{wire-4N6GYAF6.js → wire-VBWXEXU2.js} +1 -1
  191. package/dist/m/reader-core-4W2KYEWQ.js +77 -0
  192. package/dist/m/route/route-62CHXL5B.js +1 -0
  193. package/dist/m/sync/live-sync-MO5DH33W.js +1 -0
  194. package/dist/m/ui/index-IVWN2QC4.js +1 -0
  195. package/dist/m/vendor/sap-core.vendor-RN4ZVY4X.js +6 -0
  196. package/dist/offline-manifest.json +1367 -930
  197. package/dist/page/themes/light-1.css +8 -7
  198. package/dist/server/core.cjs +1440 -288
  199. package/dist/server/offline-runtime.cjs +63 -63
  200. package/dist/server/offline-runtime.mjs +63 -63
  201. package/dist/server/page-compaction-worker.cjs +3710 -0
  202. package/dist/server/rooms.mjs +5 -0
  203. package/docs/guide.md +653 -101
  204. package/entries/sap.js +5 -5
  205. package/package.json +1 -1
  206. package/src/core/admin-contenteditable.js +5 -2
  207. package/src/core/admin-inputs.js +1 -0
  208. package/src/core/admin-onclick.js +2 -1
  209. package/src/core/conflict-notice-ui.js +4 -7
  210. package/src/core/download.js +2 -2
  211. package/src/core/host-meta.js +38 -0
  212. package/src/core/is-edit-mode.js +17 -1
  213. package/src/core/mode-key.js +125 -19
  214. package/src/core/mode-support.js +5 -0
  215. package/src/core/mode-transition.js +20 -6
  216. package/src/core/preserve-authored.js +4 -4
  217. package/src/core/recovery.js +121 -33
  218. package/src/core/save-accepted.js +33 -0
  219. package/src/core/save-core.js +106 -31
  220. package/src/core/save-job.js +108 -0
  221. package/src/core/save-prepare.js +53 -0
  222. package/src/core/save-size-notice.js +3 -1
  223. package/src/core/save-slices.js +15 -0
  224. package/src/core/save.js +557 -127
  225. package/src/core/serialize-steps.js +109 -0
  226. package/src/core/snapshot.js +170 -39
  227. package/src/core/source-map.js +83 -38
  228. package/src/core/stale-host-notice.js +1 -0
  229. package/src/core/upgrade-run.js +59 -8
  230. package/src/dom/active-element.js +5 -0
  231. package/src/lib/assets.js +1 -0
  232. package/src/lib/slice.js +65 -0
  233. package/src/lib/uimotion.js +774 -0
  234. package/src/lib/unsaved-state.js +2 -2
  235. package/src/live/fast-lane.js +10 -3
  236. package/src/live/local-lane.js +202 -11
  237. package/src/live/ops.js +16 -0
  238. package/src/live/page-compaction.js +162 -0
  239. package/src/live/server-lane.js +1 -0
  240. package/src/live/store.js +11 -3
  241. package/src/loader-logic.js +3 -1
  242. package/src/loader.js +14 -4
  243. package/src/page/adopt-boot.js +2 -1
  244. package/src/page/awareness.js +33 -2
  245. package/src/page/blocks.js +89 -27
  246. package/src/page/boot-pack.js +1 -1
  247. package/src/page/chart-tables.js +21 -3
  248. package/src/page/chart.js +406 -63
  249. package/src/page/checklist.js +10 -135
  250. package/src/page/checkpoint-proof.js +7 -1
  251. package/src/page/chrome.js +250 -51
  252. package/src/page/clipboard-shape.js +126 -0
  253. package/src/page/drag.js +33 -3
  254. package/src/page/editor.js +136 -25
  255. package/src/page/export-assets.js +357 -0
  256. package/src/page/export-html.js +209 -0
  257. package/src/page/export-markdown.js +361 -0
  258. package/src/page/features/checklist.js +428 -0
  259. package/src/page/features/export-html.js +189 -0
  260. package/src/page/features/export-markdown.js +169 -0
  261. package/src/page/features/import-markdown.js +349 -0
  262. package/src/page/features/media.js +61 -5
  263. package/src/page/features/registry.js +18 -0
  264. package/src/page/features/table.js +373 -83
  265. package/src/page/features/title-cover.js +331 -0
  266. package/src/page/features/title-icon.js +213 -0
  267. package/src/page/features/toc.js +87 -0
  268. package/src/page/format-command.js +25 -1
  269. package/src/page/format-gate.js +68 -18
  270. package/src/page/format-host.js +17 -0
  271. package/src/page/format-native-commands.js +21 -5
  272. package/src/page/image-actions.js +64 -0
  273. package/src/page/import-markdown.js +262 -0
  274. package/src/page/items.js +135 -17
  275. package/src/page/markdown.js +6 -2
  276. package/src/page/media.js +35 -119
  277. package/src/page/placeholder.js +14 -1
  278. package/src/page/projection.js +98 -10
  279. package/src/page/recover.js +10 -12
  280. package/src/page/recovery-ui.js +464 -0
  281. package/src/page/rich/chart.js +63 -7
  282. package/src/page/save-projection.js +28 -0
  283. package/src/page/save-states.js +13 -3
  284. package/src/page/schema.js +19 -3
  285. package/src/page/table-paste.js +3 -1
  286. package/src/page/table-style.js +4 -4
  287. package/src/page/table.js +44 -2
  288. package/src/page/themes/light-1.css +8 -7
  289. package/src/page/themes/light-1.source.css +8 -7
  290. package/src/page/toc-link.js +31 -0
  291. package/src/page/toc.js +5 -0
  292. package/src/page/view-hooks.js +38 -12
  293. package/src/page/view.js +13 -0
  294. package/src/page/ybind/binding.js +88 -5
  295. package/src/page/ybind/bridge.js +187 -20
  296. package/src/page/ybind/containment.js +162 -0
  297. package/src/page/ybind/doc.js +17 -9
  298. package/src/page/ybind/file-debt.js +63 -0
  299. package/src/page/ybind/layout.js +7 -2
  300. package/src/page/ybind/marks.js +1 -1
  301. package/src/page/ybind/moves.js +5 -4
  302. package/src/page/ybind/origins.js +106 -4
  303. package/src/page/ybind/parts.js +8 -1
  304. package/src/page/ybind/provider.js +113 -17
  305. package/src/page/ybind/recovery-proof.js +32 -9
  306. package/src/page/ybind/recovery-replay.js +558 -15
  307. package/src/page/ybind/recovery.js +174 -45
  308. package/src/page/ybind/table.js +67 -11
  309. package/src/page/ybind/walk-delta.js +258 -0
  310. package/src/page/ybind/walk.js +54 -29
  311. package/src/page/ybind/writer.js +1 -1
  312. package/src/plugins/ai-edit.js +13 -9
  313. package/src/plugins/indicator-chip.js +91 -0
  314. package/src/plugins/indicator.js +13 -80
  315. package/src/plugins/live.js +89 -14
  316. package/src/plugins/menu/actions.js +196 -0
  317. package/src/plugins/menu/people.js +279 -0
  318. package/src/plugins/menu/placement.js +121 -0
  319. package/src/plugins/menu/preferences.js +9 -0
  320. package/src/plugins/menu/seo.js +316 -397
  321. package/src/plugins/menu/style.js +171 -0
  322. package/src/plugins/menu/variants.js +296 -0
  323. package/src/plugins/menu.js +186 -183
  324. package/src/plugins/page-view.js +3 -2
  325. package/src/plugins/page.js +249 -44
  326. package/src/plugins/sortable.js +8 -1
  327. package/src/plugins/source.js +6 -0
  328. package/src/plugins/upgrade.js +51 -17
  329. package/src/plugins/upload-ui.js +12 -17
  330. package/src/plugins/visitor-drafts/bottom-ui.js +12 -4
  331. package/src/plugins/visitor-drafts/intro-style.js +7 -2
  332. package/src/plugins/visitor-drafts/intro.js +5 -3
  333. package/src/plugins/visitor-drafts/owner-chip.js +8 -12
  334. package/src/plugins/visitor-drafts/prompt.js +11 -9
  335. package/src/plugins/visitor-drafts/source.js +4 -3
  336. package/src/plugins/visitor-drafts/store.js +138 -9
  337. package/src/plugins/visitor-drafts/ui-memory.js +2 -2
  338. package/src/plugins/visitor-drafts-owner.js +4 -6
  339. package/src/plugins/visitor-drafts.js +5 -3
  340. package/src/recovery/store.js +1 -1
  341. package/src/route/route.js +4 -0
  342. package/src/server/rooms/index.js +5 -1
  343. package/src/server/rooms/live-data-rooms.js +302 -50
  344. package/src/server/rooms/page-compaction-worker.js +12 -0
  345. package/src/server/rooms/page-compactor.js +92 -0
  346. package/src/server/rooms/page-room-conformance.js +461 -0
  347. package/src/source/parse-steps.js +94 -0
  348. package/src/source/session.js +233 -57
  349. package/src/sync/editing-sender.js +12 -0
  350. package/src/sync/live-sync-edit.js +22 -2
  351. package/src/sync/live-sync.js +150 -23
  352. package/src/sync/page-relay.js +52 -0
  353. package/src/sync/presence-store.js +44 -4
  354. package/src/sync/presence.js +6 -3
  355. package/src/sync/saved-stream.js +11 -6
  356. package/src/ui/bevel-controls.js +1 -0
  357. package/src/ui/bevel-dialog.js +5 -2
  358. package/src/ui/editor-ui.js +77 -0
  359. package/src/ui/page-colour.js +281 -0
  360. package/src/ui/toast.js +16 -7
  361. package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
  362. package/src/vendor/hyper-undo.vendor.js +1 -1
  363. package/src/vendor/hypercms.vendor.js +9 -9
  364. package/src/vendor/parse5.vendor.js +2 -2
  365. package/src/vendor/sap-core.vendor.js +5 -5
  366. package/dist/m/c-2SPVQSHC.js +0 -1
  367. package/dist/m/c-336SGU5W.js +0 -1
  368. package/dist/m/c-3H6BZDNJ.js +0 -6
  369. package/dist/m/c-4DFEJ2PO.js +0 -3
  370. package/dist/m/c-56QRZTZH.js +0 -1
  371. package/dist/m/c-5J4E7O4Y.js +0 -4
  372. package/dist/m/c-5LKDWQTL.js +0 -19
  373. package/dist/m/c-5V3MOVJT.js +0 -1
  374. package/dist/m/c-6AZOGAPE.js +0 -1
  375. package/dist/m/c-6CRUUXOX.js +0 -5
  376. package/dist/m/c-6HMB24EV.js +0 -1
  377. package/dist/m/c-6KEVEQ7L.js +0 -1
  378. package/dist/m/c-A3E3NIMC.js +0 -1
  379. package/dist/m/c-BQ6LOBEE.js +0 -1
  380. package/dist/m/c-BTDI4Y23.js +0 -1
  381. package/dist/m/c-CJ3A7ZKE.js +0 -1
  382. package/dist/m/c-CQHPGKX2.js +0 -1
  383. package/dist/m/c-DFS4XZJV.js +0 -2
  384. package/dist/m/c-DNENWY4O.js +0 -1
  385. package/dist/m/c-E4LIR5X5.js +0 -1
  386. package/dist/m/c-FDNHHZY5.js +0 -1
  387. package/dist/m/c-FROJUZMV.js +0 -1
  388. package/dist/m/c-G2JPKCTP.js +0 -1
  389. package/dist/m/c-GB6TU7WV.js +0 -1
  390. package/dist/m/c-GFJJEBTU.js +0 -1
  391. package/dist/m/c-GJAEGGXY.js +0 -1
  392. package/dist/m/c-GOWBDM6J.js +0 -1
  393. package/dist/m/c-HFKUVACH.js +0 -1
  394. package/dist/m/c-HHDFCNHV.js +0 -1
  395. package/dist/m/c-IEM4NTCS.js +0 -1
  396. package/dist/m/c-JDCX26UP.js +0 -25
  397. package/dist/m/c-KGVGROZT.js +0 -1
  398. package/dist/m/c-KQ6TYJAP.js +0 -135
  399. package/dist/m/c-LFPHCXY3.js +0 -1
  400. package/dist/m/c-LRPUO2MX.js +0 -1
  401. package/dist/m/c-LWLBHLVC.js +0 -3
  402. package/dist/m/c-M2L47S2X.js +0 -7
  403. package/dist/m/c-MFP2ZWD4.js +0 -1
  404. package/dist/m/c-MKSQ4Y57.js +0 -1
  405. package/dist/m/c-NUFFJVVJ.js +0 -1
  406. package/dist/m/c-NUHSPT5P.js +0 -1
  407. package/dist/m/c-O72HVYSA.js +0 -1
  408. package/dist/m/c-OIBUTDXI.js +0 -1
  409. package/dist/m/c-OW5QIGG3.js +0 -1
  410. package/dist/m/c-PGRCK73F.js +0 -1
  411. package/dist/m/c-Q7NQD65V.js +0 -1
  412. package/dist/m/c-QH63LQOS.js +0 -1
  413. package/dist/m/c-R7IWVINQ.js +0 -1
  414. package/dist/m/c-RM7J7BV2.js +0 -1
  415. package/dist/m/c-S4ZEH46B.js +0 -9
  416. package/dist/m/c-SDAXDM2D.js +0 -1
  417. package/dist/m/c-SMGU7RT3.js +0 -235
  418. package/dist/m/c-SPIORRYS.js +0 -1
  419. package/dist/m/c-SWLRT66R.js +0 -1
  420. package/dist/m/c-TCJTVAFN.js +0 -1
  421. package/dist/m/c-TQEMVJCS.js +0 -1
  422. package/dist/m/c-TYLXX4NF.js +0 -21
  423. package/dist/m/c-U62OB4BT.js +0 -1
  424. package/dist/m/c-U6YWUAR3.js +0 -8
  425. package/dist/m/c-UDCSU5G5.js +0 -2
  426. package/dist/m/c-VI5RMSVY.js +0 -1
  427. package/dist/m/c-VRZN56XY.js +0 -1
  428. package/dist/m/c-W5MCHEGA.js +0 -1
  429. package/dist/m/c-WNYBLIOZ.js +0 -1
  430. package/dist/m/c-WWXIDH4O.js +0 -28
  431. package/dist/m/c-XCNTK76U.js +0 -1
  432. package/dist/m/c-XMS6DPBR.js +0 -1
  433. package/dist/m/c-ZUCOKOHT.js +0 -1
  434. package/dist/m/c-ZVPVXTJF.js +0 -4
  435. package/dist/m/c-ZVRKXKM7.js +0 -1
  436. package/dist/m/core/autosave-HRYGUWV6.js +0 -1
  437. package/dist/m/core/conflict-notice-6MROJN2L.js +0 -1
  438. package/dist/m/core/is-edit-mode-KTWA3O5N.js +0 -1
  439. package/dist/m/core/recovery-FLTCC2OC.js +0 -1
  440. package/dist/m/core/save-HQZ4S667.js +0 -1
  441. package/dist/m/core/save-core-KGQWFUNH.js +0 -1
  442. package/dist/m/core/snapshot-EGQZNT45.js +0 -1
  443. package/dist/m/core/unsaved-warning-IDJLD66H.js +0 -1
  444. package/dist/m/loader-S4I7GKXR.js +0 -1
  445. package/dist/m/manifest-4C419D67.js +0 -1
  446. package/dist/m/manifest-edit-B077F288.js +0 -1
  447. package/dist/m/plugins/ai-edit-QN4PMMNL.js +0 -6
  448. package/dist/m/plugins/indicator-URDBBOQO.js +0 -1
  449. package/dist/m/plugins/live-HFWD4OIH.js +0 -1
  450. package/dist/m/plugins/menu-3HIEQSI6.js +0 -138
  451. package/dist/m/plugins/page-JOKB6XPR.js +0 -2
  452. package/dist/m/plugins/page-view-NXOJHNW6.js +0 -1
  453. package/dist/m/plugins/quickcrop-QNY3PKLD.js +0 -26
  454. package/dist/m/plugins/sortable-GWT4PWDV.js +0 -1
  455. package/dist/m/plugins/source-4ZRSAIYM.js +0 -1
  456. package/dist/m/plugins/undo-VDA5P7FH.js +0 -1
  457. package/dist/m/plugins/upgrade-W7FG5VFG.js +0 -1
  458. package/dist/m/plugins/visitor-drafts-LIDY7NH6.js +0 -21
  459. package/dist/m/plugins/visitor-drafts-owner-ZXCKBZE7.js +0 -1
  460. package/dist/m/reader-core-DXYCURFF.js +0 -68
  461. package/dist/m/route/route-KOCZSEGN.js +0 -1
  462. package/dist/m/sync/live-sync-J7VMYTKS.js +0 -1
  463. package/dist/m/ui/index-3JLVI27O.js +0 -1
  464. package/dist/m/vendor/sap-core.vendor-A7BMUYZT.js +0 -6
  465. /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
  466. /package/dist/m/plugins/{quickcrop-QNY3PKLD.js.LEGAL.txt → quickcrop-BQ5YYFCH.js.LEGAL.txt} +0 -0
  467. /package/dist/m/plugins/{richclay-NRQDSWX6.js.LEGAL.txt → richclay-KLGETK77.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{b as Be,e as He,g as me}from"../c-OW5QIGG3.js";import{d as Ie}from"../c-BPF2NSPV.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-TJ6WOJL3.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-5LKDWQTL.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{e as u,g as f}from"../c-OW5QIGG3.js";import{d as a}from"../c-BPF2NSPV.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-TJ6WOJL3.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,68 +0,0 @@
1
- import{b as S,c as q}from"./c-NUHP2XDB.js";import{g as U}from"./c-XCNTK76U.js";import{a as f}from"./c-VKEDWYDF.js";import{b as K}from"./c-ZWIOJGMT.js";import{e as I}from"./c-VRZN56XY.js";import"./c-IJUK2GPW.js";import{a as k,b as u,c as a,e as c,f as o,g as b,i as D,n as j}from"./c-OW5QIGG3.js";import{c as O,e as $}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import{a as E}from"./c-VHNSBD2M.js";var R={};E(R,{activateInitialMode:()=>ce,canEdit:()=>a,default:()=>pe,init:()=>L,isEditMode:()=>c,isOwner:()=>b,mode:()=>o,modeLifecycle:()=>se,noteLiveSwitch:()=>de,setMode:()=>w,setPageTypeOnPageLoad:()=>V,toggleEditMode:()=>F});var M=!1,ie=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return j(e)},se={register:ie,canWrite:()=>D().phase==="idle"&&c,get state(){return Object.freeze(D())}},T=null,_=()=>T||=import("./c-VE6ZMYMC.js").catch(()=>T=null),A=null,de=e=>{A=e};async function ce(){if(c)try{await(await _()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var m=null;async function w(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(m)return m.target===e?m.promise:{ok:!1,mode:o,code:"busy"};if(e===o&&!T)return{ok:!0,mode:o,changed:!1};if(u)return{ok:!1,mode:o,code:"not-allowed"};let t=le(e);m={target:e,promise:t};try{return await t}finally{m?.promise===t&&(m=null)}}async function le(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==o){let r;try{r=await t(e)}catch{return{ok:!1,mode:o,code:"host-failed"}}if(r?.reason!=="host-unsupported")return r?.ok?(M=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:o,code:r?.reason||"host-refused"}}return e==="edit"&&o!=="edit"?ue():!a&&!(e==="view"&&o==="edit")?{ok:!1,mode:o,code:"not-allowed"}:H(e)}async function ue(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-FNXVEFNE.js"),r=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:o,code:"cancelled"}:r===!1?{ok:!1,mode:o,code:"permission-denied"}:a?H("edit"):{ok:!1,mode:o,code:"not-allowed"}}async function H(e){if(A){let t=await _(),r=t&&await t.switchMode(e,A);if(r)return r}if(e===o)return{ok:!0,mode:o,changed:!1};if(o==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(r){return{ok:!1,mode:o,code:"save-failed",state:r?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:o,code:"save-failed",state:t.state}}return M=!0,k({mode:e,canEdit:a,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function fe(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var F=()=>u?fe():w(o==="edit"?"view":"edit");function me(){!a||u||window.addEventListener("pagehide",()=>{M||k({mode:o,canEdit:a,internal:!1})})}function z(){a?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function V(){f(()=>{document.documentElement.setAttribute("editmode",c?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),z(),document.addEventListener("clay:capabilitychange",z),u?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function L(){V(),me()}L();var pe={init:L,setMode:w,toggleEditMode:F,isEditMode:c,isOwner:b,canEdit:a,mode:o};var B={};var W=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),we=W?"\u2318\u21E7E":"Ctrl+Shift+E",he=`.clay-mode-note {
2
- position: fixed;
3
- right: calc(16px + env(safe-area-inset-right, 0px));
4
- bottom: calc(16px + env(safe-area-inset-bottom, 0px));
5
- z-index: 2147482000;
6
- display: flex;
7
- align-items: center;
8
- gap: 10px;
9
- max-width: min(420px, calc(100vw - 32px));
10
- padding: 10px 10px 10px 14px;
11
- border: 1px solid rgba(23, 28, 36, .16);
12
- border-radius: 12px;
13
- font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
14
- font-size: 13px;
15
- line-height: 1.45;
16
- text-align: left;
17
- color: var(--clay-ui-fg, #1F2328);
18
- background: var(--clay-ui-bg, #F4F4F5);
19
- box-shadow: 0 8px 24px -12px rgba(23, 28, 36, .45);
20
- transition: opacity .25s ease, transform .25s ease;
21
- }
22
- .clay-mode-note kbd {
23
- font: inherit;
24
- font-weight: 600;
25
- padding: 1px 5px;
26
- border: 1px solid rgba(23, 28, 36, .2);
27
- border-radius: 5px;
28
- background: rgba(23, 28, 36, .07);
29
- }
30
- .clay-mode-note button {
31
- flex: none;
32
- display: inline-flex;
33
- align-items: center;
34
- justify-content: center;
35
- width: 24px;
36
- height: 24px;
37
- padding: 0;
38
- border: 0;
39
- border-radius: 6px;
40
- font: inherit;
41
- font-size: 16px;
42
- line-height: 1;
43
- color: inherit;
44
- background: none;
45
- cursor: pointer;
46
- opacity: .65;
47
- }
48
- .clay-mode-note button:hover { opacity: 1; background: rgba(23, 28, 36, .08); }
49
- @media (prefers-color-scheme: dark) {
50
- .clay-mode-note {
51
- border-color: rgba(233, 233, 236, .16);
52
- color: var(--clay-ui-fg, #E9E9EC);
53
- background: var(--clay-ui-bg, #26282C);
54
- box-shadow: 0 8px 24px -12px rgba(0, 0, 0, .7);
55
- }
56
- .clay-mode-note kbd { border-color: rgba(233, 233, 236, .22); background: rgba(233, 233, 236, .1); }
57
- .clay-mode-note button:hover { background: rgba(233, 233, 236, .12); }
58
- }
59
- @media (prefers-reduced-motion: reduce) {
60
- .clay-mode-note { transition: none; }
61
- }
62
- @media (max-width: 559px) {
63
- .clay-mode-note {
64
- left: calc(16px + env(safe-area-inset-left, 0px));
65
- right: calc(16px + env(safe-area-inset-right, 0px));
66
- max-width: none;
67
- }
68
- }`;function ge(){if(document.getElementById("clay-mode-note-style"))return;let e=document.createElement("style");e.id="clay-mode-note-style",e.setAttribute("clay","editor-ui"),e.textContent=he,document.head.append(e)}function ye(e){(a||o==="edit")&&(!(W?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),w(o==="edit"?"view":"edit").then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:r})=>{let n=r(t);n&&window.clay?.toast?.(n,"error")})})))}function be(){ge();let e=document.createElement("div");e.setAttribute("clay","editor-ui"),e.setAttribute("role","status"),e.className="clay-mode-note",e.innerHTML=`<span>This page opens in view mode. Press <kbd>${we}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`;let t=()=>e.remove();e.querySelector("button").addEventListener("click",t),addEventListener("keydown",r=>{r.key==="Escape"&&t()},{once:!0}),setTimeout(t,12e3),document.body.append(e)}u||(document.addEventListener("keydown",ye),f(()=>{!a||o!=="view"||document.querySelector("[clay-mode-toggle]")||queueMicrotask(()=>{if(window.clay?.menu)return;let e=window.clay?.storage?.local;!e||e.get("mode-note")||(e.set("mode-note",!0),be())})}));var P={};E(P,{whenShown:()=>De});var ve="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",i=null,l=null;function h(){if(!i)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;S(i,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function xe(){i&&(S(i,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function Ee(){i=l.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${l.pageScheme()}`]),i.setAttribute("clay",l.RUNTIME_ONLY),i.setAttribute("data-clay-stale-host",""),i.setAttribute("role","alert");let e=q("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${l.TOKENS.ox}`]);e.setAttribute("clay",l.RUNTIME_ONLY);let t=l.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:xe});t.setAttribute("aria-label","Dismiss this message"),i.append(e,l.bevelText("span",[],ve),t),document.body.appendChild(i),h(),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function ke(){if(!$()||c)return;let[e,t]=await Promise.all([import("./c-6HMB24EV.js"),import("./c-ZE46QDIH.js")]);l={...e,TOKENS:t.TOKENS},Ee()}var G=Promise.resolve();f(()=>{G=ke()});var De=()=>G;var N={};E(N,{createPageDataApi:()=>X,readData:()=>Re,setPageDataLiveSync:()=>Ce,writeData:()=>Pe});var Se="data-read",Te="data-write";function v(e,t,r){let n=new Error(t);return n.code=e,n.details=r,n}async function Y(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function Ae(e){let t={};try{t=await Y(e)||{}}catch{}let r=t.message||t.error||e.statusText||`Request failed (${e.status})`,n=new Error(r);return n.status=e.status,n.error=t.error,n.details=t.details,n}function Me(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Le(e,t){let r=`${t.origin}${t.pathname}`;return e!==void 0?`${r}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function J(){let{isDraftMode:e}=await import("./core/is-edit-mode-KTWA3O5N.js");return e?v("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function X({supports:e=I,token:t=O,fetchImpl:r=(...g)=>fetch(...g),getLocation:n=()=>window.location,eventTarget:Q=document,loadWriteModules:Z,syncTimeoutMs:ee,httpTimeoutMs:te}={}){let g=null,p=null;function oe(s){g=s}async function re(s){let y=await J();if(y)throw y;if(!await e(Se))throw v("DataReadUnsupported","This host does not support reading page data.");let d;try{d=await r(Le(s,n()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(x){throw Object.assign(v("DataReadFailed",x?.message||"Could not read page data."),{cause:x})}if(!d.ok)throw await Ae(d);return{data:await Y(d),etag:Me(d)}}function ne(){return p||(p=import("./c-UDUUJPFZ.js").then(({createPageDataWrite:s})=>s({supports:e,token:t,fetchImpl:r,getLocation:n,eventTarget:Q,getLiveSync:()=>g,loadWriteModules:Z,syncTimeoutMs:ee,httpTimeoutMs:te})).catch(s=>{throw p=null,s}),p)}async function ae(s,y){let d=await J();if(d)throw d;if(!await e(Te))throw v("DataWriteUnsupported","This host does not support writing page data.");return(await ne()).writeData(s,y)}return{readData:re,writeData:ae,setLiveSync:oe}}var C=X(),Re=C.readData,Pe=C.writeData,Ce=C.setLiveSync;var Ve={"lib/mutation.js":K,"core/preserve-authored.js":U,"core/edit-mode.js":R,"core/mode-key.js":B,"core/stale-host-notice.js":P,"core/page-data.js":N};export{Ve as core};
@@ -1 +0,0 @@
1
- import"../c-VHNSBD2M.js";var E=/^[a-z][a-z0-9-]*$/,d="route-",f="route-active",L=/^\s*([a-z][a-z0-9-]*)(?:\s+by\s+(\S+))?\s*$/,h={},y="",p=!1,i=null,m=!1;function b(o){let t=Object.create(null),e=String(o||"").replace(/^#/,"");if(!e.includes("="))return t;for(let[r,n]of new URLSearchParams(e)){if(!E.test(r)||r==="active"){console.warn(`clay-router: ignoring hash param "${r}"; names are lowercase letters, digits and hyphens, and "active" is reserved`);continue}n!==""&&(t[r]=n)}return t}function x(o){let t=new URLSearchParams;for(let[r,n]of Object.entries(o))n!=null&&n!==""&&t.set(r,String(n));let e=t.toString();return e?"#"+e:""}function w(o){let t=document.documentElement;for(let e of[...t.attributes])e.name.startsWith(d)&&!(e.name.slice(d.length)in o)&&t.removeAttribute(e.name);for(let[e,r]of Object.entries(o))t.getAttribute(d+e)!==r&&t.setAttribute(d+e,r)}function O(o){let t=new Set,e=new Set,r=new Set;for(let n of document.querySelectorAll("[route]")){let a=L.exec(n.getAttribute("route")||"");if(!a)continue;let[,s,A="data-id"]=a;e.add(s);let g=o[s];if(g!=null)for(let l of n.children)l.getAttribute(A)===g&&(t.add(l),r.add(s),l.getAttribute(f)!==s&&l.setAttribute(f,s))}for(let n of document.querySelectorAll(`[${f}]`))t.has(n)||n.removeAttribute(f);return[...e].filter(n=>o[n]!=null&&!r.has(n)).sort()}function c(){let o=b(location.hash);w(o);let t=document.body?O(o):[],e=h,r=[...new Set([...Object.keys(e),...Object.keys(o)])].filter(a=>e[a]!==o[a]);h=o;let n=t.join(" ");!r.length&&n===y||(y=n,document.dispatchEvent(new CustomEvent("clay:route",{detail:{params:{...o},previous:{...e},changed:r,unmatched:t}})))}function j(){return{...h}}function q(o,{replace:t=!1}={}){let e=b(location.hash);for(let[a,s]of Object.entries(o||{}))s==null||s===""?delete e[a]:e[a]=String(s);let r=x(e);if(r===(location.hash.includes("=")?location.hash:""))return;let n=location.pathname+location.search;t?(history.replaceState(history.state,"",n+r),c()):r?location.hash=r:(history.pushState(history.state,"",n),c())}function u(){m||(m=!0,queueMicrotask(()=>{m=!1,c()}))}function C(o){for(let t of o)if(t.type==="childList"){if(t.target.nodeType===1&&t.target.hasAttribute("route")){u();return}for(let e of t.addedNodes)if(e.nodeType===1&&(e.hasAttribute("route")||e.querySelector("[route]"))){u();return}}}function v(){c(),!i&&typeof MutationObserver=="function"&&(i=new MutationObserver(C),i.observe(document.body,{childList:!0,subtree:!0}))}function M(){p||(p=!0,w(b(location.hash)),window.addEventListener("hashchange",c),document.addEventListener("clay:sync-applied",u),document.addEventListener("clay:ready",u),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",v,{once:!0}):v())}function k(){p=!1,h={},y="",window.removeEventListener("hashchange",c),document.removeEventListener("clay:sync-applied",u),document.removeEventListener("clay:ready",u),document.removeEventListener("DOMContentLoaded",v),i&&i.disconnect(),i=null}var S={get:j,set:q,apply:c},R=window.clay=window.clay||{};R.route=S;M();var z=S;export{c as apply,z as default,x as formatHash,j as get,b as parseHash,q as set,M as start,k as stop};
@@ -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-G2JPKCTP.js";import{e as b}from"../c-7OLLJPWP.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-QJ4OM3G6.js";import"../c-WYFDLITL.js";import"../c-ZWIOJGMT.js";import"../c-TQEMVJCS.js";import"../c-DCXOXBF3.js";import"../c-VRZN56XY.js";import"../c-IJUK2GPW.js";import"../c-OW5QIGG3.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-SPIORRYS.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};
@@ -1 +0,0 @@
1
- import{a as r,b as l,c as m,d as c}from"../c-AMSNPOCX.js";import{b as d}from"../c-KIPQJX4B.js";import"../c-QHWJ5ZIJ.js";import{a as s,b as n,c as o}from"../c-ZUCOKOHT.js";import"../c-UL2YUY52.js";import"../c-LFPHCXY3.js";import{a}from"../c-2AZDZWCK.js";import"../c-OIBUTDXI.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import{f as i}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-VHNSBD2M.js";i();var t=window.clay=window.clay||{};t.toast=o;t.toastPersistent=s;t.ask=r;t.confirm=l;t.tell=m;t.snippet=c;t.modal=d;typeof window.toast>"u"&&(window.toast=o);typeof window.toastPersistent>"u"&&(window.toastPersistent=s);a.toasts=!0;a.savedToast=!!t.saveToast;Object.defineProperty(t,"saveToast",{get:()=>a.savedToast,set:e=>{a.savedToast=!!e},enumerable:!0,configurable:!0});document.addEventListener("clay:save-saved",e=>{n("Couldn't save"),n("Offline, not saved"),e.detail?.msgType==="warning"?o(e.detail.msg||"Saved","warning"):(!a.chip||a.savedToast)&&o(e.detail?.msg||"Saved","success")});document.addEventListener("clay:save-error",()=>s("Couldn't save","error"));document.addEventListener("clay:save-offline",()=>s("Offline, not saved","warning"));document.addEventListener("clay:live-notice",e=>{e.detail?.code==="save-uncertain"&&s(e.detail.message,"warning"),e.detail?.code==="op-too-large"&&o(e.detail.message,"warning")});export{r as ask,l as consent,c as snippet,m as tell,d as themodal,o as toast,s as toastPersistent};
@@ -1,6 +0,0 @@
1
- import"../c-VHNSBD2M.js";var Bn=(()=>{var te=Object.defineProperty,nt=Object.getOwnPropertyDescriptor,rt=Object.getOwnPropertyNames,at=Object.prototype.hasOwnProperty,ot=(e,t)=>{for(var r in t)te(e,r,{get:t[r],enumerable:!0})},it=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of rt(t))!at.call(e,a)&&a!==r&&te(e,a,{get:()=>t[a],enumerable:!(n=nt(t,a))||n.enumerable});return e},lt=e=>it(te({},"__esModule",{value:!0}),e),pe={};ot(pe,{FULL_SAPJS:()=>B,Sap:()=>I,default:()=>On,mount:()=>Pn,mountAll:()=>et,needsFullSapjs:()=>de,runtime:()=>Wn});function st(e){let t=!1,r=new Set,n=[];function a(l){l&&(n.push(l),n.length>8&&n.shift())}function s(l,d){if(a(d),l._broken){if(d==="mutation")return;u(l)}r.add(l),!t&&(t=!0,queueMicrotask(i))}function i(){t=!1;let l=[...r];r.clear();for(let d of l)f(d)}function f(l,d=!1){if(!(l._broken||l.halted)){if(l._passes=(l._passes||0)+1,l._passes>50){l._broken=!0,l._breakerRing=n.slice(),e(l,{breaker:!0});return}l._resetArmed||(l._resetArmed=!0,setTimeout(()=>{l._passes=0,l._resetArmed=!1},0)),e(l,d?{full:!0}:{})}}function c(l,d){a(d),l._broken&&u(l),f(l,!0)}function u(l){l._broken=!1,l._passes=0}return{schedule:s,runNow:c,rearm:u,ring:n}}var me={E01:{slug:"foreign-dialect",behavior:"HALT"},E02:{slug:"moustaches-in-text",behavior:"HALT"},E04:{slug:"duplicate-declaration",behavior:"HALT"},E05:{slug:"reserved-name",behavior:"HALT"},E06:{slug:"global-html-name",behavior:"HALT"},E07:{slug:"calc-cycle",behavior:"ERR"},E08:{slug:"expression-syntax",behavior:"HALT"},E10:{slug:"orphan-item",behavior:"HALT"},E12:{slug:"unknown-state-key",behavior:"ERR"},E15:{slug:"write-to-undeclared-key",behavior:"ERR"},E16:{slug:"write-to-computed-field",behavior:"ERR"},E17:{slug:"unresolvable-action-target",behavior:"HALT"},E18:{slug:"paint-on-form-control",behavior:"HALT"},E20:{slug:"bind-on-non-control",behavior:"HALT"},E22:{slug:"format-type",behavior:"ERR"},E24:{slug:"runtime-expression-throw",behavior:"ERR"},E26:{slug:"circuit-breaker",behavior:"HALT"},E30:{slug:"attr-on-bound-control",behavior:"HALT"},E31:{slug:"password-without-transient",behavior:"HALT"},E32:{slug:"file-bind",behavior:"HALT"},E33:{slug:"dialog-state-open",behavior:"HALT"},E34:{slug:"transient-persist-collision",behavior:"HALT"},E35:{slug:"presence-state-misuse",behavior:"HALT"},E40:{slug:"each-not-array",behavior:"ERR"},E41:{slug:"each-bad-key",behavior:"ERR"},E42:{slug:"each-template",behavior:"ERR"},E43:{slug:"bind-in-each-row",behavior:"ERR"},E50:{slug:"needs-full-sapjs",behavior:"HALT"},W03:{slug:"unknown-colon-attribute",behavior:"WARN"},W04:{slug:"expression-in-when",behavior:"WARN"},W30:{slug:"nonzero-mount-writes",behavior:"WARN"},W31:{slug:"detail-dialog-saved-open",behavior:"WARN"}},ne=["disabled","readonly","required","checked","selected","multiple","open","inert","autofocus","novalidate","hidden"],he=new Set(["title","style","hidden","lang","dir","translate","class","id","nonce","autofocus","tabindex","contenteditable","spellcheck","draggable","role","slot","part","name","value","type","itemscope","itemtype","itemid","itemprop","itemref"]),ut=new Set(["sap","scope","items","item","template","bind","calc","text","show","attr","set","trigger","move","sort","detail","each","effect","invalid","confirm","transient","default","persist","sortable","editmode"]);function ct(e){if(!e||e.nodeType!==1)return"?";if(e.id)return`${e.tagName.toLowerCase()}#${e.id}`;let t=[],r=e,n=0;for(;r&&r.nodeType===1&&n<4;){let a=r.tagName.toLowerCase();if(r.hasAttribute("sap"))a+="[sap]";else if(r.parentElement){let s=0,i=0;for(let f=r.parentElement.firstElementChild;f;f=f.nextElementSibling)f.tagName===r.tagName&&(s++,f===r&&(i=s));s>1&&(a+=`:nth-of-type(${i})`)}if(t.unshift(a),r.hasAttribute("sap"))break;r=r.parentElement,n++}return t.join(" > ")}var ft=class{constructor(e){this.appName=e,this.errors=[],this.warnings=[],this.halted=!1,this.haltReason=null}block(e,t,r={}){let n=(me[e]||{}).slug||"error",a={code:e,slug:n,el:ct(t),attr:r.attr||null,expr:r.expr||null,key:r.key||null,problem:r.problem||"",didYouMean:r.didYouMean||null,fix:r.fix||null,phase:r.phase||"runtime"},s=[`
2
- `+(e[0]==="W"?"sap \u26A0 ":"sap \u2717 ")+e+" "+n];return s.push(` at ${a.el}${a.attr?` \u2014 ${a.attr}="${a.expr??""}"`:""}`),a.problem&&s.push(` problem: ${a.problem}`),a.didYouMean&&s.push(` did you mean: ${a.didYouMean}`),a.fix&&s.push(` fix: ${a.fix}`),(e[0]==="W"?console.warn:console.error)(s.join(`
3
- `)),a}error(e,t,r={}){let n=this.block(e,t,r);return this.errors.push(n),n}warn(e,t,r={}){let n=this.block(e,t,r);return this.warnings.push(n),n}report(){return{ok:this.errors.length===0&&!this.halted,app:this.appName,halted:this.halted,haltReason:this.haltReason,errors:this.errors.slice(),warnings:this.warnings.slice()}}};function U(e,t){e&&e.getAttribute("sap-error")!==t&&e.setAttribute("sap-error",t)}function dt(e){e&&e.hasAttribute("sap-error")&&e.removeAttribute("sap-error")}function be(e,t){let r=null,n=3;for(let a of t){let s=pt(e,a);s<n&&(n=s,r=a)}return r}function pt(e,t){let r=e.length,n=t.length,a=Array.from({length:r+1},(s,i)=>[i,...new Array(n).fill(0)]);for(let s=0;s<=n;s++)a[0][s]=s;for(let s=1;s<=r;s++)for(let i=1;i<=n;i++)a[s][i]=Math.min(a[s-1][i]+1,a[s][i-1]+1,a[s-1][i-1]+(e[s-1]===t[i-1]?0:1));return a[r][n]}var mt=new Set(ne),ht={readonly:"readOnly",novalidate:"noValidate"},bt=0,ge=new WeakMap;function gt(e,t="sap"){let r=e.getAttribute("data-id");if(r)return r;if(e.id)return e.id;let n=ge.get(e);return n||(n=`${t}-${(bt++).toString(36)}`,ge.set(e,n)),n}function yt(e){let t=[];for(let r=e.firstElementChild;r;r=r.nextElementSibling)r.hasAttribute("item")&&!r.hasAttribute("template")&&!r.hasAttribute("cms-template")&&t.push(r);return t}function ye(e,t){if(!e||!t)return null;let r=[...e.querySelectorAll(`template[items="${t}"]`)].find(a=>a.closest("[sap]")===e),n=r&&r.content.firstElementChild;return n&&n.hasAttribute("item")?n:null}function vt(e){for(let t=e.firstElementChild;t;t=t.nextElementSibling)if(t.hasAttribute("item")&&t.hasAttribute("template"))return t;return ye(e.closest("[sap]"),e.getAttribute("items"))}function ve(e){let t=[];if(!e)return t;for(let r of e.trim().split(/\s+/)){if(!r)continue;let n=r,a,s=n.indexOf("=");s>=0&&(a=n.slice(s+1),n=n.slice(0,s));let i=n.split(":"),f=i[0],c="string",u=!1;for(let b of i.slice(1))b==="num"?c="num":b==="bool"?c="bool":b==="presence"?c="presence":b==="transient"&&(u=!0);let l=f,d=l.startsWith("data-")&&l.length>5?l.slice(5).replace(/-([a-z])/g,(b,y)=>y.toUpperCase()):l;t.push({name:d,attr:l,type:c,default:a,transient:u})}return t}function re(e,t){if(t==="num"){if(e==null||e==="")return 0;let r=Number(e);return Number.isNaN(r)?0:r}return t==="bool"?e==="true"||e===""||e==="1":e??""}function wt(e,t){return t==="bool"?e?"true":"false":e==null?"":String(e)}function we(e,t){return mt.has(t)&&typeof e[ht[t]||t]=="boolean"}function At(e,t){return t.type==="presence"||t.type!=="num"&&we(e,t.attr||t.name)}function Ae(e){return e.default!=null?e.default:e.type==="num"?"0":e.type==="bool"?"false":""}function Et(e,t){let r=t.attr||t.name,n=e._sapTransient||(e._sapTransient={});if(!(t.name in n)){let a=e.getAttribute(r);a==null&&(a=Ae(t)),n[t.name]=re(a,t.type)}return e.hasAttribute(r)&&e.removeAttribute(r),n[t.name]}function $(e){if(typeof e=="number")return e;if(e==null||e==="")return 0;let t=Number(typeof e=="string"?e.replace(/[$,%\s]/g,""):e);return Number.isNaN(t)?0:t}function G(e,t){return Array.isArray(e)?t==null?e:e.map(r=>typeof t=="function"?t(r):r?.[t]):[]}function Ee(e,t){return G(e,t).reduce((r,n)=>r+$(n),0)}function kt(e,t){return Array.isArray(e)?t==null?e.length:e.reduce((r,n)=>r+(t(n)?1:0),0):0}function xt(e,t){let r=G(e,t);return r.length?Ee(e,t)/r.length:0}function St(e,t){let r=G(e,t).filter(n=>n!=null&&n!=="");return r.length?r.every(n=>typeof n=="number"||!Number.isNaN(Number(n)))?Math.min(...r.map(Number)):r.reduce((n,a)=>String(n)<=String(a)?n:a):0}function Nt(e,t){let r=G(e,t).filter(n=>n!=null&&n!=="");return r.length?r.every(n=>typeof n=="number"||!Number.isNaN(Number(n)))?Math.max(...r.map(Number)):r.reduce((n,a)=>String(n)>=String(a)?n:a):0}function $t(e,t,r){let n=$(e)===1?t:r??t+"s";return`${e} ${n}`}function Lt(e,t){let r=new Date(e),n=new Date(t);return Number.isNaN(+r)||Number.isNaN(+n)?0:Math.round((n-r)/864e5)}function L(e){return typeof e=="number"?e:Number(e)}var Y={usd:e=>"$"+L(e).toLocaleString("en-US",{maximumFractionDigits:0}),usd2:e=>"$"+L(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),pct:e=>Math.round(L(e))+"%",pct1:e=>L(e).toFixed(1)+"%",int:e=>Math.round(L(e)).toLocaleString("en-US"),num:e=>L(e).toLocaleString("en-US"),num2:e=>L(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),compact:e=>L(e).toLocaleString("en-US",{notation:"compact"}),date:e=>{let t=new Date(e);return Number.isNaN(+t)?String(e):t.toLocaleDateString("en-US")},clock:e=>{let t=L(e),r=Math.floor(t/100),n=r%10,a=Math.floor(r/10)%60;return`${Math.floor(r/600)}:${String(a).padStart(2,"0")}.${n}`}},Tt=new Set(["usd","usd2","pct","pct1","int","num","num2","compact","clock"]);function _t(e,t){if(!e)return t==null?"":String(t);let r=Y[e];if(typeof r!="function"){let n=new Error(`unknown format "${e}"`);throw n.sapCode="E22",n}if(Tt.has(e)){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n)){let a=new Error(`format "${e}" received ${typeof t=="string"?`"${t}"`:t}`);throw a.sapCode="E22",a}}return r(t)}var Ct=["state","item","el","root","fmt","num","sum","count","avg","min","max","plural","days"],X=new Map,ke=/\bstate\.([a-z][a-z0-9_]*)/g,xe=/\bitem\.([a-z][a-z0-9_]*)/g;function Rt(e){let t=new Set,r=new Set,n;for(ke.lastIndex=0;n=ke.exec(e);)t.add(n[1]);for(xe.lastIndex=0;n=xe.exec(e);)r.add(n[1]);return{state:t,item:r}}function T(e,t=!1){let r=(t?"!":"")+e,n=X.get(r);if(n)return n;X.size>512&&X.clear();try{let a=t?`"use strict";
4
- ${e}`:`"use strict"; return (${e});`;n={fn:new Function(...Ct,a),src:e,statement:t,deps:Rt(e),error:null}}catch(a){n={fn:null,src:e,statement:t,deps:{state:new Set,item:new Set},error:a}}return X.set(r,n),n}function Mt(e,t,r,n,a){if(e.error)throw e.error;return e.fn(t,r,n,a,Y,$,Ee,kt,xt,St,Nt,$t,Lt)}var j={},O=null,Se=!0,V=!1;function Pt(){j={}}function Wt(e){let t=V;return O?Ne(O.takeRecords()):Se&&Ot(),V=!!O&&e.getRootNode()===document,t}function jt(e){V=e}function Ot(){if(typeof document>"u"||typeof MutationObserver!="function"){Se=!1;return}O=new MutationObserver(Ne),O.observe(document,{attributes:!0,childList:!0,subtree:!0})}function Ne(e){for(let t of e)if(t.type==="attributes")t.target._sapPlan&&(t.target._sapPlan=null);else for(let r of t.addedNodes)r.nodeType===1&&$e(r)}function $e(e){e._sapPlan&&(e._sapPlan=null);for(let t=e.firstElementChild;t;t=t.nextElementSibling)$e(t)}function ae(e){if(!V)return Le(e);let t=e._sapPlan;return t&&t.gen===j?t:e._sapPlan=Le(e)}function Le(e){let t={gen:j,inert:e.tagName==="TEMPLATE",template:!1,item:!1,scope:!1,items:!1,detail:!1,each:!1,boundary:null,bind:null,transient:!1,decls:null,calcs:null,paints:null,effects:null,invalids:null};for(let r of e.attributes){let n=r.name,a=r.value,s=n.indexOf(":");if(s<0){switch(n){case"sap-ignore":t.inert=!0;break;case"cms-template":t.inert=!0;break;case"template":t.inert=!0,t.template=!0;break;case"item":t.item=!0;break;case"scope":t.scope=!0;break;case"items":t.items=!0;break;case"detail":t.detail=!0;break;case"each":t.each=!0;break;case"bind":t.bind=a;break;case"transient":t.transient=!0;break;case"state":t.decls=ve(a);break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:null,entry:T(a)});break;case"show":(t.paints||(t.paints=[])).push({kind:"show",entry:T(a)});break;case"effect":(t.effects||(t.effects=[])).push({entry:T(a,!0)});break;case"invalid":(t.invalids||(t.invalids=[])).push({entry:T(a)});break}continue}let i=n.slice(0,s),f=n.slice(s+1);switch(i){case"calc":(t.calcs||(t.calcs=[])).push({name:f,entry:T(a)});break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:f,entry:T(a)});break;case"attr":(t.paints||(t.paints=[])).push({kind:"attr",arg:f,entry:T(a)});break;case"class":(t.paints||(t.paints=[])).push({kind:"class",arg:f,entry:T(a)});break;case"css":(t.paints||(t.paints=[])).push({kind:"css",arg:f,entry:T(a)});break;case"show-when":case"option":(t.paints||(t.paints=[])).push({kind:"when",match:"show",field:f,values:a.split("|")});break;case"hide-when":(t.paints||(t.paints=[])).push({kind:"when",match:"hide",field:f,values:a.split("|")});break;case"option-not":(t.paints||(t.paints=[])).push({kind:"when",match:"show-not",field:f,values:a.split("|")});break}}return t.boundary=t.scope?"scope":t.items?"items":t.detail?"detail":t.each?"each":null,Bt(t)?Dt():t}var K=null;function Dt(){return(!K||K.gen!==j)&&(K=Object.freeze({gen:j,inert:!1,template:!1,item:!1,scope:!1,items:!1,detail:!1,each:!1,boundary:null,bind:null,transient:!1,decls:null,calcs:null,paints:null,effects:null,invalids:null})),K}function Bt(e){return!e.inert&&!e.item&&e.boundary===null&&e.bind===null&&!e.transient&&!e.decls&&!e.calcs&&!e.paints&&!e.effects&&!e.invalids}var R=new WeakMap,M=null,D=!1;function It(){R=new WeakMap}function Te(e){for(let t of e){if(t.type==="attributes"){R.delete(t.target);continue}let r=t.target.nodeType===1?t.target:t.target.parentElement;for(let n=r;n;n=n.parentElement)R.delete(n);for(let n of t.addedNodes||[])if(n.nodeType===1){R.delete(n);for(let a of n.querySelectorAll("*"))R.delete(a)}}}function Ft(e){let t=D;return!M&&typeof MutationObserver=="function"&&(M=new MutationObserver(Te),M.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),M&&Te(M.takeRecords()),D=!!M&&e.getRootNode()===document,t}function Ht(e){D=e}function _e(e){let t=R.get(e);return t||R.set(e,t={attrs:new Map,hasText:!1,text:""}),t}function zt(e,t){if(!D)return e.getAttribute(t);let r=_e(e);return r.attrs.has(t)||r.attrs.set(t,e.getAttribute(t)),r.attrs.get(t)}function qt(e){if(!D)return e.textContent;let t=_e(e);return t.hasText||(t.text=e.textContent,t.hasText=!0),t.text}function Ce(e){return(e.getAttribute("type")||"text").toLowerCase()}function oe(e){let t=e.tagName;if(t==="INPUT"){let r=Ce(e);r==="checkbox"||r==="radio"?e.checked?e.setAttribute("checked",""):e.removeAttribute("checked"):e.setAttribute("value",e.value);return}if(t==="TEXTAREA"){e.setAttribute("data-value",e.value);return}if(t==="SELECT"){let r=e.options;for(let n=0;n<r.length;n++)r[n].selected?r[n].setAttribute("selected",""):r[n].removeAttribute("selected")}}function Ut(e,t=e){let r=e.tagName;if(r==="INPUT"){let n=Ce(e);n==="checkbox"||n==="radio"?t.checked?e.hasAttribute("checked")||e.setAttribute("checked",""):e.removeAttribute("checked"):t.value!==(e.getAttribute("value")??"")&&e.setAttribute("value",t.value);return}if(r==="TEXTAREA"){let n=t.value.startsWith(`
5
- `)?`
6
- `+t.value:t.value;e.textContent!==n&&(e.textContent=n),e.removeAttribute("data-value");return}if(r==="SELECT"){let n=e.options,a=t.options;for(let s=0;s<n.length;s++)a[s]&&a[s].selected?n[s].hasAttribute("selected")||n[s].setAttribute("selected",""):n[s].removeAttribute("selected")}}function Re(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function E(e){if(typeof window>"u")return null;let t=window.clay,r=window.hyperclay;return e==="consent"?t?.confirm||r?.consent||null:t?.[e]||r?.[e]||null}function Gt(){let e=E("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var Me=["clay:mutation-ready","hyperclay:mutation-ready"],Yt=["clay:sync-applied","hyperclay:livesync-applied"],Xt=["clay:ready","hyperclay:ready"],Vt=["clay:route"],Kt=["clay:modechange"];function J(e,t,r){let n=null,a=s=>{n!==null&&n!==s.type||(n=s.type,queueMicrotask(()=>{n=null}),r(s))};for(let s of t)e.addEventListener(s,a);return()=>{for(let s of t)e.removeEventListener(s,a)}}function Jt(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function Pe(e){let t=E("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function We(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function ie(e,{transient:t=!1}={}){if(t)return!0;let r=We();return typeof r?.canWrite!="function"||E("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:r.canWrite()}function Qt(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let r=E("undo");r&&r.flush&&r.flush();let n=t();if(n&&typeof n.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return r&&r.commitCaptured&&r.commitCaptured(e),n}function Zt(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let b=!1;for(let y of e.apps())y.root.isConnected?e.runNow(y,"platform"):b=!0;b&&e.pruneDisconnected(),e.remountIfPresent()},r=E("derived"),n=r&&typeof r.register=="function"?r.register(t):null,a=typeof n=="function"?null:J(document,Yt,t),s=J(document,Vt,t),i=null,f=!1,c=()=>{let b=i;i=null,b&&(b[2](),b[3]())},u=()=>{if(f)return!1;let b=E("undo"),y=We()?.state?.generation;if(i&&i[0]===b&&i[1]===y)return!0;if(c(),!b||typeof b.on!="function")return!1;let k=b.on("undo",t);if(typeof k!="function")return!1;let x=b.on("redo",t);return typeof x!="function"?(k(),!1):(i=[b,y,k,x],!0)};u();let l=[Me,Xt,Kt].map(b=>J(document,b,u)),d=E("ready");return d&&typeof d.then=="function"&&d.then(u,()=>{}),()=>{f=!0,typeof n=="function"&&n(),a&&a(),s();for(let b of l)b();c()}}function je(e){let t=e.tagName;if(t==="INPUT"){let r=(e.getAttribute("type")||"text").toLowerCase();return r==="checkbox"?"checkbox":r==="radio"?"radio":r==="number"||r==="range"?"number":r==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function en(e){if(e.validity&&e.validity.badInput)return e.hasAttribute("value")?Number(e.getAttribute("value"))||0:e._sapLastGood??0;if(e.value==="")return 0;let t=Number(e.value);return Number.isNaN(t)?e._sapLastGood??0:(e._sapLastGood=t,t)}function Oe(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return en(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(r=>r.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function tn(e,t,r){switch(t){case"checkbox":e.checked=!!r;break;case"radio":e.checked=String(e.value)===String(r);break;case"number":case"text":case"hidden":e.value=r==null?"":String(r);break;case"select-one":e.value=r==null?"":String(r);break;case"select-multiple":{let n=new Set((Array.isArray(r)?r:[r]).map(String));for(let a of e.options)a.selected=n.has(a.value);break}case"leaf":e.textContent=r==null?"":String(r);break;default:e.value=r==null?"":String(r)}}function De(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}Pe(e)||oe(e)}function nn(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function rn(e,t){return Oe(e,t)}function an(e){let t=je(e);return{el:e,kind:t,read(){return Oe(e,t)},write(r,n={}){tn(e,t,r),n.noMirror||De(e),n.silent||nn(e)},mirror(){De(e)}}}var _=null,Q=!1,P=null;function Be(e){let t=null;return{kind:"hub",subscribe(r){let n=e.onAnyChange({debounce:0,require:"observed"},r);typeof n=="function"&&(t=n)},suppress(r){e.pause();try{return r()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function on(){let e=null;return{kind:"native",subscribe(t){e=new MutationObserver(n=>t(ln(n)));let r=typeof document<"u"&&document.body||typeof document<"u"&&document.documentElement;r&&e.observe(r,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(t){let r=E("undo");r&&r.pause&&r.pause();try{return t()}finally{e&&e.takeRecords(),r&&r.resume&&r.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function ln(e){let t=[];for(let r of e)if(r.type==="attributes"){let n=r.target;n&&n.nodeType===1&&!Z(n)&&t.push({type:"attribute",element:n})}else if(r.type==="characterData"){let n=r.target&&r.target.parentElement;n&&!Z(n)&&t.push({type:"characterData",element:n})}else if(r.type==="childList"){for(let n of r.addedNodes)if(!(n.nodeType!==1||Z(n))&&(t.push({type:"add",element:n}),n.querySelectorAll))for(let a of n.querySelectorAll("*"))Z(a)||t.push({type:"add",element:a});for(let n of r.removedNodes)n.nodeType===1&&t.push({type:"remove",element:n,parent:r.target})}return t}function Z(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function sn(e,t){e.pruneDisconnected();let r=new Set,n=!1;for(let a of t){let s=a.type==="remove"?a.parent:a.element,i=s&&e.appFor(s);i&&r.add(i),a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(n=!0)}n&&e.remountIfPresent();for(let a of r)a.root.isConnected&&e.schedule(a,"mutation")}function un(e){if(_)return _.suppress(e);let t=E("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function le(e,t){Q=!0,_=e,e.subscribe(r=>sn(t,r))}function Ie(e){if(Q||typeof window>"u"||typeof document>"u")return;let t=E("Mutation");if(t&&typeof t.onAnyChange=="function"){le(Be(t),e);return}typeof MutationObserver=="function"&&(le(on(),e),P=J(document,Me,function(){let r=E("Mutation");r&&(P(),P=null,_&&_.teardown(),Q=!1,le(Be(r),e))}))}function Fe(){if(_)try{_.teardown()}catch{}P&&typeof document<"u"&&P(),_=null,Q=!1,P=null}var cn=new Set(ne),C=[],He={},ze={};function fn(e){C.includes(e)||(C.push(e),e.boundary&&Object.assign(He,e.boundary),e.paintKinds&&Object.assign(ze,e.paintKinds))}function qe(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),U(e.root,"loop");return}t.full&&(Pt(),It());let r=Wt(e.root);try{un(()=>dn(e,t))}finally{jt(r)}e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function dn(e,t){let r=e.root,n={},a=[],s=[],i=new Set;e.diag.errors=[];let f={root:n,state:n,item:null,ownerEl:r,projection:!1};function c(o,p,m=!1){let h=p.attr||p.name,v=m?zt(o,h):o.getAttribute(h);return v==null&&(v=Ae(p),s.push({el:o,name:p.name,attr:h,value:wt(re(v,p.type),p.type)})),re(v,p.type)}function u(o,p,m,h){let v=p.decls;if(!v)return;let N=!!h.item&&!h.projection&&!h.view;for(let A of v){if(A.transient){m[A.name]=Et(o,A);continue}if(At(o,A)){m[A.name]=o.hasAttribute(A.attr);continue}m[A.name]=c(o,A,N)}}function l(o,p,m){let h=p.bind,v=m.item||m.state,N=je(o);N==="radio"?(h in v||(v[h]=""),o.checked&&(v[h]=o.value)):N==="leaf"&&m.item&&!m.projection&&!m.view?v[h]=qt(o):v[h]=rn(o,N),p.transient&&(o.removeAttribute("value"),o.removeAttribute("checked"))}function d(o,p,m){if(p.paints)for(let h of p.paints)h.kind==="when"&&i.add(h.field),a.push({def:h,el:o,ctx:m});for(let h of C)h.collect&&h.collect(S,o,p,m)}function b(o,p,m){Object.defineProperty(o,"$key",{value:gt(p,"row"),enumerable:!1}),Object.defineProperty(o,"$index",{value:m,enumerable:!1}),Object.defineProperty(o,"$el",{value:p,enumerable:!1})}function y(o,p,m){let h=ae(o);u(o,h,p,m),o._sapScope=p,!m.projection&&h.bind!=null&&l(o,h,m),d(o,h,m),h.items?H(o,p,m):k(o,p,m)}function k(o,p,m){for(let h=o.firstElementChild;h;h=h.nextElementSibling)x(h,p,m)}function x(o,p,m){let h=ae(o);if(!h.inert){if(h.boundary){h.boundary==="scope"?F(o,p,m):h.boundary==="items"?(d(o,h,m),H(o,p,m)):He[h.boundary](S,o,h,p,m);return}!m.projection&&!m.view&&h.bind!=null&&l(o,h,m),d(o,h,m);for(let v=o.firstElementChild;v;v=v.nextElementSibling)x(v,p,m)}}function F(o,p,m){let h=o.getAttribute("scope"),v={};p[h]=v;let N={root:m.root,state:v,item:null,ownerEl:o,projection:m.projection};y(o,v,N)}function H(o,p,m){let h=o.getAttribute("items"),v=[];p[h]=v,o._sapList=v;let N=0;for(let A=o.firstElementChild;A;A=A.nextElementSibling){let tt=ae(A);if(!tt.item||tt.template||A.hasAttribute("cms-template"))continue;let ee={};b(ee,A,N);let Dn={root:m.root,state:m.state,item:ee,ownerEl:A,projection:m.projection};y(A,ee,Dn),v.push(ee),N++}}let S={app:e,root:r,rootObj:n,paints:a,stats:{calcs:0,lists:0},resolveDefault:c,collectEl:d,walkScope:k};for(let o of C)o.begin&&o.begin(S);let z=t.cacheReads===!1?null:Ft(r);try{y(r,n,f)}finally{t.cacheReads!==!1&&Ht(z)}if(e.halted)return;for(let o of C)o.afterIntake&&o.afterIntake(S);if(s.length&&i.size)for(let o of s)i.has(o.attr)&&o.el.getAttribute(o.attr)==null&&o.el.setAttribute(o.attr,o.value);for(let o of C)o.compute&&o.compute(S);let q=0;for(let o of C)o.reconcile&&(q+=o.reconcile(S));let w=0,g=q;for(let o of a){let p=mn(o,e);o.ctx.view?g+=p:w+=p}for(let o of C)o.afterPaint&&o.afterPaint(S);e._state=n,e._stats={fields:Object.keys(n).filter(o=>typeof n[o]!="function").length,calcs:S.stats.calcs,paints:a.length,lists:S.stats.lists,writes:w,viewWrites:g},e._viewsChanged=g>0,e._lastPass={trigger:t.trigger||"refresh",writes:w},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${w}/${a.length}`)}function pn(e){return e.kind==="text"?e.fmt?"text:"+e.fmt:"text":e.kind==="attr"?"attr:"+e.arg:e.kind==="class"?"class:"+e.arg:e.kind==="css"?"css:"+e.arg:e.kind==="when"?(e.match==="hide"?"hide-when:":e.match==="show-not"?"option-not:":"show-when:")+e.field:e.kind}function se(e,t,r,n){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let s=r.includes(a.getAttribute(t));if(n?!s:s)return!0}a=a.parentElement}return!1}function mn(e,t){let r=e.def,n=e.el,a=ze[r.kind];if(a)return a(e,t);if(r.kind==="when")return Ue(r,n,null);try{let s=Mt(r.entry,e.ctx.state,e.ctx.item,n,e.ctx.root),i=Ue(r,n,s);return dt(n),i}catch(s){return t.diag.error(s.sapCode==="E22"?"E22":"E24",n,{attr:pn(r),expr:r.entry&&r.entry.src,problem:String(s.message)}),U(n,s.sapCode||"E24"),0}}function Ue(e,t,r){switch(e.kind){case"text":{let n=e.fmt!=null?_t(e.fmt,r):r==null?"":String(r);return t.textContent!==n?(t.textContent=n,1):0}case"show":{let n=!r;return t.hidden!==n?(t.hidden=n,1):0}case"when":{let n=E("optionVisibility");if(n&&n._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;let a;e.match==="hide"?a=!se(t,e.field,e.values,!1):e.match==="show-not"?a=se(t,e.field,e.values,!0):a=se(t,e.field,e.values,!1),t._sapWhen=!0;let s=!a;return t.hidden!==s?(t.hidden=s,1):0}case"attr":{let n=e.arg;if((n==="checked"||n==="selected")&&typeof t[n]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let s=0;return t[n]!==!!r&&(t[n]=!!r,s=1),!!r!==t.hasAttribute(n)&&(r?t.setAttribute(n,""):t.removeAttribute(n),s=1),s}if(cn.has(n)){let s=t.hasAttribute(n);return r&&!s?(t.setAttribute(n,""),1):!r&&s?(t.removeAttribute(n),1):0}let a=typeof r=="boolean"?String(r):r==null?"":String(r);return t.getAttribute(n)!==a?(t.setAttribute(n,a),1):0}case"class":{let n=!!r;return t.classList.contains(e.arg)!==n?(t.classList.toggle(e.arg,n),1):0}case"css":{let n=r==null?"":String(r);return t.style.getPropertyValue("--"+e.arg)!==n?(t.style.setProperty("--"+e.arg,n),1):0}default:return 0}}var hn=new Set(ne),Ge=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),bn=new Set(["show-when","hide-when","option","option-not"]),gn=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,Ye=new Set(["sap","scope","items","item","template","bind","show","effect","invalid","detail","state","transient","confirm","default","persist","sortable","trigger-add","trigger-remove","trigger-reset","sap-ignore","sap-error","no-save","no-watch","no-undo","no-trigger-autosave","freeze","mutations-ignore","save-remove","save-ignore","save-freeze"]),ue=[];function yn(e){ue.includes(e)||ue.push(e)}function vn(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function ce(e){return e.hasAttribute("bind")}function wn(e,t){t(e);for(let n=e.firstElementChild;n;n=n.nextElementSibling)r(n);function r(n){if(!n.hasAttribute("sap-ignore")){if(n.tagName==="TEMPLATE"){if(n.hasAttribute("items"))for(let a=n.content.firstElementChild;a;a=a.nextElementSibling)r(a);return}t(n);for(let a=n.firstElementChild;a;a=a.nextElementSibling)r(a)}}}function An(e,t){let r=!1,n=(i,f,c)=>{t.error(i,f,c),r=!0},a=e.ownerDocument.createTreeWalker(e,4),s;for(;s=a.nextNode();)if(/\{\{.*\}\}/.test(s.nodeValue||"")){n("E02",s.parentElement||e,{problem:"moustaches in text content are not a Sap feature",fix:'move the expression onto the element: text="state.x"'});break}return wn(e,i=>{let f=new Set;for(let u of ue)u(i,n,l=>f.add(l));let c=i.closest&&i.closest("[detail]");for(let u of[...i.attributes]){let l=u.name;if(f.has(l))continue;if(l.includes(":")){let b=l.slice(0,l.indexOf(":"));if(Ge.has(b)){if(bn.has(b)&&gn.test(u.value)){let y=l.slice(l.indexOf(":")+1);t.warn("W04",i,{attr:l,expr:u.value,problem:`${b}: compares the "${y}" attribute against a literal value, not a JS expression`,fix:`use show="${u.value}" for an expression, or a literal like ${b}:${y}="overview"`})}}else{let y=be(b,[...Ge]);t.warn("W03",i,{attr:l,problem:`unknown "${b}:" attribute`,didYouMean:y?`${y}:`:null})}}else if(!Ye.has(l)&&!he.has(l)&&!hn.has(l)&&!/^(data-|aria-|on)/.test(l)&&!(l in i)){let b=be(l,[...Ye]);b&&t.warn("W03",i,{attr:l,problem:`unknown "${l}" attribute`,didYouMean:b})}l==="attr:hidden"&&t.warn("W03",i,{attr:l,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let d=ce(i)||l==="attr:selected"&&i.tagName==="OPTION"&&!!i.closest("select[bind]");(l==="attr:value"||l==="attr:checked"||l==="attr:selected")&&d&&n("E30",i,{attr:l,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),l==="effect"&&ce(i)&&/\b(value|checked)\s*=[^=]/.test(u.value)&&n("E30",i,{attr:l,expr:u.value,problem:"effect writes value/checked on a bound control (writes a stale value with no synthetic event)",fix:"write through onclick + Sap(this) instead"}),(l==="text"||l.startsWith("text:")||l==="show")&&vn(i)&&(l==="show"||n("E18",i,{attr:l,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(i.hasAttribute("state")){let u=ve(i.getAttribute("state")),l=new Set;for(let d of u){d.name.includes("-")&&n("E08",i,{attr:"state",problem:`field "${d.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${d.name.replace(/-/g,"")}`}),l.has(d.name)&&n("E04",i,{attr:"state",problem:`field "${d.name}" is declared twice in one scope`}),l.add(d.name),ut.has(d.attr)&&n("E05",i,{attr:"state",problem:`"${d.name}" is a reserved Sap word`}),he.has(d.attr)&&n("E06",i,{attr:"state",problem:`"${d.name}" is a global HTML attribute name; pick another field name`}),d.name==="open"&&i.tagName==="DIALOG"&&n("E33",i,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let b=we(i,d.attr);b&&(d.attr==="checked"||d.attr==="selected")&&n("E35",i,{attr:"state",problem:`"${d.attr}" on a form control is the control's own state, not a declared field`,fix:'bind the control instead, e.g. <input type="checkbox" bind="done">'}),b&&d.type==="num"&&n("E35",i,{attr:"state",problem:`"${d.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${d.attr}"`}),d.transient&&(b||d.type==="presence")&&n("E35",i,{attr:"state",problem:`"${d.name}" is carried by attribute presence, which transient would strip`,fix:"declare a separate name:bool:transient field and paint the attribute from it"})}}if(ce(i)){if(i.hasAttribute("-"),i.tagName==="INPUT"){let u=(i.getAttribute("type")||"text").toLowerCase();u==="file"&&n("E32",i,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),u==="password"&&!i.hasAttribute("transient")&&n("E31",i,{attr:"bind",problem:"a password must never serialize into a world-readable file",fix:"add transient to the password input"})}else if(i.tagName!=="SELECT"&&i.tagName!=="TEXTAREA"){let u=i.getAttribute("contenteditable");!(u!=null&&u!=="false")&&i.children.length>0&&n("E20",i,{attr:"bind",problem:"bind on a container element is not a control; a write would overwrite its children",fix:"bind a control (input/select/textarea), a contenteditable, or an empty text leaf"})}}if(i.hasAttribute("transient")&&i.hasAttribute("persist")&&n("E34",i,{problem:"transient and persist are opposite: persist forces the live value into the saved bytes, leaking exactly what transient drops",fix:"remove one \u2014 transient to keep it out of the file, or persist to save it"}),i.tagName==="DIALOG"&&i.hasAttribute("detail")&&!(i.parentElement&&i.parentElement.closest('[clay~="freeze"], [freeze], [save-freeze]'))&&t.warn("W31",i,{attr:"detail",problem:"a detail dialog writes open when it opens, and that attribute would be saved into the file",fix:'wrap the dialog in an element with clay="freeze" (not editor-ui, which removes it from the file), and make its key field transient'}),i.hasAttribute("item")&&!i.hasAttribute("template")&&i.parentNode&&i.parentNode.nodeType===1){let u=i.parentElement;(!u||!u.hasAttribute("items"))&&n("E10",i,{problem:"an [item] must be a direct child of an [items] list",fix:'wrap it in a container with items="name"'})}if(i.hasAttribute("items")&&c&&n("E17",i,{attr:"items",problem:"nested items inside a detail panel is a v1 mount error (nested collections ship in v1.1)"}),i.hasAttribute("items")){let u=e.querySelector(`[trigger-add="${i.getAttribute("items")}"]`);!vt(i)&&!ye(e,i.getAttribute("items"))&&yt(i).length===0&&u&&n("E17",i,{attr:"items",problem:`trigger-add targets items="${i.getAttribute("items")}" but it has no [item template] to clone`})}}),r&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",U(e,t.haltReason)),!r}var Xe="sap-styles",Ve="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",fe=new WeakSet;function En(e){if(fe.has(e))return;let t=e.defaultView,r=t&&t.CSSStyleSheet;if(r&&"adoptedStyleSheets"in e)try{let n=new r;n.replaceSync(Ve),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],fe.add(e);return}catch{}if(!e.getElementById(Xe)){let n=e.createElement("style");n.id=Xe,n.textContent=Ve,(e.head||e.documentElement).appendChild(n)}fe.add(e)}var kn=0;function Ke(){return typeof performance<"u"&&performance.now?performance.now():0}function Je(e){let t=e.id||e.getAttribute("sap")||`app-${kn++}`,r=new ft(t),n={root:e,name:t,diag:r,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!An(e,r))return n.halted=!0,n;En(e.ownerDocument);for(let s of e.querySelectorAll("textarea[data-value]"))Re(s);let a=Ke();return qe(n,{trigger:"mount",full:!0}),n._mountMs=Ke()-a,n._mountWrites=n._stats?n._stats.writes:0,n._mountWrites>0&&!Gt()&&!E("derived")&&r.warn("W30",e,{problem:`${n._mountWrites} paint(s) ran at mount; the saved file was out of sync with its declared state`,fix:"re-save once so the file mounts clean (a settled file writes nothing)"}),n}var Qe=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function xn(e){return`${e.tagName.toLowerCase()}[sap]`}function Sn(e){let t=0;for(let r of e.querySelectorAll("*"))for(let n of r.attributes)if(Qe.test(n.name)){t++;break}for(let r of e.attributes)if(Qe.test(r.name)){t++;break}return t}function Nn(e){function t(f){let c=f._stats||{},u=f.root;return{root:xn(u),fields:c.fields||0,calcs:c.calcs||0,paints:c.paints||0,actions:Sn(u),lists:(u.hasAttribute("items")?1:0)+u.querySelectorAll("[items]").length,rows:u.querySelectorAll("[item]:not([template])").length,warnings:f.diag.warnings.length,errors:f.diag.errors.length,mountWrites:f._mountWrites||0,ms:Math.round((f._mountMs||0)*10)/10,passes:f._passes||0,lastPass:f._lastPass||null,ok:f.diag.errors.length===0&&!f.halted}}function r(){let f=e.apps().map(t);return{ok:f.every(c=>c.ok),apps:f}}function n(f){let c=t(f);return c.ok?`sap \u2713 ${c.root} \xB7 fields ${c.fields} \xB7 calcs ${c.calcs} \xB7 paints ${c.paints} \xB7 actions ${c.actions} \xB7 lists ${c.lists} \xB7 rows ${c.rows} \xB7 warnings ${c.warnings} \xB7 mount writes ${c.mountWrites} \xB7 ${c.ms}ms`:`sap \u2717 ${c.root} \xB7 errors ${c.errors} \xB7 warnings ${c.warnings} \xB7 ${c.ms}ms`}function a(){for(let f of e.apps()){let c=n(f);f.diag.errors.length||f.halted?console.error(c):console.log(c)}}function s(){let f=[],c=[];for(let u of e.apps())f.push(...u.diag.errors),c.push(...u.diag.warnings);return{ok:f.length===0,errors:f,warnings:c,counts:{errors:f.length,warnings:c.length}}}function i(f){let c=f===void 0?!0:!!f;for(let u of e.apps())u._debug=c;return console.log(`sap debug ${c?"on":"off"} \u2014 per-pass headers will ${c?"":"no longer "}log`),c}return{status:r,report:s,debug:i,greenLine:n,printGreenLines:a,REGISTRY:me}}var $n="0.6.0";function Ln({createAccessor:e,installInput:t,debugExtras:r}){let n=new Map,a=[],s=st(qe);function i(g){let o=g;for(;o;){if(o.nodeType===1&&o.hasAttribute&&o.hasAttribute("sap"))return n.get(o)||null;o=o.parentNode&&o.parentNode.host?o.parentNode.host:o.parentElement}return null}function f(){for(let g=a.length-1;g>=0;g--){let o=a[g];o.root.isConnected||(n.delete(o.root),a.splice(g,1))}}function c(g,o){if(g.moveBefore)try{g.moveBefore(o,null);return}catch{}g.appendChild(o)}function u(g,o){let p=o.parentElement;if(p){if(p.moveBefore)try{p.moveBefore(g,o);return}catch{}p.insertBefore(g,o)}}let l={apps:()=>a.slice(),appFor:i,isRegistered:g=>n.has(g),pruneDisconnected:f,schedule:(g,o)=>s.schedule(g,o),runNow:(g,o)=>s.runNow(g,o),moveInto:c,placeBefore:u,remountIfPresent:()=>z()},d=e(l),b=Nn(l),y=r?r(l,b):{},k=!1,x=!1,F=null;function H(){k||(k=!0,t(l,d,document),F=Zt(l))}function S(){let g=E("derived");g&&typeof g.mounted=="function"&&g.mounted()}function z(g=document){if(x)return[];H(),Ie(l);let o=g.querySelectorAll("[sap]"),p=[];for(let m of o){if(n.has(m))continue;let h=Je(m);n.set(m,h),a.push(h),p.push(h)}for(let m of p){let h=b.greenLine(m);m.diag.errors.length||m.halted?console.error(h):console.log(h)}return S(),p}function q(g){if(x)return null;if(H(),Ie(l),!g)return z();let o=typeof g=="string"?document.querySelector(g):g;if(!o)return null;if(n.has(o))return n.get(o);let p=Je(o);n.set(o,p),a.push(p);let m=b.greenLine(p);return p.diag.errors.length||p.halted?console.error(m):console.log(m),p}let w=d.Sap;return w.version=$n,w.refresh=function(){for(let g of a)g.root.isConnected&&s.runNow(g,"refresh")},w.batch=Qt,w.status=b.status,w.report=b.report,w.why=y.why,w.debug=b.debug,w.doctor=y.doctor,w.greenLine=b.greenLine,w.formats=Y,w.serializeControlToAttributes=oe,w.finalizeControlForSave=Ut,w.rehydrateControlFromAttributes=Re,w.mount=q,w.config=function(g={}){return g.formats&&Object.assign(Y,g.formats),w},w._registry=n,w._reset=function(){n.clear(),a.length=0,Fe()},w.unmount=function(){x=!0,n.clear(),a.length=0,Fe(),typeof F=="function"&&F()},{Sap:w,mountAll:z,mount:q,runtime:l}}function Tn(e){if(typeof document>"u")return;let t=()=>Jt(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function _n(e){let t=[];function r(c){let u=c.target;if(!u||u.nodeType!==1)return;let l=e.appFor(u);if(l){u.hasAttribute("persist")&&!Pe(u)&&ie(u)&&oe(u);for(let d of t)if(d(u,l))return;e.schedule(l,c.type+" "+(u.id||u.tagName.toLowerCase()))}}function n(c){let u=c.target,l=e.appFor(u);l&&[...u.querySelectorAll("[bind]")].every(d=>ie(d))&&setTimeout(()=>{u.querySelectorAll("[bind]").forEach(d=>{d.dispatchEvent(new Event("input",{bubbles:!0})),d.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(l,"reset")},0)}function a(c){let u=e.appFor(c.target);u&&e.schedule(u,"toggle")}function s(c){let u=c.detail||{};for(let l of[u.from,u.to,c.target]){if(!l||l.nodeType!==1)continue;let d=e.appFor(l);d&&e.schedule(d,"sorted")}}function i(c){if(c.key!=="ArrowUp"&&c.key!=="ArrowDown")return;let u=c.target;if(!u||u.nodeType!==1||u.tagName!=="INPUT"||!u.hasAttribute("bind")||!u.hasAttribute("step"))return;let l=(u.getAttribute("type")||"text").toLowerCase();if(l!=="text"&&l!=="tel"&&l!=="search"||!e.appFor(u)||!ie(u))return;c.preventDefault();let d=$(u.getAttribute("step"))||1,b=c.key==="ArrowUp"?1:-1,y=$(u.value)+d*(c.shiftKey?10:1)*b,k=u.getAttribute("min"),x=u.getAttribute("max");k!==null&&k!==""&&y<$(k)&&(y=$(k)),x!==null&&x!==""&&y>$(x)&&(y=$(x)),an(u).write(String(Number(y.toFixed(2))))}function f(c=document){c.addEventListener("reset",n),c.addEventListener("toggle",a,!0),c.addEventListener("input",r),c.addEventListener("change",r),c.addEventListener("clay:sorted",s),c.addEventListener("keydown",i)}return{install:f,addRouter:c=>t.push(c)}}var B="https://clayjs.com/v1/sap.js",Cn=/^(calc|set|move|sort):/,Rn=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function de(e){return Cn.test(e)||Rn.has(e)}yn((e,t)=>{for(let r of e.attributes)de(r.name)&&t("E50",e,{attr:r.name,expr:r.value,problem:`${r.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${B}; the markup stays as it is`})});function W(e,t,r){e.app.diag.error("E50",t,{attr:r,problem:`${r} is full sapjs; the sapjs core only paints declared state`,fix:`load ${B}; the markup stays as it is`}),U(t,"E50"),e.app.halted=!0}fn({name:"core-only",collect(e,t,r){r.calcs&&W(e,t,"calc:"+r.calcs[0].name),r.effects&&W(e,t,"effect"),r.invalids&&W(e,t,"invalid");for(let n of t.attributes)de(n.name)&&(n.name.startsWith("calc:")&&r.calcs||n.name==="effect"&&r.effects||n.name==="invalid"&&r.invalids||W(e,t,n.name))},boundary:{each(e,t){W(e,t,"each")},detail(e,t){W(e,t,"detail")}}});function Mn(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${B}`)}}}var Ze=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${B}`),null),{Sap:I,mountAll:et,mount:Pn,runtime:Wn}=Ln({createAccessor:Mn,debugExtras:()=>({why:Ze("why"),doctor:Ze("doctor")}),installInput(e,t,r){_n(e).install(r)}});I.core=!0;var jn=typeof window<"u"&&window.Sap&&!window.Sap.core;jn?I.unmount():Tn(et),typeof window<"u"&&!window.Sap&&(window.Sap=I);var On=I;return lt(pe)})(),In=Bn.default;export{In as default};
File without changes