@panphora/clayjs 1.17.0 → 1.18.1

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-26C55578.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
@@ -0,0 +1,20 @@
1
+ import{b as Je,c as Ze}from"../c-Y6F2FORL.js";import{b as Ke}from"../c-L7JL5TL3.js";import{a as Xe,b as Ye,c as Ge,d as Qe}from"../c-MTQHWQC3.js";import{b as Ve,f as Fe,h as Ee}from"../c-3O7OBDCM.js";import{d as qe}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as ie,f as _e,h as ze,j as J}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Gt=Object.defineProperty,Qt=(e,t)=>{for(var r in t)Gt(e,r,{get:t[r],enumerable:!0})},gt=["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"],er=new Set(gt),tr=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),vt=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),et=new Set(["checked","selected","disabled","readOnly","paused"]);function rr(e,t){return t==null?et.has(e)?!1:"":et.has(e)?t==="false"?!1:!!t:t}var P={};Qt(P,{EmptyListInsert:()=>G,MAX_RULE_DEPTH:()=>pe,MaxRuleDepthExceeded:()=>Re,NoRulesTag:()=>lr,RuleTargetReadOnly:()=>At,RulesParseError:()=>Le,ShapeMismatch:()=>bt,UnknownRulesVersion:()=>wt,WriteNotRoundTripped:()=>or,WriteRefused:()=>Et,WriteRejected:()=>ir});var Le=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},wt=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},pe=20,Re=class extends Error{constructor(e){super(`rule depth exceeded ${pe} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},bt=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},G=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}},At=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},Et=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function nr(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var or=class extends Error{constructor(e){super(`write did not round-trip at "${nr(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},lr=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},ir=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,o=-1;for(let n=0;n<e.length;n++){let l=e[n];l==="\\"?n++:r?l===r&&(r=null):l==='"'||l==="'"?r=l:l==="["||l==="("?t++:l==="]"||l===")"?t>0&&t--:l==="@"&&t===0&&(o=n)}return o}function ar(e){let t=z(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function xt(e){let t=0,r=null,o=-1,n=!1;for(let l=0;l<e.length;l++){let s=e[l];s==="\\"?l++:r?s===r&&(r=null):s==='"'||s==="'"?r=s:s==="["||s==="("?t++:s==="]"||s===")"?t>0&&t--:t===0&&s===">"?o=l:t===0&&s===","&&(n=!0)}return n||o===-1||!sr(e,o+1)?null:e.slice(0,o).trim()||null}function sr(e,t){let r=t,o=e.replace(/\s+$/,"").length;for(;r<o&&/\s/.test(e[r]);)r++;let n=0,l=null;for(;r<o;r++){let s=e[r];if(s==="\\")r++;else if(l)s===l&&(l=null);else if(s==='"'||s==="'")l=s;else if(s==="["||s==="(")n++;else if(s==="]"||s===")")n>0&&n--;else if(n===0&&(s==="+"||s==="~"||/\s/.test(s)))return!1}return!0}var ur=/^--[A-Za-z0-9_-]+$/;function Ce(e){return typeof e=="string"&&ur.test(e)}function Tt(e){let t=[],r=[],o=null,n=0;for(let l=0;l<e.length;l++){let s=e[l];if(o){s==="\\"?l++:s===o&&(o=null);continue}if(s==="/"&&e[l+1]==="*"){let i=e.indexOf("*/",l+2);l=i===-1?e.length:i+1;continue}s==='"'||s==="'"?o=s:s==="("?r.push(")"):s==="["?r.push("]"):s==="{"?r.push("}"):(s===")"||s==="]"||s==="}")&&r[r.length-1]===s?r.pop():s===";"&&r.length===0&&(t.push(e.slice(n,l)),n=l+1)}return t.push(e.slice(n)),t}function cr(e){let t="",r=null;for(let o=0;o<e.length;o++){let n=e[o];if(r){t+=n,n==="\\"&&o+1<e.length?t+=e[++o]:n===r&&(r=null);continue}if(n==="/"&&e[o+1]==="*"){let l=e.indexOf("*/",o+2);o=l===-1?e.length:l+1,t+=" ";continue}(n==='"'||n==="'")&&(r=n),t+=n}return t}function Ot(e){e=cr(e);let t=e.indexOf(":");if(t===-1)return null;let r=e.slice(0,t).trim(),o=e.slice(t+1).trim(),n=/!\s*important\s*$/i.exec(o);return n&&(o=o.slice(0,n.index).trim()),{name:r,value:o,important:!!n}}function $e(e,t){if(e==null)return null;let r=null;for(let o of Tt(String(e))){let n=Ot(o);!n||n.name!==t||(!r||n.important||!r.important)&&(r=n)}return r?r.value:null}function fr(e,t,r){let o=e==null?"":String(e),n=r==null||r==="",l=Tt(o),s=l.map(Ot),i=s.some(d=>d&&d.name===t&&d.important),a=[],u=!1;l.forEach((d,p)=>{let A=s[p];if(!A||A.name!==t){a.push(d);return}if(n||u)return;let f=/^\s*/.exec(d)[0];a.push(`${f}${t}: ${r}${i?" !important":""}`),u=!0});let c=a.join(";");if(!n&&!u){let d=c.trimEnd();c=d===""?`${t}: ${r}`:`${d}${d.endsWith(";")?" ":"; "}${t}: ${r}`}return c.trim()===""?null:c}function kt(e,t,r,o){let n=e.attr(t,"style");if(($e(n,r)??"")===o)return;let l=fr(n,r,o);l==null?e.removeAttr(t,"style"):e.attr(t,"style",l)}function ue(e,t,r,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.");return xe(e,t,r,{depth:0,path:[]},o)}function xe(e,t,r,o,n){if(o.depth>pe)throw new Re(o.path);if(typeof r=="string")return dr(e,t,r,o,n);if(Array.isArray(r)){let[l,s]=r,i=e.find(t,l,n);return St(n,o,i),i.map((a,u)=>xe(e,a,s,{depth:o.depth+1,path:[...o.path,u]},n))}if(typeof r=="object"&&r!==null){let l={};for(let[s,i]of Object.entries(r))l[s]=xe(e,t,i,{depth:o.depth+1,path:[...o.path,s]},n);return l}return null}function dr(e,t,r,o,n){if(r.endsWith("[]")){let i=r.slice(0,-2),a=e.find(t,i,n);return St(n,o,a),a.map(u=>e.text(u))}if(r.startsWith("@"))return tt(e,t,r.slice(1));let l=z(r);if(l!==-1){let i=r.slice(0,l),a=r.slice(l+1),u=i?e.find(t,i,n):[t];return u.length===0?null:tt(e,u[0],a)}if(r===".")return e.text(t);let s=e.find(t,r,n);return s.length===0?null:e.text(s[0])}function St(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(o){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,o)}}function tt(e,t,r){if(Ce(r))return $e(e.attr(t,"style"),r);if(er.has(r)){let n=e.prop(t,r);return n==null?null:String(n)}return e.attr(t,r)??null}function pr(e,t,r,o){let n=e.length,l=t.length,s=new Array(n).fill(-1);if(o){let h=new Set;for(let y=0;y<n;y++){let v=o[y];!(v>=0&&v<l)||h.has(v)||(s[y]=v,h.add(v))}}if(n===0||l===0)return s;let i=e.map(h=>rt(h,r)),a=t.map(h=>rt(h,r)),u=new Array(l).fill(!1);for(let h of s)h>=0&&(u[h]=!0);let c=new Map;a.forEach((h,y)=>{u[y]||c.set(h,c.has(h)?-1:y)});let d=new Map;i.forEach((h,y)=>{s[y]>=0||d.set(h,(d.get(h)||0)+1)}),i.forEach((h,y)=>{if(s[y]>=0||d.get(h)!==1)return;let v=c.get(h);v===void 0||v===-1||u[v]||(s[y]=v,u[v]=!0)});let p=[];for(let h=0;h<n;h++)s[h]<0&&p.push(h);let A=[];for(let h=0;h<l;h++)u[h]||A.push(h);if(p.length===0||A.length===0)return s;let f=n*l+1,m=hr(e,t,r),g=(h,y)=>m(h,y)*f+Math.abs(h-y);for(let[h,y]of mr(p,A,g))s[h]=y;return s}var Nt=e=>typeof e=="object"&&e!==null;function rt(e,t){if(!Nt(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(o=>{let n=JSON.stringify(e?.[o]);return n===void 0?" undef":n}))}function hr(e,t,r){if(!Nt(r))return(i,a)=>e[i]===t[a]?0:1;let o=Object.keys(r),n=i=>o.map(a=>JSON.stringify(i?.[a])),l=e.map(n),s=t.map(n);return(i,a)=>{let u=l[i],c=s[a],d=0;for(let p=0;p<o.length;p++)u[p]!==c[p]&&d++;return d}}function mr(e,t,r){return e.length<=t.length?nt(e,t,r,!1):nt(t,e,(o,n)=>r(n,o),!0)}function nt(e,t,r,o){let n=e.length,l=t.length,s=[];for(let d=0;d<=n;d++)s.push(new Float64Array(l+1).fill(1/0));let i=[];for(let d=0;d<=n;d++)i.push(new Uint8Array(l+1));for(let d=0;d<=l;d++)s[n][d]=0;for(let d=n-1;d>=0;d--)for(let p=l-1;p>=0;p--){let A=r(e[d],t[p])+s[d+1][p+1],f=s[d][p+1];A<=f?(s[d][p]=A,i[d][p]=1):s[d][p]=f}let a=[],u=0,c=0;for(;u<n&&c<l;)i[u][c]&&(a.push(o?[t[c],e[u]]:[e[u],t[c]]),u++),c++;return a}function Lt(e,t,r,o,n,l,s,i={}){let a=e.find(t,r,i);if(n.length===0){a.forEach(T=>e.remove(T)),Te(i,"onRowsApplied",l.path,[]);return}let u=n.length>a.length,c=a[0]||null;if(u&&!c&&(c=wr(e,t,r,i),!c))throw new G(l.path);let d=a.map(T=>vr(e,T,o,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=pr(n,d,o,yr(e,a,n,l,i)),f=a.length>0?e.parent(a[0]):xr(e,t,r,c,l,i),m=a.length>0?Rt(e,f,a[0]):0,g=kr(e,a),h=new Set,y=[],v=n.map((T,O)=>{let x=A[O];if(x>=0)return h.add(x),y.push(!1),a[x];y.push(!0);let S=e.clone(p);return e.stripIds(S),S});a.forEach((T,O)=>{h.has(O)||e.remove(T)}),g?Or(e,f,m,v,y):Sr(e,v,y,f,m),gr(e,v,o,n,l,s,i),Te(i,"onRowsApplied",l.path,v)}function Te(e,t,r,o){if(typeof e[t]=="function")try{return e[t](r.slice(),o)}catch(n){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,n);return}}function yr(e,t,r,o,n){let l=Te(n,"identifyRows",o.path,r);if(!Array.isArray(l))return null;let s=new Array(r.length).fill(-1),i=new Set,a=new Map(t.map((u,c)=>[e.identity(u),c]));for(let u=0;u<r.length;u++){if(!l[u])continue;let c=a.get(e.identity(l[u]));c===void 0||i.has(c)||(s[u]=c,i.add(c))}return s}function gr(e,t,r,o,n,l,s){t.forEach((i,a)=>{if(r===null){let u=o[a],c=u==null?"":String(u);e.text(i)!==c&&e.text(i,c)}else{let u=l(e,i,r,o[a],{depth:n.depth+1,path:[...n.path,a]},s);u&&u!==i&&(t[a]=u)}})}function vr(e,t,r,o){return r===null?e.text(t):ue(e,t,r,o.onRowsRead?{...o,onRowsRead:void 0}:o)}function Rt(e,t,r){let o=e.children(t);for(let n=0;n<o.length;n++)if(e.sameNode(o[n],r))return n;return-1}function wr(e,t,r,o){if(!o.templateAttr)return null;let n=/^\s*:scope\s*>\s*/.test(r),l=new RegExp(":not\\(\\["+o.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),s=r.replace(/^\s*:scope\s*>\s*/,"").replace(l,""),i=n?br(s):0,a=xt(s),u=t;for(;u;){let c=e.find(u,s,{includeRulesTag:!1,templateAttr:null});for(let d of c)if(e.attr(d,o.templateAttr)!=null&&!(n&&!Er(e,t,d,i))&&!(a&&!e.matches(e.parent(d),a)))return d;u=e.parent(u)}return null}function br(e){let t=0,r=null,o=1;for(let n=0;n<e.length;n++){let l=e[n];if(l==="\\")n++;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===">")o++;else{if(t===0&&(l==="+"||l==="~"))return null;if(t===0&&/\s/.test(l)){if(!Ar(e,n))return null;for(;n+1<e.length&&/\s/.test(e[n+1]);)n++}}}return o}function Ar(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let o=t>0?e[t-1]:"",n=r<e.length?e[r]:"";return ot(o)||ot(n)}function ot(e){return e===">"||e==="+"||e==="~"}function Er(e,t,r,o){if(o===null)return!0;let n=r;for(let a=0;a<o;a++)if(n=e.parent(n),!n)return!1;let l=e.prop(t,"tagName");if(!l)return!0;let s=e.prop(n,"tagName");if(!s||String(s).toLowerCase()!==String(l).toLowerCase())return!1;let i=new Set(lt(e,n));return lt(e,t).every(a=>i.has(a))}function lt(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function xr(e,t,r,o,n,l){let s=e.parent(o);if(s&&Tr(e,t,s)&&!at(e,s,l))return s;let i=xt(r);if(!i)throw new G(n.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let a=(i===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,i,l)).filter(u=>!at(e,u,l));if(a.length===0)throw new G(n.path,`no container matching "${i}" inside this context to hold the new rows`);if(a.length>1)throw new G(n.path,`"${i}" matches ${a.length} containers inside this context, so the new rows have no single destination`);return a[0]}function Tr(e,t,r){let o=r;for(;o;){if(e.sameNode(o,t))return!0;o=e.parent(o)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(n=>e.sameNode(n,r))}var it=["no-data","editor-ui"];function at(e,t,r){let o=t;for(;o;){if(r.templateAttr&&e.attr(o,r.templateAttr)!=null||it.some(l=>e.attr(o,l)!=null))return!0;let n=e.attr(o,"clay");if(n&&n.split(/\s+/).some(l=>it.includes(l)))return!0;o=e.parent(o)}return!1}function Or(e,t,r,o,n){let l=e.children(t),s=l.map(a=>e.identity(a)),i=!1;o.forEach((a,u)=>{let c=e.identity(a),d=r+u;if(s[d]===c)return;if(!n[u]){let A=s.indexOf(c);A!==-1&&(s.splice(A,1),l.splice(A,1))}let p=Math.min(d,l.length);p<l.length?e.insertBefore(l[p],a):l.length?i?e.insertAfter(l[l.length-1],a):(e.insertAt(t,a,d),i=!0):e.insertAt(t,a,0),s.splice(p,0,c),l.splice(p,0,a)})}function kr(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let o=new Map(e.children(r).map((l,s)=>[e.identity(l),s])),n=[];for(let l of t){let s=o.get(e.identity(l));if(s===void 0)return!1;n.push(s)}return n.sort((l,s)=>l-s),n[n.length-1]-n[0]===n.length-1}function Sr(e,t,r,o,n){let l=null,s=n;for(let i=0;i<t.length;i++){if(!r[i]){l=t[i];continue}let a=l?e.parent(l):o;if(!a)continue;let u=l?Rt(e,a,l)+1:s++;e.insertAt(a,t[i],u),l=t[i]}}function ce(e,t,r,o,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let l=[];if(Oe(r,o,[],l),l.length)throw new bt(l);fe(e,t,r,o,{depth:0,path:[]},n)}function fe(e,t,r,o,n,l={}){if(n.depth>pe)throw new Re(n.path);if(o===void 0)return t;if(typeof r=="string")return Nr(e,t,r,o,n,l);if(Array.isArray(r)){let[s,i]=r;return Lt(e,t,s,i,o,n,fe,l),t}if(typeof r=="object"&&r!==null){for(let[s,i]of Object.entries(r)){let a=fe(e,t,i,o==null?o:o[s],{depth:n.depth+1,path:[...n.path,s]},l);a&&a!==t&&(t=a)}return t}return t}function Nr(e,t,r,o,n,l){if(r.endsWith("[]")){let a=r.slice(0,-2);return Lt(e,t,a,null,o,n,fe,l),t}if(r.startsWith("@"))return ut(e,t,r.slice(1),o);let s=z(r);if(s!==-1){let a=r.slice(0,s),u=r.slice(s+1),c=a?e.find(t,a,l):[t];return c.length===0||ut(e,c[0],u,o),t}if(r===".")return st(e,t,o),t;let i=e.find(t,r,l);return i.length===0||st(e,i[0],o),t}function st(e,t,r){let o=r==null?"":String(r);e.text(t)!==o&&e.text(t,o)}function Lr(e,t,r,o){if(e.styleVar){e.styleVar(t,r,o);return}kt(e,t,r,o)}function ut(e,t,r,o){if(Ce(r))return Lr(e,t,r,o==null?"":String(o).trim()),t;if(vt.has(r)){let n=e.prop(t,r);if(n===o||n!=null&&o!=null&&String(n)===String(o))return t;throw new At(r)}if(r==="outerHTML"){let n=o==null?"":String(o);return e.replaceWith(t,n)}if(tr.has(r)){let n=rr(r,o);return e.prop(t,r)!==n&&e.prop(t,r,n),t}if(o==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let n=String(o);e.attr(t,r)!==n&&e.attr(t,r,n)}return t}function Oe(e,t,r,o){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((n,l)=>{typeof n=="object"&&n!==null&&o.push({path:X([...r,l]),expected:"scalar",got:Z(n)})}):o.push({path:X(r),expected:"array",got:Z(t)});return}t!==null&&typeof t=="object"&&o.push({path:X(r),expected:"scalar",got:Z(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){o.push({path:X(r),expected:"array",got:Z(t)});return}let n=e[1];t.forEach((l,s)=>Oe(n,l,[...r,s],o));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){o.push({path:X(r),expected:"object",got:Z(t)});return}for(let[n,l]of Object.entries(e))Oe(l,t[n],[...r,n],o)}}}function Z(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function X(e){return e.join(".")}function Rr(e){try{return JSON.parse(e)}catch(t){throw new Le(`Invalid strict JSON: ${t.message}`,t)}}function Ct(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(n){let l=[],s=0;for(;s<n.length;){let i=n[s];if(/\s/.test(i)){s++;continue}if("{}".includes(i)){l.push({type:i,value:i}),s++;continue}if(i==="["){let d=!1,p=s+1;for(;p<n.length&&/\s/.test(n[p]);)p++;if(p<n.length&&/[a-zA-Z_]/.test(n[p])&&(d=!0),!d){l.push({type:i,value:i}),s++;continue}}if(i==="]"){l.push({type:i,value:i}),s++;continue}if(i===":"){l.push({type:t.COLON,value:i}),s++;continue}if(i===","){l.push({type:t.COMMA,value:i}),s++;continue}if(i==='"'||i==="'"){let d=i,p=s+1;for(;p<n.length&&n[p]!==d;)n[p]==="\\"&&p++,p++;l.push({type:t.STRING,value:n.substring(s+1,p),quoted:!0,sourceQuote:d}),s=p+1;continue}let a=s,u;for(;a<n.length&&!/[{},]/.test(n[a]);)if(n[a]===":"){let d=[":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 d){let f=A.substring(1);if(n.substring(a+1,a+1+f.length)===f){p=!0,a+=f.length;break}}if(!p)break}else if(n[a]==="["){for(a++;a<n.length&&n[a]!=="]";){if(n[a]==='"'||n[a]==="'"){let d=n[a];for(a++;a<n.length&&n[a]!==d;)n[a]==="\\"&&a++,a++}a++}a<n.length&&n[a]==="]"&&a++}else a++;u=n.substring(s,a);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}),s=a}return l}function o(n){let l="";for(let s=0;s<n.length;s++){let i=n[s];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 a=n[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;l+=i.value;continue}if(i.type===t.STRING&&i.quoted){let a=i.value;i.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(u,c)=>c.length%2===0?c+'\\"':u)),l+=`"${a}"`;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 n=r(e),l=o(n);return JSON.parse(l)}catch(n){throw new Le("Invalid extraction rules syntax: "+n.message,n)}}var Cr="1",ct=/^[a-zA-Z0-9_-]+$/;function Ie(e,t,r){let o;if(r===void 0)o="script[data-rules-name]";else{if(typeof r!="string"||!ct.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${ct})`);o=`script[data-rules-name~="${r}"]`}let n=e.find(t,o,{includeRulesTag:!0});if(n.length===0)return null;r!==void 0&&n.length>1&&console.warn(`hyper-html-api: ${n.length} rules tags match data-rules-name~="${r}"; using the first.`);let l=n[0],s=e.attr(l,"data-rules-version");if(s!==Cr)throw new wt(s);return{rules:Ct(e.text(l)),tagNode:l}}var Me=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"]})}),$r=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Ir=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function de(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 $t(e,t){if(de(e,t))return!0;for(let[r,o]of Object.entries($r))if(o.includes(t)&&de(e,r))return!0;return!1}function ke(e){let t=Me[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function Mr(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let o=Me[t];if(!o)throw new Error(`Unknown region capability: ${t}`);if(o.tokens.some(n=>$t(r,n))||o.bundles.some(n=>de(r,n)))return r;r=r.parentElement}return null}function jr(e,t){return!!Mr(e,t)}var je=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",...Ir],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"]})}),Dr=new Set(["textContent","innerText"]);function Pr(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 Ur=/^[^\t\n\f\r "'>/=\u0000-\u001f\u007f]+$/;function Wr(e,t,r=je){if(!Ur.test(String(e)))return`attribute name ${JSON.stringify(String(e))} is not valid`;let o=String(e).toLowerCase();if(r.refusedAttributePrefixes.some(n=>o.startsWith(n)))return`attribute "${o}" can run script`;if(r.refusedAttributes.includes(o))return`attribute "${o}" is not content`;if(r.urlAttributes.includes(o)&&t!=null){let n=o==="srcset"?String(t).split(",").map(l=>l.trim().split(/\s+/)[0]).filter(Boolean):[String(t)];for(let l of n){let s=Pr(l);if(s&&r.refusedSchemes.includes(s))return`"${s}:" URLs are not allowed in "${o}"`}}return null}function De(e,t){let r=e.prop(t,"tagName");return r?String(r).toLowerCase():""}function Br(e,t){let r=De(e,t)||"node",o=e.attr(t,"id");return o?`<${r}#${o}>`:`<${r}>`}function Hr(e,t,r){let o=t;for(;o;){let n=De(e,o);if(n&&r.refusedTargets.includes(n))return n;o=e.parent(o)}return null}function It(e,t){return e.find(t,"script[data-rules-name]",{includeRulesTag:!0,templateAttr:null}).length>0}function qr(e,t){return De(e,t)==="script"&&e.attr(t,"data-rules-name")!=null?!0:It(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 o=0;o<e.length;o++){let n=e[o];if(r){n===r&&(r=null);continue}if(n==='"'||n==="'")r=n;else{if(n==="/"&&e[o+1]==="*")return"comments are not allowed in a custom property value";if(n==="(")t.push(")");else if(n==="[")t.push("]");else if((n===")"||n==="]")&&t.pop()!==n)return`"${n}" 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 zr(e,t=je){let r=t.customPropertyValues,o=String(e);if(o.length>r.maxLength)return`custom property values are limited to ${r.maxLength} characters`;let n=r.refusedCharacters.find(a=>o.includes(a));if(n)return`${JSON.stringify(n)} is not allowed in a custom property value`;let l=_r(o);if(l)return l;let s=o.toLowerCase(),i=r.refusedFunctions.find(a=>new RegExp(`(^|[^a-z0-9_-])${a.replace(/[-]/g,"\\-")}\\s*\\(`).test(s));return i?`"${i}()" is not allowed in a custom property value`:null}function ft(e,t=je){let r=[],o=(i,a)=>(r.push({target:Br(e,i),reason:a}),!1),n=i=>{let a=Hr(e,i,t);return a?o(i,`inside <${a}>, which is not content`):!0},l=i=>n(i)?It(e,i)?o(i,"a text write here would delete the data rules tag"):!0:!1,s=(i,a,u)=>{if(!n(i))return!1;let c=Wr(a,u,t);return c?o(i,c):!0};return{...e,text(i,a){if(a===void 0)return e.text(i);l(i)&&e.text(i,a)},attr(i,a,u){if(u===void 0)return e.attr(i,a);s(i,a,u)&&e.attr(i,a,u)},removeAttr(i,a){s(i,a,null)&&e.removeAttr(i,a)},styleVar(i,a,u){if(($e(e.attr(i,"style"),a)??"")!==u&&n(i)){if(!Ce(a))return o(i,`"${a}" is not a custom property`);if(u!==""){let c=zr(u,t);if(c)return o(i,c)}kt(e,i,a,u)}},prop(i,a,u){if(u===void 0)return e.prop(i,a);if(t.refusedRuleForms.includes(a))return o(i,`"@${a}" writes HTML, only text is allowed`);if(Dr.has(a)){l(i)&&e.prop(i,a,u);return}s(i,a==="className"?"class":a,u)&&e.prop(i,a,u)},remove(i){if(qr(e,i)){o(i,"removing this would delete the data rules tag");return}e.remove(i)},replaceWith(i,a){return a===e.prop(i,"outerHTML")||o(i,'"@outerHTML" writes HTML, only text is allowed'),i},refusals:r,assertClean(){if(r.length)throw new Et(r.slice())}}}function Y(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function dt(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:r,"")}function Vr(e,t,r,o,n={}){let l=[],s=[];function i(u,c,d){if(Array.isArray(u)){let[,p]=u;if(!Array.isArray(c)||!Y(p))return;c.forEach((A,f)=>i(p,A,[...d,f]));return}if(!(!Y(u)||!Y(c)))for(let p of Object.keys(c))Object.prototype.hasOwnProperty.call(u,p)?i(u[p],c[p],[...d,p]):l.push(dt([...d,p]))}function a(u,c,d,p){if(d!==void 0){if(typeof c=="string"){if(c.endsWith("[]")||c==="."||c.startsWith("@"))return;let A=z(c),f=A===-1?c:c.slice(0,A);if(!f)return;e.find(u,f,n).length===0&&s.push({path:dt(p),selector:f});return}if(!Array.isArray(c)&&Y(c)&&Y(d))for(let[A,f]of Object.entries(c))a(u,f,d[A],[...p,A])}}return i(r,o,[]),a(t,r,o,[]),{unknownKeys:l,unmatched:s}}function pt(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let o=t&&t.ownerDocument?t.ownerDocument:t;return Ie(e,o,r)}return null}var Fr=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Kr(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 ht(e,t,r,o){if(o)return!!e.closest?.(t);let n=e;for(;n?.nodeType===1;){if(n.matches(t))return!0;if(n===r)break;n=n.parentElement}return!1}function mt(e,t,r,o,n,l){return(l?jr(e,t):ht(e,r,n,!1))||!!(o&&(l&&e!==n?e.matches(o):ht(e,o,n,l)))}function Jr(e,t){let r=Me[t];return r.tokens.some(o=>$t(e,o))||r.bundles.some(o=>de(e,o))}var Zr=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function Mt(e,t,r,o){if(e.nodeType===1&&o(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let n=e,l=t;if(e.nodeType===1){if(Zr.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);n=e.content,l=t.content,r.cloneToLive.set(l,n),r.liveToClone.set(n,l)}}else if(e.nodeType!==11)return;let s=l.firstChild;for(let i=n.firstChild;i&&s;i=i.nextSibling)Mt(i,s,r,o),s=s.nextSibling}function ae(e,{capability:t="data",exclude:r=null,inherit:o=!0,provenance:n=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 s=l.implementation.createHTMLDocument(""),i=n||new WeakMap,a=new WeakMap,u=e.nodeType===9?e.documentElement:e;r&&s.documentElement.matches(r);let c=ke(t),d=o?f=>Jr(f,t)||!!(r&&f.matches(r)):f=>mt(f,t,c,r,u,!1),p=null;if(u.nodeType!==1||!mt(u,t,c,r,u,o)){p=s.importNode(u,!0);let f={cloneToLive:i,liveToClone:a,dropped:[],controls:[]};Mt(u,p,f,d);for(let m of f.dropped)m.remove();for(let m=0;m<f.controls.length;m+=2)Kr(f.controls[m],f.controls[m+1])}e.nodeType===9&&p&&(s.replaceChild(p,s.documentElement),a.set(e,s),i.set(s,e));let A=f=>{if(Fr.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:p,document:s,capability:t,selector:ke(t),cloneToLive:i,liveToClone:a,original(f){return i.get(f)||null},cloneOf(f){return a.get(f)||null},query(f,m=p){return A(f),Array.from(m.querySelectorAll(f),g=>i.get(g)||g)},text(f=p){return(f===p?p:a.get(f))?.textContent||""},html(f=p){return(f===p?p:a.get(f))?.innerHTML??""},clone(f=p){let m=f===p?p:a.get(f);return m?s.importNode(m,!0):null}}}function jt(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function Xr(e){return e?(e.nodeType===9||e.nodeType,e):null}function yt(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 Dt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function Pt(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 o=r.type;o!=="file"&&o!=="checkbox"&&o!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var N={semanticExclude:!0,find(e,t,r={}){let o=Xr(e);if(!o||!o.querySelectorAll)return[];let n=Array.from(o.querySelectorAll(t));r.includeRulesTag||(n=n.filter(i=>!jt(i)));let l=[];r.skip&&l.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&l.push("["+s+"]"),l.length){let i=l.join(", ");n=n.filter(a=>!a.closest||!a.closest(i))}return n},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},matches(e,t){return!!(e&&e.matches)&&e.matches(t)},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t,Dt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),yt(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),yt(e,t,null)},prop(e,t,r){if(r===void 0){let o=e?e[t]:void 0;return o!==void 0?o:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return Pt(t),t},insertAt(e,t,r){let o=e.children[r]||null;e.insertBefore(t,o)},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 o=r.content.firstElementChild;if(!o)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(o,e),o},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 W(e,t={}){if(t.exclude===null)return N;let r=[ke("data"),t.exclude].filter(Boolean).join(", "),o=e.nodeType===9?e:e.ownerDocument||e,n=e.nodeType===9?e.documentElement:e;if(!t._write&&!n?.matches?.(r)&&!n?.querySelector?.(r)&&!o?.querySelector?.(r))return N;let l=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,i=null,a=()=>i||(i=ae(l,{capability:"data",exclude:t.exclude||null})),u=f=>{let m=a();return f===e?m.cloneOf(e):m.cloneOf(f)||f},c=f=>i?.original(f)||f,d=(f,m)=>{a().liveToClone.set(f,m),a().cloneToLive.set(m,f);let g=f.childNodes||[],h=m.childNodes||[];for(let y=0;y<Math.min(g.length,h.length);y++)d(g[y],h[y])},p=(f,m,g,h)=>{let y=Array.from(f.childNodes).filter(x=>i.cloneOf(x)),v=y[0];for(;v&&y.includes(v);)v=v.nextSibling;for(let x of y)x.remove();if(g==="innerHTML"){let x=s.createElement("template");x.innerHTML=h;for(let S of Array.from(x.content.childNodes))f.insertBefore(S,v||null)}else f.insertBefore(s.createTextNode(h),v||null),Dt(f,h);let T=ae(f,{capability:"data",exclude:t.exclude||null});m.replaceChildren(...Array.from(T.root?.childNodes||[]));let O=x=>{let S=T.original(x);S&&(i.liveToClone.set(S,x),i.cloneToLive.set(x,S));for(let K of Array.from(x.childNodes||[]))O(K)};for(let x of Array.from(m.childNodes))O(x)},A={...N,find(f,m,g={}){let h=u(f);if(!h?.querySelectorAll)return[];let y=a().query(m,h);g.includeRulesTag||(y=y.filter(O=>!jt(O)));let v=[];g.skip&&v.push(g.skip);let T=g.templateAttr===null?null:g.templateAttr||"cms-template";if(T&&v.push(`[${T}]`),v.length){let O=v.join(", ");y=y.filter(x=>!x.closest?.(O))}return y},parent(f){let m=u(f)?.parentElement;return m?c(m):null},children(f){return Array.from(u(f)?.children||[],c)},text(f,m){if(m===void 0){let y=c(f);return!y?.matches?.(r)&&!y?.querySelector?.(r)?N.text(y):(u(f)?.textContent||"").trim()}let g=c(f);if(!g?.matches?.(r)&&!g?.querySelector?.(r)&&!i){N.text(g,m);return}let h=a().cloneOf(g);h?p(g,h,"textContent",m):N.text(g,m)},attr(f,m,g){let h=c(f);if(g===void 0)return N.attr(h,m);N.attr(h,m,g);let y=i?.cloneOf(h);y&&(N.attr(y,m,g),ae(h,{capability:"data",exclude:t.exclude||null}).root===null&&(y.remove(),i.liveToClone.delete(h),i.cloneToLive.delete(y)))},removeAttr(f,m){let g=c(f);N.removeAttr(g,m);let h=i?.cloneOf(g);h&&N.removeAttr(h,m)},prop(f,m,g){let h=c(f);if(g===void 0)return m==="innerHTML"||m==="outerHTML"||m==="textContent"||m==="innerText"?N.prop(u(h),m):N.prop(h,m);let y=m==="innerHTML"||m==="textContent"||m==="innerText",v=y?a().cloneOf(h):i?.cloneOf(h);v&&y?p(h,v,m,g):(N.prop(h,m,g),v&&N.prop(v,m,g))},clone(f){let m=u(f);if(m===f)return N.clone(f);let g=s.importNode(m,!0);return Pt(g),g},insertAt(f,m,g){let h=c(f),y=A.children(h)[g]||(()=>{for(let O=h.children.length-1;O>=0;O--){let x=h.children[O];if(a().cloneOf(x))return x.nextElementSibling}return h.firstElementChild})(),v=c(m);h.insertBefore(v,y||null);let T=a().cloneOf(h);if(T){let O=a().cloneOf(v);O||(O=s.importNode(v,!0),d(v,O));let x=Array.from(T.children);T.insertBefore(O,x[g]||null)}},insertBefore(f,m){let g=c(f),h=c(m);g.parentNode.insertBefore(h,g);let y=a().cloneOf(g.parentNode);if(y){let v=a().cloneOf(h);v||(v=s.importNode(h,!0),d(h,v));let T=a().cloneOf(g);T?T.before(v):y.appendChild(v)}},insertAfter(f,m){let g=c(f),h=c(m);g.parentNode.insertBefore(h,g.nextSibling);let y=a().cloneOf(g.parentNode);if(y){let v=a().cloneOf(h);v||(v=s.importNode(h,!0),d(h,v));let T=a().cloneOf(g);T?T.after(v):y.appendChild(v)}},identity(f){return c(f)||null},remove(f){let m=c(f),g=a().cloneOf(m);N.remove(m),g&&N.remove(g)},replaceWith(f,m){let g=c(f),h=a().cloneOf(g),y=N.replaceWith(g,m);if(h){let v=ae(y,{capability:"data",exclude:t.exclude||null});if(!v.root)h.remove();else{h.replaceWith(v.root);let T=O=>{let x=v.original(O);x&&(i.liveToClone.set(x,O),i.cloneToLive.set(O,x));for(let S of Array.from(O.childNodes||[]))T(S)};T(v.root)}}return y}};return A}var se=N,he={extract:(e,t,r={})=>ue(W(e,r),e,t,r),apply:(e,t,r,o={})=>ce(W(e,{...o,_write:!0}),e,t,r,o),findRulesIn:(e,t)=>Ie(se,e,t),findRules:(e,t)=>pt(se,e,t),bind:(e,t,r={})=>{let o=pt(se,e,t);if(!o){let n=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${n}`)}return{...o,get:()=>ue(W(e,r),e,o.rules,r),set:n=>ce(W(e,{...r,_write:!0}),e,o.rules,n,r)}},parseStrict:Rr,parseRelaxed:Ct,ruleAttrIndex:z,splitRule:ar,errors:P,DOM_PROPERTIES:gt},Se=e=>!!e&&typeof e.nodeType=="number";function Ut(e){let t=e&&e.ownerDocument?e.ownerDocument:e,r=Ie(se,t,"api");if(!r)throw new P.NoRulesTag("api");return r.rules}function Yr(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 Gr(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 o=t.parentNode;r.push(Array.prototype.indexOf.call(o.childNodes,t)),t=o}return r.reverse()}function en(e,t){return t.reduce((r,o)=>r.childNodes[o],e)}function _(e,t){let r=e.querySelectorAll?Array.from(e.querySelectorAll(t)):[];return e.matches?.(t)&&r.unshift(e),r}function tn(e,t){let r=_(e,"option"),o=_(t,"option");r.forEach((a,u)=>o[u].selected=a.selected);let n=_(e,"input"),l=_(t,"input");n.forEach((a,u)=>{let c=a.type.toLowerCase();c!=="file"&&(l[u].value=a.value),(c==="checkbox"||c==="radio")&&(l[u].checked=a.checked)});let s=_(e,"textarea"),i=_(t,"textarea");s.forEach((a,u)=>i[u].value=a.value)}function Ne(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 o=e.slice(r+1);if(vt.has(o))throw new P.RuleTargetReadOnly(o);return}if(Array.isArray(e)){if(!Array.isArray(t))return;t.forEach(r=>Ne(e[1],r));return}if(e&&typeof e=="object"&&t&&typeof t=="object"&&!Array.isArray(t))for(let[r,o]of Object.entries(e))Ne(o,t[r])}}function rn(e,t,r){let o={templateAttr:"cms-template"},n=Yr(e),l=Qr(n,e),s=Gr(n);tn(n,s);let i=en(s,l),a=W(s,{...o,_write:!0}),u=Vr(a,i,t,r,o);if(u.unknownKeys.length||u.unmatched.length)throw new P.WriteRejected(u.unknownKeys,u.unmatched);let c=ft(a);ce(c,i,t,r,o),c.assertClean(),Ne(t,r);let d=ft(W(n,{...o,_write:!0}));ce(d,e,t,r,o),d.assertClean()}function nn(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 Q(e,t){let r=Se(e)?e:document,o=Se(e)?t:e;return o===void 0?ue(W(r),r,Ut(r)):he.bind(r,o).get()}function ee(e,t,r){try{if(!Se(e))throw new Error("hyper-html-api: applyData(root, data, source?) needs a DOM root as the first argument.");let o=r===void 0?Ut(e):he.bind(e,r).rules;rn(e,o,t)}catch(o){throw nn(o)}return e}var qt="clay:visitor-drafts:",Wt=1;function B(e=window.location.pathname){let r=String(e||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),o=r?r[1]:"/";return o.toLowerCase()==="/index.html"?"/":o}var Ue=e=>qt+e,_t=(e,t=B())=>`${qt}${e}@${t}`;function ve(){try{return window.localStorage}catch{return null}}var j=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function on(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 ln(e,t){let r=on(t),o=e;for(let n=0;n<r.length-1;n++)if(o=o?.[r[n]],o==null||typeof o!="object")return;o&&typeof o=="object"&&delete o[r[r.length-1]]}function U(e,t){return Array.isArray(e)?Array.isArray(t)&&t.length===e.length&&e.every((r,o)=>U(r,t[o])):j(e)?j(t)&&Object.keys(e).every(r=>U(e[r],t[r])):e===t}function V(e,t){return U(e,t)&&U(t,e)}var F=e=>Array.isArray(e)&&e.every(t=>j(t)&&(typeof t.id=="string"||typeof t.id=="number"))&&new Set(e.map(t=>t.id)).size===e.length;function me(e,t,r=!1){if(j(e)&&j(t)){let o={...e};for(let n of Object.keys(t))n in e?o[n]=me(e[n],t[n]):r||(o[n]=t[n]);return o}if(F(e)&&F(t)){let o=new Map(t.map(n=>[n.id,n]));return e.map(n=>o.has(n.id)?me(n,o.get(n.id)):n)}return e}var Bt=(e,t)=>e.length===t.length&&e.every((r,o)=>r===t[o]);function an(e,t,r){let o=d=>new Map(d.map(p=>[p.id,p])),n=o(e),l=o(t),s=o(r),i=d=>d.filter(p=>n.has(p.id)&&l.has(p.id)&&s.has(p.id)).map(p=>p.id),a=i(e);if(!Bt(a,i(t))||!Bt(a,i(r)))return null;for(let[d,p]of n)if(l.has(d)&&!s.has(d)&&!V(l.get(d),p)||!l.has(d)&&s.has(d)&&!V(s.get(d),p))return null;let u=!1,c=[];for(let d of t){if(n.has(d.id)&&!s.has(d.id))continue;if(!s.has(d.id)){c.push(d);continue}let p=ye(n.get(d.id),d,s.get(d.id),!0);u||=p.conflict,c.push(p.value)}return r.forEach((d,p)=>{if(n.has(d.id)||l.has(d.id))return;let A=0;for(let f=p-1;f>=0;f--){let m=c.findIndex(g=>g.id===r[f].id);if(m!==-1){A=m+1;break}}c.splice(A,0,d)}),{value:c,conflict:u}}function ye(e,t,r,o){if(V(t,r)||V(r,e))return{value:t,conflict:!1};if(V(t,e))return{value:r,conflict:!1};if(j(t)&&j(r)){let n={},l=!1;for(let s of new Set([...Object.keys(t),...Object.keys(r)])){let i=ye(j(e)?e[s]:void 0,t[s],r[s],o);l||=i.conflict,i.value!==void 0&&(n[s]=i.value)}return{value:n,conflict:l}}if(o&&F(e)&&F(t)&&F(r)){let n=an(e,t,r);if(n)return n}return{value:t,conflict:!0}}function ge(e,t=new Map){if(Array.isArray(e)){if(F(e))for(let r of e)t.set(r.id,(t.get(r.id)||0)+1);for(let r of e)ge(r,t)}else if(j(e))for(let r of Object.values(e))ge(r,t);return t}function sn(e,t,r){let o=ye(e,t,r,!0),n=ge(t);for(let[l,s]of ge(o.value))if(s>1&&s>(n.get(l)||0))return ye(e,t,r,!1);return o}function Pe(e,t){J(!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}var Ht=e=>{try{return String(JSON.parse(e)?.savedAt??"")}catch{return""}};function zt(e,{path:t=B(),storage:r=ve()}={}){let o=Ue(e),n=_t(e,t),l=n+":legacy";try{let s=r?.getItem(n),i=r?.getItem(o);if(i==null){let d=r?.getItem(o+":ui");return d!=null&&r.getItem(n+":ui")==null&&r.getItem(n+":ui-legacy")==null&&(r.setItem(n+":ui",d),r.setItem(n+":ui-legacy","1")),"none"}let a=Ht(i),u=r.getItem(l);if(u===a)return"none";let c=r.getItem(n);if(c!==s)return"none";if(c==null||u!=null&&Ht(c)===u?r.setItem(n,i):c!==i&&(r.setItem(n+":conflict",i),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",n+":conflict")),u==null){let d=r.getItem(o+":ui");d!=null&&r.getItem(n+":ui")==null&&r.setItem(n+":ui",d)}return r.setItem(l,a),"copied"}catch{return"failed"}}function Vt({doc:e=document,storage:t=ve(),now:r=()=>new Date,path:o=B(),fallback:n=null}={}){let l=ie(e),s=_t(l,o),i=he.findRulesIn(e,"api").rules,a=null,u=null,c=null,d=!1;function p(){try{if(!t)return null;let b=t.getItem(s);return b==null&&n?t.getItem(n):b}catch{return null}}function A(b){try{let w=JSON.parse(b);if(j(w)&&w.v===Wt&&j(w.data))return w}catch{}return null}function f(){let b=p();return b==null?null:{raw:b,record:A(b)}}function m(){return Q(e,i)}function g(){let b=window.clay?.getHTML;return typeof b!="function"?m():Q(new DOMParser().parseFromString(b.call(window.clay),"text/html"),i)}function h(){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(g())}catch{return null}}function v(b,{keepSlot:w=!1}={}){let k=h().find(M=>M.startsWith(s+":unreadable:")&&t.getItem(M)===b);if(k){if(c=null,!w)try{t.removeItem(s)}catch{}return k}let L=s+":unreadable:"+r().toISOString();try{t.setItem(L,b)}catch{return c=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(c=null,!w)try{t.removeItem(s)}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",L),L}function T(b){let w=me(JSON.parse(JSON.stringify(b)),m(),!0),k=[];for(let L=0;L<4;L++){let M=e.cloneNode(!0);try{ee(M,w,i)}catch(C){let be=C?.details?.unknownKeys??C?.unknownKeys;if(Array.isArray(be)&&be.length){for(let q of be)ln(w,q);continue}let Ae=Object.keys(w).filter(q=>{try{return ee(e.cloneNode(!0),{[q]:w[q]},i),!1}catch{return!0}});if(!Ae.length)return null;for(let q of Ae)delete w[q];k.push(...Ae);continue}let le=Q(M,i),H=Object.keys(w).filter(C=>!U(w[C],le[C]));if(!H.length)return{data:w,dropped:k};for(let C of H)delete w[C];k.push(...H)}return null}function O(b){let w=v(b);return w||(a=b),u=m(),w?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}function x(){let b=f();if(!b)return u=m(),{restored:!1,hadDraft:!1};if(!b.record)return O(b.raw);let w=T(b.record.data);if(!w||!Object.keys(w.data).length)return O(b.raw);if(ee(e,w.data,i),a=b.raw,u=m(),w.dropped.length){let k=v(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 S(){if(d)return!1;try{return!U(g(),u)}catch{return!0}}function K(b){let w=s+":conflict";try{t.setItem(w,b)}catch(k){throw Pe(e,k)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",w)}function we(b){let w=p(),k=w==null?null:A(w);if(!k)return{data:b,stored:null};let L=b;if(w!==a){let M=sn(u,b,k.data);M.conflict&&K(w),L=M.value}return L=me(L,k.data),{data:L,stored:V(L,k.data)?w:null}}function ne(b){let w=T(b);if(!w||!Object.keys(w.data).length)return null;ee(e,w.data,i);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 oe(b){if(d)return null;if(c!=null&&v(c,{keepSlot:!0})===null)throw Pe(e,new Error("an earlier saved copy could not be kept aside"));let w=Q(new DOMParser().parseFromString(b,"text/html"),i),k=p();if(U(w,u)&&(k===a||k==null))return J(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:w,unchanged:!0}})),w;let{data:L,stored:M}=we(w),le=M??JSON.stringify({v:Wt,savedAt:r().toISOString(),data:L});if(!M)try{if(!t)throw new Error("no storage");t.setItem(s,le)}catch(C){throw Pe(e,C)}let H=Object.keys(w).filter(C=>!U(w[C],L[C]));return H.length&&ne(Object.fromEntries(H.map(C=>[C,L[C]]))),a=le,u=L,J(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:L}})),L}function E(){try{return oe(window.clay.getHTML()),!0}catch{return!1}}function R(){return d||!S()?!0:E()}function $(){if(d)return!1;let b=p();if(b==null||b===a||S())return!1;let w=A(b),k=w&&ne(w.data);return k?(a=b,u={...u,...k},!0):!1}function D(){d=!0,c=null,J(!1);try{t.removeItem(s)}catch{}}return{slot:l,key:s,rules:i,read:f,restore:x,write:oe,writeLive:E,flush:R,changed:S,adoptExternal:$,park:v,clear:D,snapshot:y}}function Ft(e,t){let r=`${e}:ui`,o=()=>({v:1,prompt:{},intro:{done:null},src:null}),n=o();try{let l=JSON.parse(t?.getItem(r)||"null");l&&typeof l=="object"&&l.v===1&&(n={...o(),...l})}catch{}return{get:()=>n,save(){try{t?.setItem(r,JSON.stringify(n))}catch{}},reset(){n=o();try{t?.removeItem(r)}catch{}}}}var un=/^[a-z0-9][a-z0-9-]{0,39}$/;function Kt(e,t=window.location.search){let r=e.get(),o=null;try{o=new URLSearchParams(t).get("src")}catch{}return!r.src&&o&&un.test(o)&&(r.src=o,e.save()),r.src}function Jt(e,t=window.location){let r=B(t.pathname);return`/_/download${r==="/"?"":r}?as=htmlclay${e?`&src=${encodeURIComponent(e)}`:""}`}var cn=`<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 Zt({memory:e,appName:t,link:r}){let{PROMPT_CSS:o}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let E=document.createElement("template");E.innerHTML=cn,l=E.content.firstElementChild,Ke({name:"download-prompt",content:l,css:[o],attributes:{"sap-ignore":""}})}let s=e.get();(!s.prompt||typeof s.prompt!="object")&&(s.prompt={});let i=s.prompt,a=3,u=2500,c=/^(INPUT|TEXTAREA|SELECT)$/,d="#hcp, .clay-intro, .clay-owner",p=l.querySelector("[data-hcp-link]");p.href=r,t&&(l.querySelector("[data-hcp-name]").textContent=t);let A=l.querySelector("[data-hcp=open]");function f(E,R){l.hidden=!1,l.setAttribute("data-hcp-state",E),R&&l.setAttribute("data-hcp-reason",R),A.setAttribute("aria-expanded",E==="card"?"true":"false"),(E==="card"||E==="mini")&&(i.shown=!0,e.save(),l.setAttribute("data-hcp-arrived","")),S()}function m(E){return E&&!l.contains(E)&&!E.closest(d)&&(c.test(E.tagName)||E.isContentEditable)}let g=null;function h(E){clearTimeout(g),g=setTimeout(()=>{if(i.shown||i.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let R=document.activeElement;if(m(R)){let $=R.getBoundingClientRect(),D=Math.min(360,innerWidth-32);if(innerWidth<700||$.right>innerWidth-D-32&&$.bottom>innerHeight-380)return}f("card",E)},u)}let y=[];function v(E){l.contains(E.target)||!m(E.target)||(y.indexOf(E.target)<0&&y.push(E.target),i.uses=Math.max(i.uses||0,y.length),i.shown||e.save(),y.length>=a&&h("use"))}function T(E){m(E.target)&&(l.getAttribute("data-hcp-state")==="card"&&f(i.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function O(){setTimeout(()=>{m(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let x=0;function S(){x||(x=requestAnimationFrame(()=>{x=0;let R=Ze(innerWidth-24,$=>l.contains($)||$.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==R&&l.style.setProperty("--hcp-lift",R),Je()}))}function K(){let E=window.clay&&window.clay.getHTML;if(typeof E!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let R=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=R.replace(/\.html$/,".htmlclay"),document.body.appendChild(D),D.click(),D.remove(),setTimeout(()=>URL.revokeObjectURL?.($),1e3),!0}l.addEventListener("click",E=>{let R=E.target.closest("[data-hcp]");if(R){let $=R.getAttribute("data-hcp");$==="open"?(f("card","open"),p.focus()):$==="minimize"?(f("mini"),A.focus()):$==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(f("mini"),A.focus()):(i.dismissed=!0,f("mini"),A.focus()));return}E.target.closest("[data-hcp-link]")&&(l.getAttribute("data-hcp-reason")==="error"&&(E.preventDefault(),K()),i.downloaded=!0,i.shown=!0,e.save())}),l.addEventListener("animationend",E=>{(E.animationName==="hcp-arrive"||E.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",E=>{E.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(f("mini"),A.focus())});function we(){f("card","error")}function ne(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let oe={set:f,root:l,showError:we,clearError:ne};return document.addEventListener("input",v,!0),document.addEventListener("change",v,!0),document.addEventListener("focusin",T),document.addEventListener("focusout",O),addEventListener("scroll",S,{passive:!0}),addEventListener("resize",S),document.addEventListener("transitionend",S,!0),l.addEventListener("transitionend",S),f(i.shown||i.dismissed?"mini":"tab"),!i.shown&&(i.uses||0)>=a&&h("return"),oe}var I=null,re=null,Be=Xe,He=null,Xt=Promise.resolve();function Yt(){return import("../c-ICJYHABF.js").then(e=>e.mountOwnerChip()).catch(e=>(console.warn("visitor-drafts: the owner chip did not load",e),null))}function fn(e){return e.template?import("../c-UDHIVLYH.js").then(t=>t.mountIntro(e)).catch(t=>(console.warn("visitor-drafts: the intro did not load",t),null)):Promise.resolve(null)}var te=ie(),We=document.querySelector('script[data-rules-name~="api"]');if(Ve&&te&&We){let e=B(),t=zt(te,{path:e});I=Vt({path:e,fallback:t==="failed"?Ue(te):null}),_e(a=>I.write(a));let r=I.restore();re={restored:r.restored,hadDraft:r.hadDraft,parked:!!r.parked,...r.partial&&{partial:!0},...r.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:re}));let o=Ft(I.key,ve());He=Kt(o),Be=Jt(He);let n=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",l=document.querySelector("template[visitor-intro]"),s=()=>{Xt=Zt({memory:o,appName:n,link:Be}).then(a=>fn({memory:o,template:l,appName:n,hadDraft:r.hadDraft}).then(()=>a)).then(a=>(document.addEventListener("clay:drafts-store-failed",()=>a.showError()),document.addEventListener("clay:drafts-saved",()=>a.clearError()),(Ee?Yt():Promise.resolve(null)).then(()=>a)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s,{once:!0}):s(),ze(()=>I.flush()),window.addEventListener("storage",a=>{a.key===I.key&&I.adoptExternal()});let i=()=>I.flush();document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&i()}),window.addEventListener("pagehide",i)}else if(!te||!We){let e=[];te||e.push('a visitor-drafts="<slot>" attribute on <html>'),We||e.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${e.join(" and ")})`)}else Ee&&Fe&&!qe()&&(Xt=Yt());var Bn=I?{active:!0,slot:I.slot,key:I.key,hasDraft:()=>!!I.read(),restored:()=>re,saveNow:()=>I.writeLive(),reset(){return I.clear(),window.location.reload(),!0},onRestore(e){return re?(e(re),!0):(document.addEventListener("clay:drafts-restored",t=>e(t.detail),{once:!0}),!1)},editOriginal:Ye,backToDraft:Ge,downloadUrl:()=>Be,source:He}:Qe();export{Xt as ready,Bn as visitorDrafts};
@@ -0,0 +1 @@
1
+ import{d as p}from"../c-MTQHWQC3.js";import{f as l,h as m}from"../c-3O7OBDCM.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=u(),i=document.querySelector('script[data-rules-name~="api"]'),r=null,e=null,s=0,c=()=>m&&l&&!a()&&!!o&&!!i;function f(){if(r)return Promise.resolve(r);if(!e){let t=s;e=import("../c-ICJYHABF.js").then(({mountOwnerChip:d,ownerChip:h})=>{let n=d()||h();return t===s?(r=n,n):(n?.unmount?.(),null)}).finally(()=>{e=null})}return e}function v(){s+=1,r?.unmount?.(),r=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var g=c()?f():Promise.resolve(null),k=g;function C(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&f()},quiesce(){},resume(){},dispose(){v()}}}}}var S=p();export{C as draftsOwnerParticipant,C as modeParticipant,k as ready,S as visitorDrafts};
@@ -1 +1 @@
1
- import{a,b,c}from"../c-Y5HBBIQ4.js";import"../c-VRZN56XY.js";import"../c-OW5QIGG3.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
1
+ import{a,b,c}from"../c-AMYEFA2E.js";import"../c-XGH4GS2T.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
@@ -0,0 +1,77 @@
1
+ import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-Q26MME6N.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-ZWIOJGMT.js";import{e as H}from"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import{a as S,b as f,c as r,f as u,g as n,h as b,j as T,o as q}from"./c-3O7OBDCM.js";import{c as j,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{d as U,s as V}from"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import{a as k}from"./c-VHNSBD2M.js";var C={};k(C,{activateInitialMode:()=>Ee,canEdit:()=>r,default:()=>Le,init:()=>N,isEditMode:()=>u,isOwner:()=>b,mode:()=>n,modeLifecycle:()=>be,noteLiveSwitch:()=>xe,setMode:()=>y,setPageTypeOnPageLoad:()=>X,toggleEditMode:()=>Y});var A=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return q(e)},be={register:ve,canWrite:()=>T().phase==="idle"&&u,get state(){return Object.freeze(T())}},L=null,G=()=>L||=import("./c-BUAYFEV5.js").catch(()=>L=null),M=null,xe=e=>{M=e};async function Ee(){if(u)try{await(await G()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var p=null;async function y(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(p)return p.target===e?p.promise:{ok:!1,mode:n,code:"busy"};if(e===n&&!L)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=ke(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function ke(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==n){let o;try{o=await t(e)}catch{return{ok:!1,mode:n,code:"host-failed"}}if(o?.reason!=="host-unsupported")return o?.ok?(A=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Se():!r&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:J(e)}async function Se(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-6EVJGNPL.js"),o=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:n,code:"cancelled"}:o===!1?{ok:!1,mode:n,code:"permission-denied"}:r?J("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function J(e){if(M){let t=await G(),o=t&&await t.switchMode(e,M);if(o)return o}if(e===n)return{ok:!0,mode:n,changed:!1};if(n==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(o){return{ok:!1,mode:n,code:"save-failed",state:o?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:n,code:"save-failed",state:t.state}}return A=!0,S({mode:e,canEdit:r,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Te(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var Y=()=>f?Te():y(n==="edit"?"view":"edit");function De(){!r||f||window.addEventListener("pagehide",()=>{A||S({mode:n,canEdit:r,internal:!1})})}function B(){r?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function X(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),B(),document.addEventListener("clay:capabilitychange",B),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function N(){X(),De()}N();var Le={init:N,setMode:y,toggleEditMode:Y,isEditMode:u,isOwner:b,canEdit:r,mode:n};var ae={};var Q=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Me=Q?"\u2318\u21E7E":"Ctrl+Shift+E",Ae=`.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
+ .clay-mode-note .clay-view-notice__edit {
50
+ width: auto;
51
+ padding: 0 10px;
52
+ border: 1px solid rgba(23, 28, 36, .2);
53
+ font-size: 13px;
54
+ font-weight: 600;
55
+ opacity: 1;
56
+ }
57
+ @media (prefers-color-scheme: dark) {
58
+ .clay-mode-note .clay-view-notice__edit { border-color: rgba(233, 233, 236, .22); }
59
+ .clay-mode-note {
60
+ border-color: rgba(233, 233, 236, .16);
61
+ color: var(--clay-ui-fg, #E9E9EC);
62
+ background: var(--clay-ui-bg, #26282C);
63
+ box-shadow: 0 8px 24px -12px rgba(0, 0, 0, .7);
64
+ }
65
+ .clay-mode-note kbd { border-color: rgba(233, 233, 236, .22); background: rgba(233, 233, 236, .1); }
66
+ .clay-mode-note button:hover { background: rgba(233, 233, 236, .12); }
67
+ }
68
+ @media (prefers-reduced-motion: reduce) {
69
+ .clay-mode-note { transition: none; }
70
+ }
71
+ @media (max-width: 559px) {
72
+ .clay-mode-note {
73
+ left: calc(16px + env(safe-area-inset-left, 0px));
74
+ right: calc(16px + env(safe-area-inset-right, 0px));
75
+ max-width: none;
76
+ }
77
+ }`,Z=new WeakSet;function ee(e){import("./c-QO4HNGCQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.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:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-2ZZBC45O.js"),import("./c-ZE46QDIH.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-GCX6767E.js");return e?x("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function le({supports:e=H,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:ue=document,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe}={}){let g=null,w=null;function we(c){g=c}async function ye(c){let v=await de();if(v)throw v;if(!await e(Fe))throw x("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Be(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(E){throw Object.assign(x("DataReadFailed",E?.message||"Could not read page data."),{cause:E})}if(!l.ok)throw await He(l);return{data:await ce(l),etag:We(l)}}function he(){return w||(w=import("./c-JNLX3RJB.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:ue,getLiveSync:()=>g,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe})).catch(c=>{throw w=null,c}),w)}async function ge(c,v){let l=await de();if(l)throw l;if(!await e(ze))throw x("DataWriteUnsupported","This host does not support writing page data.");return(await he()).writeData(c,v)}return{readData:ye,writeData:ge,setLiveSync:we}}var _=le(),Ge=_.readData,Je=_.writeData,Ye=_.setLiveSync;var lt={"lib/mutation.js":F,"core/preserve-authored.js":z,"core/edit-mode.js":C,"core/mode-key.js":ae,"core/stale-host-notice.js":O,"core/page-data.js":K};export{lt as core};
@@ -0,0 +1 @@
1
+ import"../c-VHNSBD2M.js";var L=/^[a-z][a-z0-9-]*$/,d="route-",f="route-active",A=/^\s*([a-z][a-z0-9-]*)(?:\s+by\s+(\S+))?\s*$/,h={},y="",p=!1,u=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(!L.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=A.exec(n.getAttribute("route")||"");if(!a)continue;let[,s,E="data-id"]=a;e.add(s);let g=o[s];if(g!=null)for(let l of n.children)l.getAttribute(E)===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,c()):(history.pushState(history.state,"",n),c())}function i(){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")){i();return}for(let e of t.addedNodes)if(e.nodeType===1&&(e.hasAttribute("route")||e.querySelector("[route]"))){i();return}}}function v(){c(),!u&&typeof MutationObserver=="function"&&(u=new MutationObserver(C),u.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",i),document.addEventListener("clay:drafts-restored",i),document.addEventListener("clay:ready",i),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",i),document.removeEventListener("clay:drafts-restored",i),document.removeEventListener("clay:ready",i),document.removeEventListener("DOMContentLoaded",v),u&&u.disconnect(),u=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};
@@ -0,0 +1 @@
1
+ import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-5OOVFCJM.js";import{e as b}from"../c-6DB2OLRJ.js";import"../c-LZJPNR2W.js";import"../c-QTTJYJMA.js";import"../c-5VYOWDTI.js";import"../c-FWKHM4E7.js";import"../c-WYFDLITL.js";import"../c-ZWIOJGMT.js";import"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import"../c-NQJRVJ56.js";import"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-7MG5RU63.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{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};
@@ -0,0 +1 @@
1
+ import{a as r,b as l,c as m,d as c}from"../c-2KL3BD52.js";import{a as s,b as n,c as o}from"../c-UY4QX42B.js";import{b as d}from"../c-BRLCTNMC.js";import"../c-QHWJ5ZIJ.js";import"../c-UL2YUY52.js";import"../c-L7JL5TL3.js";import"../c-CJFDLD43.js";import"../c-BJ7YQ5QZ.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-MHI3GYKF.js";import{a}from"../c-2AZDZWCK.js";import{f as i}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.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};
@@ -0,0 +1,6 @@
1
+ import"../c-VHNSBD2M.js";var Qn=(()=>{var ue=Object.defineProperty,dt=Object.getOwnPropertyDescriptor,pt=Object.getOwnPropertyNames,mt=Object.prototype.hasOwnProperty,ht=(e,t)=>{for(var r in t)ue(e,r,{get:t[r],enumerable:!0})},bt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of pt(t))!mt.call(e,a)&&a!==r&&ue(e,a,{get:()=>t[a],enumerable:!(n=dt(t,a))||n.enumerable});return e},gt=e=>bt(ue({},"__esModule",{value:!0}),e),Ee={};ht(Ee,{FULL_SAPJS:()=>X,Sap:()=>Y,default:()=>Kn,mount:()=>Xn,mountAll:()=>ct,needsFullSapjs:()=>we,runtime:()=>Yn});function yt(e){let t=!1,r=new Set,n=[];function a(i){i&&(n.push(i),n.length>8&&n.shift())}function l(i,d){if(a(d),i._broken){if(d==="mutation")return;c(i)}r.add(i),!t&&(t=!0,queueMicrotask(o))}function o(){t=!1;let i=[...r];r.clear();for(let d of i)f(d)}function f(i,d=!1){if(!(i._broken||i.halted)){if(i._passes=(i._passes||0)+1,i._passes>50){i._broken=!0,i._breakerRing=n.slice(),e(i,{breaker:!0});return}i._resetArmed||(i._resetArmed=!0,setTimeout(()=>{i._passes=0,i._resetArmed=!1},0)),e(i,d?{full:!0}:{})}}function u(i,d){a(d),i._broken&&c(i),f(i,!0)}function c(i){i._broken=!1,i._passes=0}return{schedule:l,runNow:u,rearm:c,ring:n}}var ke={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"}},ce=["disabled","readonly","required","checked","selected","multiple","open","inert","autofocus","novalidate","hidden"],xe=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"]),vt=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 wt(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 l=0,o=0;for(let f=r.parentElement.firstElementChild;f;f=f.nextElementSibling)f.tagName===r.tagName&&(l++,f===r&&(o=l));l>1&&(a+=`:nth-of-type(${o})`)}if(t.unshift(a),r.hasAttribute("sap"))break;r=r.parentElement,n++}return t.join(" > ")}var At=class{constructor(e){this.appName=e,this.errors=[],this.warnings=[],this.halted=!1,this.haltReason=null}block(e,t,r={}){let n=(ke[e]||{}).slug||"error",a={code:e,slug:n,el:wt(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"},l=[`
2
+ `+(e[0]==="W"?"sap \u26A0 ":"sap \u2717 ")+e+" "+n];return l.push(` at ${a.el}${a.attr?` \u2014 ${a.attr}="${a.expr??""}"`:""}`),a.problem&&l.push(` problem: ${a.problem}`),a.didYouMean&&l.push(` did you mean: ${a.didYouMean}`),a.fix&&l.push(` fix: ${a.fix}`),(e[0]==="W"?console.warn:console.error)(l.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 K(e,t){e&&e.getAttribute("sap-error")!==t&&e.setAttribute("sap-error",t)}function Et(e){e&&e.hasAttribute("sap-error")&&e.removeAttribute("sap-error")}function Se(e,t){let r=null,n=3;for(let a of t){let l=kt(e,a);l<n&&(n=l,r=a)}return r}function kt(e,t){let r=e.length,n=t.length,a=Array.from({length:r+1},(l,o)=>[o,...new Array(n).fill(0)]);for(let l=0;l<=n;l++)a[0][l]=l;for(let l=1;l<=r;l++)for(let o=1;o<=n;o++)a[l][o]=Math.min(a[l-1][o]+1,a[l][o-1]+1,a[l-1][o-1]+(e[l-1]===t[o-1]?0:1));return a[r][n]}var xt=new Set(ce),St={readonly:"readOnly",novalidate:"noValidate"},Nt=0,Ne=new WeakMap;function $t(e,t="sap"){let r=e.getAttribute("data-id");if(r)return r;if(e.id)return e.id;let n=Ne.get(e);return n||(n=`${t}-${(Nt++).toString(36)}`,Ne.set(e,n)),n}function Lt(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 $e(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 Tt(e){for(let t=e.firstElementChild;t;t=t.nextElementSibling)if(t.hasAttribute("item")&&t.hasAttribute("template"))return t;return $e(e.closest("[sap]"),e.getAttribute("items"))}function Le(e){let t=[];if(!e)return t;for(let r of e.trim().split(/\s+/)){if(!r)continue;let n=r,a,l=n.indexOf("=");l>=0&&(a=n.slice(l+1),n=n.slice(0,l));let o=n.split(":"),f=o[0],u="string",c=!1;for(let p of o.slice(1))p==="num"?u="num":p==="bool"?u="bool":p==="presence"?u="presence":p==="transient"&&(c=!0);let i=f,d=i.startsWith("data-")&&i.length>5?i.slice(5).replace(/-([a-z])/g,(p,k)=>k.toUpperCase()):i;t.push({name:d,attr:i,type:u,default:a,transient:c})}return t}function fe(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 _t(e,t){return t==="bool"?e?"true":"false":e==null?"":String(e)}function Te(e,t){return xt.has(t)&&typeof e[St[t]||t]=="boolean"}function _e(e,t){return t.type==="presence"||t.type!=="num"&&Te(e,t.attr||t.name)}function Ce(e){return e.default!=null?e.default:e.type==="num"?"0":e.type==="bool"?"false":""}function Ct(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=Ce(t)),n[t.name]=fe(a,t.type)}return e.hasAttribute(r)&&e.removeAttribute(r),n[t.name]}function R(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 J(e,t){return Array.isArray(e)?t==null?e:e.map(r=>typeof t=="function"?t(r):r?.[t]):[]}function Re(e,t){return J(e,t).reduce((r,n)=>r+R(n),0)}function Rt(e,t){return Array.isArray(e)?t==null?e.length:e.reduce((r,n)=>r+(t(n)?1:0),0):0}function jt(e,t){let r=J(e,t);return r.length?Re(e,t)/r.length:0}function Mt(e,t){let r=J(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 Pt(e,t){let r=J(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 Wt(e,t,r){let n=R(e)===1?t:r??t+"s";return`${e} ${n}`}function Ot(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 j(e){return typeof e=="number"?e:Number(e)}var Q={usd:e=>"$"+j(e).toLocaleString("en-US",{maximumFractionDigits:0}),usd2:e=>"$"+j(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),pct:e=>Math.round(j(e))+"%",pct1:e=>j(e).toFixed(1)+"%",int:e=>Math.round(j(e)).toLocaleString("en-US"),num:e=>j(e).toLocaleString("en-US"),num2:e=>j(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),compact:e=>j(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=j(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}`}},Dt=new Set(["usd","usd2","pct","pct1","int","num","num2","compact","clock"]);function Bt(e,t){if(!e)return t==null?"":String(t);let r=Q[e];if(typeof r!="function"){let n=new Error(`unknown format "${e}"`);throw n.sapCode="E22",n}if(Dt.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 Ft=["state","item","el","root","fmt","num","sum","count","avg","min","max","plural","days"],Z=new Map,je=/\bstate\.([a-z][a-z0-9_]*)/g,Me=/\bitem\.([a-z][a-z0-9_]*)/g;function Ht(e){let t=new Set,r=new Set,n;for(je.lastIndex=0;n=je.exec(e);)t.add(n[1]);for(Me.lastIndex=0;n=Me.exec(e);)r.add(n[1]);return{state:t,item:r}}function M(e,t=!1){let r=(t?"!":"")+e,n=Z.get(r);if(n)return n;Z.size>512&&Z.clear();try{let a=t?`"use strict";
4
+ ${e}`:`"use strict"; return (${e});`;n={fn:new Function(...Ft,a),src:e,statement:t,deps:Ht(e),error:null}}catch(a){n={fn:null,src:e,statement:t,deps:{state:new Set,item:new Set},error:a}}return Z.set(r,n),n}function It(e,t,r,n,a){if(e.error)throw e.error;return e.fn(t,r,n,a,Q,R,Re,Rt,jt,Mt,Pt,Wt,Ot)}var U={},G=null,Pe=!0,ee=!1;function zt(){U={}}function qt(e){let t=ee;return G?We(G.takeRecords()):Pe&&Gt(),ee=!!G&&e.getRootNode()===document,t}function Ut(e){ee=e}function Gt(){if(typeof document>"u"||typeof MutationObserver!="function"){Pe=!1;return}G=new MutationObserver(We),G.observe(document,{attributes:!0,childList:!0,subtree:!0})}function We(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&&Oe(r)}function Oe(e){e._sapPlan&&(e._sapPlan=null);for(let t=e.firstElementChild;t;t=t.nextElementSibling)Oe(t)}function de(e){if(!ee)return De(e);let t=e._sapPlan;return t&&t.gen===U?t:e._sapPlan=De(e)}function De(e){let t={gen:U,inert:e.tagName==="TEMPLATE",template:!1,cms:!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,l=n.indexOf(":");if(l<0){switch(n){case"sap-ignore":t.inert=!0;break;case"cms-template":t.inert=!0,t.cms=!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=Le(a);break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:null,entry:M(a)});break;case"show":(t.paints||(t.paints=[])).push({kind:"show",entry:M(a)});break;case"effect":(t.effects||(t.effects=[])).push({entry:M(a,!0)});break;case"invalid":(t.invalids||(t.invalids=[])).push({entry:M(a)});break}continue}let o=n.slice(0,l),f=n.slice(l+1);switch(o){case"calc":(t.calcs||(t.calcs=[])).push({name:f,entry:M(a)});break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:f,entry:M(a)});break;case"attr":(t.paints||(t.paints=[])).push({kind:"attr",arg:f,entry:M(a)});break;case"class":(t.paints||(t.paints=[])).push({kind:"class",arg:f,entry:M(a)});break;case"css":(t.paints||(t.paints=[])).push({kind:"css",arg:f,entry:M(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,Yt(t)?Xt():t}var te=null;function Xt(){return(!te||te.gen!==U)&&(te=Object.freeze({gen:U,inert:!1,template:!1,cms:!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})),te}function Yt(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 D=new WeakMap,B=new WeakMap,F=null,P=!1;function Vt(){D=new WeakMap,B=new WeakMap}function Be(e){for(let t of e){let r=t.target.nodeType===1?t.target:t.target.parentElement;for(let n=r;n;n=n.parentElement)B.delete(n);if(t.type==="attributes"){D.delete(t.target);continue}for(let n=r;n;n=n.parentElement)D.delete(n);for(let n of t.addedNodes||[])if(n.nodeType===1){D.delete(n),B.delete(n);for(let a of n.querySelectorAll("*"))D.delete(a),B.delete(a)}}}function Kt(){return P}function Jt(e){return P?B.get(e):void 0}function Qt(e,t){P&&B.set(e,t)}function Zt(e){B.delete(e)}function en(e){let t=P;return!F&&typeof MutationObserver=="function"&&(F=new MutationObserver(Be),F.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),F&&Be(F.takeRecords()),P=!!F&&e.getRootNode()===document,t}function tn(e){P=e}function Fe(e){let t=D.get(e);return t||D.set(e,t={attrs:new Map,hasText:!1,text:""}),t}function nn(e,t){if(!P)return e.getAttribute(t);let r=Fe(e);return r.attrs.has(t)||r.attrs.set(t,e.getAttribute(t)),r.attrs.get(t)}function rn(e){if(!P)return e.textContent;let t=Fe(e);return t.hasText||(t.text=e.textContent,t.hasText=!0),t.text}function He(e){return(e.getAttribute("type")||"text").toLowerCase()}function pe(e){let t=e.tagName;if(t==="INPUT"){let r=He(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 an(e,t=e){let r=e.tagName;if(r==="INPUT"){let n=He(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 l=0;l<n.length;l++)a[l]&&a[l].selected?n[l].hasAttribute("selected")||n[l].setAttribute("selected",""):n[l].removeAttribute("selected")}}function Ie(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function T(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 on(){let e=T("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var ze=["clay:mutation-ready","hyperclay:mutation-ready"],ln=["clay:sync-applied","hyperclay:livesync-applied"],sn=["clay:ready","hyperclay:ready"],un=["clay:route"],cn=["clay:modechange"];function ne(e,t,r){let n=null,a=l=>{n!==null&&n!==l.type||(n=l.type,queueMicrotask(()=>{n=null}),r(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function fn(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function qe(e){let t=T("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function Ue(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function me(e,{transient:t=!1}={}){if(t)return!0;let r=Ue();return typeof r?.canWrite!="function"||T("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:r.canWrite()}function dn(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let r=T("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 pn(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let k of e.apps())k.root.isConnected?e.runNow(k,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},r=T("derived"),n=r&&typeof r.register=="function"?r.register(t):null,a=typeof n=="function"?null:ne(document,ln,t),l=ne(document,un,t),o=null,f=!1,u=()=>{let p=o;o=null,p&&(p[2](),p[3]())},c=()=>{if(f)return!1;let p=T("undo"),k=Ue()?.state?.generation;if(o&&o[0]===p&&o[1]===k)return!0;if(u(),!p||typeof p.on!="function")return!1;let L=p.on("undo",t);if(typeof L!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(L(),!1):(o=[p,k,L,_],!0)};c();let i=[ze,sn,cn].map(p=>ne(document,p,c)),d=T("ready");return d&&typeof d.then=="function"&&d.then(c,()=>{}),()=>{f=!0,typeof n=="function"&&n(),a&&a(),l();for(let p of i)p();u()}}function Ge(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 mn(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 Xe(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return mn(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 hn(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 Ye(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}qe(e)||pe(e)}function bn(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function gn(e,t){return Xe(e,t)}function yn(e){let t=Ge(e);return{el:e,kind:t,read(){return Xe(e,t)},write(r,n={}){hn(e,t,r),n.noMirror||Ye(e),n.silent||bn(e)},mirror(){Ye(e)}}}var W=null,re=!1,H=null;function Ve(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 vn(){let e=null;return{kind:"native",subscribe(t){e=new MutationObserver(n=>t(wn(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=T("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 wn(e){let t=[];for(let r of e)if(r.type==="attributes"){let n=r.target;n&&n.nodeType===1&&!ae(n)&&t.push({type:"attribute",element:n})}else if(r.type==="characterData"){let n=r.target&&r.target.parentElement;n&&!ae(n)&&t.push({type:"characterData",element:n})}else if(r.type==="childList"){for(let n of r.addedNodes)if(!(n.nodeType!==1||ae(n))&&(t.push({type:"add",element:n}),n.querySelectorAll))for(let a of n.querySelectorAll("*"))ae(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 ae(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function An(e,t){e.pruneDisconnected();let r=new Set,n=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);o&&r.add(o),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 En(e){if(W)return W.suppress(e);let t=T("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function he(e,t){re=!0,W=e,e.subscribe(r=>An(t,r))}function Ke(e){if(re||typeof window>"u"||typeof document>"u")return;let t=T("Mutation");if(t&&typeof t.onAnyChange=="function"){he(Ve(t),e);return}typeof MutationObserver=="function"&&(he(vn(),e),H=ne(document,ze,function(){let r=T("Mutation");r&&(H(),H=null,W&&W.teardown(),re=!1,he(Ve(r),e))}))}function Je(){if(W)try{W.teardown()}catch{}H&&typeof document<"u"&&H(),W=null,re=!1,H=null}var kn=new Set(ce),oe=Object.freeze([]),O=[],Qe={},Ze={};function xn(e){O.includes(e)||(O.push(e),e.boundary&&Object.assign(Qe,e.boundary),e.paintKinds&&Object.assign(Ze,e.paintKinds))}function et(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),K(e.root,"loop");return}t.full&&(zt(),Vt());let r=qt(e.root);try{En(()=>Sn(e,t))}finally{Ut(r)}e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function Sn(e,t){let r=e.root,n={},a=[],l=[],o=new Set;e.diag.errors=[];let f={root:n,state:n,item:null,ownerEl:r,projection:!1},u=null;function c(s,h,b=!1){let m=h.attr||h.name,g=b?nn(s,m):s.getAttribute(m);return g==null&&(g=Ce(h),l.push({el:s,name:h.name,attr:m,value:_t(fe(g,h.type),h.type)})),fe(g,h.type)}function i(s,h,b,m){let g=h.decls;if(!g)return;let A=!!m.item&&!m.projection&&!m.view;for(let S of g){if(S.transient){u&&(u.pure=!1),b[S.name]=Ct(s,S);continue}if(_e(s,S)){b[S.name]=s.hasAttribute(S.attr);continue}b[S.name]=c(s,S,A)}}function d(s,h,b){let m=h.bind,g=b.item||b.state,A=Ge(s);u&&(A!=="leaf"||h.transient)&&(u.pure=!1),A==="radio"?(m in g||(g[m]=""),s.checked&&(g[m]=s.value)):A==="leaf"&&b.item&&!b.projection&&!b.view?g[m]=rn(s):g[m]=gn(s,A),h.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function p(s,h,b){let m=!1;if(h.paints){m=!0;for(let g of h.paints)g.kind==="when"&&o.add(g.field),a.push({def:g,el:s,ctx:b})}for(let g of O)g.collect&&g.collect(w,s,h,b)!==!1&&(m=!0);u&&m&&(h.calcs&&(u.pure=!1),u.collects.push(s,h))}function k(s,h,b){Object.defineProperty(s,"$key",{value:$t(h,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:b,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:h,enumerable:!1})}function L(s,h,b){let m=de(s);i(s,m,h,b),s._sapScope=h,!b.projection&&m.bind!=null&&d(s,m,b),p(s,m,b),m.items?le(s,h,b):_(s,h,b)}function _(s,h,b){for(let m=s.firstElementChild;m;m=m.nextElementSibling)z(m,h,b)}function z(s,h,b){let m=de(s);if(!m.inert){if(m.boundary){u&&(u.pure=!1),m.boundary==="scope"?ie(s,h,b):m.boundary==="items"?(p(s,m,b),le(s,h,b)):Qe[m.boundary](w,s,m,h,b);return}!b.projection&&!b.view&&m.bind!=null&&d(s,m,b),p(s,m,b);for(let g=s.firstElementChild;g;g=g.nextElementSibling)z(g,h,b)}}function ie(s,h,b){let m=s.getAttribute("scope"),g={};h[m]=g;let A={root:b.root,state:g,item:null,ownerEl:s,projection:b.projection};L(s,g,A)}function le(s,h,b){u&&(u.pure=!1);let m=s.getAttribute("items"),g=[];h[m]=g,s._sapList=g;let A=!b.projection&&!b.view&&Kt(),S=0;for(let N=s.firstElementChild;N;N=N.nextElementSibling){let E=de(N);if(!E.item||E.template||E.cms)continue;let $=A?Jt(N):void 0;g.push($&&$.plan===E&&Object.isExtensible($.obj)&&se($,N,S,b)||V(N,E,S,b,A)),S++}}function V(s,h,b,m,g){let A={};k(A,s,b);let S={root:m.root,state:m.state,item:A,ownerEl:s,projection:m.projection};if(!g)return L(s,A,S),A;let N=u,E={plan:h,obj:A,fields:null,presence:oe,pending:oe,collects:[],pure:!0},$=l.length,Jn=e.diag.errors.length;u=E;try{L(s,A,S)}finally{u=N}if(!E.pure||e.halted||e.diag.errors.length!==Jn)return A;let ft=[];for(let q of Object.keys(A)){let Ae=A[q];if(Ae!==null&&typeof Ae=="object")return A;ft.push(q,Ae)}if(h.decls)for(let q of h.decls)_e(s,q)&&(E.presence===oe?E.presence=[]:E.presence).push(q.name,q.attr);return l.length>$&&(E.pending=l.slice($)),E.collects.length||(E.collects=oe),E.fields=ft,Qt(s,E),A}function se(s,h,b,m){let g=s.obj;try{g.$index!==b&&Object.defineProperty(g,"$index",{value:b,enumerable:!1,configurable:!0});let N=s.presence;for(let $=0;$<N.length;$+=2)g[N[$]]=h.hasAttribute(N[$+1]);let E=s.fields;for(let $=0;$<E.length;$+=2)g[E[$]]=E[$+1]}catch{return Zt(h),null}h._sapScope=g;let A=s.pending;for(let N=0;N<A.length;N++)l.push(A[N]);let S=s.collects;if(S.length){let N={root:m.root,state:m.state,item:g,ownerEl:h,projection:m.projection};for(let E=0;E<S.length;E+=2)p(S[E],S[E+1],N)}return g}let w={app:e,root:r,rootObj:n,paints:a,stats:{calcs:0,lists:0},resolveDefault:c,collectEl:p,walkScope:_};for(let s of O)s.begin&&s.begin(w);let y=t.cacheReads===!1?null:en(r);try{L(r,n,f)}finally{t.cacheReads!==!1&&tn(y)}if(e.halted)return;for(let s of O)s.afterIntake&&s.afterIntake(w);if(l.length&&o.size)for(let s of l)o.has(s.attr)&&s.el.getAttribute(s.attr)==null&&s.el.setAttribute(s.attr,s.value);for(let s of O)s.compute&&s.compute(w);let v=0;for(let s of O)s.reconcile&&(v+=s.reconcile(w));let x=0,C=v;for(let s of a){let h=$n(s,e);s.ctx.view?C+=h:x+=h}for(let s of O)s.afterPaint&&s.afterPaint(w);e._state=n,e._stats={fields:Object.keys(n).filter(s=>typeof n[s]!="function").length,calcs:w.stats.calcs,paints:a.length,lists:w.stats.lists,writes:x,viewWrites:C},e._viewsChanged=C>0,e._lastPass={trigger:t.trigger||"refresh",writes:x},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${x}/${a.length}`)}function Nn(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 be(e,t,r,n){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=r.includes(a.getAttribute(t));if(n?!l:l)return!0}a=a.parentElement}return!1}function $n(e,t){let r=e.def,n=e.el,a=Ze[r.kind];if(a)return a(e,t);if(r.kind==="when")return tt(r,n,null);try{let l=It(r.entry,e.ctx.state,e.ctx.item,n,e.ctx.root),o=tt(r,n,l);return Et(n),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",n,{attr:Nn(r),expr:r.entry&&r.entry.src,problem:String(l.message)}),K(n,l.sapCode||"E24"),0}}function tt(e,t,r){switch(e.kind){case"text":{let n=e.fmt!=null?Bt(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=T("optionVisibility");if(n&&n._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;let a;e.match==="hide"?a=!be(t,e.field,e.values,!1):e.match==="show-not"?a=be(t,e.field,e.values,!0):a=be(t,e.field,e.values,!1),t._sapWhen=!0;let l=!a;return t.hidden!==l?(t.hidden=l,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 l=0;return t[n]!==!!r&&(t[n]=!!r,l=1),!!r!==t.hasAttribute(n)&&(r?t.setAttribute(n,""):t.removeAttribute(n),l=1),l}if(kn.has(n)){let l=t.hasAttribute(n);return r&&!l?(t.setAttribute(n,""),1):!r&&l?(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 Ln=new Set(ce),nt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Tn=new Set(["show-when","hide-when","option","option-not"]),_n=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,rt=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"]),ge=[];function Cn(e){ge.includes(e)||ge.push(e)}function Rn(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function ye(e){return e.hasAttribute("bind")}function jn(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 Mn(e,t){let r=!1,n=(o,f,u)=>{t.error(o,f,u),r=!0},a=e.ownerDocument.createTreeWalker(e,4),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){n("E02",l.parentElement||e,{problem:"moustaches in text content are not a Sap feature",fix:'move the expression onto the element: text="state.x"'});break}return jn(e,o=>{let f=new Set;for(let c of ge)c(o,n,i=>f.add(i));let u=o.closest&&o.closest("[detail]");for(let c of[...o.attributes]){let i=c.name;if(f.has(i))continue;if(i.includes(":")){let p=i.slice(0,i.indexOf(":"));if(nt.has(p)){if(Tn.has(p)&&_n.test(c.value)){let k=i.slice(i.indexOf(":")+1);t.warn("W04",o,{attr:i,expr:c.value,problem:`${p}: compares the "${k}" attribute against a literal value, not a JS expression`,fix:`use show="${c.value}" for an expression, or a literal like ${p}:${k}="overview"`})}}else{let k=Se(p,[...nt]);t.warn("W03",o,{attr:i,problem:`unknown "${p}:" attribute`,didYouMean:k?`${k}:`:null})}}else if(!rt.has(i)&&!xe.has(i)&&!Ln.has(i)&&!/^(data-|aria-|on)/.test(i)&&!(i in o)){let p=Se(i,[...rt]);p&&t.warn("W03",o,{attr:i,problem:`unknown "${i}" attribute`,didYouMean:p})}i==="attr:hidden"&&t.warn("W03",o,{attr:i,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let d=ye(o)||i==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(i==="attr:value"||i==="attr:checked"||i==="attr:selected")&&d&&n("E30",o,{attr:i,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),i==="effect"&&ye(o)&&/\b(value|checked)\s*=[^=]/.test(c.value)&&n("E30",o,{attr:i,expr:c.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"}),(i==="text"||i.startsWith("text:")||i==="show")&&Rn(o)&&(i==="show"||n("E18",o,{attr:i,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let c=Le(o.getAttribute("state")),i=new Set;for(let d of c){d.name.includes("-")&&n("E08",o,{attr:"state",problem:`field "${d.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${d.name.replace(/-/g,"")}`}),i.has(d.name)&&n("E04",o,{attr:"state",problem:`field "${d.name}" is declared twice in one scope`}),i.add(d.name),vt.has(d.attr)&&n("E05",o,{attr:"state",problem:`"${d.name}" is a reserved Sap word`}),xe.has(d.attr)&&n("E06",o,{attr:"state",problem:`"${d.name}" is a global HTML attribute name; pick another field name`}),d.name==="open"&&o.tagName==="DIALOG"&&n("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=Te(o,d.attr);p&&(d.attr==="checked"||d.attr==="selected")&&n("E35",o,{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">'}),p&&d.type==="num"&&n("E35",o,{attr:"state",problem:`"${d.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${d.attr}"`}),d.transient&&(p||d.type==="presence")&&n("E35",o,{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(ye(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let c=(o.getAttribute("type")||"text").toLowerCase();c==="file"&&n("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),c==="password"&&!o.hasAttribute("transient")&&n("E31",o,{attr:"bind",problem:"a password must never serialize into a world-readable file",fix:"add transient to the password input"})}else if(o.tagName!=="SELECT"&&o.tagName!=="TEXTAREA"){let c=o.getAttribute("contenteditable");!(c!=null&&c!=="false")&&o.children.length>0&&n("E20",o,{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(o.hasAttribute("transient")&&o.hasAttribute("persist")&&n("E34",o,{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"}),o.tagName==="DIALOG"&&o.hasAttribute("detail")&&!(o.parentElement&&o.parentElement.closest('[clay~="freeze"], [freeze], [save-freeze]'))&&t.warn("W31",o,{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'}),o.hasAttribute("item")&&!o.hasAttribute("template")&&o.parentNode&&o.parentNode.nodeType===1){let c=o.parentElement;(!c||!c.hasAttribute("items"))&&n("E10",o,{problem:"an [item] must be a direct child of an [items] list",fix:'wrap it in a container with items="name"'})}if(o.hasAttribute("items")&&u&&n("E17",o,{attr:"items",problem:"nested items inside a detail panel is a v1 mount error (nested collections ship in v1.1)"}),o.hasAttribute("items")){let c=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!Tt(o)&&!$e(e,o.getAttribute("items"))&&Lt(o).length===0&&c&&n("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),r&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",K(e,t.haltReason)),!r}var at="sap-styles",ot="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",ve=new WeakSet;function Pn(e){if(ve.has(e))return;let t=e.defaultView,r=t&&t.CSSStyleSheet;if(r&&"adoptedStyleSheets"in e)try{let n=new r;n.replaceSync(ot),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],ve.add(e);return}catch{}if(!e.getElementById(at)){let n=e.createElement("style");n.id=at,n.textContent=ot,(e.head||e.documentElement).appendChild(n)}ve.add(e)}var Wn=0;function it(){return typeof performance<"u"&&performance.now?performance.now():0}function lt(e){let t=e.id||e.getAttribute("sap")||`app-${Wn++}`,r=new At(t),n={root:e,name:t,diag:r,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Mn(e,r))return n.halted=!0,n;Pn(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))Ie(l);let a=it();return et(n,{trigger:"mount",full:!0}),n._mountMs=it()-a,n._mountWrites=n._stats?n._stats.writes:0,n._mountWrites>0&&!on()&&!T("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 st=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function On(e){return`${e.tagName.toLowerCase()}[sap]`}function Dn(e){let t=0;for(let r of e.querySelectorAll("*"))for(let n of r.attributes)if(st.test(n.name)){t++;break}for(let r of e.attributes)if(st.test(r.name)){t++;break}return t}function Bn(e){function t(f){let u=f._stats||{},c=f.root;return{root:On(c),fields:u.fields||0,calcs:u.calcs||0,paints:u.paints||0,actions:Dn(c),lists:(c.hasAttribute("items")?1:0)+c.querySelectorAll("[items]").length,rows:c.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(u=>u.ok),apps:f}}function n(f){let u=t(f);return u.ok?`sap \u2713 ${u.root} \xB7 fields ${u.fields} \xB7 calcs ${u.calcs} \xB7 paints ${u.paints} \xB7 actions ${u.actions} \xB7 lists ${u.lists} \xB7 rows ${u.rows} \xB7 warnings ${u.warnings} \xB7 mount writes ${u.mountWrites} \xB7 ${u.ms}ms`:`sap \u2717 ${u.root} \xB7 errors ${u.errors} \xB7 warnings ${u.warnings} \xB7 ${u.ms}ms`}function a(){for(let f of e.apps()){let u=n(f);f.diag.errors.length||f.halted?console.error(u):console.log(u)}}function l(){let f=[],u=[];for(let c of e.apps())f.push(...c.diag.errors),u.push(...c.diag.warnings);return{ok:f.length===0,errors:f,warnings:u,counts:{errors:f.length,warnings:u.length}}}function o(f){let u=f===void 0?!0:!!f;for(let c of e.apps())c._debug=u;return console.log(`sap debug ${u?"on":"off"} \u2014 per-pass headers will ${u?"":"no longer "}log`),u}return{status:r,report:l,debug:o,greenLine:n,printGreenLines:a,REGISTRY:ke}}var Fn="0.7.0";function Hn({createAccessor:e,installInput:t,debugExtras:r}){let n=new Map,a=[],l=yt(et);function o(y){let v=y;for(;v;){if(v.nodeType===1&&v.hasAttribute&&v.hasAttribute("sap"))return n.get(v)||null;v=v.parentNode&&v.parentNode.host?v.parentNode.host:v.parentElement}return null}function f(){for(let y=a.length-1;y>=0;y--){let v=a[y];v.root.isConnected||(n.delete(v.root),a.splice(y,1))}}function u(y,v){if(y.moveBefore)try{y.moveBefore(v,null);return}catch{}y.appendChild(v)}function c(y,v){let x=v.parentElement;if(x){if(x.moveBefore)try{x.moveBefore(y,v);return}catch{}x.insertBefore(y,v)}}let i={apps:()=>a.slice(),appFor:o,isRegistered:y=>n.has(y),pruneDisconnected:f,schedule:(y,v)=>l.schedule(y,v),runNow:(y,v)=>l.runNow(y,v),moveInto:u,placeBefore:c,remountIfPresent:()=>V()},d=e(i),p=Bn(i),k=r?r(i,p):{},L=!1,_=!1,z=null;function ie(){L||(L=!0,t(i,d,document),z=pn(i))}function le(){let y=T("derived");y&&typeof y.mounted=="function"&&y.mounted()}function V(y=document){if(_)return[];ie(),Ke(i);let v=y.querySelectorAll("[sap]"),x=[];for(let C of v){if(n.has(C))continue;let s=lt(C);n.set(C,s),a.push(s),x.push(s)}for(let C of x){let s=p.greenLine(C);C.diag.errors.length||C.halted?console.error(s):console.log(s)}return le(),x}function se(y){if(_)return null;if(ie(),Ke(i),!y)return V();let v=typeof y=="string"?document.querySelector(y):y;if(!v)return null;if(n.has(v))return n.get(v);let x=lt(v);n.set(v,x),a.push(x);let C=p.greenLine(x);return x.diag.errors.length||x.halted?console.error(C):console.log(C),x}let w=d.Sap;return w.version=Fn,w.refresh=function(){for(let y of a)y.root.isConnected&&l.runNow(y,"refresh")},w.batch=dn,w.status=p.status,w.report=p.report,w.why=k.why,w.debug=p.debug,w.doctor=k.doctor,w.greenLine=p.greenLine,w.formats=Q,w.serializeControlToAttributes=pe,w.finalizeControlForSave=an,w.rehydrateControlFromAttributes=Ie,w.mount=se,w.config=function(y={}){return y.formats&&Object.assign(Q,y.formats),w},w._registry=n,w._reset=function(){n.clear(),a.length=0,Je()},w.unmount=function(){_=!0,n.clear(),a.length=0,Je(),typeof z=="function"&&z()},{Sap:w,mountAll:V,mount:se,runtime:i}}function In(e){if(typeof document>"u")return;let t=()=>fn(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function zn(e){let t=[];function r(u){let c=u.target;if(!c||c.nodeType!==1)return;let i=e.appFor(c);if(i){c.hasAttribute("persist")&&!qe(c)&&me(c)&&pe(c);for(let d of t)if(d(c,i))return;e.schedule(i,u.type+" "+(c.id||c.tagName.toLowerCase()))}}function n(u){let c=u.target,i=e.appFor(c);i&&[...c.querySelectorAll("[bind]")].every(d=>me(d))&&setTimeout(()=>{c.querySelectorAll("[bind]").forEach(d=>{d.dispatchEvent(new Event("input",{bubbles:!0})),d.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(i,"reset")},0)}function a(u){let c=e.appFor(u.target);c&&e.schedule(c,"toggle")}function l(u){let c=u.detail||{};for(let i of[c.from,c.to,u.target]){if(!i||i.nodeType!==1)continue;let d=e.appFor(i);d&&e.schedule(d,"sorted")}}function o(u){if(u.key!=="ArrowUp"&&u.key!=="ArrowDown")return;let c=u.target;if(!c||c.nodeType!==1||c.tagName!=="INPUT"||!c.hasAttribute("bind")||!c.hasAttribute("step"))return;let i=(c.getAttribute("type")||"text").toLowerCase();if(i!=="text"&&i!=="tel"&&i!=="search"||!e.appFor(c)||!me(c))return;u.preventDefault();let d=R(c.getAttribute("step"))||1,p=u.key==="ArrowUp"?1:-1,k=R(c.value)+d*(u.shiftKey?10:1)*p,L=c.getAttribute("min"),_=c.getAttribute("max");L!==null&&L!==""&&k<R(L)&&(k=R(L)),_!==null&&_!==""&&k>R(_)&&(k=R(_)),yn(c).write(String(Number(k.toFixed(2))))}function f(u=document){u.addEventListener("reset",n),u.addEventListener("toggle",a,!0),u.addEventListener("input",r),u.addEventListener("change",r),u.addEventListener("clay:sorted",l),u.addEventListener("keydown",o)}return{install:f,addRouter:u=>t.push(u)}}var X="https://clayjs.com/v1/sap.js",qn=/^(calc|set|move|sort):/,Un=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function we(e){return qn.test(e)||Un.has(e)}Cn((e,t)=>{for(let r of e.attributes)we(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 ${X}; the markup stays as it is`})});function I(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 ${X}; the markup stays as it is`}),K(t,"E50"),e.app.halted=!0}xn({name:"core-only",collect(e,t,r){r.calcs&&I(e,t,"calc:"+r.calcs[0].name),r.effects&&I(e,t,"effect"),r.invalids&&I(e,t,"invalid");for(let n of t.attributes)we(n.name)&&(n.name.startsWith("calc:")&&r.calcs||n.name==="effect"&&r.effects||n.name==="invalid"&&r.invalids||I(e,t,n.name));return!1},boundary:{each(e,t){I(e,t,"each")},detail(e,t){I(e,t,"detail")}}});function Gn(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${X}`)}}}var ut=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${X}`),null),{Sap:Y,mountAll:ct,mount:Xn,runtime:Yn}=Hn({createAccessor:Gn,debugExtras:()=>({why:ut("why"),doctor:ut("doctor")}),installInput(e,t,r){zn(e).install(r)}});Y.core=!0;var Vn=typeof window<"u"&&window.Sap&&!window.Sap.core;Vn?Y.unmount():In(ct),typeof window<"u"&&!window.Sap&&(window.Sap=Y);var Kn=Y;return gt(Ee)})(),Zn=Qn.default;export{Zn as default};