@panphora/clayjs 1.23.0 → 1.24.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/blockeditor/themes/light-1.css +431 -0
- 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 +30285 -26613
- package/dist/m/c-277QP5ET.js +1 -0
- package/dist/m/c-2BLVA6IN.js +5 -0
- package/dist/m/c-2OJMOUPC.js +1 -0
- package/dist/m/c-2PVGJFI5.js +1 -0
- package/dist/m/{c-AYVGD6A6.js → c-3UW5EJ77.js} +1 -1
- package/dist/m/{c-T5NK2TVY.js → c-42ZNV7LI.js} +1 -1
- package/dist/m/{c-3TLG3OLG.js → c-46LJAZZJ.js} +1 -1
- package/dist/m/c-47IBJGPQ.js +1 -0
- package/dist/m/c-5FXEKU4Y.js +1 -0
- package/dist/m/c-5KXDKC5G.js +1 -0
- package/dist/m/{c-EUGJVHDD.js → c-5RZNFTWD.js} +1 -1
- package/dist/m/c-65LJU2H2.js +72 -0
- package/dist/m/{c-NQJRVJ56.js → c-6IJEVE6B.js} +1 -1
- package/dist/m/{c-NW54NHKE.js → c-6LEYVQJK.js} +1 -1
- package/dist/m/{c-GSRLXYWL.js → c-6Q6RGFBF.js} +1 -1
- package/dist/m/c-6RGEQNVV.js +1 -0
- package/dist/m/c-7CM4GMTS.js +6 -0
- package/dist/m/c-7NCWENHV.js +1 -0
- package/dist/m/c-7V6MGMX2.js +1 -0
- package/dist/m/{c-LKSL4AUJ.js → c-7WZSUTYP.js} +1 -1
- package/dist/m/c-A4L7APIU.js +1 -0
- package/dist/m/c-APGHGDZM.js +1 -0
- package/dist/m/c-AT7GLQGV.js +34 -0
- package/dist/m/{c-ZRXJD4G6.js → c-B7GOFGQR.js} +1 -1
- package/dist/m/{c-KDXIJEEF.js → c-BGN7RCTJ.js} +1 -1
- package/dist/m/c-BKM46LUJ.js +1 -0
- package/dist/m/c-BOMQIQ3V.js +1 -0
- package/dist/m/{c-62HZW5DH.js → c-C5AKJVRH.js} +1 -1
- package/dist/m/{c-BXYSDKAN.js → c-CJ7QYEWI.js} +1 -1
- package/dist/m/c-CTGRDT6E.js +1 -0
- package/dist/m/c-CV4T65JE.js +6 -0
- package/dist/m/c-CVSWLX3X.js +1 -0
- package/dist/m/c-CZHTXGJS.js +1 -0
- package/dist/m/c-D7NT5S4F.js +1 -0
- package/dist/m/c-DD26VXAP.js +1 -0
- package/dist/m/{c-ANNFZFLN.js → c-DDS23EY6.js} +1 -1
- package/dist/m/{c-ALDVFPWL.js → c-DFKBGSN2.js} +1 -1
- package/dist/m/c-DIKR7H57.js +147 -0
- package/dist/m/c-DXPOFLEJ.js +1 -0
- package/dist/m/c-EDE45NM7.js +1 -0
- package/dist/m/c-EILLN2H2.js +1 -0
- package/dist/m/c-EODTTNVA.js +1 -0
- package/dist/m/{c-G6COVIZB.js → c-ESK4S67I.js} +1 -1
- package/dist/m/c-FDWR3FL7.js +1 -0
- package/dist/m/{c-WQZTI5P2.js → c-FEC6LGFF.js} +1 -1
- package/dist/m/c-FLEIU6CG.js +1 -0
- package/dist/m/c-FQAQRXGK.js +1 -0
- package/dist/m/{c-W4JCVLAB.js → c-FSQXFG5T.js} +1 -1
- package/dist/m/c-FVPNX2GO.js +135 -0
- package/dist/m/c-FYDKYW6E.js +1 -0
- package/dist/m/c-GNI7WHKF.js +32 -0
- package/dist/m/c-GO635CRU.js +3 -0
- package/dist/m/c-H3FNLBHN.js +2 -0
- package/dist/m/c-HDVH3MVC.js +72 -0
- package/dist/m/c-HIX5H5L7.js +1 -0
- package/dist/m/c-HKSLOVU4.js +1 -0
- package/dist/m/{c-SGRIYOAJ.js → c-HL6BLJNA.js} +1 -1
- package/dist/m/c-HTLYXCUH.js +1 -0
- package/dist/m/{c-QIR5CAKM.js → c-IUL7PU4P.js} +1 -1
- package/dist/m/c-IXO7EI2Q.js +1 -0
- package/dist/m/{c-W5E5P2TZ.js → c-JQF2EUCG.js} +1 -1
- package/dist/m/{c-NEL7HQW3.js → c-JWDCQL6J.js} +1 -1
- package/dist/m/c-KQKKIVLW.js +20 -0
- package/dist/m/c-LATNQ6Q5.js +1 -0
- package/dist/m/c-LD6UVV5R.js +1 -0
- package/dist/m/c-LS7IVQVW.js +1 -0
- package/dist/m/{c-JCOQVZYS.js → c-LSVN3OLG.js} +1 -1
- package/dist/m/{c-JDZDF2QM.js → c-LTSPHVAK.js} +1 -1
- package/dist/m/c-MFOSMAVM.js +3 -0
- package/dist/m/c-MJ7GVE46.js +1 -0
- package/dist/m/c-MP6S4AZU.js +6 -0
- package/dist/m/c-MQKSKQHG.js +2 -0
- package/dist/m/{c-UHUNXWKN.js → c-MQYEDF3Q.js} +1 -1
- package/dist/m/{c-IHUWUKIU.js → c-MR75YPRT.js} +1 -1
- package/dist/m/c-ND3Q2G2I.js +1 -0
- package/dist/m/c-NEQRFC4O.js +1 -0
- package/dist/m/{c-5FKRZNJV.js → c-NFQFV7OP.js} +1 -1
- package/dist/m/c-NHXOBD6A.js +1 -0
- package/dist/m/{c-QIKT6SKM.js → c-NICICT4P.js} +1 -1
- package/dist/m/c-NQAPWM7O.js +1 -0
- package/dist/m/{c-QUGCKMWF.js → c-NVU3DORS.js} +1 -1
- package/dist/m/{c-LWIDDWAR.js → c-OCYG4NBQ.js} +22 -22
- package/dist/m/c-OH2FPYSY.js +19 -0
- package/dist/m/c-OYHI67B6.js +1 -0
- package/dist/m/{c-R2XUODVY.js → c-OYW5MFPZ.js} +1 -1
- package/dist/m/{c-5B4YBZXC.js → c-P2HKMJAW.js} +1 -1
- package/dist/m/{c-TSBVMWAH.js → c-PCNJETUA.js} +1 -1
- package/dist/m/c-PDBNCJCT.js +1 -0
- package/dist/m/c-PGSBXHUE.js +1 -0
- package/dist/m/{c-5TIZ2I64.js → c-PYG2NGWU.js} +1 -1
- package/dist/m/c-Q26XHBLQ.js +1 -0
- package/dist/m/c-Q6BG3ZLO.js +1 -0
- package/dist/m/c-QENKN7QI.js +1 -0
- package/dist/m/c-QQFHEODI.js +1 -0
- package/dist/m/c-QTEUO2K6.js +1 -0
- package/dist/m/c-R23UHMXG.js +1 -0
- package/dist/m/c-RETTCOWO.js +10 -0
- package/dist/m/c-SE3SIY7Y.js +7 -0
- package/dist/m/{c-XX75FFNL.js → c-SGGGCIVD.js} +1 -1
- package/dist/m/c-SGH3UTF3.js +1 -0
- package/dist/m/c-SIM7Z3U7.js +1 -0
- package/dist/m/{c-X5LNHET5.js → c-SKMIR5HQ.js} +1 -1
- package/dist/m/{c-R27DWQKX.js → c-STRI73GQ.js} +1 -1
- package/dist/m/c-SUXHUL7U.js +1 -0
- package/dist/m/c-SXGEWPFC.js +10 -0
- package/dist/m/c-SXNSSHPP.js +1 -0
- package/dist/m/c-T3P3AXEW.js +1 -0
- package/dist/m/{c-PXLTUYZC.js → c-TFLRT5JX.js} +1 -1
- package/dist/m/{c-YCLU4UNT.js → c-TGIMBAWE.js} +1 -1
- package/dist/m/c-TGSHHFO6.js +1 -0
- package/dist/m/c-U4NTUVDZ.js +1 -0
- package/dist/m/c-UOOIF2AL.js +1 -0
- package/dist/m/{c-6TYGD5AB.js → c-UOUUI265.js} +1 -1
- package/dist/m/c-V2U3F4QX.js +1 -0
- package/dist/m/c-V2V5FKXX.js +1 -0
- package/dist/m/c-VBXRXTVS.js +26 -0
- package/dist/m/c-VHSMPITY.js +1 -0
- package/dist/m/c-VPXCXBDT.js +1 -0
- package/dist/m/c-WCG6AKA7.js +1 -0
- package/dist/m/c-WNOLMHI2.js +1 -0
- package/dist/m/{c-CRPIDGXC.js → c-X6MOYATI.js} +1 -1
- package/dist/m/{c-FQGHR32O.js → c-X75G43SZ.js} +1 -1
- package/dist/m/c-XB6EAIAR.js +13 -0
- package/dist/m/c-XMIDHEKF.js +1 -0
- package/dist/m/c-XUZMRQ7O.js +4 -0
- package/dist/m/{c-2Z22FCFK.js → c-XW5TIYYB.js} +1 -1
- package/dist/m/c-YDW4VCHP.js +1 -0
- package/dist/m/{c-QGAPG7OM.js → c-YLHTD3KX.js} +1 -1
- package/dist/m/c-YNIEIPBS.js +1 -0
- package/dist/m/c-Z4G2UK6T.js +4 -0
- package/dist/m/c-Z6MROEQ4.js +1 -0
- package/dist/m/c-ZFO5RW6G.js +2 -0
- package/dist/m/c-ZGCO4J3H.js +8 -0
- package/dist/m/c-ZKKAF4UT.js +3 -0
- package/dist/m/c-ZRGEN6QQ.js +4 -0
- package/dist/m/core/{admin-attrs-U7IJNYBG.js → admin-attrs-ONRWVXPK.js} +1 -1
- package/dist/m/core/{autosave-F5YQCKVL.js → autosave-TBKAAAFB.js} +1 -1
- package/dist/m/core/conflict-notice-FOEE6I7E.js +1 -0
- package/dist/m/core/draft-mode-4MCL3LYI.js +1 -0
- package/dist/m/core/{host-permission-6EVJGNPL.js → host-permission-X4BENZEU.js} +1 -1
- package/dist/m/core/{is-edit-mode-GCX6767E.js → is-edit-mode-FFHCQ5DR.js} +1 -1
- package/dist/m/core/{persist-CJXIL7D4.js → persist-6ILUR34S.js} +1 -1
- package/dist/m/core/{recovery-DRFZRJED.js → recovery-APWADU4K.js} +1 -1
- package/dist/m/core/save-6HT2LABE.js +1 -0
- package/dist/m/core/save-core-EVMNZQ4V.js +1 -0
- package/dist/m/core/site-edits-G4BOZMV4.js +1 -0
- package/dist/m/core/{unsaved-warning-HNQVTA2D.js → unsaved-warning-ITZDIZ2I.js} +1 -1
- package/dist/m/internals/{index-NRPNDTSA.js → index-HS3CQDFW.js} +1 -1
- package/dist/m/loader-GLLVDUZA.js +1 -0
- package/dist/m/manifest-50FF1C45.js +1 -0
- package/dist/m/manifest-edit-BE1A621D.js +1 -0
- package/dist/m/manifest.json +2072 -1811
- package/dist/m/page/editor-KAZDJNND.js +307 -0
- package/dist/m/plugins/ai-edit-LABECCSN.js +6 -0
- package/dist/m/plugins/{cms-H7DTMUQX.js → cms-T2HLI7JG.js} +16 -16
- package/dist/m/plugins/{demo-42BSYQ7T.js → demo-T7B4RIKL.js} +1 -1
- package/dist/m/plugins/{derive-QVI3LI3A.js → derive-6LPJOCAV.js} +1 -1
- package/dist/m/plugins/indicator-J4ABFARX.js +1 -0
- package/dist/m/plugins/{live-DCUBKXY4.js → live-PGBIEMGB.js} +1 -1
- package/dist/m/plugins/menu-YZL3X2AJ.js +1 -0
- package/dist/m/plugins/page-WOCNX2IN.js +2 -0
- package/dist/m/plugins/page-view-SJODOOGE.js +1 -0
- package/dist/m/plugins/{people-5XRNRP5U.js → people-C4TCWFOQ.js} +1 -1
- package/dist/m/plugins/{quickcrop-WWF5I422.js → quickcrop-X5MRIBAP.js} +2 -2
- package/dist/m/plugins/richclay-Y2NV44NA.js +549 -0
- package/dist/m/plugins/sortable-XCHQG65Z.js +1 -0
- package/dist/m/plugins/{source-6BKMK4PO.js → source-YK7MO23W.js} +1 -1
- package/dist/m/plugins/{undo-3JEYK5QY.js → undo-VLRBQNPN.js} +1 -1
- package/dist/m/plugins/upgrade-NNTJBSK2.js +1 -0
- package/dist/m/plugins/{upload-TTCQRIM5.js → upload-ZKKJV76X.js} +1 -1
- package/dist/m/plugins/visitor-drafts-RTZNONHT.js +20 -0
- package/dist/m/plugins/{visitor-drafts-owner-Z5B2OQBR.js → visitor-drafts-owner-LHUHFU3L.js} +1 -1
- package/dist/m/plugins/{visitor-menu-4LQMKLPP.js → visitor-menu-FY4KM2SW.js} +1 -1
- package/dist/m/plugins/wire-M2NR354P.js +1 -0
- package/dist/m/{reader-core-POFQCKRV.js → reader-core-T2S3JC4E.js} +2 -2
- package/dist/m/sync/live-sync-Z64YREWQ.js +1 -0
- package/dist/m/ui/index-MGTWOW2C.js +1 -0
- package/dist/m/vendor/{sap-core.vendor-OA5SKL7Q.js → sap-core.vendor-QAEPMETX.js} +1 -1
- package/dist/offline-manifest.json +1250 -1082
- package/dist/server/core.cjs +132 -109
- package/dist/server/page-compaction-worker.cjs +5 -5
- package/dist/server/rooms.mjs +3 -1
- package/docs/guide.md +89 -44
- package/entries/clay-data.js +1 -1
- package/entries/sap.js +1 -1
- package/package.json +5 -3
- package/src/blockeditor/themes/content.css +70 -0
- package/src/blockeditor/themes/light-1.css +431 -0
- package/src/blockeditor/themes/light-1.source.css +270 -0
- package/src/blockeditor/themes/light-2.css +211 -0
- package/src/blockeditor/themes/light-3.css +130 -0
- package/src/blockeditor/themes/light-4.css +299 -0
- package/src/core/conflict-notice.js +28 -0
- package/src/core/draft-mode.js +6 -0
- package/src/core/host-meta.js +6 -6
- package/src/core/is-edit-mode.js +9 -3
- package/src/core/mode-support.js +3 -0
- package/src/core/mode-switch.js +4 -4
- package/src/core/mode-transition.js +3 -1
- package/src/core/page-format-wire.js +1 -1
- package/src/core/page-format.js +8 -8
- package/src/core/save-accepted.js +6 -7
- package/src/core/save-core.js +52 -23
- package/src/core/save-failure-notice.js +37 -0
- package/src/core/save-feedback.js +6 -0
- package/src/core/save-replace.js +1 -1
- package/src/core/save-size.js +2 -2
- package/src/core/save.js +78 -15
- package/src/core/site-edits.js +166 -0
- package/src/core/unsaved-warning.js +2 -2
- package/src/core/upgrade-run.js +4 -4
- package/src/lib/ai-comment.js +23 -0
- package/src/lib/effect.js +8 -0
- package/src/lib/idb-error-code.js +20 -0
- package/src/live/fast-lane.js +10 -10
- package/src/live/local-lane.js +10 -10
- package/src/live/page-compaction.js +8 -8
- package/src/live/server-lane.js +1 -1
- package/src/loader-logic.js +48 -18
- package/src/loader.js +11 -6
- package/src/page/adopt-boot.js +1 -1
- package/src/page/adopt.js +2 -2
- package/src/page/ai-area.js +182 -0
- package/src/page/ai-preview.js +80 -0
- package/src/page/ai-surface.js +257 -0
- package/src/page/ai-tool.js +308 -145
- package/src/page/announce.js +2 -2
- package/src/page/awareness.js +18 -18
- package/src/page/blocks.js +35 -34
- package/src/page/blocksel.js +2 -2
- package/src/page/board-drag.js +11 -11
- package/src/page/board-face.js +1 -1
- package/src/page/board-panel.js +26 -26
- package/src/page/board-style.js +127 -127
- package/src/page/board-view.js +48 -48
- package/src/page/chart.js +29 -29
- package/src/page/checkpoint-proof.js +19 -19
- package/src/page/chrome.js +74 -65
- package/src/page/clipboard-shape.js +1 -1
- package/src/page/csv-import.js +4 -4
- package/src/page/drag.js +5 -5
- package/src/page/editor.js +301 -296
- package/src/page/export-html.js +8 -8
- package/src/page/features/checklist.js +36 -36
- package/src/page/features/export-html.js +19 -19
- package/src/page/features/export-markdown.js +10 -10
- package/src/page/features/import-markdown.js +13 -13
- package/src/page/features/media.js +50 -50
- package/src/page/features/table.js +17 -17
- package/src/page/features/title-cover.js +17 -17
- package/src/page/features/title-icon.js +7 -7
- package/src/page/features/toc.js +1 -1
- package/src/page/features/tool.js +42 -18
- package/src/page/format-command.js +4 -4
- package/src/page/format-gate.js +6 -6
- package/src/page/format-host.js +6 -6
- package/src/page/format-level.js +3 -3
- package/src/page/format-native-commands.js +2 -2
- package/src/page/highlight-slot.js +1 -1
- package/src/page/highlight.js +4 -4
- package/src/page/history-intent.js +2 -2
- package/src/page/image-actions.js +4 -4
- package/src/page/link.js +10 -10
- package/src/page/media.js +3 -3
- package/src/page/mention-picker.js +7 -7
- package/src/page/merge.js +1 -1
- package/src/page/placeholder.js +3 -3
- package/src/page/projection.js +11 -11
- package/src/page/reader-patch.js +2 -2
- package/src/page/recover.js +26 -26
- package/src/page/recovery-ui.js +28 -28
- package/src/page/rich/chart.js +1 -1
- package/src/page/rich/page-tool.js +21 -6
- package/src/page/rich/tool-runtime.js +3 -2
- package/src/page/save-projection.js +2 -2
- package/src/page/save-states.js +9 -9
- package/src/page/schema.js +9 -9
- package/src/page/table-style.js +21 -21
- package/src/page/toc-link.js +1 -1
- package/src/page/tool-capability.js +8 -3
- package/src/page/tool-transport.js +52 -0
- package/src/page/tool-views.js +4 -0
- package/src/page/tools.js +6 -1
- package/src/page/view.js +6 -6
- package/src/page/ybind/binding.js +1 -1
- package/src/page/ybind/conversion.js +1 -1
- package/src/page/ybind/layout.js +4 -4
- package/src/page/ybind/migrate.js +1 -1
- package/src/page/ybind/origins.js +2 -2
- package/src/page/ybind/provider.js +2 -2
- package/src/page/ybind/recovery-proof.js +3 -3
- package/src/page/ybind/recovery-replay.js +2 -2
- package/src/plugins/ai-edit/picker.js +235 -0
- package/src/plugins/ai-edit.js +220 -34
- package/src/plugins/indicator-chip.js +39 -34
- package/src/plugins/indicator.js +13 -4
- package/src/plugins/live.js +21 -13
- package/src/plugins/menu/actions.js +89 -17
- package/src/plugins/menu/seo.js +32 -6
- package/src/plugins/menu/shell-style.js +26 -7
- package/src/plugins/menu/shell.js +12 -7
- package/src/plugins/menu/variants.js +6 -10
- package/src/plugins/menu/visitor.js +44 -34
- package/src/plugins/menu.js +3 -2
- package/src/plugins/page-view.js +2 -2
- package/src/plugins/page.js +257 -98
- package/src/plugins/sortable.js +7 -0
- package/src/plugins/upgrade.js +2 -1
- package/src/plugins/visitor-drafts/commit.js +303 -0
- package/src/plugins/visitor-drafts/idb.js +221 -0
- package/src/plugins/visitor-drafts/intro-style.js +1 -1
- package/src/plugins/visitor-drafts/intro.js +8 -25
- package/src/plugins/visitor-drafts/prompt.js +30 -4
- package/src/plugins/visitor-drafts/session.js +345 -0
- package/src/plugins/visitor-drafts/store.js +351 -32
- package/src/plugins/visitor-drafts.js +158 -27
- package/src/server/checkpoint/index.js +8 -8
- package/src/server/rooms/index.js +2 -2
- package/src/server/rooms/live-data-rooms.js +35 -35
- package/src/server/rooms/live-page-history.js +2 -2
- package/src/server/rooms/page-admission.js +34 -6
- package/src/server/rooms/page-conversion.js +1 -1
- package/src/server/rooms/page-lineage.js +4 -4
- package/src/server/rooms/page-rebase.js +4 -4
- package/src/server/rooms/page-room-conformance.js +14 -14
- package/src/server/rooms/page-state.js +2 -2
- package/src/server/rooms/page-write-admission.js +7 -7
- package/src/server/rooms/page-write-guard.js +3 -3
- package/src/sync/data-guard-notice.js +265 -0
- package/src/sync/live-sync.js +54 -11
- package/src/sync/page-relay.js +4 -4
- package/src/sync/presence-store.js +1 -1
- package/src/sync/presence-target.js +3 -3
- package/src/sync/presence.js +1 -1
- package/src/sync/stream.js +54 -13
- package/src/sync/wire-profile.js +8 -3
- package/src/ui/bevel.js +1 -1
- package/src/ui/index.js +9 -10
- package/src/ui/skins/cms.js +1 -1
- package/src/ui/skins/quickcrop.js +1 -1
- package/src/ui/skins/richclay.js +2 -2
- package/src/ui/toast-lazy.js +12 -3
- package/src/ui/toast.js +9 -3
- 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/hypercms.vendor.js +16 -16
- package/src/vendor/richclay.vendor.js +48 -20
- package/src/vendor/sap-core.vendor.js +1 -1
- package/tool-generation/context.md +44 -0
- package/tool-generation/system.md +23 -0
- package/dist/m/c-24PMUJIV.js +0 -2
- package/dist/m/c-2AYVYEI4.js +0 -1
- package/dist/m/c-2AZDZWCK.js +0 -1
- package/dist/m/c-2L6O5PDS.js +0 -6
- package/dist/m/c-2RYOGUQM.js +0 -2
- package/dist/m/c-2ZVOEU4M.js +0 -1
- package/dist/m/c-37NAONZA.js +0 -1
- package/dist/m/c-3GJ4SDE2.js +0 -1
- package/dist/m/c-3O7OBDCM.js +0 -1
- package/dist/m/c-5OJ7YF2N.js +0 -1
- package/dist/m/c-5WMXEKFH.js +0 -135
- package/dist/m/c-6RDOKLN7.js +0 -1
- package/dist/m/c-A4IP6MBC.js +0 -1
- package/dist/m/c-A6L3FMUS.js +0 -1
- package/dist/m/c-ATKAOH23.js +0 -1
- package/dist/m/c-B6O7AJYG.js +0 -32
- package/dist/m/c-BCGWJYXW.js +0 -1
- package/dist/m/c-BGKAT2FL.js +0 -7
- package/dist/m/c-BYTKL6UX.js +0 -1
- package/dist/m/c-DHBRA6DL.js +0 -1
- package/dist/m/c-DTMZ3ZHI.js +0 -1
- package/dist/m/c-E3ZXARWA.js +0 -1
- package/dist/m/c-EK63G3CG.js +0 -1
- package/dist/m/c-ELYIIYRS.js +0 -1
- package/dist/m/c-EXKHPOVC.js +0 -3
- package/dist/m/c-FCSZ3DC5.js +0 -20
- package/dist/m/c-FTWGYI5E.js +0 -1
- package/dist/m/c-G4PWUDD5.js +0 -1
- package/dist/m/c-GBKB5WDL.js +0 -2
- package/dist/m/c-GBTVCJXC.js +0 -1
- package/dist/m/c-GC2HICFJ.js +0 -1
- package/dist/m/c-GRWMD6O5.js +0 -1
- package/dist/m/c-HCNWJE4A.js +0 -4
- package/dist/m/c-HG2C77BM.js +0 -4
- package/dist/m/c-JGHEACGK.js +0 -1
- package/dist/m/c-JGLX6TBK.js +0 -1
- package/dist/m/c-JNRKHYWO.js +0 -1
- package/dist/m/c-KBS3UV6B.js +0 -1
- package/dist/m/c-KQ7E3PYY.js +0 -1
- package/dist/m/c-L3F5ZLIV.js +0 -1
- package/dist/m/c-L4KMT7FO.js +0 -6
- package/dist/m/c-L5VFATT6.js +0 -1
- package/dist/m/c-LCYPMULG.js +0 -1
- package/dist/m/c-LIGQYZ7M.js +0 -6
- package/dist/m/c-LKIWEPAV.js +0 -1
- package/dist/m/c-MPSKIU2I.js +0 -1
- package/dist/m/c-N7JPUPGC.js +0 -1
- package/dist/m/c-NK33MMYF.js +0 -1
- package/dist/m/c-NQLWOHLH.js +0 -10
- package/dist/m/c-NTHUTABN.js +0 -1
- package/dist/m/c-NWX3MFT4.js +0 -1
- package/dist/m/c-OKXI52N7.js +0 -1
- package/dist/m/c-OPONJ2UK.js +0 -128
- package/dist/m/c-OWQWOGYI.js +0 -1
- package/dist/m/c-P6Q2ZTFQ.js +0 -1
- package/dist/m/c-QEN6HZCA.js +0 -1
- package/dist/m/c-QIXT3Q7C.js +0 -28
- package/dist/m/c-QM5LXRDT.js +0 -9
- package/dist/m/c-QYYUVLVG.js +0 -1
- package/dist/m/c-RQRMPZXD.js +0 -1
- package/dist/m/c-SBCBXKOZ.js +0 -26
- package/dist/m/c-SKF5HL4I.js +0 -4
- package/dist/m/c-SRPC3VBE.js +0 -1
- package/dist/m/c-TANBH7FI.js +0 -1
- package/dist/m/c-THGQQDYY.js +0 -1
- package/dist/m/c-UD5JZTDL.js +0 -1
- package/dist/m/c-UDGEFWNU.js +0 -1
- package/dist/m/c-UGNV5MFB.js +0 -1
- package/dist/m/c-VIRFF5HG.js +0 -8
- package/dist/m/c-VJYEVRYK.js +0 -1
- package/dist/m/c-VQCEOGKH.js +0 -13
- package/dist/m/c-VYJ7O4RI.js +0 -34
- package/dist/m/c-W7IPVCAA.js +0 -1
- package/dist/m/c-WBGWGOM7.js +0 -1
- package/dist/m/c-WJ5DRBHT.js +0 -72
- package/dist/m/c-X5WC4PX5.js +0 -1
- package/dist/m/c-XCFQEWW6.js +0 -3
- package/dist/m/c-XGH4GS2T.js +0 -1
- package/dist/m/c-XLQ3BDMM.js +0 -1
- package/dist/m/c-ZQXNHZZT.js +0 -72
- package/dist/m/core/conflict-notice-42H4ASLA.js +0 -1
- package/dist/m/core/draft-mode-WSQAT67S.js +0 -1
- package/dist/m/core/save-ESPSQPLV.js +0 -1
- package/dist/m/core/save-core-6SQHOR6W.js +0 -1
- package/dist/m/loader-FBDE2UAB.js +0 -1
- package/dist/m/manifest-1D2F5CA5.js +0 -1
- package/dist/m/manifest-edit-F7CC5CFD.js +0 -1
- package/dist/m/page/editor-OSKOW6RS.js +0 -304
- package/dist/m/plugins/ai-edit-VV4QTINH.js +0 -6
- package/dist/m/plugins/indicator-WVPGMOZ7.js +0 -1
- package/dist/m/plugins/menu-Q4MFFQ6E.js +0 -1
- package/dist/m/plugins/page-OAWUJQEL.js +0 -2
- package/dist/m/plugins/page-view-DZ26ZDDQ.js +0 -1
- package/dist/m/plugins/richclay-PGOOJ4OK.js +0 -517
- package/dist/m/plugins/sortable-266HY6TR.js +0 -1
- package/dist/m/plugins/upgrade-BNZVFHMZ.js +0 -1
- package/dist/m/plugins/visitor-drafts-2AUYKAIJ.js +0 -20
- package/dist/m/plugins/wire-W2EV36KZ.js +0 -1
- package/dist/m/sync/live-sync-XGUPHI3I.js +0 -1
- package/dist/m/ui/index-VGYAKAKI.js +0 -1
- package/dist/page/themes/light-1.css +0 -431
- package/src/page/themes/content.css +0 -70
- package/src/page/themes/light-1.css +0 -431
- package/src/page/themes/light-1.source.css +0 -270
- package/src/page/themes/light-2.css +0 -211
- package/src/page/themes/light-3.css +0 -130
- package/src/page/themes/light-4.css +0 -299
- /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
- /package/dist/m/plugins/{quickcrop-WWF5I422.js.LEGAL.txt → quickcrop-X5MRIBAP.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-PGOOJ4OK.js.LEGAL.txt → richclay-Y2NV44NA.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as x,d as I,e as g,f as U,g as M}from"../c-7DJDKPGL.js";import{a as $}from"../c-LA2BW7UY.js";import"../c-IJUK2GPW.js";import{f as F,k as R}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import{k as N}from"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.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,p=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 _(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 P(e){for(let[t,n]of e)L.forEach((r,i)=>{let o=n[i],a=t.getAttribute(r);if(a!==o)if(o===null){if(r==="style"&&a)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]"),a=e.querySelectorAll("[sortable]");Array.from(o).some(s=>!Array.from(a).some(l=>l.contains(s)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(s){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,s)}catch(l){console.error("Error in onsorting execution:",l)}});let f=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},b=u;u=null,m&&(P(m),m=null),b&&(M(b,l),g(b)),G(l,f)};let d=null,u=null,m=null,w=!1,A=!1,v=[],K=()=>{let s=u;u=null,m=null,g(s)},O=()=>{let s=d;d=null,s&&(n.presses.delete(s),y.delete(s),m=s),v.forEach(l=>H(n,l)),v=[],s&&_(n,()=>P(s))},Q=s=>{A&&s?.type==="pointercancel"||(A=!1,w?I(u):(g(u),u=null),w=!1,O(),_(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||d||(d=C(l),u=x(l),w=!1,A=!1,n.presses.add(d),y.add(d),v=X.map(b=>q(n,document,b,Q,!0)),v.push(q(n,document,"dragstart",()=>{A=!0},!0)))},!0),r.onUnchoose=O,r.onStart=()=>{w=!0},t.create(e,r),n.instances.add(e)}function ne(e,t,n=null){let r=f=>({ok:!1,code:f});if(!F||p&&!p.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 f=o.getAttribute("sortable");if(!f||f!==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 a=j(o,e),S=x(e);I(S);let c;try{t.insertBefore(e,n),c={item:e,from:o,to:t,oldIndex:a,newIndex:j(t,e)},M(S,c)}finally{g(S)}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,a)=>{i[a]===null?r.removeAttribute(o):r.setAttribute(o,i[a])})}}),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(),U();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),p===e&&(p=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(p||(p=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(!R())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-MFOSMAVM.js";import{a as d}from"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import{k as p}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.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-YLHTD3KX.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as Ze,c as Qe}from"../c-7DJDKPGL.js";import{g as re}from"../c-GSRLXYWL.js";import{a as te}from"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-IJUK2GPW.js";import{k as Ge}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{a as Ye}from"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import{l as Xe}from"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var et=(()=>{var d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},W=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of k(r))!v.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=f(r,i))||n.enumerable});return e},X=e=>W(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Xt,undo:()=>se});function G(e,r=null){let t=[];if(e.type==="attributes"){let n=e.target,i=e.attributeName,a=e.oldValue,l=n.getAttribute(i);return a==null&&l!=null?t.push({kind:"attr-add",target:n,name:i,newValue:l}):a!=null&&l==null?t.push({kind:"attr-remove",target:n,name:i,oldValue:a}):a!==l&&t.push({kind:"attr-set",target:n,name:i,oldValue:a,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 n=e.target,i=e.nextSibling,a=e.nextSibling;for(;a&&r?.(a);)a=a.nextSibling;let l=e.previousSibling;for(;l&&r?.(l);)l=l.previousSibling;let s=r?Array.from(e.addedNodes).filter(b=>!r(b)):Array.from(e.addedNodes),p=r?Array.from(e.removedNodes).filter(b=>!r(b)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),p.length>0&&t.push({kind:"remove",parent:n,nodes:p,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function ut(e,r=null){let t=[],n=new Map;for(let i of e){if(i.type==="attributes"){let a=i.target,l=i.attributeName,s=n.get(a);s||(s=new Map,n.set(a,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:i.oldValue}),t.push(null));continue}for(let a of G(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let p=s.oldValue,b=i.getAttribute(l),h=null;p===b?h=null:p==null?h={kind:"attr-add",target:i,name:l,newValue:b}:b==null?h={kind:"attr-remove",target:i,name:l,oldValue:p}:h={kind:"attr-set",target:i,name:l,oldValue:p,newValue:b},t[s.idx]=h}return t.filter(i=>i!=null)}function lt(e){let r=[],t=new Map;for(let i of e){let a=ke(i);if(a==null){r.push(i);continue}let l=t.get(i.target);l||(l=new Map,t.set(i.target,l));let s=l.get(a);if(s==null){let p=Ae(i);if(p.oldValue===p.newValue)continue;l.set(a,r.length),r.push({...i,...p})}else r[s]={...r[s],newValue:Ae(i).newValue}}let n=[];for(let i of r){if(ke(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(st(i))}return n}var dt=new Set(["attr-set","attr-add","attr-remove","text","value"]);function ke(e){return dt.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function Ae(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 st(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 Ve=new WeakMap,ct=0;function O(e){let r=Ve.get(e);return r||(r=`n${++ct}`,Ve.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function ft(e){return e.kind==="add"||e.kind==="remove"}function Ee(e,r){let t=[],n=e.childNodes;if(!n)return t;for(let i of n)r&&r(i)||t.push(O(i));return t}function H(e,r,t=null,n=null){if(!x(e))return null;if(e.nodeType===3)return`#text:${JSON.stringify(e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let i=[];if(e.attributes){for(let l of e.attributes)pt(l.name,e,r,t)||i.push(`${l.name}=${JSON.stringify(l.value)}`);i.sort()}let a=[];if(e.childNodes)for(let l of e.childNodes)mt(l,n)||a.push(H(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function oe(e,r=[]){if(!x(e))return r;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&r.push(t)}if(e.childNodes)for(let t of e.childNodes)oe(t,r);return r}function pt(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function mt(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ne(e,r){if(typeof r!="function")return[];let t=[],n=i=>{if(!x(i))return;let a=!1;try{a=!!r(i)}catch{a=!1}if(a&&t.push(R(i,"protected")),i.childNodes)for(let l of i.childNodes)n(l)};for(let i of e)n(i);return t}function R(e,r,t=null){let n=e;n&&n.nodeType!==1&&(n=n.parentElement);let i=n&&typeof n.closest=="function"?n.closest("[data-id]"):null;return!i&&t&&typeof t.closest=="function"&&(i=t.closest("[data-id]")),{id:(i?i.getAttribute("data-id"):null)||null,kind:r||null}}function gt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function J(e){return{replayable:!1,reason:e,steps:[]}}function Y(e,r){let t=[[r.afterAuthored,i=>i],[r.beforeAuthored,i=>i+1],[r.before,i=>i]],n=!1;for(let[i,a]of t){if(!x(i))continue;n=!0;let l=e.indexOf(O(i));if(l>=0)return a(l)}return n?null:e.length}function ht(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=lt(e),a=[];for(let h of i){if(!ft(h)){if(!x(h.target))return J("non-dom-target");continue}if(!x(h.parent))return J("non-dom-parent");let A=Array.from(h.nodes||[]).filter(x);if(A.length!==0){if(A.length!==Array.from(h.nodes||[]).length)return J("non-dom-node");a.push({primitive:h,nodes:A,parent:h.parent})}}if(yt(a))return J("in-record-move");let l=wt(a,t);if(!l)return J("ambiguous-structure");let s=bt(a,l),p=new Map(a.map(h=>[h.primitive,h])),b=[];for(let h of i){let A=p.get(h);if(!A){b.push(kt(h));continue}let E=s.get(A);if(E){E.at===A&&b.push(E.step);continue}b.push(vt(A,l.get(A),n,t))}return{replayable:!0,reason:null,steps:b}}function yt(e){let r=new Map;for(let t of e){let n=t.primitive.record;if(!n)continue;let i=r.get(n);i||(i=new Map,r.set(n,i));for(let a of t.nodes){let l=i.get(a);l||(l=new Set,i.set(a,l)),l.add(t.primitive.kind)}}for(let t of r.values())for(let n of t.values())if(n.size>1)return!0;return!1}function wt(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ee(i.parent,r));let n=new Map;for(let i=e.length-1;i>=0;i--){let a=e[i],l=t.get(a.parent);if(!l)return null;let s=l.slice(),p;if(a.primitive.kind==="add"){let b=a.nodes.map(O);if(!b.every(h=>l.includes(h)))return null;p=l.filter(h=>!b.includes(h))}else{let b=Y(s,a.primitive);if(b==null)return null;p=s.slice(),p.splice(b,0,...a.nodes.map(O))}n.set(a,{before:p,after:s}),t.set(a.parent,p)}return n}function bt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let p=O(s);a.primitive.kind==="remove"?t.set(p,{item:a,index:l,node:s}):n.set(p,{item:a,index:l,node:s})}});let i=new Map;for(let[a,l]of t){let s=n.get(a);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:r.get(l.item),dest:r.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[R(l.node,"move")]};i.set(l.item,{step:p,at:s.item}),i.set(s.item,{step:p,at:s.item})}return i}function vt(e,r,t,n){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:r.before,seqAfter:r.after,slot:e.primitive,content:e.nodes.map(a=>H(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>oe(a)):[],targets:gt(e.nodes,i==="add"?"added":"removed",e.parent)}}function kt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function At(e,r,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let n={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,operations:[]};for(let i=0;i<e.steps.length;i++){let a=e.steps[r==="undo"?e.steps.length-1-i:i],l=Et(a,r,n);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:n.operations}}function q(e,r){return e.sim.has(r)||e.sim.set(r,Ee(r,e.isIgnored)),e.sim.get(r)}function L(e,r){for(let t=e;t;t=t.parentNode)if(r.planned.has(t))return r.planned.get(t);return r.inScope(e)}function xe(e,r){return r.liveNodesWithIds(e).filter(t=>L(t,r)).length>0}function V(e,r){return{code:e,targets:r||[]}}function Vt(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 Et(e,r,t){let n=r==="undo";return e.type==="move"?St(e,n,t):e.type==="add"?xt(e,n,t):e.type==="restore"?Pt(e,n,t):Nt(e,n,t)}function Nt(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?L(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?V("unsupported",e.targets):Vt(n)!==i?V("content-changed",e.targets):(n.kind==="value"?t.operations.push({type:"value",target:n.target,prop:n.prop||"value",value:a,read:n.read||null,write:n.write||null}):n.kind==="text"?t.operations.push({type:"text",target:n.target,data:a}):t.operations.push({type:"attr",target:n.target,name:n.name,value:a??null}),null):V("target-detached",e.targets):V("unsupported",e.targets)}function xt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);let s=Ne(e.nodes,t.isProtected);if(s.length>0)return V("protected",s);for(let p=0;p<e.nodes.length;p++)if(H(e.nodes[p],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("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(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return V("structure-changed",e.targets);let n=e.nodes.flatMap(s=>oe(s));if(n.length>0&&xe(n,t))return V("duplicate-id",e.targets);let i=Y(e.seqBefore,e.slot);if(i==null)return V("unsupported",e.targets);let a=e.seqBefore.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function Pt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);for(let p=0;p<e.nodes.length;p++){let b=e.nodes[p];if(b.parentNode||H(b,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets)}if(e.ids.length>0&&xe(e.ids,t))return V("duplicate-id",e.targets);let a=Y(e.seqAfter,e.slot);if(a==null)return V("unsupported",e.targets);let l=e.seqAfter.slice(),s=a;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(O(p),l.slice(s)),s+=1,t.planned.set(p,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);let n=Ne(e.nodes,t.isProtected);if(n.length>0)return V("protected",n);let i=a=>t.planned.get(a)===!0||typeof t.isIgnored=="function"&&t.isIgnored(a);for(let a=0;a<e.nodes.length;a++){let l=e.nodes[a];if(l.parentNode!==e.parent||H(l,t.ignoreAttribute,e.parent,i)!==e.content[a])return V("content-changed",e.targets)}for(let a of e.nodes)t.operations.push({type:"remove",node:a}),t.planned.set(a,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function It(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function St(e,r,t){let n=O(e.node),i=r?e.destParent:e.sourceParent,a=r?e.sourceParent:e.destParent,l=q(t,i),s=q(t,a),p=r?e.dest.after:e.source.before,b=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!L(i,t)||!L(a,t))return V("target-detached",e.targets);if(!$(l,p))return V("structure-changed",e.targets);let A=i===a?It(s,n):s;if(!$(A,b))return V("structure-changed",e.targets);let E=Y(b,h);return E==null?V("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:b[E]??null}),t.planned.set(e.node,!0),r?(t.sim.set(a,e.source.before.slice()),i!==a&&t.sim.set(i,e.dest.before.slice())):(t.sim.set(a,e.dest.after.slice()),i!==a&&t.sim.set(i,e.source.after.slice())),null)}function $(e,r){if(!e||!r||e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function Rt(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function Pe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function Ct(e){let r=[];try{for(let t of e)Ot(t,r);return{ok:!0}}catch(t){for(let n=r.length-1;n>=0;n--)try{r[n]()}catch{}return{ok:!1,error:t}}}function Ot(e,r){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),r.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;e.target.data=e.data,r.push(()=>{e.target.data=t});return}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop];Pe(e,e.value),r.push(()=>Pe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:Rt(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let n=e.node.parentNode,i=e.node.nextSibling;e.parent.insertBefore(e.node,t),r.push(()=>{n?n.insertBefore(e.node,i&&i.parentNode===n?i:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)});return}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let n=e.node.nextSibling;t.removeChild(e.node),r.push(()=>t.insertBefore(e.node,n))}}var Mt=['[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]"],Tt=["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"],jt=Mt.join(","),qt=new RegExp("^(?:"+Tt.join("|")+")(?:-|$)"),zr=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"]})}),Lt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),$t=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ie(e,r){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(r)||e.hasAttribute?.(r))}function Ie(e,r){if(ie(e,r))return!0;for(let[t,n]of Object.entries(Lt))if(n.includes(r)&&ie(e,t))return!0;return!1}function Kt(e){return e==="clay"||$t.includes(e)}var zt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Dt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ae(e){let r=Dt();if(r)try{if(!r(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(jt))return!0;for(;t&&t.nodeType===1;){if(Ie(t,"no-undo")||Ie(t,"no-watch"))return!0;for(let n of zt)if(ie(t,n))return!0;t=t.parentElement}return!1}function _t(e){let r=e.target,t=r.cloneNode(!1),n=t;for(;r.parentElement;){r=r.parentElement;let i=r.cloneNode(!1);i.appendChild(t),t=i}return e.oldValue==null?n.removeAttribute(e.attributeName):n.setAttribute(e.attributeName,e.oldValue),ae(n)}function ue(e,r,t){if(t?.type==="attributes"&&Kt(t.attributeName)){if(ae(e)&&_t(t))return!0}else if(ae(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&qt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Ut(){let e=new Map;function r(i,a){let l=e.get(i);return l||(l=new Set,e.set(i,l)),l.add(a),()=>t(i,a)}function t(i,a){let l=e.get(i);l&&l.delete(a)}function n(i,a){let l=e.get(i);if(l)for(let s of Array.from(l))try{s(a)}catch(p){console.error("[hyper-undo] listener threw",p)}}return{on:r,off:t,emit:n}}var Bt={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={...Bt,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Ut(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,p=[],b=null,h=null,A=0,E=!1,K=r.recording==="commands"?"commands":"automatic",I=null,z=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Gt(){E||(E=!0,h=Yt(D),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Yt(o){let u=typeof document<"u"&&r.scope===document.body,c=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&c&&typeof c.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),c.createObserver(o)):new MutationObserver(o)}function Me(){E&&(E=!1,h&&(h.disconnect(),h=null),_(),n.length=0,i.length=0,p=[],s=null,I=null,z=!1,A=0,P("stopped"))}function Zt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function D(o){Te(o,!1)}function Te(o,u){if(I){for(let m of o)I.records.push(m);return}if(K==="commands"||A>0)return;let c=ce(Qt(o),u);if(c.length>0){for(let m of c)p.push(m);je()}}function Qt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let c=[...u.addedNodes,...u.removedNodes];return c.length===0?!0:!c.every(m=>er(m))})}function er(o){try{return!!r.ignoreNode(o)}catch{return!1}}function ce(o,u=!1){let c=yr(o),m=o.filter(y=>(ge(y.target)||c(y.target)||u&&Fe(y.target))&&!ue(y.target,r.ignoreAttribute,y));return ut(m,y=>ue(y,r.ignoreAttribute))}function je(){_(),b=setTimeout(qe,r.idleWindowMs)}function _(){b!=null&&(clearTimeout(b),b=null)}function qe(){if(b=null,p.length===0)return;let o=p;p=[],Z(r.idleLabel,o)}function Z(o,u){let c=ht(u,{isIgnored:fe,ignoreAttribute:Le});if(c.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let m={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:c};for(n.push(m),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),m}function fe(o){return ue(o,r.ignoreAttribute)}function Le(o,u,c=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,c)}catch{return!1}}function tr(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function rr(o,u){if(!E)throw new Error("hyper-undo: scope not started");if(K==="commands")return ze(o,u,{honorPause:!0,receipt:!1});D(h.takeRecords()),U();let c=A===0?$e():null,m=u();if(m&&typeof m.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Te(h.takeRecords(),!0),c!=null&&Ke(c),p.length===0){t.emit("commit");return}_();let y=p;p=[],Z(o,y)}function nr(o){if(!E)throw new Error("hyper-undo: scope not started");if(!h)return;if(A>1){h.takeRecords();return}U();let u=ce(h.takeRecords(),!0);u.length!==0&&(_(),Z(o,u))}function or(){h&&h.takeRecords()}function pe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Q(){let o=pe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Q();return o?o.textContent:null}function Ke(o){let u=Q();if(!u||o==null)return;let c=u.textContent;c!==o&&_e({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:c})}function ir(o){if(!o)return null;let u=pe();if(!u||o.target!==u||o.prop!=="title")return o;let c=Q();return c?{kind:"value",target:c,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function ar(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function ur(){h&&D(h.takeRecords()),U(),I={records:[],primitives:[]}}function lr(){let o=I;if(I=null,!o)return[];let u=ce(o.records,!0);for(let c of o.primitives)u.push(c);return u}function ze(o,u,{honorPause:c,receipt:m}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(I)throw new Error("hyper-undo: command() cannot nest inside another command");if(z)throw new Error("hyper-undo: command() cannot run during undo or redo");if(ar())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 y=c&&A>0,S=y?null:$e();ur();let M=[],j=null,B;try{try{B=u()}catch(kr){j=kr}if(h&&D(h.takeRecords()),B&&typeof B.then=="function"){try{B.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}y||Ke(S)}finally{M=lr()}let ee=y||M.length===0?null:Z(o,M);if(j)throw j;return m?ee?{id:ee.id,label:ee.label}:null:ee}function dr(o,u){if(!E)throw new Error("hyper-undo: scope not started");return ze(o,u,{honorPause:!1,receipt:!0})}function sr(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(I)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return K===o||(U(),K=o,P("recording",o)),K}function De(o){if(!E||!o||!I&&(A>0||K==="commands"))return;let u=ir(o);u&&_e(u)}function _e(o){if(I){I.primitives.push(o);return}p.push(o),je()}function cr(o,{prop:u="value",oldValue:c,newValue:m,read:y,write:S}={}){!o||c===m||De({kind:"value",target:o,prop:u,oldValue:c,newValue:m,read:y,write:S})}function U(){A===0&&h&&D(h.takeRecords()),p.length!==0&&(_(),qe())}function Ue(){A===0&&h&&D(h.takeRecords()),A++,P("paused",A)}function Be(){A!==0&&(A--,A===0&&h&&h.takeRecords(),P("resumed",A))}function We(o,u){if(Zt())return Me(),{ok:!1,code:"disconnected"};U();let c=o==="undo"?n:i,m=o==="undo"?i:n,y=c.at(-1);if(!y)return{ok:!1,code:"empty"};if(u&&u!==y.id){let B=He(u)||y;return me(B,o,"stale-entry")}let S;z=!0;try{S=At(y.certificate,o,{isIgnored:fe,ignoreAttribute:Le,isProtected:tr,inScope:wr,liveNodesWithIds:br})}finally{z=!1}if(!S.ok)return me(y,o,S.code,S.targets);Ue();let M;z=!0;try{M=Ct(S.operations)}finally{z=!1,Be()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),me(y,o,"replay-error");c.pop(),m.push(y),s=null;let j={ok:!0,entryId:y.id,label:y.label,direction:o};return P(o,y.label),t.emit(o,j),j}function fr(o){return We("undo",o&&o.entryId)}function pr(o){return We("redo",o&&o.entryId)}function He(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function me(o,u,c,m=[]){return s={entryId:o.id,direction:u,code:c,targets:m},P("refused",u,c),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:c,targets:m}),{ok:!1,code:c,entryId:o.id,label:o.label,direction:u}}function mr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,c=u==="undo"?n:i,m=c.at(-1);return!m||m.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(c.pop(),s=null,P("discarded",m.label),t.emit("discard",{entryId:o,label:m.label,direction:u}),{ok:!0,entryId:o,direction:u})}function gr(o){let u=He(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let c=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(m=>({id:m.id??null,kind:m.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:c,steps:u.certificate.steps.map(hr)}}function hr(o){if(o.type==="move")return{kind:"move",node:{id:R(o.node).id},from:{id:R(o.sourceParent).id},to:{id:R(o.destParent).id}};if(o.type==="add"||o.type==="restore")return{kind:o.type==="add"?"add":"remove",parent:{id:R(o.parent).id},nodes:o.nodes.map((S,M)=>({id:R(S).id,html:o.content[M]??null}))};let u=o.primitive,c={id:R(u.target).id},m=u.oldValue??null,y=u.newValue??null;return o.type==="value"?{kind:"value",target:c,prop:u.prop??"value",before:m,after:y}:o.type==="text"?{kind:"text",target:c,before:m,after:y}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:c,name:u.name??null,before:m,after:y}:{kind:o.type,target:c,before:m,after:y}}function yr(o){let u=new Set,c=!0;for(;c;){c=!1;for(let m of o)if(!(m.type!=="childList"||!m.removedNodes?.length)&&!(!ge(m.target)&&!Je(m.target,u)))for(let y of m.removedNodes)u.has(y)||(u.add(y),c=!0)}return m=>!ge(m)&&Je(m,u)}function Je(o,u){for(let c=o;c;c=c.parentNode)if(u.has(c))return!0;return!1}function ge(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function Fe(o){let u=pe(),c=u&&u.head;if(!c||!o)return!1;let m=o.nodeType===1?o:o.parentElement;for(;m&&m!==c;m=m.parentElement)if(m.localName==="title")return!1;return m===c}function wr(o){let u=r.scope;return!o||!u?!1:o===u||Q()===o||Fe(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function br(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let c=new Set(o),m=[];for(let y of u.querySelectorAll("[data-id]"))c.has(y.getAttribute("data-id"))&&(fe(y)||m.push(y));return m}function vr(){h&&h.takeRecords(),n.length=0,i.length=0,p=[],s=null,_(),P("cleared"),t.emit("clear")}return{_config:r,start:Gt,stop:Me,commit:rr,commitCaptured:nr,discardCaptured:or,flush:U,command:dr,setRecording:sr,record:De,recordValue:cr,undo:fr,redo:pr,clear:vr,discard:mr,describe:gr,pause:Ue,resume:Be,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return A>0},get history(){return n.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return i.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return r.scope}}}var Wt=new Set(["checkbox","radio","button","submit","reset","image","file","range","color"]);function Ht(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Jt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="TEXTAREA"||i==="SELECT"||i==="INPUT"&&!Wt.has(String(n.type||n.getAttribute?.("type")||"text").toLowerCase())||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Jt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Ft(e,r){let t=n=>{let i=e.scope;if(i&&i.nodeType===1&&i.isConnected===!1){r&&r();return}if(n.defaultPrevented||n.isComposing||n.keyCode===229||Ht(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let p of l)try{if(a.closest(p))return}catch{}if(!(n.metaKey||n.ctrlKey))return;let s=(n.key||"").toLowerCase();if(s==="z"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.undo();return}if(s==="z"&&n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}if(s==="y"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)}var le=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],g=null,de=null,Re=null,T=null;function Ce(e,r){if(T){if(T.inst===e)return T.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=Ft(e,r);return T={inst:e,cleanup:t},t}function Oe(e){T&&T.inst===e&&(T.cleanup(),T=null)}var se={defaults:{shadowKeydownIn:le},start(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(g){if(de===r)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:r,shadowKeydownIn:e.shadowKeydownIn||le};return g=Se(t),g.start(),de=r,e.bindKeys!==!1&&(Re=Ce(g,()=>se.stop())),g},stop(){g&&(Oe(g),Re=null,g.stop(),g=null,de=null)},create(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le},n=Se(t),i=null,a={_config:n._config,commit:n.commit,command:n.command,setRecording:n.setRecording,commitCaptured:n.commitCaptured,discardCaptured:n.discardCaptured,flush:n.flush,record:n.record,recordValue:n.recordValue,undo:n.undo,redo:n.redo,clear:n.clear,discard:n.discard,describe:n.describe,pause:n.pause,resume:n.resume,on:n.on,off:n.off,get canUndo(){return n.canUndo},get canRedo(){return n.canRedo},get isPaused(){return n.isPaused},get history(){return n.history},get future(){return n.future},get scope(){return n.scope},start(){e.bindKeys&&(i=Ce(n,()=>a.stop())),n.start()},stop(){Oe(n),i=null,n.stop()}};return a},commit(e,r){return g?g.commit(e,r):void 0},command(e,r){return g?g.command(e,r):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,r){return g?g.recordValue(e,r):void 0},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,r){return g?g.on(e,r):void 0},off(e,r){return g?g.off(e,r):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}},Xt=se;return X(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=et.undo,window.h=window.hyperclay);var w=et.undo;var ye=new Set,it=(d={})=>{let f=d.ignoreAttribute;return{...d,ignoreAttribute:(k,v,N)=>ye.has(k)||Xe(k,v)||Ye(v,k,N)||Ze(k,v)||(f?f(k,v,N):!1),isProtected:d.isProtected||Ar,ignoreNode:d.ignoreNode||Qe}};function Ar(d){let f=window.clay?.region?.resolveRegionPolicy;if(!f||d.nodeType!==1)return!1;let k=f(d);if(k.undoable!==!1||k.persist==="none")return!1;let v=d.parentElement;return!v||f(v).undoable!==!1}var Vr=w.create.bind(w);w.create=d=>Vr(it(d));var we=null,Er=w.setRecording.bind(w);w.setRecording=d=>(we=d??null,Er(d));var tt=()=>w.history.at(-1)?.id??null,Nr=w.command.bind(w);w.command=(d,f)=>{let k=Nr(d,f);return k&&re(),k};var xr=w.commit.bind(w),rt=!1;w.commit=(d,f)=>{!rt&&window.clay?.effect?.running&&(rt=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let k=tt(),v=xr(d,f);return(v||tt()!==k)&&re(),v};var Pr=`input${te}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${te}, select${te}`;function Ir(){let d=f=>window.clay?.region?.resolveRegionPolicy?.(f)?.undoable!==!1;document.querySelectorAll(Pr).forEach(f=>{if(!d(f))return;if(f.tagName==="SELECT"){for(let C of f.options){let G=C.hasAttribute("selected");C.selected!==G&&(C.selected=G)}return}let k=(f.getAttribute("type")||"text").toLowerCase();if(f.tagName==="INPUT"&&(k==="checkbox"||k==="radio")){let C=f.hasAttribute("checked");f.checked!==C&&(f.checked=C);return}let v=f.tagName==="TEXTAREA"?f.getAttribute("data-value")??f.textContent:f.getAttribute("value")??"";if(f.value===v)return;let N=f===document.activeElement,W,X;try{W=f.selectionStart,X=f.selectionEnd}catch{}if(f.value=v,N&&W!=null)try{f.setSelectionRange(Math.min(W,v.length),Math.min(X,v.length))}catch{}})}var nt=d=>{d?.ok&&(re(),Ir())},ot=({entryId:d,label:f,direction:k,code:v})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:v,entryId:d,label:f,direction:k}})),Sr({ok:!1,code:v,entryId:d,label:f,direction:k})},he=null;function at(){return he??=import("../c-NEL7HQW3.js").catch(d=>(he=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),he}async function Sr(d){let f={ok:!1,code:"unavailable"};try{let v=await at();v&&(f=await v.keepRefusal(w,d))}catch{f={ok:!1,code:"error"}}let k=f?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:f?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:k}))}var ve=(d,f)=>(...k)=>at().then(v=>v?v[d](...k):f,()=>f),Rr=ve("keep",{ok:!1,code:"unavailable"});w.ignoreAttribute=d=>{let f=String(d||"");return f?(ye.add(f),()=>{ye.delete(f)}):()=>{}};w.keep=async d=>{let f=await Rr(d);return f?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),f};w.kept=ve("kept",{ok:!1,code:"unavailable",records:[]});w.dismissKept=ve("dismissKept",{ok:!1,code:"unavailable"});var be=new Set;w.reviewActions=d=>typeof d!="function"?()=>{}:(be.add(d),()=>{be.delete(d)});w.reviewActionsFor=d=>{let f=[];for(let k of be){let v;try{v=k(d)}catch(N){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",N);continue}for(let N of Array.isArray(v)?v:[])N&&typeof N.run=="function"&&N.label&&f.push(N)}return f};var Cr=["commit","undo","redo","refused","discard","clear"],ne=()=>{let d=!!F?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&w.canUndo,canRedo:d&&w.canRedo,undo:d&&w.history.at(-1)||null,redo:d&&w.future?.[0]||null}}))},F=null;function Or(){return{started:!1,admitted:!1,subscriptions:[]}}var Mr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Tr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function jr(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,w.start(it({bindKeys:!0,...we?{recording:we}:{}}));for(let f of["undo","redo"])w.on(f,nt),d.subscriptions.push({type:f,handler:nt});w.on("refused",ot),d.subscriptions.push({type:"refused",handler:ot});for(let f of Cr)w.on(f,ne),d.subscriptions.push({type:f,handler:ne});ne()}},quiesce(){d.admitted&&(d.admitted=!1,w.pause())},resume(){d.admitted||(d.admitted=!0,w.resume())},dispose(){if(d.admitted=!1,F===d&&(F=null),!!d.started){d.started=!1;for(let{type:f,handler:k}of d.subscriptions.splice(0))w.off(f,k);w.stop(),ne()}}}}function qr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Lr();if(await Tr(),Mr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return jr(F||(F=Or()))}}}async function Lr(){let d=await Kr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function $r(){if(!Ge()||typeof document>"u")return null;let d=await qr().prepare();return d.enable(),d}var Kr=$r();var Gr=w;export{Gr as default,$r as init,qr as modeParticipant,Kr as ready,Ir as restoreControls,w as undo,qr as undoParticipant};
|
|
1
|
+
import{b as Ze,c as Qe}from"../c-7DJDKPGL.js";import{g as re}from"../c-6Q6RGFBF.js";import{a as te}from"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-IJUK2GPW.js";import{k as Ge}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import{a as Ye}from"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import{l as Xe}from"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var et=(()=>{var d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},W=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of k(r))!v.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=f(r,i))||n.enumerable});return e},X=e=>W(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Xt,undo:()=>se});function G(e,r=null){let t=[];if(e.type==="attributes"){let n=e.target,i=e.attributeName,a=e.oldValue,l=n.getAttribute(i);return a==null&&l!=null?t.push({kind:"attr-add",target:n,name:i,newValue:l}):a!=null&&l==null?t.push({kind:"attr-remove",target:n,name:i,oldValue:a}):a!==l&&t.push({kind:"attr-set",target:n,name:i,oldValue:a,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 n=e.target,i=e.nextSibling,a=e.nextSibling;for(;a&&r?.(a);)a=a.nextSibling;let l=e.previousSibling;for(;l&&r?.(l);)l=l.previousSibling;let s=r?Array.from(e.addedNodes).filter(b=>!r(b)):Array.from(e.addedNodes),p=r?Array.from(e.removedNodes).filter(b=>!r(b)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),p.length>0&&t.push({kind:"remove",parent:n,nodes:p,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function ut(e,r=null){let t=[],n=new Map;for(let i of e){if(i.type==="attributes"){let a=i.target,l=i.attributeName,s=n.get(a);s||(s=new Map,n.set(a,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:i.oldValue}),t.push(null));continue}for(let a of G(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let p=s.oldValue,b=i.getAttribute(l),h=null;p===b?h=null:p==null?h={kind:"attr-add",target:i,name:l,newValue:b}:b==null?h={kind:"attr-remove",target:i,name:l,oldValue:p}:h={kind:"attr-set",target:i,name:l,oldValue:p,newValue:b},t[s.idx]=h}return t.filter(i=>i!=null)}function lt(e){let r=[],t=new Map;for(let i of e){let a=ke(i);if(a==null){r.push(i);continue}let l=t.get(i.target);l||(l=new Map,t.set(i.target,l));let s=l.get(a);if(s==null){let p=Ae(i);if(p.oldValue===p.newValue)continue;l.set(a,r.length),r.push({...i,...p})}else r[s]={...r[s],newValue:Ae(i).newValue}}let n=[];for(let i of r){if(ke(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(st(i))}return n}var dt=new Set(["attr-set","attr-add","attr-remove","text","value"]);function ke(e){return dt.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function Ae(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 st(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 Ve=new WeakMap,ct=0;function O(e){let r=Ve.get(e);return r||(r=`n${++ct}`,Ve.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function ft(e){return e.kind==="add"||e.kind==="remove"}function Ee(e,r){let t=[],n=e.childNodes;if(!n)return t;for(let i of n)r&&r(i)||t.push(O(i));return t}function H(e,r,t=null,n=null){if(!x(e))return null;if(e.nodeType===3)return`#text:${JSON.stringify(e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let i=[];if(e.attributes){for(let l of e.attributes)pt(l.name,e,r,t)||i.push(`${l.name}=${JSON.stringify(l.value)}`);i.sort()}let a=[];if(e.childNodes)for(let l of e.childNodes)mt(l,n)||a.push(H(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function oe(e,r=[]){if(!x(e))return r;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&r.push(t)}if(e.childNodes)for(let t of e.childNodes)oe(t,r);return r}function pt(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function mt(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ne(e,r){if(typeof r!="function")return[];let t=[],n=i=>{if(!x(i))return;let a=!1;try{a=!!r(i)}catch{a=!1}if(a&&t.push(R(i,"protected")),i.childNodes)for(let l of i.childNodes)n(l)};for(let i of e)n(i);return t}function R(e,r,t=null){let n=e;n&&n.nodeType!==1&&(n=n.parentElement);let i=n&&typeof n.closest=="function"?n.closest("[data-id]"):null;return!i&&t&&typeof t.closest=="function"&&(i=t.closest("[data-id]")),{id:(i?i.getAttribute("data-id"):null)||null,kind:r||null}}function gt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function J(e){return{replayable:!1,reason:e,steps:[]}}function Y(e,r){let t=[[r.afterAuthored,i=>i],[r.beforeAuthored,i=>i+1],[r.before,i=>i]],n=!1;for(let[i,a]of t){if(!x(i))continue;n=!0;let l=e.indexOf(O(i));if(l>=0)return a(l)}return n?null:e.length}function ht(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=lt(e),a=[];for(let h of i){if(!ft(h)){if(!x(h.target))return J("non-dom-target");continue}if(!x(h.parent))return J("non-dom-parent");let A=Array.from(h.nodes||[]).filter(x);if(A.length!==0){if(A.length!==Array.from(h.nodes||[]).length)return J("non-dom-node");a.push({primitive:h,nodes:A,parent:h.parent})}}if(yt(a))return J("in-record-move");let l=wt(a,t);if(!l)return J("ambiguous-structure");let s=bt(a,l),p=new Map(a.map(h=>[h.primitive,h])),b=[];for(let h of i){let A=p.get(h);if(!A){b.push(kt(h));continue}let E=s.get(A);if(E){E.at===A&&b.push(E.step);continue}b.push(vt(A,l.get(A),n,t))}return{replayable:!0,reason:null,steps:b}}function yt(e){let r=new Map;for(let t of e){let n=t.primitive.record;if(!n)continue;let i=r.get(n);i||(i=new Map,r.set(n,i));for(let a of t.nodes){let l=i.get(a);l||(l=new Set,i.set(a,l)),l.add(t.primitive.kind)}}for(let t of r.values())for(let n of t.values())if(n.size>1)return!0;return!1}function wt(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ee(i.parent,r));let n=new Map;for(let i=e.length-1;i>=0;i--){let a=e[i],l=t.get(a.parent);if(!l)return null;let s=l.slice(),p;if(a.primitive.kind==="add"){let b=a.nodes.map(O);if(!b.every(h=>l.includes(h)))return null;p=l.filter(h=>!b.includes(h))}else{let b=Y(s,a.primitive);if(b==null)return null;p=s.slice(),p.splice(b,0,...a.nodes.map(O))}n.set(a,{before:p,after:s}),t.set(a.parent,p)}return n}function bt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let p=O(s);a.primitive.kind==="remove"?t.set(p,{item:a,index:l,node:s}):n.set(p,{item:a,index:l,node:s})}});let i=new Map;for(let[a,l]of t){let s=n.get(a);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:r.get(l.item),dest:r.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[R(l.node,"move")]};i.set(l.item,{step:p,at:s.item}),i.set(s.item,{step:p,at:s.item})}return i}function vt(e,r,t,n){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:r.before,seqAfter:r.after,slot:e.primitive,content:e.nodes.map(a=>H(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>oe(a)):[],targets:gt(e.nodes,i==="add"?"added":"removed",e.parent)}}function kt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function At(e,r,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let n={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,operations:[]};for(let i=0;i<e.steps.length;i++){let a=e.steps[r==="undo"?e.steps.length-1-i:i],l=Et(a,r,n);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:n.operations}}function q(e,r){return e.sim.has(r)||e.sim.set(r,Ee(r,e.isIgnored)),e.sim.get(r)}function L(e,r){for(let t=e;t;t=t.parentNode)if(r.planned.has(t))return r.planned.get(t);return r.inScope(e)}function xe(e,r){return r.liveNodesWithIds(e).filter(t=>L(t,r)).length>0}function V(e,r){return{code:e,targets:r||[]}}function Vt(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 Et(e,r,t){let n=r==="undo";return e.type==="move"?St(e,n,t):e.type==="add"?xt(e,n,t):e.type==="restore"?Pt(e,n,t):Nt(e,n,t)}function Nt(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?L(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?V("unsupported",e.targets):Vt(n)!==i?V("content-changed",e.targets):(n.kind==="value"?t.operations.push({type:"value",target:n.target,prop:n.prop||"value",value:a,read:n.read||null,write:n.write||null}):n.kind==="text"?t.operations.push({type:"text",target:n.target,data:a}):t.operations.push({type:"attr",target:n.target,name:n.name,value:a??null}),null):V("target-detached",e.targets):V("unsupported",e.targets)}function xt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);let s=Ne(e.nodes,t.isProtected);if(s.length>0)return V("protected",s);for(let p=0;p<e.nodes.length;p++)if(H(e.nodes[p],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("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(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return V("structure-changed",e.targets);let n=e.nodes.flatMap(s=>oe(s));if(n.length>0&&xe(n,t))return V("duplicate-id",e.targets);let i=Y(e.seqBefore,e.slot);if(i==null)return V("unsupported",e.targets);let a=e.seqBefore.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function Pt(e,r,t){if(!x(e.parent)||!L(e.parent,t))return V("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return V("structure-changed",e.targets);for(let p=0;p<e.nodes.length;p++){let b=e.nodes[p];if(b.parentNode||H(b,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[p])return V("content-changed",e.targets)}if(e.ids.length>0&&xe(e.ids,t))return V("duplicate-id",e.targets);let a=Y(e.seqAfter,e.slot);if(a==null)return V("unsupported",e.targets);let l=e.seqAfter.slice(),s=a;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(O(p),l.slice(s)),s+=1,t.planned.set(p,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return V("structure-changed",e.targets);let n=Ne(e.nodes,t.isProtected);if(n.length>0)return V("protected",n);let i=a=>t.planned.get(a)===!0||typeof t.isIgnored=="function"&&t.isIgnored(a);for(let a=0;a<e.nodes.length;a++){let l=e.nodes[a];if(l.parentNode!==e.parent||H(l,t.ignoreAttribute,e.parent,i)!==e.content[a])return V("content-changed",e.targets)}for(let a of e.nodes)t.operations.push({type:"remove",node:a}),t.planned.set(a,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function It(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function St(e,r,t){let n=O(e.node),i=r?e.destParent:e.sourceParent,a=r?e.sourceParent:e.destParent,l=q(t,i),s=q(t,a),p=r?e.dest.after:e.source.before,b=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!L(i,t)||!L(a,t))return V("target-detached",e.targets);if(!$(l,p))return V("structure-changed",e.targets);let A=i===a?It(s,n):s;if(!$(A,b))return V("structure-changed",e.targets);let E=Y(b,h);return E==null?V("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:b[E]??null}),t.planned.set(e.node,!0),r?(t.sim.set(a,e.source.before.slice()),i!==a&&t.sim.set(i,e.dest.before.slice())):(t.sim.set(a,e.dest.after.slice()),i!==a&&t.sim.set(i,e.source.after.slice())),null)}function $(e,r){if(!e||!r||e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function Rt(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function Pe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function Ct(e){let r=[];try{for(let t of e)Ot(t,r);return{ok:!0}}catch(t){for(let n=r.length-1;n>=0;n--)try{r[n]()}catch{}return{ok:!1,error:t}}}function Ot(e,r){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),r.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;e.target.data=e.data,r.push(()=>{e.target.data=t});return}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop];Pe(e,e.value),r.push(()=>Pe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:Rt(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let n=e.node.parentNode,i=e.node.nextSibling;e.parent.insertBefore(e.node,t),r.push(()=>{n?n.insertBefore(e.node,i&&i.parentNode===n?i:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)});return}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let n=e.node.nextSibling;t.removeChild(e.node),r.push(()=>t.insertBefore(e.node,n))}}var Mt=['[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]"],Tt=["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"],jt=Mt.join(","),qt=new RegExp("^(?:"+Tt.join("|")+")(?:-|$)"),zr=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"]})}),Lt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),$t=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ie(e,r){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(r)||e.hasAttribute?.(r))}function Ie(e,r){if(ie(e,r))return!0;for(let[t,n]of Object.entries(Lt))if(n.includes(r)&&ie(e,t))return!0;return!1}function Kt(e){return e==="clay"||$t.includes(e)}var zt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Dt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ae(e){let r=Dt();if(r)try{if(!r(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(jt))return!0;for(;t&&t.nodeType===1;){if(Ie(t,"no-undo")||Ie(t,"no-watch"))return!0;for(let n of zt)if(ie(t,n))return!0;t=t.parentElement}return!1}function _t(e){let r=e.target,t=r.cloneNode(!1),n=t;for(;r.parentElement;){r=r.parentElement;let i=r.cloneNode(!1);i.appendChild(t),t=i}return e.oldValue==null?n.removeAttribute(e.attributeName):n.setAttribute(e.attributeName,e.oldValue),ae(n)}function ue(e,r,t){if(t?.type==="attributes"&&Kt(t.attributeName)){if(ae(e)&&_t(t))return!0}else if(ae(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&qt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Ut(){let e=new Map;function r(i,a){let l=e.get(i);return l||(l=new Set,e.set(i,l)),l.add(a),()=>t(i,a)}function t(i,a){let l=e.get(i);l&&l.delete(a)}function n(i,a){let l=e.get(i);if(l)for(let s of Array.from(l))try{s(a)}catch(p){console.error("[hyper-undo] listener threw",p)}}return{on:r,off:t,emit:n}}var Bt={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={...Bt,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Ut(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,p=[],b=null,h=null,A=0,E=!1,K=r.recording==="commands"?"commands":"automatic",I=null,z=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Gt(){E||(E=!0,h=Yt(D),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Yt(o){let u=typeof document<"u"&&r.scope===document.body,c=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&c&&typeof c.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),c.createObserver(o)):new MutationObserver(o)}function Me(){E&&(E=!1,h&&(h.disconnect(),h=null),_(),n.length=0,i.length=0,p=[],s=null,I=null,z=!1,A=0,P("stopped"))}function Zt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function D(o){Te(o,!1)}function Te(o,u){if(I){for(let m of o)I.records.push(m);return}if(K==="commands"||A>0)return;let c=ce(Qt(o),u);if(c.length>0){for(let m of c)p.push(m);je()}}function Qt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let c=[...u.addedNodes,...u.removedNodes];return c.length===0?!0:!c.every(m=>er(m))})}function er(o){try{return!!r.ignoreNode(o)}catch{return!1}}function ce(o,u=!1){let c=yr(o),m=o.filter(y=>(ge(y.target)||c(y.target)||u&&Fe(y.target))&&!ue(y.target,r.ignoreAttribute,y));return ut(m,y=>ue(y,r.ignoreAttribute))}function je(){_(),b=setTimeout(qe,r.idleWindowMs)}function _(){b!=null&&(clearTimeout(b),b=null)}function qe(){if(b=null,p.length===0)return;let o=p;p=[],Z(r.idleLabel,o)}function Z(o,u){let c=ht(u,{isIgnored:fe,ignoreAttribute:Le});if(c.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let m={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:c};for(n.push(m),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),m}function fe(o){return ue(o,r.ignoreAttribute)}function Le(o,u,c=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,c)}catch{return!1}}function tr(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function rr(o,u){if(!E)throw new Error("hyper-undo: scope not started");if(K==="commands")return ze(o,u,{honorPause:!0,receipt:!1});D(h.takeRecords()),U();let c=A===0?$e():null,m=u();if(m&&typeof m.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Te(h.takeRecords(),!0),c!=null&&Ke(c),p.length===0){t.emit("commit");return}_();let y=p;p=[],Z(o,y)}function nr(o){if(!E)throw new Error("hyper-undo: scope not started");if(!h)return;if(A>1){h.takeRecords();return}U();let u=ce(h.takeRecords(),!0);u.length!==0&&(_(),Z(o,u))}function or(){h&&h.takeRecords()}function pe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Q(){let o=pe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Q();return o?o.textContent:null}function Ke(o){let u=Q();if(!u||o==null)return;let c=u.textContent;c!==o&&_e({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:c})}function ir(o){if(!o)return null;let u=pe();if(!u||o.target!==u||o.prop!=="title")return o;let c=Q();return c?{kind:"value",target:c,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function ar(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function ur(){h&&D(h.takeRecords()),U(),I={records:[],primitives:[]}}function lr(){let o=I;if(I=null,!o)return[];let u=ce(o.records,!0);for(let c of o.primitives)u.push(c);return u}function ze(o,u,{honorPause:c,receipt:m}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(I)throw new Error("hyper-undo: command() cannot nest inside another command");if(z)throw new Error("hyper-undo: command() cannot run during undo or redo");if(ar())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 y=c&&A>0,S=y?null:$e();ur();let M=[],j=null,B;try{try{B=u()}catch(kr){j=kr}if(h&&D(h.takeRecords()),B&&typeof B.then=="function"){try{B.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}y||Ke(S)}finally{M=lr()}let ee=y||M.length===0?null:Z(o,M);if(j)throw j;return m?ee?{id:ee.id,label:ee.label}:null:ee}function dr(o,u){if(!E)throw new Error("hyper-undo: scope not started");return ze(o,u,{honorPause:!1,receipt:!0})}function sr(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(I)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return K===o||(U(),K=o,P("recording",o)),K}function De(o){if(!E||!o||!I&&(A>0||K==="commands"))return;let u=ir(o);u&&_e(u)}function _e(o){if(I){I.primitives.push(o);return}p.push(o),je()}function cr(o,{prop:u="value",oldValue:c,newValue:m,read:y,write:S}={}){!o||c===m||De({kind:"value",target:o,prop:u,oldValue:c,newValue:m,read:y,write:S})}function U(){A===0&&h&&D(h.takeRecords()),p.length!==0&&(_(),qe())}function Ue(){A===0&&h&&D(h.takeRecords()),A++,P("paused",A)}function Be(){A!==0&&(A--,A===0&&h&&h.takeRecords(),P("resumed",A))}function We(o,u){if(Zt())return Me(),{ok:!1,code:"disconnected"};U();let c=o==="undo"?n:i,m=o==="undo"?i:n,y=c.at(-1);if(!y)return{ok:!1,code:"empty"};if(u&&u!==y.id){let B=He(u)||y;return me(B,o,"stale-entry")}let S;z=!0;try{S=At(y.certificate,o,{isIgnored:fe,ignoreAttribute:Le,isProtected:tr,inScope:wr,liveNodesWithIds:br})}finally{z=!1}if(!S.ok)return me(y,o,S.code,S.targets);Ue();let M;z=!0;try{M=Ct(S.operations)}finally{z=!1,Be()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),me(y,o,"replay-error");c.pop(),m.push(y),s=null;let j={ok:!0,entryId:y.id,label:y.label,direction:o};return P(o,y.label),t.emit(o,j),j}function fr(o){return We("undo",o&&o.entryId)}function pr(o){return We("redo",o&&o.entryId)}function He(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function me(o,u,c,m=[]){return s={entryId:o.id,direction:u,code:c,targets:m},P("refused",u,c),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:c,targets:m}),{ok:!1,code:c,entryId:o.id,label:o.label,direction:u}}function mr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,c=u==="undo"?n:i,m=c.at(-1);return!m||m.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(c.pop(),s=null,P("discarded",m.label),t.emit("discard",{entryId:o,label:m.label,direction:u}),{ok:!0,entryId:o,direction:u})}function gr(o){let u=He(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let c=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(m=>({id:m.id??null,kind:m.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:c,steps:u.certificate.steps.map(hr)}}function hr(o){if(o.type==="move")return{kind:"move",node:{id:R(o.node).id},from:{id:R(o.sourceParent).id},to:{id:R(o.destParent).id}};if(o.type==="add"||o.type==="restore")return{kind:o.type==="add"?"add":"remove",parent:{id:R(o.parent).id},nodes:o.nodes.map((S,M)=>({id:R(S).id,html:o.content[M]??null}))};let u=o.primitive,c={id:R(u.target).id},m=u.oldValue??null,y=u.newValue??null;return o.type==="value"?{kind:"value",target:c,prop:u.prop??"value",before:m,after:y}:o.type==="text"?{kind:"text",target:c,before:m,after:y}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:c,name:u.name??null,before:m,after:y}:{kind:o.type,target:c,before:m,after:y}}function yr(o){let u=new Set,c=!0;for(;c;){c=!1;for(let m of o)if(!(m.type!=="childList"||!m.removedNodes?.length)&&!(!ge(m.target)&&!Je(m.target,u)))for(let y of m.removedNodes)u.has(y)||(u.add(y),c=!0)}return m=>!ge(m)&&Je(m,u)}function Je(o,u){for(let c=o;c;c=c.parentNode)if(u.has(c))return!0;return!1}function ge(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function Fe(o){let u=pe(),c=u&&u.head;if(!c||!o)return!1;let m=o.nodeType===1?o:o.parentElement;for(;m&&m!==c;m=m.parentElement)if(m.localName==="title")return!1;return m===c}function wr(o){let u=r.scope;return!o||!u?!1:o===u||Q()===o||Fe(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function br(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let c=new Set(o),m=[];for(let y of u.querySelectorAll("[data-id]"))c.has(y.getAttribute("data-id"))&&(fe(y)||m.push(y));return m}function vr(){h&&h.takeRecords(),n.length=0,i.length=0,p=[],s=null,_(),P("cleared"),t.emit("clear")}return{_config:r,start:Gt,stop:Me,commit:rr,commitCaptured:nr,discardCaptured:or,flush:U,command:dr,setRecording:sr,record:De,recordValue:cr,undo:fr,redo:pr,clear:vr,discard:mr,describe:gr,pause:Ue,resume:Be,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return A>0},get history(){return n.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return i.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return r.scope}}}var Wt=new Set(["checkbox","radio","button","submit","reset","image","file","range","color"]);function Ht(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Jt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="TEXTAREA"||i==="SELECT"||i==="INPUT"&&!Wt.has(String(n.type||n.getAttribute?.("type")||"text").toLowerCase())||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Jt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Ft(e,r){let t=n=>{let i=e.scope;if(i&&i.nodeType===1&&i.isConnected===!1){r&&r();return}if(n.defaultPrevented||n.isComposing||n.keyCode===229||Ht(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let p of l)try{if(a.closest(p))return}catch{}if(!(n.metaKey||n.ctrlKey))return;let s=(n.key||"").toLowerCase();if(s==="z"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.undo();return}if(s==="z"&&n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}if(s==="y"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)}var le=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],g=null,de=null,Re=null,T=null;function Ce(e,r){if(T){if(T.inst===e)return T.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=Ft(e,r);return T={inst:e,cleanup:t},t}function Oe(e){T&&T.inst===e&&(T.cleanup(),T=null)}var se={defaults:{shadowKeydownIn:le},start(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(g){if(de===r)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:r,shadowKeydownIn:e.shadowKeydownIn||le};return g=Se(t),g.start(),de=r,e.bindKeys!==!1&&(Re=Ce(g,()=>se.stop())),g},stop(){g&&(Oe(g),Re=null,g.stop(),g=null,de=null)},create(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||le},n=Se(t),i=null,a={_config:n._config,commit:n.commit,command:n.command,setRecording:n.setRecording,commitCaptured:n.commitCaptured,discardCaptured:n.discardCaptured,flush:n.flush,record:n.record,recordValue:n.recordValue,undo:n.undo,redo:n.redo,clear:n.clear,discard:n.discard,describe:n.describe,pause:n.pause,resume:n.resume,on:n.on,off:n.off,get canUndo(){return n.canUndo},get canRedo(){return n.canRedo},get isPaused(){return n.isPaused},get history(){return n.history},get future(){return n.future},get scope(){return n.scope},start(){e.bindKeys&&(i=Ce(n,()=>a.stop())),n.start()},stop(){Oe(n),i=null,n.stop()}};return a},commit(e,r){return g?g.commit(e,r):void 0},command(e,r){return g?g.command(e,r):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,r){return g?g.recordValue(e,r):void 0},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,r){return g?g.on(e,r):void 0},off(e,r){return g?g.off(e,r):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}},Xt=se;return X(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=et.undo,window.h=window.hyperclay);var w=et.undo;var ye=new Set,it=(d={})=>{let f=d.ignoreAttribute;return{...d,ignoreAttribute:(k,v,N)=>ye.has(k)||Xe(k,v)||Ye(v,k,N)||Ze(k,v)||(f?f(k,v,N):!1),isProtected:d.isProtected||Ar,ignoreNode:d.ignoreNode||Qe}};function Ar(d){let f=window.clay?.region?.resolveRegionPolicy;if(!f||d.nodeType!==1)return!1;let k=f(d);if(k.undoable!==!1||k.persist==="none")return!1;let v=d.parentElement;return!v||f(v).undoable!==!1}var Vr=w.create.bind(w);w.create=d=>Vr(it(d));var we=null,Er=w.setRecording.bind(w);w.setRecording=d=>(we=d??null,Er(d));var tt=()=>w.history.at(-1)?.id??null,Nr=w.command.bind(w);w.command=(d,f)=>{let k=Nr(d,f);return k&&re(),k};var xr=w.commit.bind(w),rt=!1;w.commit=(d,f)=>{!rt&&window.clay?.effect?.running&&(rt=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let k=tt(),v=xr(d,f);return(v||tt()!==k)&&re(),v};var Pr=`input${te}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${te}, select${te}`;function Ir(){let d=f=>window.clay?.region?.resolveRegionPolicy?.(f)?.undoable!==!1;document.querySelectorAll(Pr).forEach(f=>{if(!d(f))return;if(f.tagName==="SELECT"){for(let C of f.options){let G=C.hasAttribute("selected");C.selected!==G&&(C.selected=G)}return}let k=(f.getAttribute("type")||"text").toLowerCase();if(f.tagName==="INPUT"&&(k==="checkbox"||k==="radio")){let C=f.hasAttribute("checked");f.checked!==C&&(f.checked=C);return}let v=f.tagName==="TEXTAREA"?f.getAttribute("data-value")??f.textContent:f.getAttribute("value")??"";if(f.value===v)return;let N=f===document.activeElement,W,X;try{W=f.selectionStart,X=f.selectionEnd}catch{}if(f.value=v,N&&W!=null)try{f.setSelectionRange(Math.min(W,v.length),Math.min(X,v.length))}catch{}})}var nt=d=>{d?.ok&&(re(),Ir())},ot=({entryId:d,label:f,direction:k,code:v})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:v,entryId:d,label:f,direction:k}})),Sr({ok:!1,code:v,entryId:d,label:f,direction:k})},he=null;function at(){return he??=import("../c-JWDCQL6J.js").catch(d=>(he=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),he}async function Sr(d){let f={ok:!1,code:"unavailable"};try{let v=await at();v&&(f=await v.keepRefusal(w,d))}catch{f={ok:!1,code:"error"}}let k=f?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:f?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:k}))}var ve=(d,f)=>(...k)=>at().then(v=>v?v[d](...k):f,()=>f),Rr=ve("keep",{ok:!1,code:"unavailable"});w.ignoreAttribute=d=>{let f=String(d||"");return f?(ye.add(f),()=>{ye.delete(f)}):()=>{}};w.keep=async d=>{let f=await Rr(d);return f?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),f};w.kept=ve("kept",{ok:!1,code:"unavailable",records:[]});w.dismissKept=ve("dismissKept",{ok:!1,code:"unavailable"});var be=new Set;w.reviewActions=d=>typeof d!="function"?()=>{}:(be.add(d),()=>{be.delete(d)});w.reviewActionsFor=d=>{let f=[];for(let k of be){let v;try{v=k(d)}catch(N){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",N);continue}for(let N of Array.isArray(v)?v:[])N&&typeof N.run=="function"&&N.label&&f.push(N)}return f};var Cr=["commit","undo","redo","refused","discard","clear"],ne=()=>{let d=!!F?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&w.canUndo,canRedo:d&&w.canRedo,undo:d&&w.history.at(-1)||null,redo:d&&w.future?.[0]||null}}))},F=null;function Or(){return{started:!1,admitted:!1,subscriptions:[]}}var Mr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Tr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function jr(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,w.start(it({bindKeys:!0,...we?{recording:we}:{}}));for(let f of["undo","redo"])w.on(f,nt),d.subscriptions.push({type:f,handler:nt});w.on("refused",ot),d.subscriptions.push({type:"refused",handler:ot});for(let f of Cr)w.on(f,ne),d.subscriptions.push({type:f,handler:ne});ne()}},quiesce(){d.admitted&&(d.admitted=!1,w.pause())},resume(){d.admitted||(d.admitted=!0,w.resume())},dispose(){if(d.admitted=!1,F===d&&(F=null),!!d.started){d.started=!1;for(let{type:f,handler:k}of d.subscriptions.splice(0))w.off(f,k);w.stop(),ne()}}}}function qr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Lr();if(await Tr(),Mr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return jr(F||(F=Or()))}}}async function Lr(){let d=await Kr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function $r(){if(!Ge()||typeof document>"u")return null;let d=await qr().prepare();return d.enable(),d}var Kr=$r();var Gr=w;export{Gr as default,$r as init,qr as modeParticipant,Kr as ready,Ir as restoreControls,w as undo,qr as undoParticipant};
|
|
@@ -0,0 +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-VHSMPITY.js")).replace(e,t)}function B(e){import("../c-Z4G2UK6T.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-P2HKMJAW.js";import"../c-I2SCCUEW.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.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-DDS23EY6.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 le,b as ue,c as de}from"../c-Y6F2FORL.js";import{a as ce,b as V,c as lt}from"../c-HKSLOVU4.js";import{a as fe,b as pe,c as he,d as me}from"../c-OKEGUICD.js";import{b as se}from"../c-QY7F6EN6.js";import{a as ie}from"../c-HTLYXCUH.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-6Q6RGFBF.js";import"../c-SKMIR5HQ.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-LA2BW7UY.js";import"../c-MFOSMAVM.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import{b as oe,f as ae,h as Mt}from"../c-EDE45NM7.js";import{d as Qt}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as yt,f as te,h as ee,j as tt,k as ne,l as re}from"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ee="clay:visitor-drafts:",ye=1,ge=32,Ve=512*1024,We=16*1024*1024,Ze=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Oe(t){let e=2166136261;for(let r=0;r<t.length;r++)e=Math.imul(e^t.charCodeAt(r),16777619);return(e>>>0).toString(36)+"."+t.length.toString(36)}function Y(t=window.location.pathname){let r=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),l=r?r[1]:"/";return l.toLowerCase()==="/index.html"?"/":l}var Nt=t=>Ee+t,Ie=(t,e=Y())=>`${Ee}${t}@${e}`;function kt(){try{return window.localStorage}catch{return null}}var A=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function Ye(t){let e=[];for(let r of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))e.push(r[2]!==void 0?Number(r[2]):r[1]);return e}function Ge(t,e){let r=Ye(e),l=t;for(let i=0;i<r.length-1;i++)if(l=l?.[r[i]],l==null||typeof l!="object")return;l&&typeof l=="object"&&delete l[r[r.length-1]]}function q(t,e){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&t.every((r,l)=>q(r,e[l])):A(t)?A(e)&&Object.keys(t).every(r=>q(t[r],e[r])):t===e}function Z(t,e){return q(t,e)&&q(e,t)}var Le='script[type="application/json"][merge][clay~="live"]',jt="article[data-blockeditor]",we=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Ct=t=>JSON.stringify(Object.keys(t).sort().map(e=>[e,t[e]]));function gt(t){let e=t.querySelectorAll(jt);if(e.length!==1)return null;let r={};for(let l of t.querySelectorAll(Le))try{r[l.getAttribute("merge")]=JSON.parse(l.textContent)}catch{return null}return{live:r,blockeditor:{rev:e[0].getAttribute("data-rev")||"",html:e[0].innerHTML}}}var W=(t,e)=>!t||!e?t===e:t.blockeditor.rev===e.blockeditor.rev&&Ct(t.live)===Ct(e.live),ve=t=>A(t?.live)&&A(t?.blockeditor)?`${t.blockeditor.rev}:${Oe(Ct(t.live))}`:null;function wt(t){if(!A(t?.live)||!A(t?.blockeditor))return null;let{live:e,blockeditor:r}=t;return!Object.keys(e).length||typeof r.rev!="string"||typeof r.html!="string"?null:{live:e,blockeditor:r}}var et=t=>Array.isArray(t)&&t.every(e=>A(e)&&(typeof e.id=="string"||typeof e.id=="number"))&&new Set(t.map(e=>e.id)).size===t.length;function ut(t,e,r=!1){if(A(t)&&A(e)){let l={...t};for(let i of Object.keys(e))i in t?l[i]=ut(t[i],e[i]):r||(l[i]=e[i]);return l}if(et(t)&&et(e)){let l=new Map(e.map(i=>[i.id,i]));return t.map(i=>l.has(i.id)?ut(i,l.get(i.id)):i)}return t}var be=(t,e)=>t.length===e.length&&t.every((r,l)=>r===e[l]);function Xe(t,e,r){let l=c=>new Map(c.map(k=>[k.id,k])),i=l(t),b=l(e),w=l(r),u=c=>c.filter(k=>i.has(k.id)&&b.has(k.id)&&w.has(k.id)).map(k=>k.id),v=u(t);if(!be(v,u(e))||!be(v,u(r)))return null;for(let[c,k]of i)if(b.has(c)&&!w.has(c)&&!Z(b.get(c),k)||!b.has(c)&&w.has(c)&&!Z(w.get(c),k))return null;let a=!1,m=[];for(let c of e){if(i.has(c.id)&&!w.has(c.id))continue;if(!w.has(c.id)){m.push(c);continue}let k=vt(i.get(c.id),c,w.get(c.id),!0);a||=k.conflict,m.push(k.value)}return r.forEach((c,k)=>{if(i.has(c.id)||b.has(c.id))return;let S=0;for(let M=k-1;M>=0;M--){let L=m.findIndex(O=>O.id===r[M].id);if(L!==-1){S=L+1;break}}m.splice(S,0,c)}),{value:m,conflict:a}}function vt(t,e,r,l){if(Z(e,r)||Z(r,t))return{value:e,conflict:!1};if(Z(e,t))return{value:r,conflict:!1};if(A(e)&&A(r)){let i={},b=!1;for(let w of new Set([...Object.keys(e),...Object.keys(r)])){let u=vt(A(t)?t[w]:void 0,e[w],r[w],l);b||=u.conflict,u.value!==void 0&&(i[w]=u.value)}return{value:i,conflict:b}}if(l&&et(t)&&et(e)&&et(r)){let i=Xe(t,e,r);if(i)return i}return{value:e,conflict:!0}}function bt(t,e=new Map){if(Array.isArray(t)){if(et(t))for(let r of t)e.set(r.id,(e.get(r.id)||0)+1);for(let r of t)bt(r,e)}else if(A(t))for(let r of Object.values(t))bt(r,e);return e}function ke(t,e,r){let l=vt(t,e,r,!0),i=bt(e);for(let[b,w]of bt(l.value))if(w>1&&w>(i.get(b)||0))return vt(t,e,r,!1);return l}function _(t,e){tt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:e}}));let r=new Error("Couldn't save in this browser. Storage is full or turned off.");return r.code="draft-storage",r}var Se=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function xe(t,{path:e=Y(),storage:r=kt()}={}){let l=Nt(t),i=Ie(t,e),b=i+":legacy";try{let w=r?.getItem(i),u=r?.getItem(l);if(u==null){let c=r?.getItem(l+":ui");return c!=null&&r.getItem(i+":ui")==null&&r.getItem(i+":ui-legacy")==null&&(r.setItem(i+":ui",c),r.setItem(i+":ui-legacy","1")),"none"}let v=Se(u),a=r.getItem(b);if(a===v)return"none";let m=r.getItem(i);if(m!==w)return"none";if(m==null||a!=null&&Se(m)===a?r.setItem(i,u):m!==u&&(r.setItem(i+":conflict",u),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),a==null){let c=r.getItem(l+":ui");c!=null&&r.getItem(i+":ui")==null&&r.setItem(i+":ui",c)}return r.setItem(b,v),"copied"}catch{return"failed"}}function Qe(t){if(!A(t)||!("site"in t))return t;let{site:e,...r}=t;return r}function Ae({doc:t=document,storage:e=kt(),now:r=()=>new Date,path:l=Y(),fallback:i=null,slotLimit:b=Ve,pendingLimit:w=We}={}){let u=yt(t),v=Ie(u,l),a=Qe(ce.findRulesIn(t,"api").rules),m=null,c=null,k=null,S=null,M=!0,L=null,O=!1,j=null,$,N=null,D=null,G=()=>{$===void 0&&($=gt(t))};function rt(n){return n?(G(),$?n.blockeditor.rev!==$.blockeditor.rev||Object.keys(n.live).some(s=>!we(s)&&JSON.stringify(n.live[s])!==JSON.stringify($.live[s]))||N||D?n:null:n):null}function ft(n){if(t.querySelector(jt)||t.readyState!=="loading")return n();t.addEventListener("DOMContentLoaded",n,{once:!0})}function ot(n){G();let o=t.querySelector(jt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Le)].map(p=>[p.getAttribute("merge"),p]));for(let[p,y]of s)we(p)&&!(p in n.live)&&y.remove();for(let[p,y]of Object.entries(n.live)){let E=s.get(p);E||(E=t.createElement("script"),E.setAttribute("type","application/json"),E.setAttribute("merge",p),E.setAttribute("clay","live"),o.parentNode.insertBefore(E,o)),E.textContent=JSON.stringify(y).replace(/</g,"\\u003c")}return!0}let B=Ze,H=v+":reset";function Ot(){try{return"root:"+(e?.getItem(H)??"")}catch{return"root:"}}let at=n=>"legacy:"+Oe(n);function pt(n,o){return n?n.id?Array.isArray(n.ancestry)?[n.id,...n.ancestry].slice(0,ge):null:[at(o)]:null}function ht(n){if(!j||j.raw!==m||!j.ancestry||!n?.id||n.id===j.id)return!1;let o=n.ancestry;return!Array.isArray(o)||o.includes(j.id)?!1:o.includes(j.ancestry[0])||o.length>=ge}function J(){try{if(!e)return null;let n=e.getItem(v);return n==null&&i?e.getItem(i):n}catch{return null}}function d(n){try{let o=JSON.parse(n);if(A(o)&&o.v===ye&&A(o.data))return o}catch{}return null}function x(){let n=J();return n==null?null:{raw:n,record:d(n)}}function I(){return V(t,a)}function X(){let n=window.clay?.getHTML;return typeof n!="function"?I():V(new DOMParser().parseFromString(n.call(window.clay),"text/html"),a)}function _t(){try{if(typeof e.keys=="function")return e.keys();let n=[];for(let o=0;o<e.length;o++)n.push(e.key(o));return n}catch{return[]}}function Pe(){try{return JSON.stringify(X())}catch{return null}}function Q(n,{keepSlot:o=!1}={}){let s=_t().find(y=>y.startsWith(v+":unreadable:")&&e.getItem(y)===n);if(s){if(L=null,!o)try{e.removeItem(v)}catch{}return s}let p=v+":unreadable:"+r().toISOString();try{e.setItem(p,n)}catch{return L=n,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(L=null,!o)try{e.removeItem(v)}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",p),p}function Bt(n){let o=ut(JSON.parse(JSON.stringify(n)),I(),!0),s=[];for(let p=0;p<4;p++){let y=t.cloneNode(!0);try{lt(y,o,a)}catch(g){let F=g?.details?.unknownKeys??g?.unknownKeys;if(Array.isArray(F)&&F.length){for(let P of F)Ge(o,P);continue}let st=Object.keys(o).filter(P=>{try{return lt(t.cloneNode(!0),{[P]:o[P]},a),!1}catch{return!0}});if(!st.length)return null;for(let P of st)delete o[P];s.push(...st);continue}let E=V(y,a),T=Object.keys(o).filter(g=>!q(o[g],E[g]));if(!T.length)return{data:o,dropped:s};for(let g of T)delete o[g];s.push(...T)}return null}function It({raw:n,record:o}){let s=Q(n);return s||(m=n),c=I(),S=o?.data??c,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let $t=()=>k??=I();function Ue(n=x()){if($t(),!n)return c=S=k,ft(G),{restored:!1,hadDraft:!1};if(M=!1,!n.record)return It(n);let o=wt(n.record),s=Object.keys(n.record.data).length>0,p=s?Bt(n.record.data):{data:{},dropped:[]},y=!!p&&(!s||Object.keys(p.data).length>0);if(!o&&!y||!o&&!s)return It(n);if(s&&y&<(t,p.data,a),o&&(ft(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),Q(n.raw,{keepSlot:!0}))}),N=o,D=o),m=n.raw,c=I(),S=n.record.data,!y||p.dropped.length){let E=Q(n.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:y?p.data:{},partial:!0,parked:!!E,blocked:!E}}return{restored:!0,hadDraft:!0,data:p.data}}function it(){if(O)return!1;try{let n=window.clay?.getHTML;if(typeof n!="function")return!q(I(),c);let o=new DOMParser().parseFromString(n.call(window.clay),"text/html"),s=rt(gt(o));return!q(V(o,a),c)||!W(s,N)&&!W(s,D)}catch{return!0}}function Jt(n){let o=v+":conflict";try{e.setItem(o,n)}catch(s){throw _(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Re(n){let o=J(),s=o==null?null:d(o);if(!s)return{data:n,stored:null,ancestry:[Ot()],parentData:c};let p=n;if(o!==m){let y=ke(ht(s)?j.parentData:c,n,s.data);y.conflict&&Jt(o),p=y.value}return p=ut(p,s.data),{data:p,stored:Z(p,s.data)?o:null,ancestry:pt(s,o),parentData:s.data}}function Lt(n){let o=Bt(n);if(!o||!Object.keys(o.data).length)return null;lt(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 f={id:B(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{f.reset=e?.getItem(H)??""}catch{}try{let n=JSON.parse(window.sessionStorage.getItem(v+":generation"));n?.marker===f.reset&&typeof n.reset=="string"&&(f.reset=n.reset)}catch{}let xt=`${v}:op:${f.id}`,Ft=()=>({tab:f.id,reset:f.reset,acked:f.acked,at:r().getTime(),ops:f.ops});function At(){try{if(!f.ops.length){f.journaled=f.seq,e.removeItem(xt);return}let n=JSON.stringify(Ft());if(n.length>b)return;e.setItem(xt,n),f.journaled=f.seq}catch{}}let Kt=null;function zt(n){if(O)return null;if(L!=null&&Q(L,{keepSlot:!0})===null)throw _(t,new Error("an earlier saved copy could not be kept aside"));if(f.sizes.reduce((g,F)=>g+F,0)>=w)throw _(t,new Error("too many changes are waiting to be saved"));let o=new DOMParser().parseFromString(n,"text/html"),s=V(o,a),p=rt(gt(o)),y=!W(p,N),E={};for(let g of Object.keys(s))g in c&&q(s[g],c[g])||(E[g]=g in S?{b:S[g],m:ut(s[g],S[g])}:{m:s[g]});if(!Object.keys(E).length&&!y)return f.ops.length||(tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}}))),null;f.ops.length||(Kt={base:c,editorUnit:N,seenUnit:D});let T={seq:++f.seq,savedAt:r().toISOString(),keys:E,...y&&{unit:{seen:ve(D),to:p}}};c={...c},S={...S};for(let g of Object.keys(E))c[g]=s[g],S[g]=E[g].m;return y&&(N=D=p),M=!1,f.ops.push(T),f.sizes.push(JSON.stringify(T).length),At(),T}function He(){if(O)return!0;try{it()&&zt(window.clay.getHTML())}catch{return!1}return f.journaled===f.seq}function qe(n){if(n<=f.acked)return!1;f.acked=n;let o=f.ops.filter(s=>s.seq<=n).length;return f.ops.splice(0,o),f.sizes.splice(0,o),At(),o>0}function Vt(){f.ops.length=0,f.sizes.length=0,At()}function _e(){f.ops.length&&({base:c,editorUnit:N,seenUnit:D}=Kt),Vt()}function Be(n){let o=Object.fromEntries(Object.entries(n).filter(([p,y])=>!Z(y,S[p])));if(!Object.keys(o).length)return!1;let s=Lt(o);return S={...S,...o},s&&(c={...c,...s}),M=!1,!0}function Wt({keepPending:n=!1}={}){O=!0,n||Vt()}let Zt=()=>_t().filter(n=>n.startsWith(v+":op:"));function Yt(n){if(O)return null;if(L!=null&&Q(L,{keepSlot:!0})===null)throw _(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(n,"text/html"),s=V(o,a),p=rt(gt(o)),y=!W(p,N),E=J();if(q(s,c)&&!y&&(E===m||E==null))return tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:T,stored:g,ancestry:F,parentData:st}=Re(s),P=E==null?null:d(E),Tt=wt(P),ct=y?p:P?Tt:p;y&&P&&!W(Tt,D)&&Jt(E);let Gt=B(),mt=g&&W(ct,Tt)?g:JSON.stringify({v:ye,savedAt:r().toISOString(),id:Gt,ancestry:F,reset:f.reset,data:T,...ct&&{live:ct.live,blockeditor:ct.blockeditor}});if(mt!==g){try{if(!e)throw new Error("no storage");e.setItem(v,mt)}catch(z){throw _(t,z)}j={id:Gt,ancestry:F,parentData:st,raw:mt}}let Xt=Object.keys(s).filter(z=>!q(s[z],T[z]));return Xt.length&&Lt(Object.fromEntries(Xt.map(z=>[z,T[z]]))),m=mt,c=T,y&&(N=p),(y||!P)&&(D=ct),tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:T}})),T}function Dt(){try{return Yt(window.clay.getHTML()),!0}catch{return!1}}function $e(){return O||!it()?!0:Dt()}function Je(){if(O)return!1;let n=J();if(n==null&&m!=null&&!it())return O=!0,window.location.reload(),!0;if(n==null||n===m||it())return!1;let o=d(n);if(ht(o)&&typeof window.clay?.getHTML=="function")return Dt();let s=o&&Lt(o.data);return!s&&!wt(o)?!1:(m=n,c={...c,...s||{}},!0)}function Fe(n){if(O)return null;if(n===void 0){let s=J();n=s==null?null:d(s)}let o=wt(n);return o&&!W(o,D)?o:null}function Ke(n){D=n}function ze(){Wt(),L=null,tt(!1);try{e.removeItem(v)}catch{}let n=/^(\d+)~/.exec(f.reset),o=n?Number(n[1]):f.reset===""?1:null;try{e.setItem(H,o===null?B():`${o+1}~${B()}`)}catch{}}return{slot:u,key:v,rules:a,read:x,restore:Ue,write:Yt,writeLive:Dt,flush:$e,changed:it,adoptExternal:Je,externalUnit:Fe,adoptedUnit:Ke,park:Q,clear:ze,snapshot:Pe,tab:f.id,slotKey:xt,chain:Ft,capture:zt,keep:He,acknowledge:qe,release:_e,take:Be,stop:Wt,journalSlots:Zt,seed:$t,merge3:ke,unitMark:ve,newId:B,failed:n=>_(t,n),generation:()=>f.reset,enter:n=>{f.reset=n},fresh:()=>M,shown:()=>c!==null,pending:()=>f.ops.length,unsafe:()=>f.journaled<f.seq,stopped:()=>O,held(){try{let n=JSON.parse(J());return A(n)?n:null}catch{return null}},kept:()=>!!x()||f.ops.length>0||Zt().length>0}}function De(t,e){let r=`${t}:ui`,l=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=l();try{let b=JSON.parse(e?.getItem(r)||"null");b&&typeof b=="object"&&b.v===1&&(i={...l(),...b})}catch{}return{get:()=>i,save(){try{e?.setItem(r,JSON.stringify(i))}catch{}},reset(){i=l();try{e?.removeItem(r)}catch{}}}}var tn=/^[a-z0-9][a-z0-9-]{0,39}$/;function Te(t,e=window.location.search){let r=t.get(),l=null;try{l=new URLSearchParams(e).get("src")}catch{}return!r.src&&l&&tn.test(l)&&(r.src=l,t.save()),r.src}function Me(t,e=window.location){let r=Y(e.pathname);return`/_/download${r==="/"?"":r}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var en=`<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 je({memory:t,appName:e,link:r,settle:l,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:b}=await import("../c-SGIA4IEQ.js"),u=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!u){let d=document.createElement("template");d.innerHTML=en,u=d.content.firstElementChild,se({name:"download-prompt",content:u,css:[b],attributes:{"sap-ignore":""}})}let v=t.get();(!v.prompt||typeof v.prompt!="object")&&(v.prompt={});let a=v.prompt,m=3,c=2500,k=/^(INPUT|TEXTAREA|SELECT)$/,S="#hcp, .clay-intro, .clay-owner",M=u.querySelector("[data-hcp-link]");M.href=r,e&&(u.querySelector("[data-hcp-name]").textContent=e);let L=u.querySelector("[data-hcp=open]");function O(d,x){u.hidden=!1,u.setAttribute("data-hcp-state",d),x&&u.setAttribute("data-hcp-reason",x),L.setAttribute("aria-expanded",d==="card"?"true":"false"),(d==="card"||d==="mini")&&(a.shown=!0,t.save(),u.setAttribute("data-hcp-arrived","")),H()}function j(d){return d&&!u.contains(d)&&!d.closest(S)&&(k.test(d.tagName)||d.isContentEditable)}let $=null;function N(d){clearTimeout($),$=setTimeout(()=>{if(a.shown||a.dismissed||u.getAttribute("data-hcp-state")!=="tab")return;let x=document.activeElement;if(j(x)){let I=x.getBoundingClientRect(),X=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-X-32&&I.bottom>innerHeight-380)return}O("card",d)},c)}let D=[];function G(d){u.contains(d.target)||!j(d.target)||(D.indexOf(d.target)<0&&D.push(d.target),a.uses=Math.max(a.uses||0,D.length),a.shown||t.save(),D.length>=m&&N("use"))}function rt(d){j(d.target)&&(u.getAttribute("data-hcp-state")==="card"&&O(a.shown?"mini":"tab"),innerWidth<700&&u.setAttribute("data-hcp-typing",""))}function ft(){setTimeout(()=>{j(document.activeElement)||u.removeAttribute("data-hcp-typing")},50)}let ot=0,B=!1;function H(){ot||(ot=requestAnimationFrame(()=>{ot=0;let x=de(innerWidth-24,I=>u.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";u.style.getPropertyValue("--hcp-lift")!==x&&u.style.setProperty("--hcp-lift",x),B=!0,ue(),B=!1}))}async function Ot(){let d=window.clay&&window.clay.getHTML;if(typeof d!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let x=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:d(),name:x.replace(/\.html$/,".htmlclay")})}catch{return!1}}let at=!1;u.addEventListener("click",async d=>{let x=d.target.closest("[data-hcp]");if(x){let I=x.getAttribute("data-hcp");I==="open"?(O("card",u.getAttribute("data-hcp-reason")==="error"?void 0:"open"),M.focus()):I==="minimize"?(O("mini"),L.focus()):I==="dismiss"&&(u.getAttribute("data-hcp-reason")==="error"?(O("mini"),L.focus()):(a.dismissed=!0,O("mini"),L.focus()));return}if(d.target.closest("[data-hcp-link]")){if(!i())return;let I=at||u.getAttribute("data-hcp-reason")==="error";if(!I){let X=l?.();if(X){if(d.preventDefault(),await X!==!1){M.click();return}I=!0}}if(I&&(d.preventDefault(),!await Ot())){pt(),u.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}a.downloaded=!0,a.shown=!0,t.save()}}),u.addEventListener("animationend",d=>{(d.animationName==="hcp-arrive"||d.animationName==="hcp-arrive-fade")&&u.setAttribute("data-hcp-arrived","")}),u.addEventListener("keydown",d=>{d.key==="Escape"&&u.getAttribute("data-hcp-state")==="card"&&(O("mini"),L.focus())});function pt(){O("card","error")}function ht(){u.getAttribute("data-hcp-reason")==="error"&&u.setAttribute("data-hcp-reason","use")}let J={set:O,root:u,showError:pt,clearError:ht,download:(d=!1)=>{at=d;try{M.click()}finally{at=!1}}};return document.addEventListener("input",G,!0),document.addEventListener("change",G,!0),document.addEventListener("focusin",rt),document.addEventListener("focusout",ft),addEventListener("scroll",H,{passive:!0}),addEventListener("resize",H),document.addEventListener(le,()=>{B||H()}),document.addEventListener("transitionend",H,!0),u.addEventListener("transitionend",H),O(a.shown||a.dismissed?"mini":"tab"),!a.shown&&(a.uses||0)>=m&&N("return"),J}var h=null,U=null,C=!0,Ne=!1,nt=Promise.resolve(),K=!1,R=null,Rt=fe,Ht=null,qt=Promise.resolve(),Pt=Promise.resolve(),St=()=>!0,Et=()=>null,nn=3e3;function Ce(){return import("../c-XW5TIYYB.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function rn(t){return t.template?import("../c-VBXRXTVS.js").then(e=>e.mountIntro(t)).catch(e=>(console.warn("visitor-drafts: the intro did not load",e),null)):Promise.resolve(null)}var dt=yt(),Ut=document.querySelector('script[data-rules-name~="api"]');if(oe&&dt&&Ut){let i=function(a){R={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:R}));let m=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",c=document.querySelector("template[visitor-intro]"),k=()=>{qt=je({memory:l,appName:m,link:Rt,settle:()=>Et(),canDownloadCurrent:()=>!K&&!R.blocked}).then(S=>rn({memory:l,template:c,appName:m,hadDraft:a.hadDraft||h.kept()}).then(()=>S)).then(S=>(document.addEventListener("clay:drafts-store-failed",()=>S.showError()),document.addEventListener("clay:drafts-saved",()=>S.clearError()),ne()&&S.showError(),(Mt?Ce():Promise.resolve(null)).then(()=>S)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",k,{once:!0}):k()},t=Y(),e=xe(dt,{path:t}),r=kt();h=Ae({path:t,fallback:e==="failed"?Nt(dt):null}),C=!(typeof globalThis.indexedDB?.open=="function"&&globalThis.IDBKeyRange),Ne=!C,nt=C?Promise.resolve():import("../c-EILLN2H2.js").then(a=>a.openSession({store:h,storage:r,reload:()=>ie({isCurrent:()=>!0,reload:()=>window.location.reload()})})).then(a=>{U=a},()=>{C=!0}),te(a=>{let m=!R;return Pt.then(()=>{if(K)throw _(document,new Error("the draft database did not open"));return m&&(a=window.clay.getHTML()),C?void h.write(a):(h.capture(a),nt.then(()=>{if(U)return U.sync().then(()=>{});h.write(a)}))})});let l=De(h.key,r);Ht=Te(l),Rt=Me(Ht),St=()=>{if(K)return!1;if(!R)return!0;if(C)return h.flush();let a=h.keep();return U?.hide(),a},ee(St),re(()=>!C&&h.unsafe()),Et=()=>{if(K)return Promise.resolve(!1);if(!R)return Pt.then(()=>Et());if(C)return h.flush()?null:Promise.resolve(!1);let a=h.keep();if(!h.pending())return a?null:Promise.resolve(!1);let m=nt.then(()=>U?U.sync().then(()=>!0):h.flush()).catch(()=>!1),c;return Promise.race([m,new Promise(k=>{c=setTimeout(()=>k(!1),nn)})]).finally(()=>clearTimeout(c))},document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&St()}),window.addEventListener("pagehide",St);let b=()=>{if(!C||K||!R)return;let a=h.externalUnit();a&&document.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:a.live,adopted:()=>h.adoptedUnit(a)}})),h.adoptExternal()};window.addEventListener("storage",a=>{a.key===h.key&&b()}),document.addEventListener("clay:drafts-blockeditor-listening",b),window.addEventListener("pageshow",a=>{a.persisted&&b()});let w=h.held(),u=w?.v===2&&w.idb===!0,v=!C&&w?.v===1&&w.w===void 0&&h.generation()!=="";u||v||!C&&w?.w&&w.w.reset!==h.generation()?Pt=nt.then(()=>U?.first).then(a=>{if(a)return i(h.restore(a.record&&{raw:JSON.stringify(a.record),record:a.record}));throw new Error("the draft database did not open")}).catch(a=>{if(!u){if(!v)try{r?.removeItem(h.key)}catch{}return i(h.restore())}K=!0,_(document,a),i({restored:!1,hadDraft:!0,blocked:!0})}):(i(h.restore()),nt.then(()=>{U||(h.release(),h.flush())}))}else if(!dt||!Ut){let t=[];dt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Ut||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else Mt&&ae&&!Qt()&&(qt=Ce());var En=h?{active:!0,slot:h.slot,key:h.key,hasDraft:()=>h.kept(),restored:()=>R,saveNow(){if(K||!R)return!1;if(C)return h.writeLive();try{h.capture(window.clay.getHTML())}catch{return!1}return U?.sync().catch(()=>{}),!h.unsafe()},reset(){return Ne?(nt.then(()=>{if(U)return U.startOver();if(C&&!K)return h.clear();throw new Error("the draft database did not open")}).then(()=>window.location.reload(),t=>_(document,t)),!0):(h.clear(),window.location.reload(),!0)},onRestore(t){return R?(t(R),!0):(document.addEventListener("clay:drafts-restored",e=>t(e.detail),{once:!0}),!1)},editOriginal:pe,backToDraft:he,downloadUrl:()=>Rt,download:()=>qt.then(async t=>{let e=await Et();return t?.download(e===!1)}),source:Ht}:me();export{qt as ready,Pt as restoring,En as visitorDrafts};
|
package/dist/m/plugins/{visitor-drafts-owner-Z5B2OQBR.js → visitor-drafts-owner-LHUHFU3L.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-EDE45NM7.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4NTUVDZ.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-XW5TIYYB.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-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-V2U3F4QX.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-DFKBGSN2.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-
|
|
1
|
+
import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-QQFHEODI.js";import"./c-IJUK2GPW.js";import{a as S,b as f,c as r,f as u,g as n,h as b,j as T,o as q}from"./c-EDE45NM7.js";import{c as j,e as $}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4NTUVDZ.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as U,s as V}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as k}from"./c-VHNSBD2M.js";var C={};k(C,{activateInitialMode:()=>Ee,canEdit:()=>r,default:()=>Le,init:()=>N,isEditMode:()=>u,isOwner:()=>b,mode:()=>n,modeLifecycle:()=>be,noteLiveSwitch:()=>xe,setMode:()=>y,setPageTypeOnPageLoad:()=>X,toggleEditMode:()=>Y});var A=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return q(e)},be={register:ve,canWrite:()=>T().phase==="idle"&&u,get state(){return Object.freeze(T())}},L=null,G=()=>L||=import("./c-HL6BLJNA.js").catch(()=>L=null),M=null,xe=e=>{M=e};async function Ee(){if(u)try{await(await G()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var p=null;async function y(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(p)return p.target===e?p.promise:{ok:!1,mode:n,code:"busy"};if(e===n&&!L)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=ke(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function ke(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==n){let o;try{o=await t(e)}catch{return{ok:!1,mode:n,code:"host-failed"}}if(o?.reason!=="host-unsupported")return o?.ok?(A=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Se():!r&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:J(e)}async function Se(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-X4BENZEU.js"),o=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:n,code:"cancelled"}:o===!1?{ok:!1,mode:n,code:"permission-denied"}:r?J("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function J(e){if(M){let t=await G(),o=t&&await t.switchMode(e,M);if(o)return o}if(e===n)return{ok:!0,mode:n,changed:!1};if(n==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(o){return{ok:!1,mode:n,code:"save-failed",state:o?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:n,code:"save-failed",state:t.state}}return A=!0,S({mode:e,canEdit:r,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Te(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var Y=()=>f?Te():y(n==="edit"?"view":"edit");function De(){!r||f||window.addEventListener("pagehide",()=>{A||S({mode:n,canEdit:r,internal:!1})})}function B(){r?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function X(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),B(),document.addEventListener("clay:capabilitychange",B),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function N(){X(),De()}N();var Le={init:N,setMode:y,toggleEditMode:Y,isEditMode:u,isOwner:b,canEdit:r,mode:n};var ae={};var Q=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Me=Q?"\u2318\u21E7E":"Ctrl+Shift+E",Ae=`.clay-mode-note {
|
|
2
2
|
position: fixed;
|
|
3
3
|
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
4
4
|
bottom: calc(16px + env(safe-area-inset-bottom, 0px));
|
|
@@ -74,4 +74,4 @@ import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";i
|
|
|
74
74
|
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
75
75
|
max-width: none;
|
|
76
76
|
}
|
|
77
|
-
}`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-
|
|
77
|
+
}`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-TFLRT5JX.js"),import("./c-46LJAZZJ.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-FFHCQ5DR.js");return e?x("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function le({supports:e=H,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:ue=document,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe}={}){let g=null,w=null;function we(c){g=c}async function ye(c){let v=await de();if(v)throw v;if(!await e(Fe))throw x("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Be(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(E){throw Object.assign(x("DataReadFailed",E?.message||"Could not read page data."),{cause:E})}if(!l.ok)throw await He(l);return{data:await ce(l),etag:We(l)}}function he(){return w||(w=import("./c-PCNJETUA.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:ue,getLiveSync:()=>g,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe})).catch(c=>{throw w=null,c}),w)}async function ge(c,v){let l=await de();if(l)throw l;if(!await e(ze))throw x("DataWriteUnsupported","This host does not support writing page data.");return(await he()).writeData(c,v)}return{readData:ye,writeData:ge,setLiveSync:we}}var _=le(),Ge=_.readData,Je=_.writeData,Ye=_.setLiveSync;var lt={"lib/mutation.js":F,"core/preserve-authored.js":z,"core/edit-mode.js":C,"core/mode-key.js":ae,"core/stale-host-notice.js":O,"core/page-data.js":K};export{lt as core};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-SGH3UTF3.js";import{f as b}from"../c-UOOIF2AL.js";import"../c-LZJPNR2W.js";import"../c-QTTJYJMA.js";import"../c-5VYOWDTI.js";import"../c-6Q6RGFBF.js";import"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.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-IUL7PU4P.js";import{b as d}from"../c-UOUUI265.js";import"../c-QHWJ5ZIJ.js";import{a as s,b as o,c as i}from"../c-SXNSSHPP.js";import"../c-UL2YUY52.js";import"../c-QY7F6EN6.js";import"../c-ESK4S67I.js";import"../c-MR75YPRT.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};
|