@panphora/clayjs 1.24.1 → 1.25.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.
- package/dist/all.js +1 -1
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +6060 -4662
- package/dist/m/attrs/{refetch-on-save-DPGJJMGN.js → refetch-on-save-5CBFUJUF.js} +1 -1
- package/dist/m/attrs/save-freeze-PUYX32AK.js +1 -0
- package/dist/m/{c-HIX5H5L7.js → c-2A2ATCIH.js} +1 -1
- package/dist/m/{c-BOMQIQ3V.js → c-2EFMJYGJ.js} +1 -1
- package/dist/m/{c-MP6S4AZU.js → c-2GB34XL4.js} +2 -2
- package/dist/m/c-2TJCFPX4.js +4 -0
- package/dist/m/c-33SS5A4Y.js +1 -0
- package/dist/m/{c-PCNJETUA.js → c-34J5HC7N.js} +1 -1
- package/dist/m/{c-AT7GLQGV.js → c-3AAQJAKJ.js} +1 -1
- package/dist/m/c-3F3AADKG.js +1 -0
- package/dist/m/{c-HL6BLJNA.js → c-3WX5FABT.js} +1 -1
- package/dist/m/c-3XNTQQEJ.js +1 -0
- package/dist/m/{c-ZRGEN6QQ.js → c-3Y234AUB.js} +2 -2
- package/dist/m/{c-SUXHUL7U.js → c-42RLKGEY.js} +1 -1
- package/dist/m/{c-2BLVA6IN.js → c-44WITKWQ.js} +1 -1
- package/dist/m/c-47M4QHCK.js +1 -0
- package/dist/m/{c-UOUUI265.js → c-4M2T676V.js} +1 -1
- package/dist/m/{c-SXGEWPFC.js → c-4NAYDOWH.js} +1 -1
- package/dist/m/{c-OCYG4NBQ.js → c-4OZZ7ENT.js} +2 -2
- package/dist/m/{c-UOOIF2AL.js → c-5IIEOPIV.js} +1 -1
- package/dist/m/{c-YDW4VCHP.js → c-755ZOHOM.js} +1 -1
- package/dist/m/c-7Q4XYDF4.js +1 -0
- package/dist/m/c-7RHOMAMR.js +1 -0
- package/dist/m/{c-7V6MGMX2.js → c-7Z2625LX.js} +1 -1
- package/dist/m/{c-CTGRDT6E.js → c-A3OKSYRI.js} +1 -1
- package/dist/m/{c-GNI7WHKF.js → c-A5IYL7JI.js} +1 -1
- package/dist/m/c-A5LASUEZ.js +1 -0
- package/dist/m/c-AQVQKFKB.js +1 -0
- package/dist/m/{c-FLEIU6CG.js → c-ASGHHLFX.js} +1 -1
- package/dist/m/c-ASMLERFA.js +7 -0
- package/dist/m/{c-LUXAB2XI.js → c-AZM34SPO.js} +1 -1
- package/dist/m/{c-ZFO5RW6G.js → c-BHLYQGTA.js} +1 -1
- package/dist/m/{c-C5AKJVRH.js → c-BJ2RRQBQ.js} +1 -1
- package/dist/m/{c-FVPNX2GO.js → c-C27EVUQ6.js} +1 -1
- package/dist/m/{c-DFKBGSN2.js → c-C5UGNOC2.js} +1 -1
- package/dist/m/c-C6DXZIXD.js +1 -0
- package/dist/m/{c-EDE45NM7.js → c-C7SUMNMI.js} +1 -1
- package/dist/m/{c-STRI73GQ.js → c-CL5LSATX.js} +1 -1
- package/dist/m/c-CPRGR2II.js +1 -0
- package/dist/m/{c-NFQFV7OP.js → c-D2OPWOWO.js} +1 -1
- package/dist/m/{c-ZKKAF4UT.js → c-D4N4UJCQ.js} +2 -2
- package/dist/m/{c-6LEYVQJK.js → c-DAUQ6JZ3.js} +1 -1
- package/dist/m/{c-ZGCO4J3H.js → c-DDCYVLGG.js} +1 -1
- package/dist/m/{c-KQKKIVLW.js → c-DVMDYRAE.js} +1 -1
- package/dist/m/{c-OG6GFSUX.js → c-DYTBSJBI.js} +1 -1
- package/dist/m/{c-P2HKMJAW.js → c-EAV7A6BT.js} +1 -1
- package/dist/m/{c-X75G43SZ.js → c-EEWPNUM2.js} +1 -1
- package/dist/m/c-EHAR4RJJ.js +3 -0
- package/dist/m/c-EIDZHQHZ.js +1 -0
- package/dist/m/c-ELXMSEN5.js +1 -0
- package/dist/m/{c-QQFHEODI.js → c-EQ5NBOGA.js} +1 -1
- package/dist/m/c-FC5RUFPR.js +1 -0
- package/dist/m/{c-ND3Q2G2I.js → c-GFASNR55.js} +1 -1
- package/dist/m/{c-A4L7APIU.js → c-GNFDX6SU.js} +1 -1
- package/dist/m/{c-LATNQ6Q5.js → c-H3M6UDNV.js} +1 -1
- package/dist/m/{c-YLHTD3KX.js → c-H4M2T4A6.js} +1 -1
- package/dist/m/{c-DDS23EY6.js → c-HXGNH6GY.js} +1 -1
- package/dist/m/{c-PDBNCJCT.js → c-HYNM5U6B.js} +1 -1
- package/dist/m/c-J2YYLEVM.js +1 -0
- package/dist/m/c-J2ZW4HMR.js +1 -0
- package/dist/m/{c-WCG6AKA7.js → c-JC4RZW4E.js} +1 -1
- package/dist/m/c-K2ZHQMPF.js +1 -0
- package/dist/m/{c-6IJEVE6B.js → c-KU3PX7LL.js} +1 -1
- package/dist/m/{c-YYMZWQLR.js → c-L6KVXPBO.js} +1 -1
- package/dist/m/{c-CV4T65JE.js → c-LUBZU4AZ.js} +4 -4
- package/dist/m/{c-5FXEKU4Y.js → c-LYNLY3MR.js} +1 -1
- package/dist/m/{c-NQAPWM7O.js → c-MHTO3QAD.js} +1 -1
- package/dist/m/{c-HDVH3MVC.js → c-MKAUC6DB.js} +1 -1
- package/dist/m/c-MLMJUNRV.js +1 -0
- package/dist/m/c-MMEVDN6D.js +1 -0
- package/dist/m/c-MOP5KBWZ.js +1 -0
- package/dist/m/{c-LA2BW7UY.js → c-MZCOGNZL.js} +1 -1
- package/dist/m/{c-XW5TIYYB.js → c-N4GEJMXW.js} +1 -1
- package/dist/m/{c-RS77ODLY.js → c-NL4I4KNG.js} +1 -1
- package/dist/m/{c-2PVGJFI5.js → c-NW4ZFKCY.js} +1 -1
- package/dist/m/{c-PYG2NGWU.js → c-O3DPFZCE.js} +1 -1
- package/dist/m/c-O4YIDULY.js +1 -0
- package/dist/m/{c-LTSPHVAK.js → c-OBMZASYQ.js} +1 -1
- package/dist/m/c-OZOACVUD.js +1 -0
- package/dist/m/{c-YK2L436K.js → c-OZVK3TFI.js} +1 -1
- package/dist/m/c-P73XPAOA.js +1 -0
- package/dist/m/c-PP3CUF3U.js +1 -0
- package/dist/m/{c-B7GOFGQR.js → c-Q2CB57UG.js} +1 -1
- package/dist/m/{c-TWCXBWS3.js → c-QCDVDZIR.js} +1 -1
- package/dist/m/{c-LSVN3OLG.js → c-QL4NYM2L.js} +1 -1
- package/dist/m/c-RES2S5Q3.js +1 -0
- package/dist/m/c-RFGELYEU.js +2 -0
- package/dist/m/c-RGFPLQGV.js +1 -0
- package/dist/m/c-SMLAJASY.js +1 -0
- package/dist/m/{c-MQKSKQHG.js → c-STAPQ2X6.js} +1 -1
- package/dist/m/c-SYVF6ZMF.js +1 -0
- package/dist/m/{c-SE3SIY7Y.js → c-T5IWJOMW.js} +1 -1
- package/dist/m/{c-DD26VXAP.js → c-T7LOTEWO.js} +1 -1
- package/dist/m/{c-47IBJGPQ.js → c-TWB5ZQU4.js} +1 -1
- package/dist/m/c-U35T5NAY.js +1 -0
- package/dist/m/c-U4TWEIKZ.js +1 -0
- package/dist/m/c-UW6MMZ4V.js +1 -0
- package/dist/m/{c-JWDCQL6J.js → c-V5L6HWVL.js} +1 -1
- package/dist/m/c-VGG3UR7I.js +1 -0
- package/dist/m/{c-CZHTXGJS.js → c-VO6RSFCO.js} +1 -1
- package/dist/m/c-VU4WEWPH.js +4 -0
- package/dist/m/c-W7LWCJHD.js +1 -0
- package/dist/m/c-WOJ2RTV4.js +1 -0
- package/dist/m/{c-T3P3AXEW.js → c-WOWGGNCJ.js} +1 -1
- package/dist/m/{c-6RGEQNVV.js → c-XCOQNISP.js} +1 -1
- package/dist/m/{c-SGGGCIVD.js → c-XS7G6U3Z.js} +1 -1
- package/dist/m/{c-4PO3YGDC.js → c-Y3J5LDKB.js} +1 -1
- package/dist/m/c-Y3MPVURA.js +1 -0
- package/dist/m/c-Y6HH7LTM.js +1 -0
- package/dist/m/{c-RO73MKKR.js → c-YRDKVEGR.js} +1 -1
- package/dist/m/{c-FEC6LGFF.js → c-YZGWSCMT.js} +1 -1
- package/dist/m/{c-7CM4GMTS.js → c-ZJ7726FO.js} +1 -1
- package/dist/m/{c-SKMIR5HQ.js → c-ZPI7M5U5.js} +1 -1
- package/dist/m/core/{admin-attrs-ONRWVXPK.js → admin-attrs-43JBA6JB.js} +1 -1
- package/dist/m/core/{autosave-TBKAAAFB.js → autosave-HD7Y7UNV.js} +1 -1
- package/dist/m/core/{conflict-notice-FOEE6I7E.js → conflict-notice-Y2NTMDGJ.js} +1 -1
- package/dist/m/core/draft-mode-M5XNYBMY.js +1 -0
- package/dist/m/core/{host-permission-X4BENZEU.js → host-permission-5BYP24GC.js} +1 -1
- package/dist/m/core/{is-edit-mode-FFHCQ5DR.js → is-edit-mode-73OXKK5H.js} +1 -1
- package/dist/m/core/{persist-6ILUR34S.js → persist-MX3VYVBN.js} +1 -1
- package/dist/m/core/{recovery-APWADU4K.js → recovery-VZF7RJZF.js} +1 -1
- package/dist/m/core/{save-6HT2LABE.js → save-JZ7R4ET2.js} +1 -1
- package/dist/m/core/{save-core-EVMNZQ4V.js → save-core-I4N6S4ED.js} +1 -1
- package/dist/m/core/{site-edits-G4BOZMV4.js → site-edits-TIJDPG6H.js} +1 -1
- package/dist/m/core/{snapshot-FJP5IJL3.js → snapshot-N5MKDGNI.js} +1 -1
- package/dist/m/core/unsaved-warning-BP6ZY3PG.js +1 -0
- package/dist/m/events/{index-B6TGDYMG.js → index-YKQIBZE5.js} +1 -1
- package/dist/m/internals/index-3LAVREAU.js +1 -0
- package/dist/m/lib/{cache-bust-NH7VBWHO.js → cache-bust-BL4KUQAJ.js} +1 -1
- package/dist/m/{loader-GLLVDUZA.js → loader-7ORQVRCK.js} +1 -1
- package/dist/m/manifest-A27A4278.js +1 -0
- package/dist/m/manifest-edit-E8A61EB4.js +1 -0
- package/dist/m/manifest.json +1608 -1498
- package/dist/m/options/{options-55LQHSJ4.js → options-LKIZ7YTG.js} +1 -1
- package/dist/m/page/{editor-KAZDJNND.js → editor-HS2CAV3W.js} +5 -5
- package/dist/m/plugins/{ai-edit-LABECCSN.js → ai-edit-WDV2GLDU.js} +2 -2
- package/dist/m/plugins/{cms-T2HLI7JG.js → cms-4KET6RZT.js} +9 -9
- package/dist/m/plugins/{demo-T7B4RIKL.js → demo-LMCMBILC.js} +1 -1
- package/dist/m/plugins/{derive-6LPJOCAV.js → derive-R4USHZ7P.js} +1 -1
- package/dist/m/plugins/{indicator-J4ABFARX.js → indicator-OLPZ4WFI.js} +1 -1
- package/dist/m/plugins/{live-PGBIEMGB.js → live-CO4VJS46.js} +1 -1
- package/dist/m/plugins/{menu-YZL3X2AJ.js → menu-ESEFQARM.js} +1 -1
- package/dist/m/plugins/{page-WOCNX2IN.js → page-L3VKIQU2.js} +2 -2
- package/dist/m/plugins/{page-view-SJODOOGE.js → page-view-6KNTXABH.js} +1 -1
- package/dist/m/plugins/{people-C4TCWFOQ.js → people-EBWE337I.js} +1 -1
- package/dist/m/plugins/quickcrop-VNRXGRPC.js +26 -0
- package/dist/m/plugins/{richclay-Y2NV44NA.js → richclay-V6WKJTUF.js} +17 -17
- package/dist/m/plugins/sortable-BAG3MSWS.js +1 -0
- package/dist/m/plugins/{source-YK7MO23W.js → source-OYHDXKTB.js} +1 -1
- package/dist/m/plugins/undo-WUK2NLBA.js +1 -0
- package/dist/m/plugins/{upgrade-NNTJBSK2.js → upgrade-SZQJYEQQ.js} +1 -1
- package/dist/m/plugins/{upload-ZKKJV76X.js → upload-NZET3DNQ.js} +1 -1
- package/dist/m/plugins/visitor-drafts-ZE6PCAFP.js +20 -0
- package/dist/m/plugins/{visitor-drafts-owner-LHUHFU3L.js → visitor-drafts-owner-TLECTYWS.js} +1 -1
- package/dist/m/plugins/{visitor-menu-FY4KM2SW.js → visitor-menu-5XY57JQA.js} +1 -1
- package/dist/m/plugins/wire-S5ATC4QI.js +1 -0
- package/dist/m/reader-core-AHOAP5DH.js +77 -0
- package/dist/m/sync/live-sync-DX4K5GDB.js +1 -0
- package/dist/m/ui/index-G7ZJXNMG.js +1 -0
- package/dist/m/vendor/sap-core.vendor-5TWOJYVM.js +7 -0
- package/dist/offline-manifest.json +844 -784
- package/dist/server/core.cjs +4245 -2614
- package/dist/server/markdown.cjs +1 -0
- package/dist/server/markdown.mjs +7 -0
- package/docs/guide.md +27 -37
- package/entries/clay-data.js +1 -1
- package/entries/sap.js +6 -5
- package/package.json +6 -2
- package/packed-contract.json +3 -0
- package/src/attrs/save-freeze.js +1 -1
- package/src/core/admin-contenteditable.js +1 -1
- package/src/core/admin-inputs.js +1 -1
- package/src/core/admin-onclick.js +1 -1
- package/src/core/admin-resources.js +5 -2
- package/src/core/conflict-notice-ui.js +59 -34
- package/src/core/draft-mode.js +5 -0
- package/src/core/save-core.js +10 -10
- package/src/core/save.js +10 -10
- package/src/core/snapshot.js +56 -43
- package/src/core/stale-host-notice.js +20 -7
- package/src/lib/dirty-gate.js +19 -0
- package/src/page/editor.js +10 -4
- package/src/page/import-markdown.js +22 -8
- package/src/page/save-projection.js +1 -1
- package/src/plugins/menu/visitor.js +33 -1
- package/src/plugins/quickcrop.js +128 -69
- package/src/plugins/sortable.js +25 -9
- package/src/plugins/visitor-drafts/commit.js +50 -3
- package/src/plugins/visitor-drafts/idb.js +8 -2
- package/src/plugins/visitor-drafts/recovery-menu.js +118 -0
- package/src/plugins/visitor-drafts/recovery.js +64 -0
- package/src/plugins/visitor-drafts/session.js +61 -13
- package/src/plugins/visitor-drafts/store.js +44 -8
- package/src/plugins/visitor-drafts.js +34 -5
- package/src/server/markdown/index.js +23 -0
- package/src/sync/conflicts.js +3 -1
- package/src/sync/data-guard-notice.js +137 -18
- package/src/sync/live-sync.js +1 -1
- package/src/sync/wire-profile.js +9 -4
- package/src/ui/bevel-controls.js +4 -1
- package/src/ui/dialogs.js +11 -7
- package/src/ui/modal.js +9 -7
- package/src/ui/toast.js +67 -32
- package/src/vendor/hyper-html-api-data.vendor.js +1 -1
- package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
- package/src/vendor/hyper-undo.vendor.js +1 -1
- package/src/vendor/hypercms.vendor.js +7 -7
- package/src/vendor/richclay.vendor.js +16 -16
- package/src/vendor/sap-core.vendor.js +6 -5
- package/src/vendor/sap-ownership.vendor.js +181 -11
- package/tool-generation/context.md +69 -0
- package/tool-generation/system.md +2 -2
- package/dist/m/attrs/save-freeze-JZHKRQLR.js +0 -1
- package/dist/m/c-277QP5ET.js +0 -1
- package/dist/m/c-3UW5EJ77.js +0 -1
- package/dist/m/c-42ZNV7LI.js +0 -7
- package/dist/m/c-6Q6RGFBF.js +0 -1
- package/dist/m/c-APGHGDZM.js +0 -1
- package/dist/m/c-BGN7RCTJ.js +0 -1
- package/dist/m/c-CJ7QYEWI.js +0 -1
- package/dist/m/c-CVSWLX3X.js +0 -1
- package/dist/m/c-DXPOFLEJ.js +0 -1
- package/dist/m/c-EILLN2H2.js +0 -1
- package/dist/m/c-EODTTNVA.js +0 -1
- package/dist/m/c-ESK4S67I.js +0 -1
- package/dist/m/c-FDWR3FL7.js +0 -1
- package/dist/m/c-FYDKYW6E.js +0 -1
- package/dist/m/c-HKSLOVU4.js +0 -1
- package/dist/m/c-HTLYXCUH.js +0 -1
- package/dist/m/c-IUL7PU4P.js +0 -1
- package/dist/m/c-JQF2EUCG.js +0 -1
- package/dist/m/c-MFOSMAVM.js +0 -3
- package/dist/m/c-MQYEDF3Q.js +0 -1
- package/dist/m/c-MR75YPRT.js +0 -1
- package/dist/m/c-NHXOBD6A.js +0 -1
- package/dist/m/c-NVU3DORS.js +0 -1
- package/dist/m/c-OYHI67B6.js +0 -1
- package/dist/m/c-PWJSJEJU.js +0 -1
- package/dist/m/c-QENKN7QI.js +0 -1
- package/dist/m/c-R23UHMXG.js +0 -1
- package/dist/m/c-SGH3UTF3.js +0 -1
- package/dist/m/c-SXNSSHPP.js +0 -1
- package/dist/m/c-TFLRT5JX.js +0 -1
- package/dist/m/c-U4NTUVDZ.js +0 -1
- package/dist/m/c-V2U3F4QX.js +0 -1
- package/dist/m/c-VG5XIN4T.js +0 -1
- package/dist/m/c-VHSMPITY.js +0 -1
- package/dist/m/c-Z4G2UK6T.js +0 -4
- package/dist/m/core/draft-mode-4MCL3LYI.js +0 -1
- package/dist/m/core/unsaved-warning-ITZDIZ2I.js +0 -1
- package/dist/m/internals/index-HS3CQDFW.js +0 -1
- package/dist/m/manifest-50FF1C45.js +0 -1
- package/dist/m/manifest-edit-BE1A621D.js +0 -1
- package/dist/m/plugins/quickcrop-X5MRIBAP.js +0 -26
- package/dist/m/plugins/sortable-XCHQG65Z.js +0 -1
- package/dist/m/plugins/undo-VLRBQNPN.js +0 -1
- package/dist/m/plugins/visitor-drafts-RTZNONHT.js +0 -20
- package/dist/m/plugins/wire-M2NR354P.js +0 -1
- package/dist/m/reader-core-T2S3JC4E.js +0 -77
- package/dist/m/sync/live-sync-Z64YREWQ.js +0 -1
- package/dist/m/ui/index-MGTWOW2C.js +0 -1
- package/dist/m/vendor/sap-core.vendor-QAEPMETX.js +0 -6
- /package/dist/m/{c-QTTJYJMA.js → c-FILLTJA7.js} +0 -0
- /package/dist/m/plugins/{quickcrop-X5MRIBAP.js.LEGAL.txt → quickcrop-VNRXGRPC.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-Y2NV44NA.js.LEGAL.txt → richclay-V6WKJTUF.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as x,d as I,e as g,f as P,g as M}from"../c-7DJDKPGL.js";import{a as $}from"../c-MZCOGNZL.js";import"../c-IJUK2GPW.js";import{f as R,k as F}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import{k as N}from"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import{e as k}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var T=k("history"),W="[cms-template]",L=["draggable","style"],X=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,E=null,m=null;function q(e,t,n,r,i){let o={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(o),o}function H(e,t){t.target.removeEventListener(t.type,t.handler,t.options);let n=e.listeners.indexOf(t);n!==-1&&e.listeners.splice(n,1)}function U(e,t){let n=setTimeout(()=>{e.timers.delete(n),t()},0);return e.timers.add(n),n}function Y(e,t){return{Sortable:e,root:t,admitted:!1,instances:new Set,listeners:[],timers:new Set,presses:new Set,stop:null}}var Z={admitted:!0,instances:new Set,listeners:[],timers:new Set,presses:new Set};function C(e){return[e,...e.querySelectorAll("*")].filter(t=>!t.closest(T)).map(t=>[t,L.map(n=>t.getAttribute(n))])}function _(e){for(let[t,n]of e)L.forEach((r,i)=>{let o=n[i],u=t.getAttribute(r);if(u!==o)if(o===null){if(r==="style"&&u)return;t.removeAttribute(r)}else t.setAttribute(r,o)})}function B(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function ee(e){return`> ${B(e)}:not(${T})`}function V(e,t){return!e||!t||t.nodeType!==1||!t.matches(B(e))?!1:!t.closest(T)&&!t.closest(W)}function D(e,t){return!e||!t||t.parentElement!==e?!1:V(e,t)}function te(e,t){let n=t.nextElementSibling;for(;n&&!D(e,n);)n=n.nextElementSibling;return n}function j(e,t){return Array.prototype.indexOf.call(e.children,t)}function G(e,t){if(t)try{new Function(`return (async function(evt) { ${t} })`)().call(e.from,e)}catch(n){console.error("Error in onsorted execution:",n)}e.from.dispatchEvent(new CustomEvent("clay:sorted",{bubbles:!0,detail:{item:e.item,from:e.from,to:e.to,oldIndex:e.oldIndex,newIndex:e.newIndex}})),e.from.dispatchEvent(new Event("input",{bubbles:!0}))}function z(e,t,n=Z){let r={};if(r.draggable=ee(e),r.setData=s=>{s.clearData(),s.setData("application/x-clay-sortable","")},t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let o=e.querySelectorAll("[sortable-handle]"),u=e.querySelectorAll("[sortable]");Array.from(o).some(s=>!Array.from(u).some(l=>l.contains(s)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");if(c){let s=null;try{s=/\bawait\b/.test(c)?new Function(`return (async function(evt) { ${c} })`)():new Function("evt",c)}catch(l){console.error("Error in onsorting compilation:",l)}s&&(r.onMove=function(l){if(n.admitted)try{let a=s.call(e,l);return a instanceof Promise?void 0:a}catch(a){console.error("Error in onsorting execution:",a)}})}let d=e.getAttribute("onsorted");r.onEnd=function(s){if(!n.admitted)return;let l={item:s.item,from:s.from,to:s.to,oldIndex:s.oldIndex,newIndex:s.newIndex},a=f;f=null,b&&(_(b),b=null),a&&(M(a,l),g(a)),G(l,d)};let p=null,f=null,b=null,S=!1,A=!1,v=[],K=()=>{let s=f;f=null,b=null,g(s)},O=()=>{let s=p;p=null,s&&(n.presses.delete(s),y.delete(s),b=s),v.forEach(l=>H(n,l)),v=[],s&&U(n,()=>_(s))},Q=s=>{A&&s?.type==="pointercancel"||(A=!1,S?I(f):(g(f),f=null),S=!1,O(),U(n,K))};q(n,e,"pointerdown",s=>{let l=s.target instanceof Element?s.target:null;for(;l&&l.parentElement!==e;)l=l.parentElement;!l||p||(p=C(l),f=x(l),S=!1,A=!1,n.presses.add(p),y.add(p),v=X.map(a=>q(n,document,a,Q,!0)),v.push(q(n,document,"dragstart",()=>{A=!0},!0)))},!0),r.onUnchoose=O,r.onStart=()=>{S=!0},t.create(e,r),n.instances.add(e)}function ne(e,t,n=null){let r=d=>({ok:!1,code:d});if(!R||m&&!m.admitted)return r("not-editable");let i=document;if(!e||e.nodeType!==1||!e.isConnected||e.ownerDocument!==i)return r("detached");let o=e.parentElement;if(!o||!o.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!o.hasAttribute("sortable")||!D(o,e)||!t.hasAttribute("sortable")||!V(t,e)||e===t||e.contains(t))return r("item");if(o!==t){let d=o.getAttribute("sortable");if(!d||d!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!D(t,n))return r("anchor");if(o===t&&te(o,e)===n)return{ok:!0,moved:!1};let u=j(o,e),w=x(e);I(w);let c;try{t.insertBefore(e,n),c={item:e,from:o,to:t,oldIndex:u,newIndex:j(t,e)},M(w,c)}finally{g(w)}return G(c,o.getAttribute("onsorted")),{ok:!0,moved:!0,...c}}function re(){return h||(h=import("../vendor/Sortable.vendor-A755ITLN.js").then(e=>window.Sortable||e.default),h.catch(()=>{h=null})),h}function se(){return E||(N((e,{original:t})=>{for(let r of e.querySelectorAll("[sortable] .sortable-chosen, [sortable] .sortable-ghost, [sortable] .sortable-drag"))r.classList.remove("sortable-chosen","sortable-ghost","sortable-drag"),r.classList.length||r.removeAttribute("class");if(!y.size)return;let n=new Map;for(let r of y)for(let[i,o]of r)n.set(i,o);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&L.forEach((o,u)=>{i[u]===null?r.removeAttribute(o):r.setAttribute(o,i[u])})}}),E=!0,E)}function oe(e){return{enable(){if(!e.admitted){e.admitted=!0;for(let t of e.root.querySelectorAll("[sortable]"))z(t,e.Sortable,e);e.stop=$.onAddElement({selectorFilter:"[sortable]",debounce:200,require:"observed",pausable:!1},t=>{e.admitted&&t.forEach(({element:n})=>{z(n,e.Sortable,e)})})}},quiesce(){e.admitted=!1},resume(){e.admitted=!0},dispose(){e.admitted=!1,e.stop&&(e.stop(),e.stop=null);for(let t of[...e.listeners])H(e,t);for(let t of e.timers)clearTimeout(t);e.timers.clear();for(let t of e.presses)y.delete(t);e.presses.clear(),P();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),m===e&&(m=null)}}}var le=e=>e?e.signal?.aborted?!0:typeof e.isCurrent=="function"&&!e.isCurrent():!1;function ie(e=document){return{id:"clay:sortable",order:300,async prepare(t={}){if(t.initial===!0)return ae();let n=await re();if(le(t))throw Object.assign(new Error("clay:sortable prepared for a stale generation"),{code:"stale-document"});return se(),oe(m||(m=Y(n,e)))}}}async function ae(){let e=await ue;return{enable(){},quiesce:()=>e?.quiesce(),resume:()=>e?.resume(),dispose:()=>e?.dispose()}}async function J(){if(!F())return null;let e=await ie().prepare();return e.enable(),e}var ue=J(),be=Object.freeze({move:ne});var ge=J;export{ge as default,J as init,z as makeSortable,ie as modeParticipant,ne as move,ue as ready,be as sortable,ie as sortableParticipant};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../c-
|
|
1
|
+
import"../c-EHAR4RJJ.js";import{a as d}from"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import{k as p}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var g={installed:!1,refused:null,sourceBytes:null,paired:0,unresolved:0,unmatchedLive:0,unmatchedSource:0,attrDiffs:0,saves:0,reprints:0,lastReprint:null,partialReprints:0,lastPartialReprint:null,lastRenderMs:null,lastBytes:null,refreshes:0,timing:{fetch:null,model:null,pair:null,refresh:null}},n=null,c=null,i=null,u=p(),s=0,r=null,a=!1,o=null;function v(){return o??=import("../c-H4M2T4A6.js").catch(e=>{throw o=null,e}),o}function f(e,t,l){typeof e=="string"&&(i=Object.freeze({bytes:e,etag:t??null,seq:l??null}))}function h(){if(r)return r;let e=s,t=c;return r=v().then(l=>(n=l,e!==s?(r=null,null):l.start({context:t,latest:()=>i}))).catch(l=>(r=null,console.info("clayjs: source map off ("+(l&&l.message?l.message:l)+"); saves use the full serialization"),null)).then(l=>(e===s&&(a=!0),l)),r}function x(){return!u||a?null:h()}function m(){s++,u=!1,a=!1,r=null,c=null,n&&n.release()}d((e,t)=>{f(e,i?i.etag:null,i?i.seq:null),n&&!n.installed()&&n.adoptAccepted(e,t)});document.addEventListener("clay:sync-applied",e=>{let t=e&&e.detail;!t||t.source!=="disk"||typeof t.html!="string"||(f(t.html,t.etag,t.seq),n&&!n.installed()&&n.adoptAccepted(t.html,null))});function y(e,t,l={}){return n?n.renderSave(e,t,l):t}var A={get ready(){return u?h():null},stats:()=>n?n.stats():{...g},text:()=>n?n.text():null,locate:e=>n?n.locateLive(e):null,unpaired:()=>n?n.unpaired():null,ensureForSave:x,get repairGeneration(){return n?n.repairGeneration():0}};function L(){return{id:"clay:source",order:30,prepare(e={}){let t=e&&e.represented;if(t&&(c={represented:t},f(t.bytes,t.etag,t.seq)),e&&e.initial===!0)return u=!0,{enable(){},quiesce(){},resume(){},dispose:m};let l=++s;return u=!1,a=!1,r=null,{enable(){l===s&&(u=!0)},quiesce(){},resume(){l===s&&(u=!0)},dispose(){l===s&&m()}}}}}var R=A;export{R as default,L as modeParticipant,y as renderSave,A as source,L as sourceParticipant};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as xt,c as Vt}from"../c-7DJDKPGL.js";import{g as we}from"../c-P73XPAOA.js";import{a as ye}from"../c-WYFDLITL.js";import"../c-MZCOGNZL.js";import"../c-IJUK2GPW.js";import{k as Et}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import{a as St}from"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import{l as At}from"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Nt=(()=>{var c=Object.defineProperty,m=Object.getOwnPropertyDescriptor,E=Object.getOwnPropertyNames,A=Object.prototype.hasOwnProperty,I=(e,n)=>{for(var t in n)c(e,t,{get:n[t],enumerable:!0})},re=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of E(n))!A.call(e,a)&&a!==t&&c(e,a,{get:()=>n[a],enumerable:!(o=m(n,a))||o.enumerable});return e},de=e=>re(c({},"__esModule",{value:!0}),e),K={};I(K,{default:()=>Rn,endsSentence:()=>Xe,undo:()=>Ne});function se(e,n=null){let t=[];if(e.type==="attributes"){let o=e.target,a=e.attributeName,i=e.oldValue,l=o.getAttribute(a);return i==null&&l!=null?t.push({kind:"attr-add",target:o,name:a,newValue:l}):i!=null&&l==null?t.push({kind:"attr-remove",target:o,name:a,oldValue:i}):i!==l&&t.push({kind:"attr-set",target:o,name:a,oldValue:i,newValue:l}),t}if(e.type==="characterData")return t.push({kind:"text",target:e.target,oldValue:e.oldValue,newValue:e.target.data}),t;if(e.type==="childList"){let o=e.target,a=e.nextSibling,i=e.nextSibling;for(;i&&n?.(i);)i=i.nextSibling;let l=e.previousSibling;for(;l&&n?.(l);)l=l.previousSibling;let s=n?Array.from(e.addedNodes).filter(w=>!n(w)):Array.from(e.addedNodes),p=n?Array.from(e.removedNodes).filter(w=>!n(w)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:o,nodes:s,before:a,afterAuthored:i,beforeAuthored:l,record:e}),p.length>0&&t.push({kind:"remove",parent:o,nodes:p,before:a,afterAuthored:i,beforeAuthored:l,record:e}),t}return t}function Lt(e,n=null){let t=[],o=new Map;for(let a of e){if(a.type==="attributes"){let i=a.target,l=a.attributeName,s=o.get(i);s||(s=new Map,o.set(i,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:a.oldValue}),t.push(null));continue}for(let i of se(a,n))t.push(i)}for(let[a,i]of o)for(let[l,s]of i){let p=s.oldValue,w=a.getAttribute(l),y=null;p===w?y=null:p==null?y={kind:"attr-add",target:a,name:l,newValue:w}:w==null?y={kind:"attr-remove",target:a,name:l,oldValue:p}:y={kind:"attr-set",target:a,name:l,oldValue:p,newValue:w},t[s.idx]=y}return t.filter(a=>a!=null)}function Mt(e,{sameContent:n=(t,o)=>t===o}={}){let t=[],o=new Map;for(let i of e){let l=Be(i);if(l==null){t.push(i);continue}let s=o.get(i.target);s||(s=new Map,o.set(i.target,s));let p=s.get(l);if(p==null){let w=_e(i);if(w.oldValue===w.newValue)continue;s.set(l,t.length),t.push({...i,...w})}else t[p]={...t[p],newValue:_e(i).newValue}}let a=[];for(let i of t){if(Be(i)==null){a.push(i);continue}i.oldValue!==i.newValue&&(i.kind==="value"&&i.content===!0&&n(i.oldValue,i.newValue)||a.push(Kt(i)))}return a}var Dt=new Set(["attr-set","attr-add","attr-remove","text","value"]);function Be(e){return Dt.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function _e(e){return e.kind==="attr-add"?{oldValue:null,newValue:e.newValue}:e.kind==="attr-remove"?{oldValue:e.oldValue,newValue:null}:{oldValue:e.oldValue,newValue:e.newValue}}function Kt(e){return e.kind!=="attr-add"&&e.kind!=="attr-remove"?e:e.oldValue==null&&e.newValue!=null?{...e,kind:"attr-add"}:e.oldValue!=null&&e.newValue==null?{...e,kind:"attr-remove"}:{...e,kind:"attr-set"}}var ze=new WeakMap,jt=0;function j(e){let n=ze.get(e);return n||(n=`n${++jt}`,ze.set(e,n)),n}function P(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function qt(e){return e.kind==="add"||e.kind==="remove"}function Fe(e,n){let t=[],o=e.childNodes;if(!o)return t;for(let a of o)n&&n(a)||t.push(j(a));return t}function Ue(e,n,t){if(typeof n!="function"||!P(e)||e.nodeType!==1)return null;let o=null;try{o=n(e,t)}catch{o=null}return typeof o=="string"?`#form:${JSON.stringify(o)}`:null}function oe(e,n,t=null,o=null,a=null,i=null){if(!P(e))return null;let l=Ue(e,a,t);if(l!=null)return l;if(e.nodeType===3)return`#text:${JSON.stringify(i&&i.has(e)?i.get(e):e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let s=[];if(e.attributes){for(let w of e.attributes)$t(w.name,e,n,t)||s.push(`${w.name}=${JSON.stringify(w.value)}`);s.sort()}let p=[];if(e.childNodes)for(let w of e.childNodes){let y=Ue(w,a,t);if(y!=null){p.push(y);continue}Bt(w,o)||p.push(oe(w,n,t,o,a,i))}return`<${String(e.tagName||"").toLowerCase()}${s.length?` ${s.join(" ")}`:""}>${p.join("")}</>`}function ve(e,n=[]){if(!P(e))return n;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&n.push(t)}if(e.childNodes)for(let t of e.childNodes)ve(t,n);return n}function $t(e,n,t,o=null){if(typeof t!="function")return!1;try{return!!t(e,n,o)}catch{return!1}}function Bt(e,n){if(typeof n!="function")return!1;try{return!!n(e)}catch{return!1}}function We(e,n){if(typeof n!="function")return[];let t=[],o=a=>{if(!P(a))return;let i=!1;try{i=!!n(a)}catch{i=!1}if(i&&t.push(M(a,"protected")),a.childNodes)for(let l of a.childNodes)o(l)};for(let a of e)o(a);return t}function M(e,n,t=null){let o=e;o&&o.nodeType!==1&&(o=o.parentElement);let a=o&&typeof o.closest=="function"?o.closest("[data-id]"):null;return!a&&t&&typeof t.closest=="function"&&(a=t.closest("[data-id]")),{id:(a?a.getAttribute("data-id"):null)||null,kind:n||null}}function _t(e,n,t=null){return(e||[]).filter(P).map(o=>M(o,n,t))}function ie(e){return{replayable:!1,reason:e,steps:[]}}function ce(e,n){let t=[[n.afterAuthored,a=>a],[n.beforeAuthored,a=>a+1],[n.before,a=>a]],o=!1;for(let[a,i]of t){if(!P(a))continue;o=!0;let l=e.indexOf(j(a));if(l>=0)return i(l)}return o?null:e.length}function zt(e,n={}){let t=n.isIgnored||null,o=n.ignoreAttribute||null,a=n.durableForm||null,i=Mt(e,{sameContent:ke}),l=[];for(let v of i){if(!qt(v)){if(!P(v.target))return ie("non-dom-target");continue}if(!P(v.parent))return ie("non-dom-parent");let x=Array.from(v.nodes||[]).filter(P);if(x.length!==0){if(x.length!==Array.from(v.nodes||[]).length)return ie("non-dom-node");l.push({primitive:v,nodes:x,parent:v.parent})}}if(Ft(l))return ie("in-record-move");let s=Ut(l,t);if(!s)return ie("ambiguous-structure");let p=Wt(l,s),w=new Map(l.map(v=>[v.primitive,v])),y=[];for(let v of i){let x=w.get(v);if(!x){y.push(Jt(v));continue}let N=p.get(x);if(N){N.at===x&&y.push(N.step);continue}y.push(Ht(x,s.get(x),o,t,a))}return{replayable:!0,reason:null,steps:y}}function Ft(e){let n=new Map;for(let t of e){let o=t.primitive.record;if(!o)continue;let a=n.get(o);a||(a=new Map,n.set(o,a));for(let i of t.nodes){let l=a.get(i);l||(l=new Set,a.set(i,l)),l.add(t.primitive.kind)}}for(let t of n.values())for(let o of t.values())if(o.size>1)return!0;return!1}function Ut(e,n){let t=new Map;for(let a of e)t.has(a.parent)||t.set(a.parent,Fe(a.parent,n));let o=new Map;for(let a=e.length-1;a>=0;a--){let i=e[a],l=t.get(i.parent);if(!l)return null;let s=l.slice(),p;if(i.primitive.kind==="add"){let w=i.nodes.map(j);if(!w.every(y=>l.includes(y)))return null;p=l.filter(y=>!w.includes(y))}else{let w=ce(s,i.primitive);if(w==null)return null;p=s.slice(),p.splice(w,0,...i.nodes.map(j))}o.set(i,{before:p,after:s}),t.set(i.parent,p)}return o}function Wt(e,n){let t=new Map,o=new Map;e.forEach((i,l)=>{for(let s of i.nodes){let p=j(s);i.primitive.kind==="remove"?t.set(p,{item:i,index:l,node:s}):o.set(p,{item:i,index:l,node:s})}});let a=new Map;for(let[i,l]of t){let s=o.get(i);if(!s||s.index<l.index||l.item.nodes.length!==1||s.item.nodes.length!==1)continue;let p={type:"move",node:l.node,sourceParent:l.item.parent,destParent:s.item.parent,source:n.get(l.item),dest:n.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[M(l.node,"move")]};a.set(l.item,{step:p,at:s.item}),a.set(s.item,{step:p,at:s.item})}return a}function Ht(e,n,t,o,a=null){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:n.before,seqAfter:n.after,slot:e.primitive,content:e.nodes.map(l=>oe(l,t,e.parent,o,a)),ids:i==="remove"?e.nodes.flatMap(l=>ve(l)):[],targets:_t(e.nodes,i==="add"?"added":"removed",e.parent)}}function Jt(e){return{type:e.kind,primitive:e,targets:[M(e.target,e.name||e.prop||"text")]}}function Yt(e,n,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let o={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,durableForm:t.durableForm||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,texts:new Map,operations:[]};for(let a=0;a<e.steps.length;a++){let i=e.steps[n==="undo"?e.steps.length-1-a:a],l=Xt(i,n,o);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:o.operations}}function G(e,n){return e.sim.has(n)||e.sim.set(n,Fe(n,e.isIgnored)),e.sim.get(n)}function X(e,n){for(let t=e;t;t=t.parentNode)if(n.planned.has(t))return n.planned.get(t);return n.inScope(e)}function He(e,n){return n.liveNodesWithIds(e).filter(t=>X(t,n)).length>0}function S(e,n){return{code:e,targets:n||[]}}function ke(e,n){return e===n?!0:typeof e!="string"||typeof n!="string"?!1:e.replace(/\u00A0| /g," ")===n.replace(/\u00A0| /g," ")}function Gt(e){return e.kind==="text"?e.target.data:e.kind==="value"?typeof e.read=="function"?e.read(e.target):e.target[e.prop||"value"]:e.target.getAttribute(e.name)}function Xt(e,n,t){let o=n==="undo";return e.type==="move"?nn(e,o,t):e.type==="add"?Qt(e,o,t):e.type==="restore"?en(e,o,t):Zt(e,o,t)}function Zt(e,n,t){let o=e.primitive,a=n?o.newValue:o.oldValue,i=n?o.oldValue:o.newValue;if(!P(o.target))return S("unsupported",e.targets);if(!X(o.target,t))return S("target-detached",e.targets);if(o.kind==="value"&&typeof o.write=="function"&&typeof o.read!="function")return S("unsupported",e.targets);let l=Gt(o);return(o.content===!0?!ke(l,a):l!==a)?S("content-changed",e.targets):(o.kind==="value"?t.operations.push({type:"value",target:o.target,prop:o.prop||"value",value:i,read:o.read||null,write:o.write||null,content:o.content===!0}):o.kind==="text"?(t.operations.push({type:"text",target:o.target,data:i}),t.texts.set(o.target,i)):t.operations.push({type:"attr",target:o.target,name:o.name,value:i??null}),null)}function Qt(e,n,t){if(!P(e.parent)||!X(e.parent,t))return S("target-detached",e.targets);if(n){if(!Z(G(t,e.parent),e.seqAfter))return S("structure-changed",e.targets);let s=We(e.nodes,t.isProtected);if(s.length>0)return S("protected",s);for(let p=0;p<e.nodes.length;p++)if(oe(e.nodes[p],t.ignoreAttribute,e.parent,t.isIgnored,t.durableForm)!==e.content[p])return S("content-changed",e.targets);for(let p of e.nodes)t.operations.push({type:"remove",node:p}),t.planned.set(p,!1);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!Z(G(t,e.parent),e.seqBefore))return S("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return S("structure-changed",e.targets);let o=e.nodes.flatMap(s=>ve(s));if(o.length>0&&He(o,t))return S("duplicate-id",e.targets);let a=ce(e.seqBefore,e.slot);if(a==null)return S("unsupported",e.targets);let i=e.seqBefore.slice(),l=a;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:i[l]??null}),i=i.slice(0,l).concat(j(s),i.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function en(e,n,t){if(!P(e.parent)||!X(e.parent,t))return S("target-detached",e.targets);if(n){if(!Z(G(t,e.parent),e.seqAfter))return S("structure-changed",e.targets);for(let p=0;p<e.nodes.length;p++){let w=e.nodes[p];if(w.parentNode||oe(w,t.ignoreAttribute,e.parent,t.isIgnored,t.durableForm)!==e.content[p])return S("content-changed",e.targets)}if(e.ids.length>0&&He(e.ids,t))return S("duplicate-id",e.targets);let i=ce(e.seqAfter,e.slot);if(i==null)return S("unsupported",e.targets);let l=e.seqAfter.slice(),s=i;for(let p of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:p,beforeId:l[s]??null}),l=l.slice(0,s).concat(j(p),l.slice(s)),s+=1,t.planned.set(p,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!Z(G(t,e.parent),e.seqBefore))return S("structure-changed",e.targets);let o=We(e.nodes,t.isProtected);if(o.length>0)return S("protected",o);let a=i=>t.planned.get(i)===!0||typeof t.isIgnored=="function"&&t.isIgnored(i);for(let i=0;i<e.nodes.length;i++){let l=e.nodes[i];if(l.parentNode!==e.parent||oe(l,t.ignoreAttribute,e.parent,a,t.durableForm,t.texts)!==e.content[i])return S("content-changed",e.targets)}for(let i of e.nodes)t.operations.push({type:"remove",node:i}),t.planned.set(i,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function tn(e,n){let t=e.indexOf(n);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function nn(e,n,t){let o=j(e.node),a=n?e.destParent:e.sourceParent,i=n?e.sourceParent:e.destParent,l=G(t,a),s=G(t,i),p=n?e.dest.after:e.source.before,w=n?e.source.after:e.dest.before,y=n?e.sourceSlot:e.destSlot;if(!P(a)||!P(i)||!X(a,t)||!X(i,t))return S("target-detached",e.targets);if(!Z(l,p))return S("structure-changed",e.targets);let v=a===i?tn(s,o):s;if(!Z(v,w))return S("structure-changed",e.targets);let x=ce(w,y);return x==null?S("unsupported",e.targets):(t.operations.push({type:"insert",parent:i,node:e.node,beforeId:w[x]??null}),t.planned.set(e.node,!0),n?(t.sim.set(i,e.source.before.slice()),a!==i&&t.sim.set(a,e.dest.before.slice())):(t.sim.set(i,e.dest.after.slice()),a!==i&&t.sim.set(a,e.source.after.slice())),null)}function Z(e,n){if(!e||!n||e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==n[t])return!1;return!0}function rn(e,n){for(let t of e.childNodes||[])if(j(t)===n)return t;return null}function Je(e,n){let t=Math.min(e.length,n.length),o=0;for(;o<t&&e[o]===n[o];)o++;let a=0;for(;a<t-o&&e[e.length-1-a]===n[n.length-1-a];)a++;return n.length-a}function Ye(e,n){typeof e.write=="function"?e.write(e.target,n):e.target[e.prop]=n}function on(e){let n=[];try{let t=null;for(let o of e)t=an(o,n)||t;return{ok:!0,caret:t}}catch(t){for(let o=n.length-1;o>=0;o--)try{n[o]()}catch{}return{ok:!1,error:t}}}function an(e,n){if(e.type==="attr"){let t=e.target.getAttribute(e.name);e.value==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,e.value),n.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;return e.target.data=e.data,n.push(()=>{e.target.data=t}),{node:e.target,offset:Je(t,e.data)}}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop],o=e.content?e.target.textContent:null;if(Ye(e,e.value),n.push(()=>Ye(e,t)),!e.content)return;let a=e.target.textContent;return a===o?void 0:{root:e.target,textOffset:Je(o,a)}}if(e.type==="insert"){let t=e.beforeId==null?null:rn(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let o=e.node.parentNode,a=e.node.nextSibling;return e.parent.insertBefore(e.node,t),n.push(()=>{o?o.insertBefore(e.node,a&&a.parentNode===o?a:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)}),e.node.nodeType!==3?void 0:{node:e.node,offset:e.node.data.length}}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let o=e.node.nextSibling,a=Array.prototype.indexOf.call(t.childNodes,e.node);return t.removeChild(e.node),n.push(()=>t.insertBefore(e.node,o)),e.node.nodeType!==3?void 0:{node:t,offset:a}}}var un=['[src^="chrome-extension://"]','[href^="chrome-extension://"]','[src^="moz-extension://"]','[href^="moz-extension://"]','[src^="safari-web-extension://"]','[href^="safari-web-extension://"]','[id="1p-menu-live-region"]',"com-1password-button","com-1password-menu","com-1password-notification","grammarly-extension","grammarly-desktop-integration","lt-div","lt-card","lt-toolbar","lt-highlighter","[data-lastpass-root]","[data-lastpass-icon-root]","[data-dashlane-shadowhost]","[data-klarna-extension]",'[class*="klarna-extension"]',".skiptranslate","#goog-gt-tt",".goog-te-banner-frame",".goog-te-balloon-frame","style.darkreader","style[data-darkreader-mode]","style[data-darkreader-scheme]","#loom-companion-mv3","loom-container","[ext-id]"],ln=["data-grammarly","data-lt","data-1p","data-com-onepassword","data-lastpass","data-lp","data-kwimpala","data-bitwarden","data-bw","data-dashlane","data-np","data-protonpass","data-proton-pass","data-keeper","data-rf","data-roboform","data-honey","data-rakuten","data-capital-one","data-wikibuy","data-klarna","data-darkreader","data-evernote","data-pocket","data-pin"],dn=un.join(","),sn=new RegExp("^(?:"+ln.join("|")+")(?:-|$)"),wr=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"]})}),cn=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),fn=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function Ae(e,n){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(n)||e.hasAttribute?.(n))}function Ge(e,n){if(Ae(e,n))return!0;for(let[t,o]of Object.entries(cn))if(o.includes(n)&&Ae(e,t))return!0;return!1}function pn(e){return e==="clay"||fn.includes(e)}var mn=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function gn(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function Ee(e){let n=gn();if(n)try{if(!n(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(dn))return!0;for(;t&&t.nodeType===1;){if(Ge(t,"no-undo")||Ge(t,"no-watch"))return!0;for(let o of mn)if(Ae(t,o))return!0;t=t.parentElement}return!1}function hn(e){let n=e.target,t=n.cloneNode(!1),o=t;for(;n.parentElement;){n=n.parentElement;let a=n.cloneNode(!1);a.appendChild(t),t=a}return e.oldValue==null?o.removeAttribute(e.attributeName):o.setAttribute(e.attributeName,e.oldValue),Ee(o)}function fe(e,n,t){if(t?.type==="attributes"&&pn(t.attributeName)){if(Ee(e)&&hn(t))return!0}else if(Ee(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&sn.test(t.attributeName.toLowerCase()))return!0;if(n)try{if(n(t.attributeName,t.target))return!0}catch{}}return!1}function yn(){let e=new Map;function n(a,i){let l=e.get(a);return l||(l=new Set,e.set(a,l)),l.add(i),()=>t(a,i)}function t(a,i){let l=e.get(a);l&&l.delete(i)}function o(a,i){let l=e.get(a);if(l)for(let s of Array.from(l))try{s(i)}catch(p){console.error("[hyper-undo] listener threw",p)}}return{on:n,off:t,emit:o}}var wn=/[.?!]["'\u201D\u2019)\]]*$/,bn=new Set(["insertParagraph","insertLineBreak"]),vn=new Set(["insertFromPaste","insertFromDrop","insertFromYank","insertReplacementText","deleteByCut","deleteByDrag"]),kn=new Set(["Enter","Backspace","Delete"]),An=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]);function Xe(e){return wn.test(e)}function En(e,{sentence:n,endStep:t,stepOpen:o=()=>!0,composing:a}){let i=e.ownerDocument&&e.ownerDocument.defaultView;if(!i)return()=>{};let l=h=>!!h&&typeof h.nodeType=="number"&&(h===e||e.contains(h)),s=!1,p=!1,w=!1,y={kind:"other",host:null},v=h=>vn.has(h)||h.startsWith("format")?"alone":h.startsWith("delete")?"delete":h.startsWith("insert")?"insert":"other",x=h=>{if(!h)return null;let T=h.nodeType===1?h:h.parentElement;return T&&T.closest&&T.closest('[contenteditable]:not([contenteditable="false"])')||h},N=()=>{s&&(s=!1,t())},R=h=>{if(!n||h.isComposing||!l(h.target))return;let T=h.inputType||"",$=v(T),ae=x(h.target),pe=i.getSelection&&i.getSelection(),ue=!pe||pe.isCollapsed,Ce=p;p=!1;let Q=w;if(w=!1,($==="alone"||!Q&&$!==y.kind&&$!=="other"&&y.kind!=="other"||!Q&&(y.host!==null&&ae!==y.host||!ue||Ce))&&t(),y={kind:$,host:ae},$==="alone"){s=!0,setTimeout(N,0);return}let ee=T==="insertText"&&(h.data===" "||h.data==="\xA0");!ee&&!bn.has(T)||ee&&!o()||Xe(Sn(i))&&(s=!0,setTimeout(N,0))},q=h=>{l(h.target)&&N()},O=h=>{l(h.target)&&a(!0)},F=h=>{l(h.target)&&a(!1)},U=h=>{l(h.target)&&(p=!0)},W=h=>{if(!l(h.target))return;if(An.has(h.key)){p=!0;return}if(!n||h.isComposing||h.keyCode===229||h.ctrlKey||h.metaKey||!h.key||h.key.length!==1&&!kn.has(h.key))return;let T=i.getSelection&&i.getSelection(),$=y.host!==null&&x(h.target)!==y.host;!p&&!$&&(!T||T.isCollapsed)||(t(),p=!1,w=!0,setTimeout(()=>{w=!1},0))};return e.addEventListener("beforeinput",R,!0),e.addEventListener("input",q,!0),e.addEventListener("compositionstart",O,!0),e.addEventListener("compositionend",F,!0),e.addEventListener("pointerdown",U,!0),e.addEventListener("keydown",W,!0),()=>{e.removeEventListener("beforeinput",R,!0),e.removeEventListener("input",q,!0),e.removeEventListener("compositionstart",O,!0),e.removeEventListener("compositionend",F,!0),e.removeEventListener("pointerdown",U,!0),e.removeEventListener("keydown",W,!0)}}function Sn(e){let n=e.getSelection&&e.getSelection();if(!n||!n.isCollapsed||!n.anchorNode)return"";let t=n.anchorNode,o=t.nodeType===1?t:t.parentElement,a=o&&o.closest('[contenteditable]:not([contenteditable="false"])');if(!a)return"";let i=a.ownerDocument.createRange();return i.setStart(a,0),i.setEnd(t,n.anchorOffset),i.toString().replace(/\u200B/g,"").slice(-8)}var xn={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,durableForm:null,typingBreak:null,refused:null,debug:!1};function Ze(e){let n={...xn,...e};if(!n.scope)throw new Error("hyper-undo: scope is required");let t=yn(),o=[],a=[],i=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,p=[],w=null,y=null,v=0,x=!1,N=n.recording==="commands"?"commands":"automatic",R=null,q=!1,O=new WeakMap,F=!1,U=!1,W=null;function h(...r){n.debug&&console.log("[hyper-undo]",...r)}function T(){x||(x=!0,y=$(H),y.observe(n.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),W=En(n.scope,{sentence:n.typingBreak==="sentence",stepOpen:()=>(v===0&&y&&H(y.takeRecords()),p.length>0),endStep:Y,composing:On}),h("started"))}function $(r){let u=typeof document<"u"&&n.scope===document.body,d=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&d&&typeof d.createObserver=="function"?(h("sourcing records from the platform Mutation hub (shared observer)"),d.createObserver(r)):new MutationObserver(r)}function ae(){x&&(x=!1,y&&(y.disconnect(),y=null),W&&(W(),W=null),F=!1,J(),o.length=0,a.length=0,p=[],s=null,R=null,q=!1,v=0,O=new WeakMap,h("stopped"))}function pe(){let r=n.scope;return!!(r&&r.nodeType===1&&r.isConnected===!1)}function ue(r,u){try{let d=u(r);return typeof d=="string"?d:null}catch{return null}}function Ce(r,{read:u,write:d,prop:f="content"}={}){if(!r||typeof u!="function"||typeof d!="function")return()=>{};let b={prop:f,read:u,write:d,baseline:ue(r,u)};return O.set(r,b),()=>{O.get(r)===b&&O.delete(r)}}function Q(r){for(let u=r;u;u=u.parentNode)if(O.has(u))return u;return null}function ee(r){let u=Q(r.target);return!!u&&!(r.type==="attributes"&&r.target===u)}function z(r){let u=new Set;for(let d of r)ee(d)&&u.add(Q(d.target));return u}function Pe(r){let u=[];for(let d of r){let f=O.get(d),b=ue(d,f.read);if(b!=null){if(ke(b,f.baseline)){f.baseline=b;continue}f.baseline!=null&&u.push({kind:"value",target:d,prop:f.prop,oldValue:f.baseline,newValue:b,read:f.read,write:f.write,content:!0}),f.baseline=b}}return u}function te(r){for(let u of r){let d=O.get(u);d.baseline=ue(u,d.read)}}function it(r){let u=z(r);!U&&p.some(d=>d.kind==="value"?u.has(d.target):r.some(f=>f.target===d.target&&(f.type==="characterData"?d.kind==="text":f.type==="attributes"&&f.attributeName===d.name)))&&(U=!0),te(u)}function H(r){at(r,!1)}function at(r,u){if(R){for(let f of r)R.records.push(f);return}if(N==="commands"){te(z(r));return}if(v>0){it(r);return}let d=Re(In(r),u);for(let f of Pe(z(r)))d.push(f);if(d.length>0){for(let f of d)p.push(f);Ie()}}function In(r){return typeof n.ignoreNode!="function"?r:r.filter(u=>{if(u.type!=="childList")return!0;let d=[...u.addedNodes,...u.removedNodes];return d.length===0?!0:!d.every(f=>Tn(f))})}function Tn(r){try{return!!n.ignoreNode(r)}catch{return!1}}function Re(r,u=!1){let d=Gn(r),f=r.filter(b=>(Me(b.target)||d(b.target)||u&&kt(b.target))&&!ee(b)&&!fe(b.target,n.ignoreAttribute,b));return Lt(f,b=>fe(b,n.ignoreAttribute))}function On(r){F=!!r,!F&&p.length>0&&Ie()}function Ie(){J(),w=setTimeout(ut,n.idleWindowMs)}function ut(){if(w=null,F){w=setTimeout(ut,n.idleWindowMs);return}Te()}function J(){w!=null&&(clearTimeout(w),w=null)}function Te(){if(w=null,p.length===0)return;let r=p;p=[],me(n.idleLabel,r)}function me(r,u){let d=zt(u,{isIgnored:ge,ignoreAttribute:lt,durableForm:n.durableForm});if(d.steps.length===0)return h("commit",r,"with nothing to record"),t.emit("commit"),null;let f={id:`${i}-${++l}`,label:r,timestamp:Date.now(),primitives:u,certificate:d};for(o.push(f),a.length=0,s=null;o.length>n.maxHistory;)o.shift();return h("commit",r,"primitives:",u.length),t.emit("commit"),f}function ge(r){return fe(r,n.ignoreAttribute)}function lt(r,u,d=null){if(typeof n.ignoreAttribute!="function")return!1;try{return!!n.ignoreAttribute(r,u,d)}catch{return!1}}function Ln(r){if(typeof n.isProtected!="function")return!1;try{return!!n.isProtected(r)}catch{return!1}}function Mn(r,u){if(!x)throw new Error("hyper-undo: scope not started");if(N==="commands")return ct(r,u,{honorPause:!0,receipt:!1});H(y.takeRecords()),Y();let d=v===0?dt():null,f=u();if(f&&typeof f.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(at(y.takeRecords(),!0),d!=null&&st(d),p.length===0){t.emit("commit");return}J();let b=p;p=[],me(r,b)}function Dn(r){if(!x)throw new Error("hyper-undo: scope not started");if(!y)return;if(v>1){te(z(y.takeRecords()));return}Y();let u=y.takeRecords(),d=Re(u,!0);for(let f of Pe(z(u)))d.push(f);d.length!==0&&(J(),me(r,d))}function Kn(){y&&te(z(y.takeRecords()))}function Oe(){let r=n.scope;return r&&r.ownerDocument||(typeof document<"u"?document:null)}function he(){let r=Oe();return!r||!r.head||typeof r.head.querySelector!="function"?null:r.head.querySelector("title")}function dt(){let r=he();return r?r.textContent:null}function st(r){let u=he();if(!u||r==null)return;let d=u.textContent;d!==r&&pt({kind:"value",target:u,prop:"textContent",oldValue:r,newValue:d})}function jn(r){if(!r)return null;let u=Oe();if(!u||r.target!==u||r.prop!=="title")return r;let d=he();return d?{kind:"value",target:d,prop:"textContent",oldValue:r.oldValue,newValue:r.newValue}:null}function qn(){if(typeof window>"u")return!1;let r=window.clay?.effect||window.hyperclay?.effect;return!!(r&&r.running)}function $n(){y&&H(y.takeRecords()),Y(),R={records:[],primitives:[]}}function Bn(){let r=R;if(R=null,!r)return[];let u=Re(r.records,!0);for(let d of Pe(z(r.records)))u.push(d);for(let d of r.primitives)u.push(d);return u}function ct(r,u,{honorPause:d,receipt:f}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(R)throw new Error("hyper-undo: command() cannot nest inside another command");if(q)throw new Error("hyper-undo: command() cannot run during undo or redo");if(qn())throw new Error("hyper-undo: command() cannot run inside a derived-effect context");if(u.constructor&&u.constructor.name==="AsyncFunction")throw new Error("hyper-undo: command() fn must be synchronous; it was declared async");let b=d&&v>0,V=b?null:dt();$n();let L=[],C=null,D;try{try{D=u()}catch(ne){C=ne}if(y&&H(y.takeRecords()),D&&typeof D.then=="function"){try{D.then(void 0,()=>{})}catch{}C||(C=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}b||st(V)}finally{L=Bn()}let B=b||L.length===0?null:me(r,L);if(C)throw C;return f?B?{id:B.id,label:B.label}:null:B}function _n(r,u){if(!x)throw new Error("hyper-undo: scope not started");return ct(r,u,{honorPause:!1,receipt:!0})}function zn(r){if(r!=="automatic"&&r!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(R)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return N===r||(Y(),N=r,h("recording",r)),N}function ft(r){if(!x||!r||!R&&(v>0||N==="commands"))return;let u=jn(r);u&&pt(u)}function pt(r){if(R){R.primitives.push(r);return}p.push(r),Ie()}function Fn(r,{prop:u="value",oldValue:d,newValue:f,read:b,write:V}={}){!r||d===f||ft({kind:"value",target:r,prop:u,oldValue:d,newValue:f,read:b,write:V})}function Y(){v===0&&y&&H(y.takeRecords()),p.length!==0&&(J(),Te())}function mt(){v===0&&y&&H(y.takeRecords()),v++,h("paused",v)}function gt(){v!==0&&(v--,v===0&&y&&(it(y.takeRecords()),U&&(U=!1,J(),Te())),h("resumed",v))}function ht(r,u){if(pe())return ae(),{ok:!1,code:"disconnected"};if(typeof n.holdReplay=="function"&&n.holdReplay())return{ok:!1,code:"held"};Y();let d=r==="undo"?o:a,f=r==="undo"?a:o,b=[],V=d.at(-1);if(!V)return{ok:!1,code:"empty"};if(u&&u!==V.id){let C=wt(u)||V;return Le(C,r,"stale-entry")}let L=n.refused==="skip"&&!u;for(;V;){let C;q=!0;try{C=Yt(V.certificate,r,{isIgnored:ge,ignoreAttribute:lt,durableForm:n.durableForm,isProtected:Ln,inScope:Xn,liveNodesWithIds:Zn})}finally{q=!1}if(!C.ok){if(!L)return Le(V,r,C.code,C.targets);yt(V,r,C.code,C.targets,b),V=d.at(-1);continue}mt();let D;q=!0;try{D=on(C.operations)}finally{q=!1,gt()}if(!D.ok){if(h(`${r} failed and was rolled back`,D.error),!L)return Le(V,r,"replay-error");yt(V,r,"replay-error",[],b),V=d.at(-1);continue}te(new Set(C.operations.filter(ne=>ne.type==="value"&&O.has(ne.target)).map(ne=>ne.target))),d.pop(),f.push(V),s=null;let B={ok:!0,entryId:V.id,label:V.label,direction:r};return b.length&&(B.skipped=b),D.caret&&(B.caret=D.caret),h(r,V.label),t.emit(r,B),B}return{ok:!1,code:"empty",direction:r,skipped:b}}function yt(r,u,d,f,b){s={entryId:r.id,direction:u,code:d,targets:f};let V=bt(r.id);(u==="undo"?o:a).pop(),s=null;let L={entryId:r.id,label:r.label,direction:u,code:d,targets:f,description:V};h("skipped",u,d),t.emit("skipped",L),b.push(L)}function Un(r){return ht("undo",r&&r.entryId)}function Wn(r){return ht("redo",r&&r.entryId)}function wt(r){return o.find(u=>u.id===r)||a.find(u=>u.id===r)||null}function Le(r,u,d,f=[]){return s={entryId:r.id,direction:u,code:d,targets:f},h("refused",u,d),t.emit("refused",{entryId:r.id,label:r.label,direction:u,code:d,targets:f}),{ok:!1,code:d,entryId:r.id,label:r.label,direction:u}}function Hn(r){if(!s||s.entryId!==r)return{ok:!1,code:"not-refused",entryId:r};let u=s.direction,d=u==="undo"?o:a,f=d.at(-1);return!f||f.id!==r?{ok:!1,code:"stale-entry",entryId:r}:(d.pop(),s=null,h("discarded",f.label),t.emit("discard",{entryId:r,label:f.label,direction:u}),{ok:!0,entryId:r,direction:u})}function bt(r){let u=wt(r);if(!u||!u.certificate||!u.certificate.replayable)return null;let d=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(f=>({id:f.id??null,kind:f.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:d,steps:u.certificate.steps.map(Yn)}}function Jn(r){return typeof r!="string"?null:r.replace(/#form:("(?:[^"\\]|\\.)*")/g,(u,d)=>{try{return JSON.parse(d)}catch{return""}})}function Yn(r){if(r.type==="move")return{kind:"move",node:{id:M(r.node).id},from:{id:M(r.sourceParent).id},to:{id:M(r.destParent).id}};if(r.type==="add"||r.type==="restore")return{kind:r.type==="add"?"add":"remove",parent:{id:M(r.parent).id},nodes:r.nodes.map((V,L)=>({id:M(V).id,html:Jn(r.content[L])}))};let u=r.primitive,d={id:M(u.target).id},f=u.oldValue??null,b=u.newValue??null;return r.type==="value"?{kind:"value",target:d,prop:u.prop??"value",before:f,after:b}:r.type==="text"?{kind:"text",target:d,before:f,after:b}:r.type==="attr-set"||r.type==="attr-add"||r.type==="attr-remove"?{kind:"attribute",target:d,name:u.name??null,before:f,after:b}:{kind:r.type,target:d,before:f,after:b}}function Gn(r){let u=new Set,d=!0;for(;d;){d=!1;for(let f of r)if(!(f.type!=="childList"||!f.removedNodes?.length)&&!ee(f)&&!(!Me(f.target)&&!vt(f.target,u))&&!fe(f.target,n.ignoreAttribute,f))for(let b of f.removedNodes)u.has(b)||(u.add(b),d=!0)}return f=>!Me(f)&&vt(f,u)}function vt(r,u){for(let d=r;d;d=d.parentNode)if(u.has(d))return!0;return!1}function Me(r){let u=n.scope;return!u||!r||typeof r.nodeType!="number"?!1:r===u||typeof u.contains=="function"&&u.contains(r)}function kt(r){let u=Oe(),d=u&&u.head;if(!d||!r)return!1;let f=r.nodeType===1?r:r.parentElement;for(;f&&f!==d;f=f.parentElement)if(f.localName==="title")return!1;return f===d}function Xn(r){let u=n.scope;return!r||!u?!1:r===u||he()===r||kt(r)?!0:typeof u.contains=="function"?u.contains(r):!1}function Zn(r){let u=n.scope;if(!r||r.length===0||typeof u?.querySelectorAll!="function")return[];let d=new Set(r),f=[];for(let b of u.querySelectorAll("[data-id]"))d.has(b.getAttribute("data-id"))&&(ge(b)||f.push(b));return f}function Qn(){y&&te(z(y.takeRecords())),o.length=0,a.length=0,p=[],s=null,J(),h("cleared"),t.emit("clear")}return{_config:n,_tracksContentAt:r=>N!=="commands"&&!!Q(r),_recordsAt:r=>N!=="commands"&&!ge(r),start:T,stop:ae,commit:Mn,commitCaptured:Dn,discardCaptured:Kn,flush:Y,command:_n,setRecording:zn,record:ft,recordValue:Fn,trackContent:Ce,undo:Un,redo:Wn,clear:Qn,discard:Hn,describe:bt,pause:mt,resume:gt,on:t.on,off:t.off,get canUndo(){return o.length>0},get canRedo(){return a.length>0},get isPaused(){return v>0},get history(){return o.map(r=>{let u={id:r.id,label:r.label,timestamp:r.timestamp};return s&&s.entryId===r.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return a.map(r=>{let u={id:r.id,label:r.label,timestamp:r.timestamp};return s&&s.entryId===r.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return n.scope}}}var Vn=new Set(["checkbox","radio","button","submit","reset","image","file","range","color"]);function Qe(e){let n=typeof e.composedPath=="function"?e.composedPath():[];return n.length>0?n:Cn(e.target)}function Nn(e){for(let n of Qe(e)){if(!n||n.nodeType!==1)continue;let t=String(n.tagName||"").toUpperCase();if(t==="TEXTAREA"||t==="SELECT"||t==="INPUT"&&!Vn.has(String(n.type||n.getAttribute?.("type")||"text").toLowerCase()))return!0}return!1}function et(e){for(let n of Qe(e)){if(!n||n.nodeType!==1)continue;if(n.isContentEditable===!0)return!0;let t=n.getAttribute&&n.getAttribute("contenteditable");if(t!=null&&String(t).toLowerCase()!=="false")return!0}return!1}function Se(e,n){if(!e||!e.closest||!Array.isArray(n))return!1;for(let t of n)try{if(e.closest(t))return!0}catch{}return!1}function tt(e,n){if(Nn(e))return!0;let t=n._config,o=e.target;return t.editableKeys!=="page"?et(e)||Se(o,t.shadowKeydownIn):Se(o,t.ownKeysIn)||n._tracksContentAt(o)?!1:Se(o,t.shadowKeydownIn)?!0:et(e)&&!n._recordsAt(o)}function Cn(e){let n=[];for(let t=e;t;t=t.parentNode||(t.host??null))n.push(t);return n}function Pn(e,n){let t=i=>{let l=e.scope;if(l&&l.nodeType===1&&l.isConnected===!1){n&&n();return}if(i.defaultPrevented||i.isComposing||i.keyCode===229||tt(i,e)||!(i.metaKey||i.ctrlKey))return;let s=(i.key||"").toLowerCase();if(s==="z"&&!i.shiftKey){i.preventDefault(),i.stopPropagation(),e.undo();return}if(s==="z"&&i.shiftKey){i.preventDefault(),i.stopPropagation(),e.redo();return}if(s==="y"&&!i.shiftKey){i.preventDefault(),i.stopPropagation(),e.redo();return}},o=i=>{if(i.inputType!=="historyUndo"&&i.inputType!=="historyRedo")return;let l=e.scope;l&&l.nodeType===1&&l.isConnected===!1||i.defaultPrevented||i.isComposing||tt(i,e)||(i.preventDefault(),i.stopPropagation(),i.inputType==="historyRedo"?e.redo():e.undo())},a=e._config.editableKeys==="page";return window.addEventListener("keydown",t,!0),a&&window.addEventListener("beforeinput",o,!0),()=>{window.removeEventListener("keydown",t,!0),a&&window.removeEventListener("beforeinput",o,!0)}}var xe=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]",".ck-editor__editable","[data-lexical-editor]","[data-slate-editor]","trix-editor",".mce-content-body"],g=null,Ve=null,nt=null,_=null;function rt(e,n){if(_){if(_.inst===e)return _.cleanup;throw new Error("hyper-undo: another scope already owns the global Cmd+Z binding (bindKeys: true). Stop it first, or use bindKeys: false for additional scopes.")}let t=Pn(e,n);return _={inst:e,cleanup:t},t}function ot(e){_&&_.inst===e&&(_.cleanup(),_=null)}var Ne={defaults:{shadowKeydownIn:xe},start(e={}){let n=e.scope||(typeof document<"u"?document.body:null);if(!n)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(g){if(Ve===n)return console.warn("[hyper-undo] start() called again on existing singleton; ignoring new options"),g;throw new Error("hyper-undo: start() called with a different scope while the singleton is already started. Use undo.create({ scope }) for additional scopes, or call undo.stop() first.")}let t={...e,scope:n,shadowKeydownIn:e.shadowKeydownIn||xe};return g=Ze(t),g.start(),Ve=n,e.bindKeys!==!1&&(nt=rt(g,()=>Ne.stop())),g},stop(){g&&(ot(g),nt=null,g.stop(),g=null,Ve=null)},create(e={}){let n=e.scope||(typeof document<"u"?document.body:null);if(!n)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:n,shadowKeydownIn:e.shadowKeydownIn||xe},o=Ze(t),a=null,i={_config:o._config,commit:o.commit,command:o.command,setRecording:o.setRecording,commitCaptured:o.commitCaptured,discardCaptured:o.discardCaptured,flush:o.flush,record:o.record,recordValue:o.recordValue,trackContent:o.trackContent,undo:o.undo,redo:o.redo,clear:o.clear,discard:o.discard,describe:o.describe,pause:o.pause,resume:o.resume,on:o.on,off:o.off,get canUndo(){return o.canUndo},get canRedo(){return o.canRedo},get isPaused(){return o.isPaused},get history(){return o.history},get future(){return o.future},get scope(){return o.scope},start(){e.bindKeys&&(a=rt(o,()=>i.stop())),o.start()},stop(){ot(o),a=null,o.stop()}};return i},commit(e,n){return g?g.commit(e,n):void 0},command(e,n){return g?g.command(e,n):void 0},setRecording(e){return g?g.setRecording(e):void 0},commitCaptured(e){return g?g.commitCaptured(e):void 0},discardCaptured(){return g?g.discardCaptured():void 0},record(e){return g?g.record(e):void 0},recordValue(e,n){return g?g.recordValue(e,n):void 0},trackContent(e,n){return g?g.trackContent(e,n):()=>{}},undo(e){return g?g.undo(e):void 0},redo(e){return g?g.redo(e):void 0},clear(){return g?g.clear():void 0},discard(e){return g?g.discard(e):void 0},describe(e){return g?g.describe(e):void 0},pause(){return g?g.pause():void 0},resume(){return g?g.resume():void 0},flush(){return g?g.flush():void 0},on(e,n){return g?g.on(e,n):void 0},off(e,n){return g?g.off(e,n):void 0},get canUndo(){return g?g.canUndo:!1},get canRedo(){return g?g.canRedo:!1},get history(){return g?g.history:[]},get future(){return g?g.future:[]},get isPaused(){return g?g.isPaused:!1}},Rn=Ne;return de(K)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=Nt.undo,window.h=window.hyperclay);var k=Nt.undo;var Ke=new Set,Tt=(c={})=>{let m=c.ignoreAttribute;return{...c,ignoreAttribute:(E,A,I)=>Ke.has(E)||At(E,A)||St(A,E,I)||xt(E,A)||(m?m(E,A,I):!1),isProtected:c.isProtected||er,ignoreNode:c.ignoreNode||Vt}};function er(c){let m=window.clay?.region?.resolveRegionPolicy;if(!m||c.nodeType!==1)return!1;let E=m(c);if(E.undoable!==!1||E.persist==="none")return!1;let A=c.parentElement;return!A||m(A).undoable!==!1}var tr=k.create.bind(k);k.create=c=>tr(Tt(c));var je=null,nr=k.setRecording.bind(k);k.setRecording=c=>(je=c??null,nr(c));var Ct=()=>k.history.at(-1)?.id??null,rr=k.command.bind(k);k.command=(c,m)=>{let E=rr(c,m);return E&&we(),E};var or=k.commit.bind(k),Pt=!1;k.commit=(c,m)=>{!Pt&&window.clay?.effect?.running&&(Pt=!0,console.warn(`clay.effect: undo.commit("${c}") was called inside an effect. Run commands from event handlers, not from an effect.`));let E=Ct(),A=or(c,m);return(A||Ct()!==E)&&we(),A};var ir=`input${ye}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${ye}, select${ye}`;function ar(){let c=m=>window.clay?.region?.resolveRegionPolicy?.(m)?.undoable!==!1;document.querySelectorAll(ir).forEach(m=>{if(!c(m))return;if(m.tagName==="SELECT"){for(let K of m.options){let se=K.hasAttribute("selected");K.selected!==se&&(K.selected=se)}return}let E=(m.getAttribute("type")||"text").toLowerCase();if(m.tagName==="INPUT"&&(E==="checkbox"||E==="radio")){let K=m.hasAttribute("checked");m.checked!==K&&(m.checked=K);return}let A=m.tagName==="TEXTAREA"?m.getAttribute("data-value")??m.textContent:m.getAttribute("value")??"";if(m.value===A)return;let I=m===document.activeElement,re,de;try{re=m.selectionStart,de=m.selectionEnd}catch{}if(m.value=A,I&&re!=null)try{m.setSelectionRange(Math.min(re,A.length),Math.min(de,A.length))}catch{}})}var Rt=c=>{c?.ok&&(we(),ar())},It=({entryId:c,label:m,direction:E,code:A})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:A,entryId:c,label:m,direction:E}})),ur({ok:!1,code:A,entryId:c,label:m,direction:E})},De=null;function Ot(){return De??=import("../c-V5L6HWVL.js").catch(c=>(De=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",c),null)),De}async function ur(c){let m={ok:!1,code:"unavailable"};try{let A=await Ot();A&&(m=await A.keepRefusal(k,c))}catch{m={ok:!1,code:"error"}}let E=m?.ok===!0?{ok:!0,entryId:c.entryId,direction:c.direction}:{ok:!1,code:m?.code||"error",entryId:c.entryId,direction:c.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:E}))}var $e=(c,m)=>(...E)=>Ot().then(A=>A?A[c](...E):m,()=>m),lr=$e("keep",{ok:!1,code:"unavailable"});k.ignoreAttribute=c=>{let m=String(c||"");return m?(Ke.add(m),()=>{Ke.delete(m)}):()=>{}};k.keep=async c=>{let m=await lr(c);return m?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:c?.key==null?null:`app:${c.key}`}})),m};k.kept=$e("kept",{ok:!1,code:"unavailable",records:[]});k.dismissKept=$e("dismissKept",{ok:!1,code:"unavailable"});var qe=new Set;k.reviewActions=c=>typeof c!="function"?()=>{}:(qe.add(c),()=>{qe.delete(c)});k.reviewActionsFor=c=>{let m=[];for(let E of qe){let A;try{A=E(c)}catch(I){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",I);continue}for(let I of Array.isArray(A)?A:[])I&&typeof I.run=="function"&&I.label&&m.push(I)}return m};var dr=["commit","undo","redo","refused","discard","clear"],be=()=>{let c=!!le?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:c&&k.canUndo,canRedo:c&&k.canRedo,undo:c&&k.history.at(-1)||null,redo:c&&k.future?.[0]||null}}))},le=null;function sr(){return{started:!1,admitted:!1,subscriptions:[]}}var cr=c=>c?c.signal?.aborted?!0:typeof c.isCurrent=="function"&&!c.isCurrent():!1;function fr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(c=>document.addEventListener("DOMContentLoaded",c,{once:!0}))}function pr(c){return{enable(){if(!c.started){c.started=!0,c.admitted=!0,k.start(Tt({bindKeys:!0,...je?{recording:je}:{}}));for(let m of["undo","redo"])k.on(m,Rt),c.subscriptions.push({type:m,handler:Rt});k.on("refused",It),c.subscriptions.push({type:"refused",handler:It});for(let m of dr)k.on(m,be),c.subscriptions.push({type:m,handler:be});be()}},quiesce(){c.admitted&&(c.admitted=!1,k.pause())},resume(){c.admitted||(c.admitted=!0,k.resume())},dispose(){if(c.admitted=!1,le===c&&(le=null),!!c.started){c.started=!1;for(let{type:m,handler:E}of c.subscriptions.splice(0))k.off(m,E);k.stop(),be()}}}}function mr(){return{id:"clay:undo",order:350,async prepare(c={}){if(c.initial===!0)return gr();if(await fr(),cr(c))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return pr(le||(le=sr()))}}}async function gr(){let c=await yr;return{enable(){},quiesce:()=>c?.quiesce(),resume:()=>c?.resume(),dispose:()=>c?.dispose()}}async function hr(){if(!Et()||typeof document>"u")return null;let c=await mr().prepare();return c.enable(),c}var yr=hr();var Cr=k;export{Cr as default,hr as init,mr as modeParticipant,yr as ready,ar as restoreControls,k as undo,mr as undoParticipant};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-
|
|
1
|
+
import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-Y3MPVURA.js")).replace(e,t)}function B(e){import("../c-VU4WEWPH.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r,c as p,d as n,e as u}from"../c-
|
|
1
|
+
import{b as r,c as p,d as n,e as u}from"../c-EAV7A6BT.js";import"../c-I2SCCUEW.js";import"../c-EQ5NBOGA.js";import"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-HXGNH6GY.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{a as he,b as me,c as ye}from"../c-Y6F2FORL.js";import{a as pe,b as F,c as ut}from"../c-Y6HH7LTM.js";import{a as ge,b as we,c as ve,d as be}from"../c-OKEGUICD.js";import{b as fe}from"../c-QY7F6EN6.js";import{a as de}from"../c-FC5RUFPR.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-P73XPAOA.js";import"../c-ZPI7M5U5.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-MZCOGNZL.js";import"../c-EHAR4RJJ.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import{b as le,f as ue,h as Nt}from"../c-C7SUMNMI.js";import{d as oe}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as vt,g as bt,h as ae,j as ie,l as rt,m as se,n as ce}from"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var xe="clay:visitor-drafts:",ke=1,Se=32,er=512*1024,rr=16*1024*1024,nr=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Ae(t){let r=2166136261;for(let n=0;n<t.length;n++)r=Math.imul(r^t.charCodeAt(n),16777619);return(r>>>0).toString(36)+"."+t.length.toString(36)}function Z(t=window.location.pathname){let n=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),c=n?n[1]:"/";return c.toLowerCase()==="/index.html"?"/":c}var Ut=t=>xe+t,Te=(t,r=Z())=>`${xe}${t}@${r}`;function Ot(){try{return window.localStorage}catch{return null}}var D=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function or(t){let r=[];for(let n of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))r.push(n[2]!==void 0?Number(n[2]):n[1]);return r}function ar(t,r){let n=or(r),c=t;for(let i=0;i<n.length-1;i++)if(c=c?.[n[i]],c==null||typeof c!="object")return;c&&typeof c=="object"&&delete c[n[n.length-1]]}function _(t,r){return Array.isArray(t)?Array.isArray(r)&&r.length===t.length&&t.every((n,c)=>_(n,r[c])):D(t)?D(r)&&Object.keys(t).every(n=>_(t[n],r[n])):t===r}function z(t,r){return _(t,r)&&_(r,t)}var Me='script[type="application/json"][merge][clay~="live"]',Pt="article[data-blockeditor]",ir="[onbeforesave], [onbeforesnapshot]",Ee=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Rt=t=>JSON.stringify(Object.keys(t).sort().map(r=>[r,t[r]]));function dt(t){let r=t.querySelectorAll(Pt);if(r.length!==1)return null;let n={};for(let c of t.querySelectorAll(Me))try{n[c.getAttribute("merge")]=JSON.parse(c.textContent)}catch{return null}return{live:n,blockeditor:{rev:r[0].getAttribute("data-rev")||"",html:r[0].innerHTML}}}var W=(t,r)=>!t||!r?t===r:t.blockeditor.rev===r.blockeditor.rev&&Rt(t.live)===Rt(r.live),Oe=t=>D(t?.live)&&D(t?.blockeditor)?`${t.blockeditor.rev}:${Ae(Rt(t.live))}`:null;function kt(t){if(!D(t?.live)||!D(t?.blockeditor))return null;let{live:r,blockeditor:n}=t;return!Object.keys(r).length||typeof n.rev!="string"||typeof n.html!="string"?null:{live:r,blockeditor:n}}var nt=t=>Array.isArray(t)&&t.every(r=>D(r)&&(typeof r.id=="string"||typeof r.id=="number"))&&new Set(t.map(r=>r.id)).size===t.length;function ft(t,r,n=!1){if(D(t)&&D(r)){let c={...t};for(let i of Object.keys(r))i in t?c[i]=ft(t[i],r[i]):n||(c[i]=r[i]);return c}if(nt(t)&&nt(r)){let c=new Map(r.map(i=>[i.id,i]));return t.map(i=>c.has(i.id)?ft(i,c.get(i.id)):i)}return t}var Ie=(t,r)=>t.length===r.length&&t.every((n,c)=>n===r[c]);function sr(t,r,n){let c=u=>new Map(u.map(d=>[d.id,d])),i=c(t),v=c(r),k=c(n),l=u=>u.filter(d=>i.has(d.id)&&v.has(d.id)&&k.has(d.id)).map(d=>d.id),x=l(t);if(!Ie(x,l(r))||!Ie(x,l(n)))return null;for(let[u,d]of i)if(v.has(u)&&!k.has(u)&&!z(v.get(u),d)||!v.has(u)&&k.has(u)&&!z(k.get(u),d))return null;let m=!1,a=[];for(let u of r){if(i.has(u.id)&&!k.has(u.id))continue;if(!k.has(u.id)){a.push(u);continue}let d=St(i.get(u.id),u,k.get(u.id),!0);m||=d.conflict,a.push(d.value)}return n.forEach((u,d)=>{if(i.has(u.id)||v.has(u.id))return;let A=0;for(let g=d-1;g>=0;g--){let j=a.findIndex(E=>E.id===n[g].id);if(j!==-1){A=j+1;break}}a.splice(A,0,u)}),{value:a,conflict:m}}function St(t,r,n,c){if(z(r,n)||z(n,t))return{value:r,conflict:!1};if(z(r,t))return{value:n,conflict:!1};if(D(r)&&D(n)){let i={},v=!1;for(let k of new Set([...Object.keys(r),...Object.keys(n)])){let l=St(D(t)?t[k]:void 0,r[k],n[k],c);v||=l.conflict,l.value!==void 0&&(i[k]=l.value)}return{value:i,conflict:v}}if(c&&nt(t)&&nt(r)&&nt(n)){let i=sr(t,r,n);if(i)return i}return{value:r,conflict:!0}}function Et(t,r=new Map){if(Array.isArray(t)){if(nt(t))for(let n of t)r.set(n.id,(r.get(n.id)||0)+1);for(let n of t)Et(n,r)}else if(D(t))for(let n of Object.values(t))Et(n,r);return r}function Le(t,r,n){let c=St(t,r,n,!0),i=Et(r);for(let[v,k]of Et(c.value))if(k>1&&k>(i.get(v)||0))return St(t,r,n,!1);return c}function B(t,r){rt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:r}}));let n=new Error("Couldn't save in this browser. Storage is full or turned off.");return n.code="draft-storage",n}var De=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function je(t,{path:r=Z(),storage:n=Ot()}={}){let c=Ut(t),i=Te(t,r),v=i+":legacy";try{let k=n?.getItem(i),l=n?.getItem(c);if(l==null){let u=n?.getItem(c+":ui");return u!=null&&n.getItem(i+":ui")==null&&n.getItem(i+":ui-legacy")==null&&(n.setItem(i+":ui",u),n.setItem(i+":ui-legacy","1")),"none"}let x=De(l),m=n.getItem(v);if(m===x)return"none";let a=n.getItem(i);if(a!==k)return"none";if(a==null||m!=null&&De(a)===m?n.setItem(i,l):a!==l&&(n.setItem(i+":conflict",l),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),m==null){let u=n.getItem(c+":ui");u!=null&&n.getItem(i+":ui")==null&&n.setItem(i+":ui",u)}return n.setItem(v,x),"copied"}catch{return"failed"}}function cr(t){if(!D(t)||!("site"in t))return t;let{site:r,...n}=t;return n}function Ce({doc:t=document,storage:r=Ot(),gate:n=bt,now:c=()=>new Date,path:i=Z(),fallback:v=null,slotLimit:k=er,pendingLimit:l=rr}={}){let x=vt(t),m=Te(x,i),a=cr(pe.findRulesIn(t,"api").rules),u=null,d=null,A=null,g=null,j=!0,E=null,L=!1,U=null,$,T=null,M=null,Y=()=>{$===void 0&&($=dt(t))};function X(e){return e?(Y(),$?e.blockeditor.rev!==$.blockeditor.rev||Object.keys(e.live).some(s=>!Ee(s)&&JSON.stringify(e.live[s])!==JSON.stringify($.live[s]))||T||M?e:null:e):null}function Q(e){if(t.querySelector(Pt)||t.readyState!=="loading")return e();t.addEventListener("DOMContentLoaded",e,{once:!0})}function ot(e){Y();let o=t.querySelector(Pt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Me)].map(h=>[h.getAttribute("merge"),h]));for(let[h,w]of s)Ee(h)&&!(h in e.live)&&w.remove();for(let[h,w]of Object.entries(e.live)){let S=s.get(h);S||(S=t.createElement("script"),S.setAttribute("type","application/json"),S.setAttribute("merge",h),S.setAttribute("clay","live"),o.parentNode.insertBefore(S,o)),S.textContent=JSON.stringify(w).replace(/</g,"\\u003c")}return!0}let R=nr,at=m+":reset";function it(){try{return"root:"+(r?.getItem(at)??"")}catch{return"root:"}}let mt=e=>"legacy:"+Ae(e);function Dt(e,o){return e?e.id?Array.isArray(e.ancestry)?[e.id,...e.ancestry].slice(0,Se):null:[mt(o)]:null}function yt(e){if(!U||U.raw!==u||!U.ancestry||!e?.id||e.id===U.id)return!1;let o=e.ancestry;return!Array.isArray(o)||o.includes(U.id)?!1:o.includes(U.ancestry[0])||o.length>=Se}function f(){try{if(!r)return null;let e=r.getItem(m);return e==null&&v?r.getItem(v):e}catch{return null}}function O(e){try{let o=JSON.parse(e);if(D(o)&&o.v===ke&&D(o.data))return o}catch{}return null}function I(){let e=f();return e==null?null:{raw:e,record:O(e)}}function H(){return F(t,a)}function Ke(){let e=window.clay?.getHTML;return typeof e!="function"?H():F(new DOMParser().parseFromString(e.call(window.clay),"text/html"),a)}function Bt(){try{if(typeof r.keys=="function")return r.keys();let e=[];for(let o=0;o<r.length;o++)e.push(r.key(o));return e}catch{return[]}}function Be(){try{return JSON.stringify(Ke())}catch{return null}}function tt(e,{keepSlot:o=!1}={}){let s=Bt().find(w=>w.startsWith(m+":unreadable:")&&r.getItem(w)===e);if(s){if(E=null,!o)try{r.removeItem(m)}catch{}return s}let h=m+":unreadable:"+c().toISOString();try{r.setItem(h,e)}catch{return E=e,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(E=null,!o)try{r.removeItem(m)}catch{}return console.warn(o?"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",h),h}function $t(e){let o=ft(JSON.parse(JSON.stringify(e)),H(),!0),s=[];for(let h=0;h<4;h++){let w=t.cloneNode(!0);try{ut(w,o,a)}catch(C){let et=C?.details?.unknownKeys??C?.unknownKeys;if(Array.isArray(et)&&et.length){for(let q of et)ar(o,q);continue}let ct=Object.keys(o).filter(q=>{try{return ut(t.cloneNode(!0),{[q]:o[q]},a),!1}catch{return!0}});if(!ct.length)return null;for(let q of ct)delete o[q];s.push(...ct);continue}let S=F(w,a),b=Object.keys(o).filter(C=>!_(o[C],S[C]));if(!b.length)return{data:o,dropped:s};for(let C of b)delete o[C];s.push(...b)}return null}function xt({raw:e,record:o}){let s=tt(e);return s||(u=e),d=H(),g=o?.data??d,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let Jt=()=>A??=H();function $e(e=I()){if(Jt(),!e)return d=g=A,Q(Y),{restored:!1,hadDraft:!1};if(j=!1,!e.record)return xt(e);let o=kt(e.record),s=Object.keys(e.record.data).length>0,h=s?$t(e.record.data):{data:{},dropped:[]},w=!!h&&(!s||Object.keys(h.data).length>0);if(!o&&!w||!o&&!s)return xt(e);if(s&&w&&ut(t,h.data,a),o&&(Q(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),tt(e.raw,{keepSlot:!0}))}),T=o,M=o),u=e.raw,d=H(),g=e.record.data,!w||h.dropped.length){let S=tt(e.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w?h.data:{},partial:!0,parked:!!S,blocked:!S}}return{restored:!0,hadDraft:!0,data:h.data}}function st(){if(L)return!1;try{let e=window.clay?.getHTML;if(typeof e!="function")return!_(H(),d);let o=new DOMParser().parseFromString(e.call(window.clay),"text/html"),s=X(dt(o));return!_(F(o,a),d)||!W(s,T)&&!W(s,M)}catch{return!0}}function Ft(e){let o=m+":conflict";try{r.setItem(o,e)}catch(s){throw B(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Je(e){let o=f(),s=o==null?null:O(o);if(!s)return{data:e,stored:null,ancestry:[it()],parentData:d};let h=e;if(o!==u){let w=Le(yt(s)?U.parentData:d,e,s.data);w.conflict&&Ft(o),h=w.value}return h=ft(h,s.data),{data:h,stored:z(h,s.data)?o:null,ancestry:Dt(s,o),parentData:s.data}}function At(e){let o=$t(e);if(!o||!Object.keys(o.data).length)return null;ut(t,o.data,a);try{window.Sap?.refresh?.()}catch{}return t.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),o.data}let p={id:R(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{p.reset=r?.getItem(at)??""}catch{}try{let e=JSON.parse(window.sessionStorage.getItem(m+":generation"));e?.marker===p.reset&&typeof e.reset=="string"&&(p.reset=e.reset)}catch{}let Tt=`${m}:op:${p.id}`,zt=()=>({tab:p.id,reset:p.reset,acked:p.acked,at:c().getTime(),ops:p.ops});function Mt(){try{if(!p.ops.length){p.journaled=p.seq,r.removeItem(Tt);return}let e=JSON.stringify(zt());if(e.length>k)return;r.setItem(Tt,e),p.journaled=p.seq}catch{}}let Vt=null,gt=null,Wt=e=>e===void 0?t:new DOMParser().parseFromString(e,"text/html");function Zt(e,{reset:o=p.reset,at:s=null}={}){if(L)return null;let h=Wt(e),w=Yt(F(h,a),X(dt(h)),o);return gt=s,w}function Gt(e=p.reset){if(L)return null;let o=n()?.token()??null;return Zt(window.clay.getHTML(),{reset:e,at:o})}function Fe(e=p.reset){if(L)return null;let o=gt!==null&&t.querySelector(ir)!==null&&n()?.unchangedSince(gt)===!0,s=Wt(window.clay?.getHTML?.());return Yt(o?d:F(s,a),X(dt(s)),e)}function Yt(e,o,s=p.reset){if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));if(p.sizes.reduce((b,C)=>b+C,0)>=l)throw B(t,new Error("too many changes are waiting to be saved"));let h=!W(o,T),w={};for(let b of Object.keys(e))b in d&&_(e[b],d[b])||(w[b]=b in g?{b:g[b],m:ft(e[b],g[b])}:{m:e[b]});if(!Object.keys(w).length&&!h)return p.ops.length||(rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:e,unchanged:!0}}))),null;p.ops.length||(Vt={base:d,editorUnit:T,seenUnit:M});let S={seq:++p.seq,savedAt:c().toISOString(),keys:w,...h&&{unit:{seen:Oe(M),to:o}}};d={...d},g={...g};for(let b of Object.keys(w))d[b]=e[b],g[b]=w[b].m;return h&&(T=M=o),j=!1,p.reset=s,p.ops.push(S),p.sizes.push(JSON.stringify(S).length),Mt(),S}function ze(){if(L)return!0;try{st()&&Gt()}catch{return!1}return p.journaled===p.seq}function Ve(e){if(e<=p.acked)return!1;p.acked=e;let o=p.ops.filter(s=>s.seq<=e).length;return p.ops.splice(0,o),p.sizes.splice(0,o),Mt(),o>0}function Xt(){p.ops.length=0,p.sizes.length=0,Mt()}function We(){p.ops.length&&({base:d,editorUnit:T,seenUnit:M}=Vt),gt=null,Xt()}function Ze(e){let o=Object.fromEntries(Object.entries(e).filter(([h,w])=>!z(w,g[h])));if(!Object.keys(o).length)return!1;let s=At(o);return g={...g,...o},s&&(d={...d,...s}),j=!1,!0}function Qt({keepPending:e=!1}={}){L=!0,e||Xt()}let te=()=>Bt().filter(e=>e.startsWith(m+":op:"));function ee(e){if(L)return null;if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(e,"text/html"),s=F(o,a),h=X(dt(o)),w=!W(h,T),S=f();if(_(s,d)&&!w&&(S===u||S==null))return rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:b,stored:C,ancestry:et,parentData:ct}=Je(s),q=S==null?null:O(S),Ct=kt(q),lt=w?h:q?Ct:h;w&&q&&!W(Ct,M)&&Ft(S);let re=R(),wt=C&&W(lt,Ct)?C:JSON.stringify({v:ke,savedAt:c().toISOString(),id:re,ancestry:et,reset:p.reset,data:b,...lt&&{live:lt.live,blockeditor:lt.blockeditor}});if(wt!==C){try{if(!r)throw new Error("no storage");r.setItem(m,wt)}catch(V){throw B(t,V)}U={id:re,ancestry:et,parentData:ct,raw:wt}}let ne=Object.keys(s).filter(V=>!_(s[V],b[V]));return ne.length&&At(Object.fromEntries(ne.map(V=>[V,b[V]]))),u=wt,d=b,w&&(T=h),(w||!q)&&(M=lt),rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:b}})),b}function jt(){try{return ee(window.clay.getHTML()),!0}catch{return!1}}function Ge(){return L||!st()?!0:jt()}function Ye(){if(L)return!1;let e=f();if(e==null&&u!=null&&!st())return L=!0,window.location.reload(),!0;if(e==null||e===u||st())return!1;let o=O(e);if(yt(o)&&typeof window.clay?.getHTML=="function")return jt();let s=o&&At(o.data);return!s&&!kt(o)?!1:(u=e,d={...d,...s||{}},!0)}function Xe(e){if(L)return null;if(e===void 0){let s=f();e=s==null?null:O(s)}let o=kt(e);return o&&!W(o,M)?o:null}function Qe(e){M=e}function tr(){Qt(),E=null,rt(!1);try{r.removeItem(m)}catch{}let e=/^(\d+)~/.exec(p.reset),o=e?Number(e[1]):p.reset===""?1:null;try{r.setItem(at,o===null?R():`${o+1}~${R()}`)}catch{}}return{slot:x,key:m,rules:a,read:I,restore:$e,write:ee,writeLive:jt,flush:Ge,changed:st,adoptExternal:Ye,externalUnit:Xe,adoptedUnit:Qe,park:tt,clear:tr,snapshot:Be,tab:p.id,slotKey:Tt,chain:zt,capture:Zt,captureNow:Gt,captureLate:Fe,keep:ze,acknowledge:Ve,release:We,take:Ze,stop:Qt,journalSlots:te,seed:Jt,servedUnit:()=>(Y(),$),fitsInto:_,same:z,merge3:Le,unitMark:Oe,newId:R,failed:e=>B(t,e),generation:()=>p.reset,enter:e=>{p.reset=e},fresh:()=>j,shown:()=>d!==null,pending:()=>p.ops.length,unsafe:()=>p.journaled<p.seq,stopped:()=>L,held(){try{let e=JSON.parse(f());return D(e)?e:null}catch{return null}},kept:()=>!!I()||p.ops.length>0||te().length>0}}function Ne(t,r){let n=`${t}:ui`,c=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=c();try{let v=JSON.parse(r?.getItem(n)||"null");v&&typeof v=="object"&&v.v===1&&(i={...c(),...v})}catch{}return{get:()=>i,save(){try{r?.setItem(n,JSON.stringify(i))}catch{}},reset(){i=c();try{r?.removeItem(n)}catch{}}}}var lr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Pe(t,r=window.location.search){let n=t.get(),c=null;try{c=new URLSearchParams(r).get("src")}catch{}return!n.src&&c&&lr.test(c)&&(n.src=c,t.save()),n.src}function Re(t,r=window.location){let n=Z(r.pathname);return`/_/download${n==="/"?"":n}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var ur=`<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’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 Ue({memory:t,appName:r,link:n,settle:c,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:v}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let f=document.createElement("template");f.innerHTML=ur,l=f.content.firstElementChild,fe({name:"download-prompt",content:l,css:[v],attributes:{"sap-ignore":""}})}let x=t.get();(!x.prompt||typeof x.prompt!="object")&&(x.prompt={});let m=x.prompt,a=3,u=2500,d=/^(INPUT|TEXTAREA|SELECT)$/,A="#hcp, .clay-intro, .clay-owner",g=l.querySelector("[data-hcp-link]");g.href=n,r&&(l.querySelector("[data-hcp-name]").textContent=r);let j=l.querySelector("[data-hcp=open]");function E(f,O){l.hidden=!1,l.setAttribute("data-hcp-state",f),O&&l.setAttribute("data-hcp-reason",O),j.setAttribute("aria-expanded",f==="card"?"true":"false"),(f==="card"||f==="mini")&&(m.shown=!0,t.save(),l.setAttribute("data-hcp-arrived","")),R()}function L(f){return f&&!l.contains(f)&&!f.closest(A)&&(d.test(f.tagName)||f.isContentEditable)}let U=null;function $(f){clearTimeout(U),U=setTimeout(()=>{if(m.shown||m.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let O=document.activeElement;if(L(O)){let I=O.getBoundingClientRect(),H=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-H-32&&I.bottom>innerHeight-380)return}E("card",f)},u)}let T=[];function M(f){l.contains(f.target)||!L(f.target)||(T.indexOf(f.target)<0&&T.push(f.target),m.uses=Math.max(m.uses||0,T.length),m.shown||t.save(),T.length>=a&&$("use"))}function Y(f){L(f.target)&&(l.getAttribute("data-hcp-state")==="card"&&E(m.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function X(){setTimeout(()=>{L(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let Q=0,ot=!1;function R(){Q||(Q=requestAnimationFrame(()=>{Q=0;let O=ye(innerWidth-24,I=>l.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==O&&l.style.setProperty("--hcp-lift",O),ot=!0,me(),ot=!1}))}async function at(){let f=window.clay&&window.clay.getHTML;if(typeof f!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let O=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:f(),name:O.replace(/\.html$/,".htmlclay")})}catch{return!1}}let it=!1;l.addEventListener("click",async f=>{let O=f.target.closest("[data-hcp]");if(O){let I=O.getAttribute("data-hcp");I==="open"?(E("card",l.getAttribute("data-hcp-reason")==="error"?void 0:"open"),g.focus()):I==="minimize"?(E("mini"),j.focus()):I==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(E("mini"),j.focus()):(m.dismissed=!0,E("mini"),j.focus()));return}if(f.target.closest("[data-hcp-link]")){if(!i())return;let I=it||l.getAttribute("data-hcp-reason")==="error";if(!I){let H=c?.();if(H){if(f.preventDefault(),await H!==!1){g.click();return}I=!0}}if(I&&(f.preventDefault(),!await at())){mt(),l.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}m.downloaded=!0,m.shown=!0,t.save()}}),l.addEventListener("animationend",f=>{(f.animationName==="hcp-arrive"||f.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",f=>{f.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(E("mini"),j.focus())});function mt(){E("card","error")}function Dt(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let yt={set:E,root:l,showError:mt,clearError:Dt,download:(f=!1)=>{it=f;try{g.click()}finally{it=!1}}};return document.addEventListener("input",M,!0),document.addEventListener("change",M,!0),document.addEventListener("focusin",Y),document.addEventListener("focusout",X),addEventListener("scroll",R,{passive:!0}),addEventListener("resize",R),document.addEventListener(he,()=>{ot||R()}),document.addEventListener("transitionend",R,!0),l.addEventListener("transitionend",R),E(m.shown||m.dismissed?"mini":"tab"),!m.shown&&(m.uses||0)>=a&&$("return"),yt}var y=null,P=null,N=!0,_e=!1,G=Promise.resolve(),J=!1,K=null,qt=ge,_t=null,Kt=Promise.resolve(),Lt=Promise.resolve(),It=()=>!0,ht=()=>null,He=3e3;function qe(){return import("../c-N4GEJMXW.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function dr(t){return t.template?import("../c-VBXRXTVS.js").then(r=>r.mountIntro(t)).catch(r=>(console.warn("visitor-drafts: the intro did not load",r),null)):Promise.resolve(null)}var pt=vt(),Ht=document.querySelector('script[data-rules-name~="api"]');if(le&&pt&&Ht){let i=function(a){K={restored:a.restored,hadDraft:a.hadDraft,parked:!!a.parked,...a.partial&&{partial:!0},...a.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:K}));let u=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",d=document.querySelector("template[visitor-intro]"),A=()=>{Kt=Ue({memory:c,appName:u,link:qt,settle:()=>ht(),canDownloadCurrent:()=>!J&&!K.blocked}).then(g=>dr({memory:c,template:d,appName:u,hadDraft:a.hadDraft||y.kept()}).then(()=>g)).then(g=>(document.addEventListener("clay:drafts-store-failed",()=>g.showError()),document.addEventListener("clay:drafts-saved",()=>g.clearError()),se()&&g.showError(),(Nt?qe():Promise.resolve(null)).then(()=>g)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A,{once:!0}):A()},t=Z(),r=je(pt,{path:t}),n=Ot();y=Ce({path:t,fallback:r==="failed"?Ut(pt):null}),N=!(typeof globalThis.indexedDB?.open=="function"&&globalThis.IDBKeyRange),_e=!N,G=N?Promise.resolve():import("../c-W7LWCJHD.js").then(a=>a.openSession({store:y,storage:n,reload:()=>de({isCurrent:()=>!0,reload:()=>window.location.reload()})})).then(a=>{P=a},()=>{N=!0}),ae((a,u=null)=>{let d=!K;return Lt.then(()=>{if(J)throw B(document,new Error("the draft database did not open"));return d&&([u,a]=[bt()?.token()??null,window.clay.getHTML()]),N?void y.write(a):(y.capture(a,{at:u}),G.then(()=>{if(P)return P.sync().then(()=>{});y.write(a)}))})});let c=Ne(y.key,n);_t=Pe(c),qt=Re(_t),It=()=>{if(J)return!1;if(!K)return!0;if(N)return y.flush();let a=y.keep();return P?.hide(),a},ie(It),ce(()=>!N&&y.unsafe()),ht=()=>{if(J)return Promise.resolve(!1);if(!K)return Lt.then(()=>ht());if(N)return y.flush()?null:Promise.resolve(!1);let a=y.keep();if(!y.pending())return a?null:Promise.resolve(!1);let u=G.then(()=>P?P.sync().then(()=>!0):y.flush()).catch(()=>!1),d;return Promise.race([u,new Promise(A=>{d=setTimeout(()=>A(!1),He)})]).finally(()=>clearTimeout(d))},document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&It()}),window.addEventListener("pagehide",It);let v=!1;document.addEventListener("click",async a=>{let u=a.composedPath().find(g=>g instanceof Element&&g.matches("a[clay-wait-drafts][href]"));if(!u||a.defaultPrevented||a.button!==0||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||u.target&&u.target!=="_self")return;if(v){a.preventDefault();return}let d=ht();if(!d)return;a.preventDefault(),v=!0;let A;await Promise.race([d,new Promise(g=>{A=setTimeout(g,He)})]),clearTimeout(A),v=!1,window.location.assign(u.href)},!0);let k=()=>{if(!N||J||!K)return;let a=y.externalUnit();a&&document.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:a.live,adopted:()=>y.adoptedUnit(a)}})),y.adoptExternal()};window.addEventListener("storage",a=>{a.key===y.key&&k()}),document.addEventListener("clay:drafts-blockeditor-listening",k),window.addEventListener("pageshow",a=>{a.persisted&&k()});let l=y.held(),x=l?.v===2&&l.idb===!0,m=!N&&l?.v===1&&l.w===void 0&&y.generation()!=="";x||m||!N&&l?.w&&l.w.reset!==y.generation()?Lt=G.then(()=>P?.first).then(a=>{if(a)return i(y.restore(a.record&&{raw:JSON.stringify(a.record),record:a.record}));throw new Error("the draft database did not open")}).catch(a=>{if(!x){if(!m)try{n?.removeItem(y.key)}catch{}return i(y.restore())}J=!0,B(document,a),i({restored:!1,hadDraft:!0,blocked:!0})}):(i(y.restore()),G.then(()=>{P||(y.release(),y.flush())}))}else if(!pt||!Ht){let t=[];pt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Ht||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else Nt&&ue&&!oe()&&(Kt=qe());var Tr=y?{active:!0,slot:y.slot,key:y.key,hasDraft:()=>y.kept(),restored:()=>K,saveNow(){if(J||!K)return!1;if(N)return y.writeLive();try{y.captureNow()}catch{return!1}return P?.sync().catch(()=>{}),!y.unsafe()},reset(){return _e?(G.then(()=>{if(P)return P.startOver();if(N&&!J)return y.clear();throw new Error("the draft database did not open")}).then(()=>window.location.reload(),t=>B(document,t)),!0):(y.clear(),window.location.reload(),!0)},onRestore(t){return K?(t(K),!0):(document.addEventListener("clay:drafts-restored",r=>t(r.detail),{once:!0}),!1)},editOriginal:we,backToDraft:ve,downloadUrl:()=>qt,download:()=>Kt.then(async t=>{let r=await ht();return t?.download(r===!1)}),source:_t}:be();async function Mr(){if(await Lt,await G,!y||!P||J)return null;let{createRecovery:t}=await import("../c-CPRGR2II.js");return t({store:y,session:P})}export{Kt as ready,Mr as recoveryDrafts,Lt as restoring,Tr as visitorDrafts};
|
package/dist/m/plugins/{visitor-drafts-owner-LHUHFU3L.js → visitor-drafts-owner-TLECTYWS.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-
|
|
1
|
+
import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-C7SUMNMI.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4TWEIKZ.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-N4GEJMXW.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{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-
|
|
1
|
+
import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-MMEVDN6D.js").then(o=>o.start()).catch(o=>console.warn("visitor-menu: the menu did not load",o))}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"../c-C5UGNOC2.js";import"../c-EQ5NBOGA.js";import"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.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{a as W,b as x,c as B}from"./c-NUHP2XDB.js";import{g as F}from"./c-QCDVDZIR.js";import{a as m}from"./c-VKEDWYDF.js";import{b as V}from"./c-MZCOGNZL.js";import{e as z}from"./c-EQ5NBOGA.js";import"./c-IJUK2GPW.js";import{a as T,b as f,c as a,f as u,g as n,h as v,j as L,o as $}from"./c-C7SUMNMI.js";import{c as j,e as H}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as q,s as U}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as S}from"./c-VHNSBD2M.js";var C={};S(C,{activateInitialMode:()=>ke,canEdit:()=>a,default:()=>Me,init:()=>A,isEditMode:()=>u,isOwner:()=>v,mode:()=>n,modeLifecycle:()=>xe,noteLiveSwitch:()=>Ee,setMode:()=>y,setPageTypeOnPageLoad:()=>Q,toggleEditMode:()=>X});var N=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return $(e)},xe={register:ve,canWrite:()=>L().phase==="idle"&&u,get state(){return Object.freeze(L())}},D=null,J=()=>D||=import("./c-3WX5FABT.js").catch(()=>D=null),M=null,Ee=e=>{M=e};async function ke(){if(u)try{await(await J()).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&&!D)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=Se(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function Se(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?(N=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Te():!a&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:Y(e)}async function Te(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-5BYP24GC.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"}:a?Y("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function Y(e){if(M){let t=await J(),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 N=!0,T({mode:e,canEdit:a,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Le(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var X=()=>f?Le():y(n==="edit"?"view":"edit");function De(){!a||f||window.addEventListener("pagehide",()=>{N||T({mode:n,canEdit:a,internal:!1})})}function G(){a?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function Q(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",v?"true":"false"),G(),document.addEventListener("clay:capabilitychange",G),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function A(){Q(),De()}A();var Me={init:A,setMode:y,toggleEditMode:X,isEditMode:u,isOwner:v,canEdit:a,mode:n};var se={};var Z=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Ne=Z?"\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
|
+
}`,ee=new WeakSet;function te(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{ee.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function oe(e){ee.add(e),e.getRootNode().host?.remove()}function ne(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):ae(i))})})}function Ce(e){(a||n==="edit")&&(!(Z?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),ne(n==="edit"?"view":"edit")))}var Re="In view mode, so edits won't be saved.",Pe=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",s=null;function ie(e){if(!e.isConnected)return!1;let t=U(e);return t.persist===q.FULL&&!t.extension}function re(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Pe)||t.closest(R)||(t.isContentEditable?t:null);return o&&ie(o)?o:null}var Ie=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>a&&n==="view";function Oe(e){P()&&re(e.target)&&I()}function _e(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||Ie(t)||t!==document.body&&!t.closest(R))return;re(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function Ke(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ie(t)&&I()}function I(){s||(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(),s=document.createElement("div"),s.setAttribute("clay","editor-ui"),s.setAttribute("role","alert"),s.className="clay-mode-note clay-view-notice",s.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',s.querySelector("span").textContent=Re,s.querySelector("button").addEventListener("click",()=>ne("edit")),te(s))}function je(){n==="view"||!s||(oe(s),s=null)}function ae(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>${Ne}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>oe(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),te(t)}f||(document.addEventListener("keydown",Ce),document.addEventListener("input",Oe,!0),document.addEventListener("pointerdown",Ke,!0),window.addEventListener("keydown",_e),document.addEventListener("clay:modechange",je),m(()=>{if(!a||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),ae())})}));var O={};S(O,{whenShown:()=>Ve});var He="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",d=null,r=null;function h(){if(!d)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;x(d,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){d&&(x(d,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){let e=r.resolveTheme();d=r.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:${r.pageScheme()}`],{theme:e,parts:["notice.root","notice.panel","staleHost.root","staleHost.panel"]}),d.setAttribute("clay",r.RUNTIME_ONLY),d.setAttribute("data-clay-stale-host",""),d.setAttribute("role","alert");let t=B("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${r.TOKENS.ox}`]);t.setAttribute("clay",r.RUNTIME_ONLY);let o=["notice.dot","staleHost.dot"];r.themed(e)&&(r.markParts(t,e,o),W(t,r.partRules(e,o,{})));let i=r.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e,theme:e,parts:["notice.button","staleHost.button"],labelParts:["notice.buttonLabel","staleHost.buttonLabel"]});i.setAttribute("aria-label","Dismiss this message"),d.append(t,r.bevelText("span",[],He,{theme:e,parts:["notice.text","staleHost.text"]}),i),document.body.appendChild(d),h(),r.themed(e)?x(d,"color-scheme",e.scheme==="light dark"?"light":e.scheme):r.paintLook(d,{background:r.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!H()||u)return;let[e,t,o,i]=await Promise.all([import("./c-33SS5A4Y.js"),import("./c-46LJAZZJ.js"),import("./c-OCSZ4QGN.js"),import("./c-ELXMSEN5.js")]);r={...e,...i,TOKENS:t.TOKENS,resolveTheme:o.resolveTheme},qe()}var de=Promise.resolve();m(()=>{de=Ue()});var Ve=()=>de;var K={};S(K,{createPageDataApi:()=>ue,readData:()=>Je,setPageDataLiveSync:()=>Xe,writeData:()=>Ye});var Fe="data-read",ze="data-write";function E(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function le(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function We(e){let t={};try{t=await le(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 Be(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Ge(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 ce(){let{isDraftMode:e}=await import("./core/is-edit-mode-73OXKK5H.js");return e?E("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function ue({supports:e=z,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:fe=document,loadWriteModules:me,syncTimeoutMs:pe,httpTimeoutMs:we}={}){let g=null,w=null;function ye(c){g=c}async function he(c){let b=await ce();if(b)throw b;if(!await e(Fe))throw E("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Ge(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(k){throw Object.assign(E("DataReadFailed",k?.message||"Could not read page data."),{cause:k})}if(!l.ok)throw await We(l);return{data:await le(l),etag:Be(l)}}function ge(){return w||(w=import("./c-34J5HC7N.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:fe,getLiveSync:()=>g,loadWriteModules:me,syncTimeoutMs:pe,httpTimeoutMs:we})).catch(c=>{throw w=null,c}),w)}async function be(c,b){let l=await ce();if(l)throw l;if(!await e(ze))throw E("DataWriteUnsupported","This host does not support writing page data.");return(await ge()).writeData(c,b)}return{readData:he,writeData:be,setLiveSync:ye}}var _=ue(),Je=_.readData,Ye=_.writeData,Xe=_.setLiveSync;var ut={"lib/mutation.js":V,"core/preserve-authored.js":F,"core/edit-mode.js":C,"core/mode-key.js":se,"core/stale-host-notice.js":O,"core/page-data.js":K};export{ut as core};
|
|
@@ -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-3XNTQQEJ.js";import{f as b}from"../c-5IIEOPIV.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-P73XPAOA.js";import"../c-WYFDLITL.js";import"../c-MZCOGNZL.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import"../c-C7SUMNMI.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.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 f}from"../c-K2ZHQMPF.js";import{b as d}from"../c-4M2T676V.js";import{a as s,b as o,c as i}from"../c-EIDZHQHZ.js";import"../c-UL2YUY52.js";import"../c-QY7F6EN6.js";import"../c-OZOACVUD.js";import"../c-QHWJ5ZIJ.js";import"../c-J2ZW4HMR.js";import"../c-A5LASUEZ.js";import"../c-4JZDZFF6.js";import"../c-5RZNFTWD.js";import"../c-PKCCHJ5X.js";import{a}from"../c-5KXDKC5G.js";import{f as n}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";n();var t=window.clay=window.clay||{};t.toast=i;t.toastPersistent=s;t.ask=r;t.confirm=l;t.tell=m;t.snippet=f;t.modal=d;typeof window.toast>"u"&&(window.toast=i);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=>{o("Couldn't save"),o("Offline, will retry"),e.detail?.msgType==="warning"?i(e.detail.msg||"Saved","warning"):a.savedToast&&i(e.detail?.msg||"Saved","success")});document.addEventListener("clay:save-error",()=>s("Couldn't save","error"));document.addEventListener("clay:save-offline",()=>s("Offline, will retry","warning"));document.addEventListener("clay:live-notice",e=>{e.detail?.code==="save-uncertain"&&s(e.detail.message,"warning"),e.detail?.code==="op-too-large"&&i(e.detail.message,"warning")});export{r as ask,l as consent,f as snippet,m as tell,d as themodal,i as toast,s as toastPersistent};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import"../c-VHNSBD2M.js";var qr=(()=>{var Se=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Kt=Object.getOwnPropertyNames,Qt=Object.prototype.hasOwnProperty,Zt=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:!0})},en=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Kt(t))!Qt.call(e,a)&&a!==n&&Se(e,a,{get:()=>t[a],enumerable:!(r=Jt(t,a))||r.enumerable});return e},tn=e=>en(Se({},"__esModule",{value:!0}),e),Ve={};Zt(Ve,{FULL_SAPJS:()=>pe,Sap:()=>me,default:()=>Ur,mount:()=>Fr,mountAll:()=>Vt,needsFullSapjs:()=>Ye,runtime:()=>Ir});function nn(e){let t=!1,n=new Set,r=[];function a(c){c&&(r.push(c),r.length>8&&r.shift())}function l(c,p,A){if(a(p),A){if(c._broken||c.halted)c._changes=!1;else if(c._changes!==!1){let T=c._changes||(c._changes=[]);for(let _ of A)T.push(_)}if(c._inPass)return}if(c._broken){if(p==="mutation")return;m(c)}n.has(c)||(c._trigger=p),n.add(c),!t&&(t=!0,queueMicrotask(o))}function o(){t=!1;for(let c of[...n])n.delete(c)&&g(c,!1,c._trigger)}function g(c,p,A){if(!(c._broken||c.halted)){if(c._passes=(c._passes||0)+1,c._passes>50){c._broken=!0,c._breakerRing=r.slice(),e(c,{breaker:!0});return}c._resetArmed||(c._resetArmed=!0,setTimeout(()=>{c._passes=0,c._resetArmed=!1},0)),e(c,p?{full:!0,cause:A}:{cause:A})}}function b(c,p){a(p),c._broken&&m(c),g(c,!0,p)}function m(c){c._broken=!1,c._passes=0}function d(){let c=t;for(;t;)o();return c}return{schedule:l,runNow:b,flushNow:d}}var rn={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"},E52:{slug:"plugin-not-loaded",behavior:"ERR"},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"}},$e=["disabled","readonly","required","checked","selected","multiple","open","inert","autofocus","novalidate","hidden"],Je=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"]),an=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 on(e){if(!e||e.nodeType!==1)return"?";if(e.id)return`${e.tagName.toLowerCase()}#${e.id}`;let t=[],n=e,r=0;for(;n&&n.nodeType===1&&r<4;){let a=n.tagName.toLowerCase();if(n.hasAttribute("sap"))a+="[sap]";else if(n.parentElement){let l=0,o=0;for(let g=n.parentElement.firstElementChild;g;g=g.nextElementSibling)g.tagName===n.tagName&&(l++,g===n&&(o=l));l>1&&(a+=`:nth-of-type(${o})`)}if(t.unshift(a),n.hasAttribute("sap"))break;n=n.parentElement,r++}return t.join(" > ")}var ln=class{constructor(e){this.appName=e,this.errors=[],this.warnings=[],this.halted=!1,this.haltReason=null}block(e,t,n={}){let r=(rn[e]||{}).slug||"error",a={code:e,slug:r,el:on(t),attr:n.attr||null,expr:n.expr||null,key:n.key||null,problem:n.problem||"",didYouMean:n.didYouMean||null,fix:n.fix||null,phase:n.phase||"runtime"},l=[`
|
|
2
|
+
`+(e[0]==="W"?"sap \u26A0 ":"sap \u2717 ")+e+" "+r];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,n={}){let r=this.block(e,t,n);return this.errors.push(r),r}warn(e,t,n={}){let r=this.block(e,t,n);return this.warnings.push(r),r}};function G(e,t){e&&e.getAttribute("sap-error")!==t&&e.setAttribute("sap-error",t)}function Ne(e){e&&e.hasAttribute("sap-error")&&e.removeAttribute("sap-error")}function Ke(e,t){let n=null,r=3;for(let a of t){let l=sn(e,a);l<r&&(r=l,n=a)}return n}function sn(e,t){let n=e.length,r=t.length,a=Array.from({length:n+1},(l,o)=>[o,...new Array(r).fill(0)]);for(let l=0;l<=r;l++)a[0][l]=l;for(let l=1;l<=n;l++)for(let o=1;o<=r;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[n][r]}var Qe=["sap","item","scope","items","detail","each"],ae=new Map,oe=new Map,he="";function un(e){for(let[t,n]of Object.entries(e.boundaries||{}))Te(t)&&ae.set(t,{name:t,plugin:e.name,opaque:!!n.opaque,on:n.on||null,installed:!1});for(let[t,n]of Object.entries(e.directives||{}))Te(t)&&oe.set(t,{name:t,plugin:e.name,key:n.key,impure:!!n.impure,parse:null});he=[...ae.values()].map(t=>`${t.on||""}[${t.name}]`).join(",")}function Te(e,t){return!Qe.includes(e)&&(Ze(e)||t)===t}function cn(e,t){for(let n of ae.values())n.plugin===e&&(n.installed=!!t);for(let n of oe.values())n.plugin===e&&(n.parse=t&&t[n.name]||null)}function Ze(e){return(ae.get(e)||oe.get(e)||{}).plugin}function fn(e){return oe.get(e)}function et(e){return!!Ze(e)||oe.has(e.slice(0,e.indexOf(":")+1))}function tt(e){if(!he)return null;for(let t of ae.values())if(!(t.on&&e.localName!==t.on||!e.hasAttribute(t.name)))return Qe.some(n=>e.hasAttribute(n))?null:t;return null}function ie(e){let t=tt(e);return!!t&&(t.opaque||!t.installed)}function _e(e){if(!he)return null;for(let t=e.parentElement;t;t=t.parentElement)if(t=t.closest(he),!t||ie(t))return t;return null}function Le(e){return ie(e)?e:_e(e)}function X(e,t){if(!(t(e)===!1||ie(e)))for(let n=e.firstElementChild;n;n=n.nextElementSibling)X(n,t)}var dn=new Set($e),pn={readonly:"readOnly",novalidate:"noValidate"},mn=0,nt=new WeakMap;function hn(e,t="sap"){let n=e.getAttribute("data-id");if(n)return n;if(e.id)return e.id;let r=nt.get(e);return r||(r=`${t}-${(mn++).toString(36)}`,nt.set(e,r)),r}function bn(e){let t=[];for(let n=e.firstElementChild;n;n=n.nextElementSibling)n.hasAttribute("item")&&!n.hasAttribute("template")&&!n.hasAttribute("cms-template")&&t.push(n);return t}function rt(e,t){if(!e||!t)return null;let n=[...e.querySelectorAll(`template[items="${t}"]`)].find(a=>a.closest("[sap]")===e),r=n&&n.content.firstElementChild;return r&&r.hasAttribute("item")?r:null}function gn(e){for(let t=e.firstElementChild;t;t=t.nextElementSibling)if(t.hasAttribute("item")&&t.hasAttribute("template"))return t;return rt(e.closest("[sap]"),e.getAttribute("items"))}function at(e){let t=[];if(!e)return t;for(let n of e.trim().split(/\s+/)){if(!n)continue;let r=n,a,l=r.indexOf("=");l>=0&&(a=r.slice(l+1),r=r.slice(0,l));let o=r.split(":"),g=o[0],b="string",m=!1;for(let p of o.slice(1))p==="num"?b="num":p==="bool"?b="bool":p==="presence"?b="presence":p==="transient"&&(m=!0);let d=g,c=d.startsWith("data-")&&d.length>5?d.slice(5).replace(/-([a-z])/g,(p,A)=>A.toUpperCase()):d;t.push({name:c,attr:d,type:b,default:a,transient:m})}return t}function Ce(e,t){if(t==="num"){if(e==null||e==="")return 0;let n=Number(e);return Number.isNaN(n)?0:n}return t==="bool"?e==="true"||e===""||e==="1":e??""}function yn(e,t){return t==="bool"?e?"true":"false":e==null?"":String(e)}function ot(e,t){return dn.has(t)&&typeof e[pn[t]||t]=="boolean"}function it(e,t){return t.type==="presence"||t.type!=="num"&&ot(e,t.attr||t.name)}function lt(e){return e.default!=null?e.default:e.type==="num"?"0":e.type==="bool"?"false":""}function wn(e,t){let n=t.attr||t.name,r=e._sapTransient||(e._sapTransient={});if(!(t.name in r)){let a=e.getAttribute(n);a==null&&(a=lt(t)),r[t.name]=Ce(a,t.type)}return e.hasAttribute(n)&&e.removeAttribute(n),r[t.name]}function O(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 be(e,t){return Array.isArray(e)?t==null?e:e.map(n=>typeof t=="function"?t(n):n?.[t]):[]}function st(e,t){return be(e,t).reduce((n,r)=>n+O(r),0)}function vn(e,t){return Array.isArray(e)?t==null?e.length:e.reduce((n,r)=>n+(t(r)?1:0),0):0}function En(e,t){let n=be(e,t);return n.length?st(e,t)/n.length:0}function An(e,t){let n=be(e,t).filter(r=>r!=null&&r!=="");return n.length?n.every(r=>typeof r=="number"||!Number.isNaN(Number(r)))?Math.min(...n.map(Number)):n.reduce((r,a)=>String(r)<=String(a)?r:a):0}function kn(e,t){let n=be(e,t).filter(r=>r!=null&&r!=="");return n.length?n.every(r=>typeof r=="number"||!Number.isNaN(Number(r)))?Math.max(...n.map(Number)):n.reduce((r,a)=>String(r)>=String(a)?r:a):0}function xn(e,t,n){let r=O(e)===1?t:n??t+"s";return`${e} ${r}`}function Sn(e,t){let n=new Date(e),r=new Date(t);return Number.isNaN(+n)||Number.isNaN(+r)?0:Math.round((r-n)/864e5)}function F(e){return typeof e=="number"?e:Number(e)}function ut(e,t){let n=F(e),r=Math.abs(n).toLocaleString("en-US",{minimumFractionDigits:t,maximumFractionDigits:t});return(n<0&&/[1-9]/.test(r)?"-$":"$")+r}var V={usd:e=>ut(e,0),usd2:e=>ut(e,2),pct:e=>Math.round(F(e))+"%",pct1:e=>F(e).toFixed(1)+"%",int:e=>Math.round(F(e)).toLocaleString("en-US"),num:e=>F(e).toLocaleString("en-US"),num2:e=>F(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),compact:e=>F(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=F(e),n=Math.floor(t/100),r=n%10,a=Math.floor(n/10)%60;return`${Math.floor(n/600)}:${String(a).padStart(2,"0")}.${r}`}},$n=new Set(["usd","usd2","pct","pct1","int","num","num2","compact","clock"]);function Nn(e,t){if(!e)return t==null?"":String(t);let n=V[e];if(typeof n!="function"){let r=new Error(`unknown format "${e}"`);throw r.sapCode="E22",r}if($n.has(e)){let r=typeof t=="number"?t:Number(t);if(!Number.isFinite(r)){let a=new Error(`format "${e}" received ${typeof t=="string"?`"${t}"`:t}`);throw a.sapCode="E22",a}}return n(t)}var je=["state","item","el","root","fmt","num","sum","count","avg","min","max","plural","days"],le=new Map,Pe=[],ct=[],se=null,ft=null,Tn=/'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|[`}](?:\\.|[^`\\])*?(?:`|\$\{)|[{}]/.source;function _n(e,t){Pe=Object.keys(e),ct=Object.values(e);let n=[...t.keys()].filter(r=>Re(r)&&!(r in e));ft=t,se=n.length?new RegExp(`${Tn}|\\.{3}|(${n.join("|")})\\s*\\(|[\\w$.]+`,"g"):null,le.clear()}function dt(e){return e in globalThis&&globalThis[e]?.nodeType!==1}function Re(e){return/^[a-z_]\w*$/i.test(e)&&!je.includes(e)&&!dt(e)}function Ln(e){try{return Re(e)&&!!new Function(e,'"use strict"')}catch{return!1}}function ge(e){let t=[],n;if(se)for(se.lastIndex=0;n=se.exec(e);){let[r,a]=n;if(a&&Re(a))return ft.get(a);r[0]==="}"&&!t.pop()?.[1]?se.lastIndex=n.index+1:r.endsWith("{")&&t.push(r)}return null}var Cn=/\bstate\.([a-z][a-z0-9_]*)/g,jn=/\bitem\.([a-z][a-z0-9_]*)/g;function Pn(e){let t=n=>new Set([...(e||"").matchAll(n)].map(r=>r[1]));return{state:t(Cn),item:t(jn)}}function pt(e,t=!1){let n=(t?"!":"")+e,r=le.get(n);if(r)return r;le.size>512&&le.clear();try{let a=t?`"use strict";
|
|
4
|
+
${e}`:`"use strict"; return (${e});`;r={fn:Pe.length?new Function(...Pe,`return function(${je}){${a}
|
|
5
|
+
}`)(...ct):new Function(...je,a),src:e,statement:t,deps:Pn(e),error:null,waits:ge(e)}}catch(a){r={fn:null,src:e,statement:t,deps:{state:new Set,item:new Set},error:a,waits:null}}return r.waits||le.set(n,r),r}function Rn(e,t){return Me(e,t.state,t.item,t.el??null,t.root)}function Me(e,t,n,r,a){if(e.error)throw e.error;return e.fn(t,n,r,a,V,O,st,vn,En,An,kn,xn,Sn)}var ue={},U=null,mt=!0,ye=!1;function ht(){ue={}}function Mn(e){let t=ye;return U?Oe(U.takeRecords()):mt&&Dn(),ye=!!U&&e.getRootNode()===document,t}function On(e){ye=e}function Wn(){U&&Oe(U.takeRecords())}function Dn(){if(typeof document>"u"||typeof MutationObserver!="function"){mt=!1;return}U=new MutationObserver(Oe),U.observe(document,{attributes:!0,childList:!0,subtree:!0})}function Oe(e){for(let t of e)if(t.type==="attributes")bt(t.target);else if(t.addedNodes.length&&!(t.target.nodeType===1&&Le(t.target)))for(let n of t.addedNodes)n.nodeType===1&&X(n,bt)}function bt(e){e._sapPlan&&(e._sapPlan=null)}function ce(e){if(!ye)return gt(e);let t=e._sapPlan;return t&&t.gen===ue?t:e._sapPlan=gt(e)}function W(e,t,n){let r=pt(t,n);return r.waits&&(e.waits=r.waits),r}function gt(e){let t={gen:ue,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,waits:null,wants:null,ext:!1,impure:!1};for(let r of e.attributes){let a=r.name,l=r.value,o=a.indexOf(":");if(o<0){switch(a){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,t.waits=ge(l)||t.waits;break;case"each":t.each=!0,t.waits=ge(l)||ge(e.getAttribute("key"))||t.waits;break;case"bind":t.bind=l;break;case"transient":t.transient=!0;break;case"state":t.decls=at(l);break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:null,entry:W(t,l)});break;case"show":(t.paints||(t.paints=[])).push({kind:"show",entry:W(t,l)});break;case"effect":(t.effects||(t.effects=[])).push({entry:W(t,l,!0)});break;case"invalid":(t.invalids||(t.invalids=[])).push({entry:W(t,l)});break;default:yt(t,a,"",l)}continue}let g=a.slice(0,o),b=a.slice(o+1);switch(g){case"calc":(t.calcs||(t.calcs=[])).push({name:b,entry:W(t,l)});break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:b,entry:W(t,l)});break;case"attr":(t.paints||(t.paints=[])).push({kind:"attr",arg:b,entry:W(t,l)});break;case"class":(t.paints||(t.paints=[])).push({kind:"class",arg:b,entry:W(t,l)});break;case"css":(t.paints||(t.paints=[])).push({kind:"css",arg:b,entry:W(t,l)});break;case"show-when":case"option":(t.paints||(t.paints=[])).push({kind:"when",match:"show",field:b,values:l.split("|")});break;case"hide-when":(t.paints||(t.paints=[])).push({kind:"when",match:"hide",field:b,values:l.split("|")});break;case"option-not":(t.paints||(t.paints=[])).push({kind:"when",match:"show-not",field:b,values:l.split("|")});break;default:yt(t,g+":",b,l)}}let n=tt(e);return t.boundary=t.scope?"scope":t.items?"items":t.detail?"detail":t.each?"each":n?n.name:null,n&&!n.installed&&(t.wants||=[]).push(n.plugin),Bn(t)?zn():t}function yt(e,t,n,r){let a=fn(t);if(!a)return;if(!a.parse){(e.wants||=[]).push(a.plugin);return}let l=a.parse(n,r);l!==void 0&&((e[a.key]||(e[a.key]=[])).push(l),e.ext=!0,a.impure&&(e.impure=!0),l&&l.entry&&l.entry.waits&&(e.waits=l.entry.waits))}var we=null;function zn(){return(!we||we.gen!==ue)&&(we=Object.freeze({gen:ue,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,waits:null,wants:null,ext:!1,impure:!1})),we}function Bn(e){return!e.inert&&!e.item&&e.boundary===null&&e.bind===null&&!e.transient&&!e.decls&&!e.calcs&&!e.paints&&!e.effects&&!e.invalids&&!e.wants&&!e.ext}var J=new WeakMap,K=new WeakMap,Q=null,I=!1;function Fn(){J=new WeakMap,K=new WeakMap}function wt(e){for(let t of e){let n=t.target.nodeType===1?t.target:t.target.parentElement;for(let a=n;a;a=a.parentElement)K.delete(a);if(t.type==="attributes"){J.delete(t.target);continue}for(let a=n;a;a=a.parentElement)J.delete(a);let r=t.addedNodes;if(!(!r||!r.length||n&&Le(n)))for(let a of r)a.nodeType===1&&X(a,In)}}function In(e){J.delete(e),K.delete(e)}function Hn(){return I}function Un(e){return I?K.get(e):void 0}function qn(e,t){I&&K.set(e,t)}function vt(e){K.delete(e)}function Yn(e){let t=I;return!Q&&typeof MutationObserver=="function"&&(Q=new MutationObserver(wt),Q.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),Q&&wt(Q.takeRecords()),I=!!Q&&e.getRootNode()===document,t}function Gn(e){I=e}function Et(e){let t=J.get(e);return t||J.set(e,t={attrs:new Map,hasText:!1,text:""}),t}function Xn(e,t){if(!I)return e.getAttribute(t);let n=Et(e);return n.attrs.has(t)||n.attrs.set(t,e.getAttribute(t)),n.attrs.get(t)}function Vn(e){if(!I)return e.textContent;let t=Et(e);return t.hasText||(t.text=e.textContent,t.hasText=!0),t.text}function At(e){return(e.getAttribute("type")||"text").toLowerCase()}function We(e){let t=e.tagName;if(t==="INPUT"){let n=At(e);n==="checkbox"||n==="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 n=e.options;for(let r=0;r<n.length;r++)n[r].selected?n[r].setAttribute("selected",""):n[r].removeAttribute("selected")}}function Jn(e,t=e){let n=e.tagName;if(n==="INPUT"){let r=At(e);r==="checkbox"||r==="radio"?t.checked?e.hasAttribute("checked")||e.setAttribute("checked",""):e.removeAttribute("checked"):t.value!==(e.getAttribute("value")??"")&&e.setAttribute("value",t.value);return}if(n==="TEXTAREA"){let r=t.value.startsWith(`
|
|
6
|
+
`)?`
|
|
7
|
+
`+t.value:t.value;e.textContent!==r&&(e.textContent=r),e.removeAttribute("data-value");return}if(n==="SELECT"){let r=e.options,a=t.options;for(let l=0;l<r.length;l++)a[l]&&a[l].selected?r[l].hasAttribute("selected")||r[l].setAttribute("selected",""):r[l].removeAttribute("selected")}}function kt(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function j(e){if(typeof window>"u")return null;let t=window.clay,n=window.hyperclay;return e==="consent"?t?.confirm||n?.consent||null:t?.[e]||n?.[e]||null}function Kn(){let e=j("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var xt=["clay:mutation-ready","hyperclay:mutation-ready"],Qn=["clay:sync-applied","hyperclay:livesync-applied"],Zn=["clay:ready","hyperclay:ready"],er=["clay:route"],tr=["clay:modechange"];function ve(e,t,n){let r=null,a=l=>{r!==null&&r!==l.type||(r=l.type,queueMicrotask(()=>{r=null}),n(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function nr(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function St(e){let t=j("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function $t(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function Ee(e,{transient:t=!1}={}){if(t)return!0;let n=$t();return typeof n?.canWrite!="function"||j("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:n.canWrite()}function rr(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let n=j("undo");n&&n.flush&&n.flush();let r=t();if(r&&typeof r.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return n&&n.commitCaptured&&n.commitCaptured(e),r}function ar(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let A of e.apps())A.root.isConnected?e.runNow(A,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},n=j("derived"),r=n&&typeof n.register=="function"?n.register(t):null,a=typeof r=="function"?null:ve(document,Qn,t),l=ve(document,er,t),o=null,g=!1,b=()=>{let p=o;o=null,p&&(p[2](),p[3]())},m=()=>{if(g)return!1;let p=j("undo"),A=$t()?.state?.generation;if(o&&o[0]===p&&o[1]===A)return!0;if(b(),!p||typeof p.on!="function")return!1;let T=p.on("undo",t);if(typeof T!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(T(),!1):(o=[p,A,T,_],!0)};m();let d=[xt,Zn,tr].map(p=>ve(document,p,m)),c=j("ready");return c&&typeof c.then=="function"&&c.then(m,()=>{}),()=>{g=!0,typeof r=="function"&&r(),a&&a(),l();for(let p of d)p();b()}}function Nt(e){let t=e.tagName;if(t==="INPUT"){let n=(e.getAttribute("type")||"text").toLowerCase();return n==="checkbox"?"checkbox":n==="radio"?"radio":n==="number"||n==="range"?"number":n==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function or(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 Tt(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return or(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(n=>n.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function ir(e,t,n){switch(t){case"checkbox":e.checked=!!n;break;case"radio":e.checked=String(e.value)===String(n);break;case"number":case"text":case"hidden":e.value=n==null?"":String(n);break;case"select-one":e.value=n==null?"":String(n);break;case"select-multiple":{let r=new Set((Array.isArray(n)?n:[n]).map(String));for(let a of e.options)a.selected=r.has(a.value);break}case"leaf":e.textContent=n==null?"":String(n);break;default:e.value=n==null?"":String(n)}}function _t(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}St(e)||We(e)}function lr(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function sr(e,t){return Tt(e,t)}function ur(e){let t=Nt(e);return{el:e,kind:t,read(){return Tt(e,t)},write(n,r={}){ir(e,t,n),r.noMirror||_t(e),r.silent||lr(e)},mirror(){_t(e)}}}var cr=[],R=null,Ae=0,De=null,ke=!1,Z=null;function Lt(e){let t=null;return{kind:"hub",flush(){e.pause(),e.resume()},subscribe(n){let r=e.onAnyChange({debounce:0,require:"observed"},n);typeof r=="function"&&(t=r)},suppress(n){e.pause();try{return n()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function fr(){let e=null,t=null;function n(){let r=e?e.takeRecords():cr;r.length&&t(Ct(r))}return{kind:"native",flush:n,subscribe(r){t=r,e=new MutationObserver(l=>r(Ct(l)));let a=document.body||document.documentElement;a&&e.observe(a,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(r,a){let l=j("undo");a&&n(),l&&l.pause&&l.pause();try{return r()}finally{e&&e.takeRecords(),l&&l.resume&&l.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function Ct(e){let t=[];for(let n of e)if(n.type==="attributes"){let r=n.target;r&&r.nodeType===1&&!fe(r)&&t.push({type:"attribute",element:r,attribute:n.attributeName})}else if(n.type==="characterData"){let r=n.target&&n.target.parentElement;r&&!fe(r)&&t.push({type:"characterData",element:r})}else if(n.type==="childList"){let r=n.target;r.nodeType===1&&[...n.addedNodes,...n.removedNodes].some(l=>l.nodeType===3)&&!fe(r)&&t.push({type:"characterData",element:r});let a=n.addedNodes.length>0&&r.nodeType===1&&Le(r);for(let l of n.addedNodes)l.nodeType!==1||fe(l)||(a?t.push({type:"add",element:l,parent:r}):X(l,o=>{(o===l||!fe(o))&&t.push({type:"add",element:o,parent:r})}));for(let l of n.removedNodes)l.nodeType===1&&t.push({type:"remove",element:l,parent:r})}return t}function fe(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function dr(e,t){e.pruneDisconnected();let n=new Map,r=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);if(o){let g=n.get(o);g?g.push(a):n.set(o,[a])}a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(r=!0)}r&&(De=e.remountIfPresent,Ae?queueMicrotask(ze):ze());for(let[a,l]of n)a.root.isConnected&&e.schedule(a,"mutation",l)}function ze(){let e=De;De=null,e?.()}function xe(e){if(R){let n=!Ae++;try{return R.suppress(e,n)}finally{Ae--}}let t=j("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function Be(e,t){ke=!0,R=e,e.subscribe(n=>dr(t,n))}function jt(e){if(ke||typeof window>"u"||typeof document>"u")return;let t=j("Mutation");if(t&&typeof t.onAnyChange=="function"){Be(Lt(t),e);return}typeof MutationObserver=="function"&&(Be(fr(),e),Z=ve(document,xt,function(){let n=j("Mutation");n&&(Z(),Z=null,R&&R.teardown(),ke=!1,Be(Lt(n),e))}))}function Pt(){if(R)try{R.teardown()}catch{}Z&&typeof document<"u"&&Z(),R=null,ke=!1,Z=null}function pr(){Ae||(R&&R.flush(),ze())}var mr=new Set($e),de=Object.freeze([]),D=[],Rt={},Mt={},Fe=null;function Ot(e){D.includes(e)||(D.push(e),D.sort((t,n)=>(t.order??100)-(n.order??100)),e.boundary&&Object.assign(Rt,e.boundary),e.paintKinds&&Object.assign(Mt,e.paintKinds))}function hr(e){Fe=e}function Wt(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),G(e.root,"loop");return}t.full&&(ht(),Fn()),e._inPass=!0;let n=Mn(e.root),r=null;try{xe(()=>{r=br(e,t)})}finally{e._inPass=!1,On(n)}Fe&&r&&Fe(e,r),e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function br(e,t){let n=e.root,r={},a=[],l=[],o=new Set;e.diag.errors=[];let g=t.full||e._changes===!1?null:e._changes||de;e._changes=null;let b=new Set,m=new Map,d=(s,i)=>s.map(u=>m.get(u)?.push(i)??m.set(u,[i])),c={root:r,state:r,item:null,ownerEl:n,projection:!1},p=null;function A(s,i,u=!1){let f=i.attr||i.name,h=u?Xn(s,f):s.getAttribute(f);return h==null&&(h=lt(i),l.push({el:s,name:i.name,attr:f,value:yn(Ce(h,i.type),i.type)})),Ce(h,i.type)}function T(s,i,u,f){let h=i.decls;if(!h)return;let y=!!f.item&&!f.projection&&!f.view;for(let E of h){if(E.transient){p&&(p.pure=!1),u[E.name]=wn(s,E);continue}if(it(s,E)){u[E.name]=s.hasAttribute(E.attr);continue}u[E.name]=A(s,E,y)}}function _(s,i,u){let f=i.bind,h=u.item||u.state,y=Nt(s);p&&(y!=="leaf"||i.transient)&&(p.pure=!1),y==="radio"?(f in h||(h[f]=""),s.checked&&(h[f]=s.value)):y==="leaf"&&u.item&&!u.projection&&!u.view?h[f]=Vn(s):h[f]=sr(s,y),i.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function P(s,i,u){let f=!1;if(i.waits&&b.add(i.waits),i.wants&&(d(i.wants,s),f=!0),p&&i.impure&&(p.pure=!1),i.paints){f=!0;for(let h of i.paints)h.kind==="when"&&o.add(h.field),a.push({def:h,el:s,ctx:u})}for(let h of D)h.collect&&h.collect($,s,i,u)!==!1&&(f=!0);p&&f&&(i.calcs&&(p.pure=!1),p.collects.push(s,i))}function q(s,i,u){Object.defineProperty(s,"$key",{value:hn(i,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:u,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:i,enumerable:!1})}function z(s,i,u){let f=ce(s);T(s,f,i,u),s._sapScope=i,!u.projection&&f.bind!=null&&_(s,f,u),P(s,f,u),f.items?Y(s,i,u):B(s,i,u)}function B(s,i,u){for(let f=s.firstElementChild;f;f=f.nextElementSibling)H(f,i,u)}function H(s,i,u){let f=ce(s);if(!f.inert){if(f.boundary){if(p&&(p.pure=!1),f.boundary==="scope")N(s,i,u);else if(f.boundary==="items")P(s,f,u),Y(s,i,u);else if(f.waits)b.add(f.waits);else{let h=Rt[f.boundary];h?h($,s,f,i,u):f.wants&&d(f.wants,s)}return}!u.projection&&!u.view&&f.bind!=null&&_(s,f,u),P(s,f,u);for(let h=s.firstElementChild;h;h=h.nextElementSibling)H(h,i,u)}}function N(s,i,u){let f=s.getAttribute("scope"),h={};i[f]=h;let y={root:u.root,state:h,item:null,ownerEl:s,projection:u.projection};z(s,h,y)}function Y(s,i,u){p&&(p.pure=!1);let f=s.getAttribute("items"),h=[];i[f]=h,s._sapList=h;let y=!u.projection&&!u.view&&Hn(),E=0;for(let x=s.firstElementChild;x;x=x.nextElementSibling){let S=ce(x);if(!S.item||S.template||S.cms)continue;let w=y?Un(x):void 0;h.push(w&&w.plan===S&&Object.isExtensible(w.obj)&&k(w,x,E,u)||v(x,S,E,u,y)),E++}}function v(s,i,u,f,h){let y={};q(y,s,u);let E={root:f.root,state:f.state,item:y,ownerEl:s,projection:f.projection};if(!h)return z(s,y,E),y;let x=p,S={plan:i,obj:y,fields:null,presence:de,pending:de,collects:[],pure:!0},w=l.length,Ge=e.diag.errors.length;p=S;try{z(s,y,E)}finally{p=x}if(!S.pure||e.halted||e.diag.errors.length!==Ge)return y;let ne=[];for(let re of Object.keys(y)){let Xe=y[re];if(Xe!==null&&typeof Xe=="object")return y;ne.push(re,Xe)}if(i.decls)for(let re of i.decls)it(s,re)&&(S.presence===de?S.presence=[]:S.presence).push(re.name,re.attr);return l.length>w&&(S.pending=l.slice(w)),S.collects.length||(S.collects=de),S.fields=ne,qn(s,S),y}function k(s,i,u,f){let h=s.obj;try{h.$index!==u&&Object.defineProperty(h,"$index",{value:u,enumerable:!1,configurable:!0});let x=s.presence;for(let w=0;w<x.length;w+=2)h[x[w]]=i.hasAttribute(x[w+1]);let S=s.fields;for(let w=0;w<S.length;w+=2)h[S[w]]=S[w+1]}catch{return vt(i),null}i._sapScope=h;let y=s.pending;for(let x=0;x<y.length;x++)l.push(y[x]);let E=s.collects;if(E.length){let x={root:f.root,state:f.state,item:h,ownerEl:i,projection:f.projection};for(let S=0;S<E.length;S+=2)P(E[S],E[S+1],x)}return h}let $={app:e,root:n,rootObj:r,paints:a,stats:{calcs:0,lists:0},resolveDefault:A,collectEl:P,walkScope:B,changes:g,full:g===null,trigger:t.cause||t.trigger||"refresh",waiting:b,wanted:m};for(let s of D)s.begin&&s.begin($);let L=t.cacheReads===!1?null:Yn(n);try{z(n,r,c)}finally{t.cacheReads!==!1&&Gn(L)}if(e.halted||b.size)return $;for(let s of D)s.afterIntake&&s.afterIntake($);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 D)s.compute&&s.compute($);let C=0;for(let s of D)s.reconcile&&(C+=s.reconcile($));let te=0,M=C;for(let s of a){let i=wr(s,e);s.ctx.view?M+=i:te+=i}for(let s of D)s.afterPaint&&s.afterPaint($);return e._state=r,e._stats={fields:Object.keys(r).filter(s=>typeof r[s]!="function").length,calcs:$.stats.calcs,paints:a.length,lists:$.stats.lists,writes:te,viewWrites:M},e._viewsChanged=M>0,e._lastPass={trigger:t.trigger||"refresh",writes:te},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${te}/${a.length}`),$}function gr(e){let t=e.kind==="text"?e.fmt||null:e.arg;return t==null?e.kind:e.kind+":"+t}function yr(e,t,n,r){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=n.includes(a.getAttribute(t));if(r?!l:l)return!0}a=a.parentElement}return!1}function wr(e,t){let n=e.def,r=e.el,a=Mt[n.kind];if(a)return a(e,t);if(n.kind==="when")return Dt(n,r,null);try{let l=Me(n.entry,e.ctx.state,e.ctx.item,r,e.ctx.root),o=Dt(n,r,l);return Ne(r),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",r,{attr:gr(n),expr:n.entry&&n.entry.src,problem:String(l.message)}),G(r,l.sapCode||"E24"),0}}function Dt(e,t,n){switch(e.kind){case"text":{let r=e.fmt!=null?Nn(e.fmt,n):n==null?"":String(n);return t.textContent!==r?(t.textContent=r,1):0}case"show":{let r=!n;return t.hidden!==r?(t.hidden=r,1):0}case"when":{let r=j("optionVisibility");if(r&&r._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;t._sapWhen=!0;let a=yr(t,e.field,e.values,e.match==="show-not")===(e.match==="hide");return t.hidden!==a?(t.hidden=a,1):0}case"attr":{let r=e.arg;if((r==="checked"||r==="selected")&&typeof t[r]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let l=0;return t[r]!==!!n&&(t[r]=!!n,l=1),!!n!==t.hasAttribute(r)&&(n?t.setAttribute(r,""):t.removeAttribute(r),l=1),l}if(mr.has(r)){let l=t.hasAttribute(r);return n&&!l?(t.setAttribute(r,""),1):!n&&l?(t.removeAttribute(r),1):0}let a=typeof n=="boolean"?String(n):n==null?"":String(n);return t.getAttribute(r)!==a?(t.setAttribute(r,a),1):0}case"class":{let r=!!n;return t.classList.contains(e.arg)!==r?(t.classList.toggle(e.arg,r),1):0}case"css":{let r=n==null?"":String(n);return t.style.getPropertyValue("--"+e.arg)!==r?(t.style.setProperty("--"+e.arg,r),1):0}default:return 0}}var vr=new Set($e),zt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Er=new Set(["show-when","hide-when","option","option-not"]),Ar=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,Bt=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"]),Ie=[];function Ft(e){Ie.includes(e)||Ie.push(e)}function kr(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function He(e){return e.hasAttribute("bind")}function xr(e,t){t(e);for(let r=e.firstElementChild;r;r=r.nextElementSibling)n(r);function n(r){if(!r.hasAttribute("sap-ignore")){if(r.tagName==="TEMPLATE"){if(r.hasAttribute("items"))for(let a=r.content.firstElementChild;a;a=a.nextElementSibling)n(a);return}if(t(r),!ie(r))for(let a=r.firstElementChild;a;a=a.nextElementSibling)n(a)}}}function Sr(e,t){let n=!1,r=(o,g,b)=>{t.error(o,g,b),n=!0},a=e.ownerDocument.createTreeWalker(e,5,{acceptNode:o=>o.nodeType===3?1:ie(o)||o.hasAttribute("bind")||o.hasAttribute("sap-ignore")?2:3}),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){r("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 xr(e,o=>{let g=new Set;for(let m of Ie)m(o,r,d=>g.add(d));let b=o.closest&&o.closest("[detail]");for(let m of[...o.attributes]){let d=m.name;if(g.has(d))continue;if(d.includes(":")){let p=d.slice(0,d.indexOf(":"));if(!zt.has(p)&&!et(d)){let A=Ke(p,[...zt]);t.warn("W03",o,{attr:d,problem:`unknown "${p}:" attribute`,didYouMean:A?`${A}:`:null})}else if(Er.has(p)&&Ar.test(m.value)){let A=d.slice(d.indexOf(":")+1);t.warn("W04",o,{attr:d,expr:m.value,problem:`${p}: compares the "${A}" attribute against a literal value, not a JS expression`,fix:`use show="${m.value}" for an expression, or a literal like ${p}:${A}="overview"`})}}else if(!Bt.has(d)&&!et(d)&&!Je.has(d)&&!vr.has(d)&&!/^(data-|aria-|on)/.test(d)&&!(d in o)){let p=Ke(d,[...Bt]);p&&t.warn("W03",o,{attr:d,problem:`unknown "${d}" attribute`,didYouMean:p})}d==="attr:hidden"&&t.warn("W03",o,{attr:d,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let c=He(o)||d==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(d==="attr:value"||d==="attr:checked"||d==="attr:selected")&&c&&r("E30",o,{attr:d,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),d==="effect"&&He(o)&&/\b(value|checked)\s*=[^=]/.test(m.value)&&r("E30",o,{attr:d,expr:m.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"}),(d==="text"||d.startsWith("text:")||d==="show")&&kr(o)&&(d==="show"||r("E18",o,{attr:d,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let m=at(o.getAttribute("state")),d=new Set;for(let c of m){c.name.includes("-")&&r("E08",o,{attr:"state",problem:`field "${c.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${c.name.replace(/-/g,"")}`}),d.has(c.name)&&r("E04",o,{attr:"state",problem:`field "${c.name}" is declared twice in one scope`}),d.add(c.name),an.has(c.attr)&&r("E05",o,{attr:"state",problem:`"${c.name}" is a reserved Sap word`}),Je.has(c.attr)&&r("E06",o,{attr:"state",problem:`"${c.name}" is a global HTML attribute name; pick another field name`}),c.name==="open"&&o.tagName==="DIALOG"&&r("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=ot(o,c.attr);p&&(c.attr==="checked"||c.attr==="selected")&&r("E35",o,{attr:"state",problem:`"${c.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&&c.type==="num"&&r("E35",o,{attr:"state",problem:`"${c.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${c.attr}"`}),c.transient&&(p||c.type==="presence")&&r("E35",o,{attr:"state",problem:`"${c.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(He(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let m=(o.getAttribute("type")||"text").toLowerCase();m==="file"&&r("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),m==="password"&&!o.hasAttribute("transient")&&r("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 m=o.getAttribute("contenteditable");!(m!=null&&m!=="false")&&o.children.length>0&&r("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")&&r("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 m=o.parentElement;(!m||!m.hasAttribute("items"))&&r("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")&&b&&r("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 m=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!gn(o)&&!rt(e,o.getAttribute("items"))&&bn(o).length===0&&m&&r("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),n&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",G(e,t.haltReason)),!n}var It="sap-styles",Ht="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",Ue=new WeakSet;function $r(e){if(Ue.has(e))return;let t=e.defaultView,n=t&&t.CSSStyleSheet;if(n&&"adoptedStyleSheets"in e)try{let r=new n;r.replaceSync(Ht),e.adoptedStyleSheets=[...e.adoptedStyleSheets,r],Ue.add(e);return}catch{}if(!e.getElementById(It)){let r=e.createElement("style");r.id=It,r.textContent=Ht,(e.head||e.documentElement).appendChild(r)}Ue.add(e)}var Nr=0;function Ut(){return typeof performance<"u"&&performance.now?performance.now():0}function qt(e){let t=e.id||e.getAttribute("sap")||`app-${Nr++}`,n=new ln(t),r={root:e,name:t,diag:n,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Sr(e,n))return r.halted=!0,r;$r(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))_e(l)||kt(l);let a=Ut();return Wt(r,{trigger:"mount",full:!0}),r._mountMs=Ut()-a,r._mountWrites=r._stats?r._stats.writes:0,r._mountWrites>0&&!Kn()&&!j("derived")&&n.warn("W30",e,{problem:`${r._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)"}),r}var Tr=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function _r(e){return`${e.tagName.toLowerCase()}[sap]`}function Lr(e){let t={actions:0,lists:0,rows:0};return X(e,n=>{n.hasAttribute("items")&&t.lists++,n!==e&&n.hasAttribute("item")&&!n.hasAttribute("template")&&t.rows++,[...n.attributes].some(r=>Tr.test(r.name))&&t.actions++}),t}function Cr(e){function t(o){let g=o._stats||{},b=o.root;return{root:_r(b),fields:g.fields||0,calcs:g.calcs||0,paints:g.paints||0,...Lr(b),warnings:o.diag.warnings.length,errors:o.diag.errors.length,mountWrites:o._mountWrites||0,ms:Math.round((o._mountMs||0)*10)/10,passes:o._passes||0,lastPass:o._lastPass||null,ok:o.diag.errors.length===0&&!o.halted}}function n(){let o=e.apps().map(t);return{ok:o.every(g=>g.ok),apps:o}}function r(o){let g=t(o);return g.ok?`sap \u2713 ${g.root} \xB7 fields ${g.fields} \xB7 calcs ${g.calcs} \xB7 paints ${g.paints} \xB7 actions ${g.actions} \xB7 lists ${g.lists} \xB7 rows ${g.rows} \xB7 warnings ${g.warnings} \xB7 mount writes ${g.mountWrites} \xB7 ${g.ms}ms`:`sap \u2717 ${g.root} \xB7 errors ${g.errors} \xB7 warnings ${g.warnings} \xB7 ${g.ms}ms`}function a(){let o=[],g=[];for(let b of e.apps())o.push(...b.diag.errors),g.push(...b.diag.warnings);return{ok:o.length===0,errors:o,warnings:g,counts:{errors:o.length,warnings:g.length}}}function l(o){let g=o===void 0?!0:!!o;for(let b of e.apps())b._debug=g;return console.log(`sap debug ${g?"on":"off"} \u2014 per-pass headers will ${g?"":"no longer "}log`),g}return{status:n,report:a,debug:l,greenLine:r}}var qe="0.9.1",jr={},Pr=/^(https:\/\/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/@panphora\/sapjs)(?=[@/]|$)/,Yt=e=>new Promise(t=>setTimeout(t,e)),Gt=e=>e.getAttribute("plugins")?.match(/\S+/g)||[];function Rr(e,t,n){let r=new Map,a=new Map,l=new Map,o=new Map,g=[],b=new Set,m={},d=!1,c,p=globalThis,A=Array.isArray(p.sapPlugins)?p.sapPlugins:p.sapPlugins==null?p.sapPlugins=[]:[],T=p.document?.currentScript?.src||"",_=Pr.exec(T),P=i=>a.get(i)?.api||null,q=i=>Promise.allSettled(i.map(C));function z(){let i=new Map;for(let u of r.values())if(!a.has(u.name))for(let f of u.helpers||[])i.set(f,u.name);_n(m,i),ht()}function B(i){r.set(i.name,{...r.get(i.name),...i}),un(i),z()}function H(i){r.has(i.name)||B(i)}function N(i){A.includes(i)||A.push(i),B(i)}function Y(i){for(let u of e.apps())u.root.isConnected&&e.schedule(u,i)}let v=Object.freeze({api:1,version:qe,compile:pt,run:Rn,runWith:Me,planOf:ce,drainPlans:Wn,forgetRow:vt,setBeacon:G,clearBeacon:Ne,write:xe,schedule(i,u="plugin"){let f=i?.root?i:e.appFor(i);f&&e.schedule(f,u)},appFor:e.appFor,apps:e.apps,capability:j,mayWrite:Ee,load:C,plugin:P});function k(i){if(typeof i=="string")return C(i);let{name:u,api:f}=i,h=w=>{throw new Error(`Sap.use: plugin "${u}" ${w}`)};if((typeof u!="string"||f!==1)&&h(`needs a name and plugin API 1; it gives API ${f}`),d)return null;if(a.has(u))return P(u);if((i.requires||[]).some(w=>!a.has(w)))return N(i),g.includes(i)||g.push(i),null;let y=i.setup?.(v)||{},E=(w,Ge)=>{for(let ne of Array.isArray(i[w])?i[w]:Object.keys(i[w]||{}))(typeof(y[w]||{})[ne]!="function"||Ge(ne))&&h(`cannot add "${ne}" to ${w}: the name is taken or not valid, or setup does not supply it`)},x=w=>!Te(w,u);E("helpers",w=>(dt(w)&&h(`cannot add "${w}": window.${w} exists; rename the helper`),!Ln(w)||w in m)),E("boundaries",x),E("directives",x);for(let w in y.api)w in t&&h(`cannot add Sap.${w}: the name is taken`);N(i);let S={...y,name:u,order:i.order,boundary:{}};for(let w in i.boundaries)S.boundary[w]=y.boundaries[w];for(let w of i.helpers||[])m[w]=y.helpers[w];for(let w in y.formats)w in V||(V[w]=y.formats[w]);return Ot(S),y.lint&&Ft(y.lint),Object.assign(t,y.api),a.set(u,S),o.delete(u),cn(u,y.directives||!0),z(),xe(()=>b.forEach(Ne)),b.clear(),g.splice(0).forEach($),Y("plugin:"+u),P(u)}function $(i){try{k(i)}catch(u){console.error(u)}}function L(i){if(d||a.has(i))return null;let u=r.get(i)||{},f=M.loader?.(i,u),h=u.url||M.base&&M.base+(u.file||i)+".js";return(f!==void 0?Promise.resolve(f):new Promise((y,E)=>{if(!h)throw new Error(`no address for plugin "${i}": call Sap.use(definition)`);let x=document.createElement("script");x.src=h,x.setAttribute("clay","editor-ui"),x.onload=x.onerror=S=>{x.remove(),S.type==="load"?y():E(new Error("could not load "+h))},document.head.append(x)})).then(y=>{if(d)return;let E=y?.default||y||A.find(x=>x.name===i);if(E?.name&&k(E),!a.has(i))throw new Error(`plugin "${i}" loaded and did not register`)})}function C(i){if(a.has(i))return Promise.resolve(P(i));if(l.has(i))return l.get(i);o.delete(i);let u=Promise.all((r.get(i)?.requires||[]).map(C)).then(()=>L(i));for(let h of M.retryDelays)u=u.catch(()=>Yt(h).then(()=>L(i)));let f=u.finally(()=>l.delete(i)).then(()=>P(i),h=>{throw o.set(i,h),c||=!p.addEventListener?.("online",()=>M.retry()),Y("plugin-failed:"+i),document.dispatchEvent(new CustomEvent("sap:plugin-failed",{detail:{plugin:i,error:h}})),h});return l.set(i,f),f}function te(i){let u=new Set;for(let f of i.closest?.("[sap]")?[i]:i.querySelectorAll("[sap]")){for(let h of Gt(f.closest("[sap]")))u.add(h);r.size>a.size&&X(f,h=>{let y=ce(h);return y.inert?!1:(y.wants?.map(E=>u.add(E)),!!u.add(y.waits))})}return[...u].filter(f=>f&&!a.has(f))}hr((i,u)=>{for(let f of new Set([...u.wanted.keys(),...u.waiting,...Gt(i.root)])){if(a.has(f))continue;let h=o.get(f);if(!h)C(f).catch(()=>{});else{let y=u.wanted.get(f)?.[0]||i.root;i.diag.error("E52",y,{problem:`the "${f}" plugin did not load: ${h.message}`,fix:"Sap.plugins.retry() tries again"}),b.add(y),xe(()=>G(y,"E52"))}}});let M={api:1,base:_?`${_[1]}@${qe}/dist/sap-plugins/`:/^[^:]+:\//.test(T)?new URL("sap-plugins/",T).href:null,loader:null,retryDelays:[1e3,4e3],declare:H,load:C,ready(i=document,u=3e3){let f=new Set,h=()=>{let E=te(i).filter(x=>!f.has(x)&&f.add(x));return E.length&&q(E).then(h)},y=h();return y?Promise.race([y,Yt(u)]):null},has:i=>a.has(i),status:()=>({installed:[...a.keys()],loading:[...l.keys()],failed:[...o.keys()]}),retry:i=>q(i?[i]:[...o.keys()])};function s(){let i=[],u=()=>(pr(),n.flushNow()),f=[...a.values()].filter(h=>h.flush);u();for(let h=0;f.length&&h<8;h++){for(let y of f){let E=y.flush();E?.then&&i.push(E)}if(!u())break}return i.length?Promise.all(i).then(s):null}t.use=k,t.plugins=M,t.flush=s;for(let i of Object.values(jr))H(i);return A.slice().forEach($),function(){d=!0;for(let i of a.values())i.dispose?.();a.clear(),o.clear()}}function Mr({createAccessor:e,installInput:t,debugExtras:n}){let r=new Map,a=[],l=nn(Wt);function o(v){let k=v;for(;k;){if(k.nodeType===1&&k.hasAttribute&&k.hasAttribute("sap"))return r.get(k)||null;k=k.parentNode&&k.parentNode.host?k.parentNode.host:k.parentElement}return null}function g(){for(let v=a.length-1;v>=0;v--){let k=a[v];k.root.isConnected||(r.delete(k.root),a.splice(v,1))}}function b(v,k){if(v.moveBefore)try{v.moveBefore(k,null);return}catch{}v.appendChild(k)}function m(v,k){let $=k.parentElement;if($){if($.moveBefore)try{$.moveBefore(v,k);return}catch{}$.insertBefore(v,k)}}let d={apps:()=>a.slice(),appFor:o,isRegistered:v=>r.has(v),pruneDisconnected:g,schedule:l.schedule,runNow:(v,k)=>l.runNow(v,k),moveInto:b,placeBefore:m,remountIfPresent:()=>B()},c=e(d),p=Cr(d),A=n?n(d,p):{},T=!1,_=!1,P=null;function q(){T||(T=!0,t(d,c,document),P=ar(d))}function z(){let v=j("derived");v&&typeof v.mounted=="function"&&v.mounted()}function B(v=document){if(_)return[];q(),jt(d);let k=v.querySelectorAll("[sap]"),$=[];for(let L of k){if(r.has(L)||_e(L))continue;let C=qt(L);r.set(L,C),a.push(C),$.push(C)}for(let L of $){let C=p.greenLine(L);L.diag.errors.length||L.halted?console.error(C):console.log(C)}return z(),$}function H(v){if(_)return null;if(q(),jt(d),!v)return B();let k=typeof v=="string"?document.querySelector(v):v;if(!k)return null;if(r.has(k))return r.get(k);let $=qt(k);r.set(k,$),a.push($);let L=p.greenLine($);return $.diag.errors.length||$.halted?console.error(L):console.log(L),$}let N=c.Sap;N.version=qe,N.refresh=function(){for(let v of a.slice())v.root.isConnected&&l.runNow(v,"refresh")},N.batch=rr,N.status=p.status,N.report=p.report,N.why=A.why,N.debug=p.debug,N.doctor=A.doctor,N.greenLine=p.greenLine,N.formats=V,N.serializeControlToAttributes=We,N.finalizeControlForSave=Jn,N.rehydrateControlFromAttributes=kt,N.mount=H,N.config=function(v={}){return v.formats&&Object.assign(V,v.formats),N},N._registry=r,N._reset=function(){r.clear(),a.length=0,Pt()},N.unmount=function(){_=!0,r.clear(),a.length=0,Pt(),typeof P=="function"&&P(),Y()};let Y=Rr(d,N,l);return{Sap:N,mountAll:B,mount:H,runtime:d}}function Or(e){if(typeof document>"u")return;let t=()=>nr(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Wr(e){let t=[];function n(b){let m=b.target;if(!m||m.nodeType!==1)return;let d=e.appFor(m);if(d){m.hasAttribute("persist")&&!St(m)&&Ee(m)&&We(m);for(let c of t)if(c(m,d))return;e.schedule(d,b.type+" "+(m.id||m.tagName.toLowerCase()))}}function r(b){let m=b.target,d=e.appFor(m);d&&[...m.querySelectorAll("[bind]")].every(c=>Ee(c))&&setTimeout(()=>{m.querySelectorAll("[bind]").forEach(c=>{c.dispatchEvent(new Event("input",{bubbles:!0})),c.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(d,"reset")},0)}function a(b){let m=e.appFor(b.target);m&&e.schedule(m,"toggle")}function l(b){let m=b.detail||{};for(let d of[m.from,m.to,b.target]){if(!d||d.nodeType!==1)continue;let c=e.appFor(d);c&&e.schedule(c,"sorted")}}function o(b){if(b.key!=="ArrowUp"&&b.key!=="ArrowDown")return;let m=b.target;if(!m||m.nodeType!==1||m.tagName!=="INPUT"||!m.hasAttribute("bind")||!m.hasAttribute("step"))return;let d=(m.getAttribute("type")||"text").toLowerCase();if(d!=="text"&&d!=="tel"&&d!=="search"||!e.appFor(m)||!Ee(m))return;b.preventDefault();let c=O(m.getAttribute("step"))||1,p=b.key==="ArrowUp"?1:-1,A=O(m.value)+c*(b.shiftKey?10:1)*p,T=m.getAttribute("min"),_=m.getAttribute("max");T!==null&&T!==""&&A<O(T)&&(A=O(T)),_!==null&&_!==""&&A>O(_)&&(A=O(_)),ur(m).write(String(Number(A.toFixed(2))))}function g(b=document){b.addEventListener("reset",r),b.addEventListener("toggle",a,!0),b.addEventListener("input",n),b.addEventListener("change",n),b.addEventListener("clay:sorted",l),b.addEventListener("keydown",o)}return{install:g,addRouter:b=>t.push(b)}}var pe="https://clayjs.com/v1/sap.js",Dr=/^(calc|set|move|sort):/,zr=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function Ye(e){return Dr.test(e)||zr.has(e)}Ft((e,t)=>{for(let n of e.attributes)Ye(n.name)&&t("E50",e,{attr:n.name,expr:n.value,problem:`${n.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`})});function ee(e,t,n){e.app.diag.error("E50",t,{attr:n,problem:`${n} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`}),G(t,"E50"),e.app.halted=!0}Ot({name:"core-only",collect(e,t,n){n.calcs&&ee(e,t,"calc:"+n.calcs[0].name),n.effects&&ee(e,t,"effect"),n.invalids&&ee(e,t,"invalid");for(let r of t.attributes)Ye(r.name)&&(r.name.startsWith("calc:")&&n.calcs||r.name==="effect"&&n.effects||r.name==="invalid"&&n.invalids||ee(e,t,r.name));return!1},boundary:{each(e,t){ee(e,t,"each")},detail(e,t){ee(e,t,"detail")}}});function Br(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${pe}`)}}}var Xt=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${pe}`),null),{Sap:me,mountAll:Vt,mount:Fr,runtime:Ir}=Mr({createAccessor:Br,debugExtras:()=>({why:Xt("why"),doctor:Xt("doctor")}),installInput(e,t,n){Wr(e).install(n)}});me.core=!0;var Hr=typeof window<"u"&&window.Sap&&!window.Sap.core;Hr?me.unmount():Or(Vt),typeof window<"u"&&!window.Sap&&(window.Sap=me);var Ur=me;return tn(Ve)})(),Yr=qr.default;export{Yr as default};
|