@panphora/clayjs 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +1 -1
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +72519 -59839
- package/dist/m/attrs/refetch-on-save-ZUE7PSCI.js +1 -0
- package/dist/m/attrs/save-freeze-LWGF6XUN.js +1 -0
- package/dist/m/c-2GRUM77Q.js +30 -0
- package/dist/m/c-2KIEGNC4.js +1 -0
- package/dist/m/{c-5R4PTRG2.js → c-2KL3BD52.js} +1 -1
- package/dist/m/c-2YYDMLNZ.js +1 -0
- package/dist/m/c-2ZZBC45O.js +1 -0
- package/dist/m/c-372N6H3B.js +1 -0
- package/dist/m/{c-4WKFKEKF.js → c-3G2DGZUP.js} +1 -1
- package/dist/m/c-3LDGIBMN.js +1 -0
- package/dist/m/c-3O7OBDCM.js +1 -0
- package/dist/m/c-4ASQPRQL.js +1 -0
- package/dist/m/c-4TXNLX4K.js +6 -0
- package/dist/m/c-4YU3BR4D.js +6 -0
- package/dist/m/c-5734MF2P.js +1 -0
- package/dist/m/c-57XDY6HC.js +1 -0
- package/dist/m/{c-VFX45IZQ.js → c-5B4YBZXC.js} +1 -1
- package/dist/m/c-5ONTYIUI.js +1 -0
- package/dist/m/c-5OOVFCJM.js +1 -0
- package/dist/m/c-5T6NZHNM.js +1 -0
- package/dist/m/{c-YDH7Q3NY.js → c-5ZQV7KC4.js} +1 -1
- package/dist/m/{c-Z36J63PP.js → c-6DB2OLRJ.js} +1 -1
- package/dist/m/c-6DNRCPNM.js +1 -0
- package/dist/m/c-6UGWFMQC.js +2 -0
- package/dist/m/c-7K4SCQB7.js +1 -0
- package/dist/m/c-7MG5RU63.js +1 -0
- package/dist/m/c-7PRJCA3E.js +1 -0
- package/dist/m/c-A6L3FMUS.js +1 -0
- package/dist/m/c-AMU3BPPR.js +4 -0
- package/dist/m/c-AMYEFA2E.js +1 -0
- package/dist/m/c-AQYCG7QW.js +1 -0
- package/dist/m/c-ATKAOH23.js +1 -0
- package/dist/m/c-B3JM5ZXC.js +1 -0
- package/dist/m/c-B5CS55WR.js +1 -0
- package/dist/m/c-B5UJQT7W.js +1 -0
- package/dist/m/c-B7J4K2AE.js +3 -0
- package/dist/m/c-BHZYSHW4.js +1 -0
- package/dist/m/c-BIJALSRD.js +1 -0
- package/dist/m/c-BJ7YQ5QZ.js +1 -0
- package/dist/m/c-BPF2NSPV.js +1 -0
- package/dist/m/{c-KIPQJX4B.js → c-BRLCTNMC.js} +1 -1
- package/dist/m/c-BUAYFEV5.js +1 -0
- package/dist/m/c-C6IPRG34.js +1 -0
- package/dist/m/{c-2JL6E75N.js → c-CAS3NND4.js} +1 -1
- package/dist/m/{c-4DRMS4QG.js → c-CCQ25GFY.js} +1 -1
- package/dist/m/c-CJFDLD43.js +1 -0
- package/dist/m/c-COPTL5WB.js +1 -0
- package/dist/m/c-D3E4WJ4M.js +166 -0
- package/dist/m/c-D5IKEKXW.js +7 -0
- package/dist/m/c-DHBRA6DL.js +1 -0
- package/dist/m/c-DKLS74XB.js +72 -0
- package/dist/m/c-DVYGFTSK.js +3 -0
- package/dist/m/c-E3ZXARWA.js +1 -0
- package/dist/m/c-EK63G3CG.js +1 -0
- package/dist/m/c-ERQSNR6K.js +13 -0
- package/dist/m/c-EVYAISP3.js +1 -0
- package/dist/m/c-EXKHPOVC.js +3 -0
- package/dist/m/{c-7VGZ7RU5.js → c-FWKHM4E7.js} +1 -1
- package/dist/m/{c-4Q2XTQ2N.js → c-GBKB5WDL.js} +1 -1
- package/dist/m/c-GNDL3TKB.js +1 -0
- package/dist/m/c-GRWMD6O5.js +1 -0
- package/dist/m/c-GRXHHFPO.js +1 -0
- package/dist/m/{c-OYTFP5QN.js → c-GY422N3Q.js} +1 -1
- package/dist/m/c-HAWFNBYG.js +1 -0
- package/dist/m/c-HG2C77BM.js +4 -0
- package/dist/m/c-HHGJBU4D.js +1 -0
- package/dist/m/c-HMV6P4RX.js +1 -0
- package/dist/m/c-HMYWIHFG.js +1 -0
- package/dist/m/c-HT2DKBV2.js +1 -0
- package/dist/m/c-I2SCCUEW.js +1 -0
- package/dist/m/{c-HRDCD3WN.js → c-ICJYHABF.js} +2 -2
- package/dist/m/c-IMZCWYHR.js +7 -0
- package/dist/m/c-IVMD3FEM.js +1 -0
- package/dist/m/c-IVTRVENZ.js +1 -0
- package/dist/m/c-IW6GGOU2.js +1 -0
- package/dist/m/c-JKZJIUIP.js +1 -0
- package/dist/m/{c-NZMNXVF6.js → c-JNLX3RJB.js} +1 -1
- package/dist/m/c-JRKY44DK.js +1 -0
- package/dist/m/c-K3ADYNLU.js +1 -0
- package/dist/m/c-KBS3UV6B.js +1 -0
- package/dist/m/c-KGHVFRR3.js +1 -0
- package/dist/m/c-KJJPV77R.js +1 -0
- package/dist/m/{c-CZUSOB7V.js → c-KNPDOMDY.js} +1 -1
- package/dist/m/{c-5Y6TNX5W.js → c-KP64LT2A.js} +2 -2
- package/dist/m/c-KQ7E3PYY.js +1 -0
- package/dist/m/c-L3F5ZLIV.js +1 -0
- package/dist/m/{c-LR4CGEPT.js → c-L42OLXWM.js} +3 -2
- package/dist/m/c-L5VFATT6.js +1 -0
- package/dist/m/c-L7JL5TL3.js +3 -0
- package/dist/m/c-LKSL4AUJ.js +1 -0
- package/dist/m/c-M6FNQCTQ.js +1 -0
- package/dist/m/c-MCOOHCSG.js +1 -0
- package/dist/m/c-MHI3GYKF.js +1 -0
- package/dist/m/c-MWXFLW4J.js +1 -0
- package/dist/m/c-NEL7HQW3.js +1 -0
- package/dist/m/c-NQJRVJ56.js +1 -0
- package/dist/m/c-NWX3MFT4.js +1 -0
- package/dist/m/{c-HPURYVZS.js → c-OJYM642Q.js} +1 -1
- package/dist/m/c-OKXI52N7.js +1 -0
- package/dist/m/{c-MMUIUUZG.js → c-OPLUZR3A.js} +1 -1
- package/dist/m/{c-J7CA54IP.js → c-OTMKN2OO.js} +1 -1
- package/dist/m/{c-LTGMXXKO.js → c-OYRZ7XG2.js} +1 -1
- package/dist/m/c-P3OFYUMA.js +1 -0
- package/dist/m/c-PLN76GF3.js +6 -0
- package/dist/m/c-PLP4JKFC.js +1 -0
- package/dist/m/c-Q26MME6N.js +1 -0
- package/dist/m/{c-S7H2DRCB.js → c-Q3XOWZEV.js} +1 -1
- package/dist/m/{c-SWRJFCNN.js → c-QIKT6SKM.js} +1 -1
- package/dist/m/c-QIXT3Q7C.js +28 -0
- package/dist/m/c-QO4HNGCQ.js +1 -0
- package/dist/m/c-R27DWQKX.js +1 -0
- package/dist/m/{c-HVYXIS72.js → c-R2XUODVY.js} +1 -1
- package/dist/m/{c-QNKREOL6.js → c-R7LBFMF5.js} +1 -1
- package/dist/m/c-RND3G2S2.js +1 -0
- package/dist/m/c-S2U6NJU4.js +1 -0
- package/dist/m/c-SPZPGD3R.js +1 -0
- package/dist/m/c-SW4YEG2D.js +8 -0
- package/dist/m/c-SZGYW5HT.js +1 -0
- package/dist/m/c-T637T7SN.js +1 -0
- package/dist/m/c-TJAXGIRV.js +1 -0
- package/dist/m/{c-KKWLDOPM.js → c-TNEM3RNM.js} +1 -1
- package/dist/m/c-TTB5EK4S.js +32 -0
- package/dist/m/c-U7SHNWDH.js +1 -0
- package/dist/m/c-UDHIVLYH.js +20 -0
- package/dist/m/{c-BBVGTQG7.js → c-UGNV5MFB.js} +1 -1
- package/dist/m/{c-TQZ2JYHD.js → c-UORXLSD3.js} +1 -1
- package/dist/m/c-UPD33ZPE.js +1 -0
- package/dist/m/c-URSMSFCB.js +1 -0
- package/dist/m/c-UY4QX42B.js +1 -0
- package/dist/m/c-V44KWI2L.js +4 -0
- package/dist/m/c-VG5XIN4T.js +1 -0
- package/dist/m/c-VILENZTD.js +1 -0
- package/dist/m/{c-33HUYEDI.js → c-VJYEVRYK.js} +1 -1
- package/dist/m/c-VR2BJ4AN.js +1 -0
- package/dist/m/c-W4JCVLAB.js +1 -0
- package/dist/m/c-W6DQSHXI.js +135 -0
- package/dist/m/c-WBGWGOM7.js +1 -0
- package/dist/m/{c-4L3BTFRK.js → c-WCXLG3MV.js} +1 -1
- package/dist/m/c-WGW764WX.js +1 -0
- package/dist/m/c-WMRJKQ2V.js +5 -0
- package/dist/m/c-WNTYKCDG.js +1 -0
- package/dist/m/c-WQWIRWO3.js +72 -0
- package/dist/m/c-X5LNHET5.js +1 -0
- package/dist/m/c-X5TSXZYJ.js +2 -0
- package/dist/m/c-XGH4GS2T.js +1 -0
- package/dist/m/c-Y6F2FORL.js +1 -0
- package/dist/m/c-YBKHUAK7.js +10 -0
- package/dist/m/c-YBSS55KU.js +20 -0
- package/dist/m/c-YCLU4UNT.js +2 -0
- package/dist/m/c-YVZ2L7CE.js +1 -0
- package/dist/m/c-ZK4GIZH2.js +1 -0
- package/dist/m/c-ZRXJD4G6.js +1 -0
- package/dist/m/c-ZWBI4HYK.js +1 -0
- package/dist/m/{c-HT33EQRN.js → c-ZWIOJGMT.js} +1 -1
- package/dist/m/core/admin-attrs-YY7T5FGU.js +1 -0
- package/dist/m/core/autosave-S6OMNDCK.js +1 -0
- package/dist/m/core/conflict-notice-IWHMHH43.js +1 -0
- package/dist/m/core/host-permission-6EVJGNPL.js +1 -0
- package/dist/m/core/is-edit-mode-GCX6767E.js +1 -0
- package/dist/m/core/{persist-HKHA66IY.js → persist-UKXV5KLA.js} +1 -1
- package/dist/m/core/recovery-DRFZRJED.js +1 -0
- package/dist/m/core/save-LYY7K6U7.js +1 -0
- package/dist/m/core/save-core-MKRPSEEO.js +1 -0
- package/dist/m/core/snapshot-NU3YM6GR.js +1 -0
- package/dist/m/core/unsaved-warning-7QTKEN7Z.js +1 -0
- package/dist/m/events/index-RN2JNGBV.js +1 -0
- package/dist/m/internals/index-TGLQINN3.js +1 -0
- package/dist/m/lib/cache-bust-MUMFXZK6.js +1 -0
- package/dist/m/loader-3BBNZZGM.js +1 -0
- package/dist/m/manifest-F449FF98.js +1 -0
- package/dist/m/manifest-edit-4396A009.js +1 -0
- package/dist/m/manifest.json +2509 -1474
- package/dist/m/options/options-EJMS3K24.js +1 -0
- package/dist/m/page/editor-6LRB3GE4.js +304 -0
- package/dist/m/plugins/ai-edit-UTV7YO2I.js +6 -0
- package/dist/m/plugins/{cms-HP3LSTPN.js → cms-LRAOZHT7.js} +9 -9
- package/dist/m/plugins/demo-OYO5GCAO.js +1 -0
- package/dist/m/plugins/{derive-UAAA4V4S.js → derive-FRE5JJQE.js} +1 -1
- package/dist/m/plugins/indicator-4VDXWYTD.js +1 -0
- package/dist/m/plugins/live-AD4H6XSL.js +1 -0
- package/dist/m/plugins/menu-M5WW7DBF.js +1 -0
- package/dist/m/plugins/page-MD3T2ZX3.js +2 -0
- package/dist/m/plugins/page-view-PAWVZNFY.js +1 -0
- package/dist/m/plugins/people-JCHVPF7P.js +1 -0
- package/dist/m/plugins/quickcrop-BQ5YYFCH.js +26 -0
- package/dist/m/plugins/{richclay-RC3L2F6X.js → richclay-KLGETK77.js} +2 -2
- package/dist/m/plugins/sortable-4S6SQC3D.js +1 -0
- package/dist/m/plugins/source-TJXOIOYY.js +1 -0
- package/dist/m/plugins/undo-NLPGCJQY.js +1 -0
- package/dist/m/plugins/{unsent-HJFLQJ2O.js → unsent-OA4RGBUT.js} +1 -1
- package/dist/m/plugins/upgrade-HSUNDNJD.js +1 -0
- package/dist/m/plugins/upload-NHGJXZK2.js +1 -0
- package/dist/m/plugins/visitor-drafts-BW43DGY3.js +20 -0
- package/dist/m/plugins/visitor-drafts-owner-7ODQG7JX.js +1 -0
- package/dist/m/plugins/wire-VBWXEXU2.js +1 -0
- package/dist/m/reader-core-4W2KYEWQ.js +77 -0
- package/dist/m/route/route-62CHXL5B.js +1 -0
- package/dist/m/sync/live-sync-MO5DH33W.js +1 -0
- package/dist/m/ui/index-IVWN2QC4.js +1 -0
- package/dist/m/vendor/sap-core.vendor-RN4ZVY4X.js +6 -0
- package/dist/offline-manifest.json +1560 -889
- package/dist/page/themes/light-1.css +33 -8
- package/dist/server/core.cjs +1554 -311
- package/dist/server/offline-runtime.cjs +63 -63
- package/dist/server/offline-runtime.mjs +63 -63
- package/dist/server/page-compaction-worker.cjs +3710 -0
- package/dist/server/rooms.mjs +5 -0
- package/docs/guide.md +653 -101
- package/entries/sap.js +5 -5
- package/package.json +1 -1
- package/src/core/admin-contenteditable.js +5 -2
- package/src/core/admin-inputs.js +1 -0
- package/src/core/admin-onclick.js +2 -1
- package/src/core/boot-phase.js +2 -1
- package/src/core/conflict-download.js +3 -29
- package/src/core/conflict-notice-ui.js +4 -7
- package/src/core/download.js +32 -0
- package/src/core/host-meta.js +56 -0
- package/src/core/is-edit-mode.js +17 -1
- package/src/core/mode-key.js +125 -19
- package/src/core/mode-support.js +5 -0
- package/src/core/mode-transition.js +20 -6
- package/src/core/preserve-authored.js +4 -4
- package/src/core/recovery.js +121 -33
- package/src/core/save-accepted.js +33 -0
- package/src/core/save-core.js +111 -32
- package/src/core/save-job.js +108 -0
- package/src/core/save-prepare.js +53 -0
- package/src/core/save-size-notice.js +3 -1
- package/src/core/save-slices.js +15 -0
- package/src/core/save.js +557 -127
- package/src/core/serialize-steps.js +109 -0
- package/src/core/snapshot.js +209 -40
- package/src/core/source-map.js +83 -38
- package/src/core/stale-host-notice.js +1 -0
- package/src/core/upgrade-run.js +59 -8
- package/src/dom/active-element.js +5 -0
- package/src/lib/assets.js +1 -0
- package/src/lib/autosave-scheduler.js +3 -4
- package/src/lib/slice.js +65 -0
- package/src/lib/uimotion.js +774 -0
- package/src/lib/unsaved-state.js +2 -2
- package/src/live/fast-lane.js +10 -3
- package/src/live/local-lane.js +202 -11
- package/src/live/ops.js +16 -0
- package/src/live/page-compaction.js +162 -0
- package/src/live/server-lane.js +1 -0
- package/src/live/store.js +11 -3
- package/src/loader-logic.js +3 -1
- package/src/loader.js +14 -4
- package/src/page/adopt-boot.js +2 -1
- package/src/page/awareness.js +33 -2
- package/src/page/blocks.js +122 -27
- package/src/page/board-views.js +2 -16
- package/src/page/boot-pack.js +1 -1
- package/src/page/chart-tables.js +29 -0
- package/src/page/chart.js +411 -72
- package/src/page/checklist.js +10 -135
- package/src/page/checkpoint-proof.js +295 -0
- package/src/page/chrome.js +257 -40
- package/src/page/clipboard-shape.js +126 -0
- package/src/page/document-title-dom.js +12 -0
- package/src/page/document-title-runtime.js +15 -1
- package/src/page/document-title.js +4 -1
- package/src/page/drag.js +33 -3
- package/src/page/editor.js +207 -31
- package/src/page/emoji-data.js +162 -0
- package/src/page/export-assets.js +357 -0
- package/src/page/export-html.js +209 -0
- package/src/page/export-markdown.js +361 -0
- package/src/page/features/board.js +12 -3
- package/src/page/features/chart.js +11 -0
- package/src/page/features/checklist.js +428 -0
- package/src/page/features/dates.js +180 -0
- package/src/page/features/emoji.js +187 -0
- package/src/page/features/export-html.js +189 -0
- package/src/page/features/export-markdown.js +169 -0
- package/src/page/features/import-markdown.js +349 -0
- package/src/page/features/media.js +61 -5
- package/src/page/features/mentions.js +188 -0
- package/src/page/features/registry.js +24 -1
- package/src/page/features/table.js +375 -85
- package/src/page/features/title-cover.js +331 -0
- package/src/page/features/title-icon.js +213 -0
- package/src/page/features/toc.js +87 -0
- package/src/page/format-command.js +33 -0
- package/src/page/format-gate.js +68 -18
- package/src/page/format-host.js +71 -0
- package/src/page/format-native-commands.js +158 -0
- package/src/page/format-native.js +42 -0
- package/src/page/image-actions.js +64 -0
- package/src/page/import-markdown.js +262 -0
- package/src/page/inline.js +32 -8
- package/src/page/items.js +141 -11
- package/src/page/markdown.js +30 -2
- package/src/page/media.js +35 -119
- package/src/page/mention-picker.js +99 -0
- package/src/page/merge.js +1 -1
- package/src/page/placeholder.js +14 -1
- package/src/page/projection.js +156 -25
- package/src/page/recover.js +10 -12
- package/src/page/recovery-ui.js +464 -0
- package/src/page/rich/chart.js +63 -7
- package/src/page/save-projection.js +67 -0
- package/src/page/save-states.js +14 -4
- package/src/page/schema.js +52 -3
- package/src/page/table-paste.js +3 -1
- package/src/page/table-style.js +4 -4
- package/src/page/table.js +44 -2
- package/src/page/themes/content.css +25 -1
- package/src/page/themes/light-1.css +33 -8
- package/src/page/themes/light-1.source.css +8 -7
- package/src/page/toc-link.js +31 -0
- package/src/page/toc.js +5 -0
- package/src/page/view-hooks.js +58 -0
- package/src/page/view.js +13 -0
- package/src/page/ybind/binding.js +116 -6
- package/src/page/ybind/bridge.js +187 -20
- package/src/page/ybind/containment.js +162 -0
- package/src/page/ybind/doc.js +17 -9
- package/src/page/ybind/file-debt.js +63 -0
- package/src/page/ybind/layout.js +7 -2
- package/src/page/ybind/marks.js +2 -1
- package/src/page/ybind/moves.js +5 -4
- package/src/page/ybind/origins.js +106 -4
- package/src/page/ybind/parts.js +8 -1
- package/src/page/ybind/provider.js +125 -18
- package/src/page/ybind/recovery-proof.js +32 -9
- package/src/page/ybind/recovery-replay.js +905 -4
- package/src/page/ybind/recovery.js +174 -45
- package/src/page/ybind/table.js +67 -11
- package/src/page/ybind/walk-delta.js +258 -0
- package/src/page/ybind/walk.js +54 -29
- package/src/page/ybind/writer.js +1 -1
- package/src/plugins/ai-edit.js +13 -9
- package/src/plugins/indicator-chip.js +91 -0
- package/src/plugins/indicator.js +13 -80
- package/src/plugins/live.js +126 -15
- package/src/plugins/menu/actions.js +196 -0
- package/src/plugins/menu/people.js +279 -0
- package/src/plugins/menu/placement.js +121 -0
- package/src/plugins/menu/preferences.js +9 -0
- package/src/plugins/menu/seo.js +316 -397
- package/src/plugins/menu/style.js +171 -0
- package/src/plugins/menu/variants.js +296 -0
- package/src/plugins/menu.js +186 -183
- package/src/plugins/page-view.js +3 -2
- package/src/plugins/page.js +362 -43
- package/src/plugins/sortable.js +8 -1
- package/src/plugins/source.js +6 -0
- package/src/plugins/upgrade.js +51 -17
- package/src/plugins/upload-ui.js +12 -17
- package/src/plugins/visitor-drafts/bottom-ui.js +12 -4
- package/src/plugins/visitor-drafts/intro-style.js +7 -2
- package/src/plugins/visitor-drafts/intro.js +7 -4
- package/src/plugins/visitor-drafts/owner-chip.js +8 -12
- package/src/plugins/visitor-drafts/prompt.js +11 -9
- package/src/plugins/visitor-drafts/source.js +4 -3
- package/src/plugins/visitor-drafts/store.js +138 -9
- package/src/plugins/visitor-drafts/ui-memory.js +2 -2
- package/src/plugins/visitor-drafts-owner.js +4 -6
- package/src/plugins/visitor-drafts.js +5 -3
- package/src/recovery/store.js +1 -1
- package/src/route/route.js +4 -0
- package/src/server/checkpoint/index.js +2 -2
- package/src/server/rooms/index.js +5 -1
- package/src/server/rooms/live-data-rooms.js +302 -50
- package/src/server/rooms/page-compaction-worker.js +12 -0
- package/src/server/rooms/page-compactor.js +92 -0
- package/src/server/rooms/page-room-conformance.js +461 -0
- package/src/source/parse-steps.js +94 -0
- package/src/source/session.js +233 -57
- package/src/sync/editing-sender.js +12 -0
- package/src/sync/live-sync-edit.js +22 -2
- package/src/sync/live-sync.js +150 -23
- package/src/sync/page-relay.js +52 -0
- package/src/sync/presence-store.js +44 -4
- package/src/sync/presence.js +6 -3
- package/src/sync/saved-stream.js +28 -14
- package/src/ui/bevel-controls.js +1 -0
- package/src/ui/bevel-dialog.js +5 -2
- package/src/ui/editor-ui.js +77 -0
- package/src/ui/page-colour.js +281 -0
- package/src/ui/toast.js +16 -7
- package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
- package/src/vendor/hyper-undo.vendor.js +1 -1
- package/src/vendor/hypercms.vendor.js +9 -9
- package/src/vendor/parse5.vendor.js +2 -2
- package/src/vendor/sap-core.vendor.js +5 -5
- package/dist/m/attrs/refetch-on-save-NWPPXOCZ.js +0 -1
- package/dist/m/attrs/save-freeze-FUP4Q4X3.js +0 -1
- package/dist/m/c-2M73252O.js +0 -1
- package/dist/m/c-2SPVQSHC.js +0 -1
- package/dist/m/c-35NBGMZB.js +0 -1
- package/dist/m/c-3IQRECYS.js +0 -1
- package/dist/m/c-4B6H4G5V.js +0 -1
- package/dist/m/c-4FFHZM32.js +0 -1
- package/dist/m/c-4YSCRICO.js +0 -1
- package/dist/m/c-54RCDCBU.js +0 -1
- package/dist/m/c-5M4YEKCX.js +0 -4
- package/dist/m/c-5V3MOVJT.js +0 -1
- package/dist/m/c-66O32MV3.js +0 -28
- package/dist/m/c-6HMB24EV.js +0 -1
- package/dist/m/c-7O6AFR65.js +0 -1
- package/dist/m/c-ANQTJ3B5.js +0 -2
- package/dist/m/c-AYVOREBE.js +0 -1
- package/dist/m/c-B2ZXPOS3.js +0 -3
- package/dist/m/c-BMIZKMPV.js +0 -1
- package/dist/m/c-BTDI4Y23.js +0 -1
- package/dist/m/c-CJZSLMVQ.js +0 -1
- package/dist/m/c-DBE6ORSI.js +0 -1
- package/dist/m/c-EDHUR4MX.js +0 -1
- package/dist/m/c-EY6UOM54.js +0 -1
- package/dist/m/c-F3CKJTJS.js +0 -1
- package/dist/m/c-F7Y6FLPY.js +0 -1
- package/dist/m/c-FA4DZVTC.js +0 -1
- package/dist/m/c-G2BUZITR.js +0 -1
- package/dist/m/c-GB3JTV6E.js +0 -1
- package/dist/m/c-GBGWXTX4.js +0 -1
- package/dist/m/c-GHBCCVG4.js +0 -1
- package/dist/m/c-GJAEGGXY.js +0 -1
- package/dist/m/c-GOWBDM6J.js +0 -1
- package/dist/m/c-IB52R237.js +0 -1
- package/dist/m/c-IKWNE4R4.js +0 -1
- package/dist/m/c-IU3IYEU6.js +0 -1
- package/dist/m/c-IZ2EBRAJ.js +0 -1
- package/dist/m/c-KR4UW4KW.js +0 -1
- package/dist/m/c-KY3VJGUA.js +0 -8
- package/dist/m/c-LFPHCXY3.js +0 -1
- package/dist/m/c-LRPUO2MX.js +0 -1
- package/dist/m/c-LXENEBV7.js +0 -1
- package/dist/m/c-NMJRXKPC.js +0 -8
- package/dist/m/c-OIBUTDXI.js +0 -1
- package/dist/m/c-PPOSCAQD.js +0 -1
- package/dist/m/c-QIX5BJYN.js +0 -1
- package/dist/m/c-QQHEX6HA.js +0 -1
- package/dist/m/c-R7RMANJI.js +0 -9
- package/dist/m/c-RI4NT75Y.js +0 -1
- package/dist/m/c-RM7J7BV2.js +0 -1
- package/dist/m/c-RUJKSUQW.js +0 -1
- package/dist/m/c-SGCCC4FW.js +0 -25
- package/dist/m/c-T4VO4OCB.js +0 -1
- package/dist/m/c-TQEMVJCS.js +0 -1
- package/dist/m/c-TR6RMDQ7.js +0 -3
- package/dist/m/c-UKHTLWUW.js +0 -1
- package/dist/m/c-UNN7LWCT.js +0 -1
- package/dist/m/c-UXBMRDZB.js +0 -235
- package/dist/m/c-V7PZZRG7.js +0 -1
- package/dist/m/c-VL52ADDR.js +0 -1
- package/dist/m/c-WNYBLIOZ.js +0 -1
- package/dist/m/c-WWDBYXLK.js +0 -1
- package/dist/m/c-XNNW2CWK.js +0 -1
- package/dist/m/c-Y6USGTS5.js +0 -5
- package/dist/m/c-YG2NJYS6.js +0 -135
- package/dist/m/c-Z4VRC7GU.js +0 -7
- package/dist/m/c-Z6K52OLP.js +0 -19
- package/dist/m/c-ZDY2MDAA.js +0 -21
- package/dist/m/c-ZUCOKOHT.js +0 -1
- package/dist/m/core/admin-attrs-VGNLAUDK.js +0 -1
- package/dist/m/core/autosave-E4PEFPZ6.js +0 -1
- package/dist/m/core/conflict-notice-VQ6Y64PH.js +0 -1
- package/dist/m/core/host-permission-XN3K2IW3.js +0 -1
- package/dist/m/core/is-edit-mode-JXHDVGUL.js +0 -1
- package/dist/m/core/recovery-TBBSICE2.js +0 -1
- package/dist/m/core/save-WUCHTQBE.js +0 -1
- package/dist/m/core/save-core-FJVHT5M3.js +0 -1
- package/dist/m/core/snapshot-F3SWDZMM.js +0 -1
- package/dist/m/core/unsaved-warning-STKBHE6G.js +0 -1
- package/dist/m/events/index-23DPTUT4.js +0 -1
- package/dist/m/internals/index-WOVAP3RU.js +0 -1
- package/dist/m/lib/cache-bust-CGWT6ZJI.js +0 -1
- package/dist/m/loader-HXX6YNH5.js +0 -1
- package/dist/m/manifest-F22DEDAC.js +0 -1
- package/dist/m/manifest-edit-C3C7376B.js +0 -1
- package/dist/m/options/options-2LH76JQ3.js +0 -1
- package/dist/m/page/editor-XUTB2HB2.js +0 -189
- package/dist/m/plugins/ai-edit-ZQ4CGWIP.js +0 -6
- package/dist/m/plugins/demo-ZIBFAA3R.js +0 -1
- package/dist/m/plugins/indicator-PV4YW2ID.js +0 -1
- package/dist/m/plugins/live-NUTTXSBS.js +0 -1
- package/dist/m/plugins/menu-HCKO3DSP.js +0 -138
- package/dist/m/plugins/page-KSUH7G6J.js +0 -2
- package/dist/m/plugins/page-view-W73OW7WI.js +0 -1
- package/dist/m/plugins/people-AJJ32YCG.js +0 -1
- package/dist/m/plugins/quickcrop-QNY3PKLD.js +0 -26
- package/dist/m/plugins/sortable-YRMQX3ZU.js +0 -1
- package/dist/m/plugins/source-KHK5UUSK.js +0 -1
- package/dist/m/plugins/undo-OF2L3CXU.js +0 -1
- package/dist/m/plugins/upgrade-ZNYODP5Y.js +0 -1
- package/dist/m/plugins/upload-XSGNILUY.js +0 -1
- package/dist/m/plugins/visitor-drafts-XK5GW55Q.js +0 -21
- package/dist/m/plugins/visitor-drafts-owner-KSSH75EV.js +0 -1
- package/dist/m/plugins/wire-ZWVWKF76.js +0 -1
- package/dist/m/reader-core-ILWLXVMP.js +0 -68
- package/dist/m/route/route-KOCZSEGN.js +0 -1
- package/dist/m/sync/live-sync-4AUVXVJU.js +0 -1
- package/dist/m/ui/index-EVHKMKBL.js +0 -1
- package/dist/m/vendor/sap-core.vendor-A7BMUYZT.js +0 -6
- /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
- /package/dist/m/plugins/{quickcrop-QNY3PKLD.js.LEGAL.txt → quickcrop-BQ5YYFCH.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-RC3L2F6X.js.LEGAL.txt → richclay-KLGETK77.js.LEGAL.txt} +0 -0
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import{a as q}from"../c-AQLFEATB.js";import{a as R}from"../c-VKEDWYDF.js";import{f as x,g as O,i as L,j as z}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var B='<svg xmlns="http://www.w3.org/2000/svg" viewBox="-45.87 -57.96 100.26 60.98" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M44.35 -4.56Q40.03 -0.52 34.69 -0.39Q29.34 -0.25 24.81 -0.14Q20.27 -0.02 15.6 0Q10.93 0.02 6.41 0Q1.89 -0.02 -2.79 -0.02Q-7.48 -0.02 -12.11 -0.14Q-16.73 -0.25 -21.64 -0.27Q-26.55 -0.3 -31.72 -2.25Q-36.88 -4.2 -39.87 -9.12Q-42.87 -14.03 -42.8 -19.61Q-42.74 -25.18 -40.43 -29.94Q-38.12 -34.69 -34.82 -38.78Q-31.52 -42.87 -27.25 -45.6Q-22.98 -48.33 -18.35 -50.59Q-13.73 -52.85 -8.7 -53.88Q-3.68 -54.91 1.32 -54.93Q6.32 -54.96 11.44 -54.56Q16.55 -54.16 21.35 -52.2Q26.16 -50.24 30.69 -48.01Q35.22 -45.78 38.99 -42.18Q42.76 -38.59 45.67 -34.37Q48.59 -30.15 49.99 -24.87Q51.39 -19.59 50.04 -14.09Q48.68 -8.6 44.35 -4.56ZM0.66 -30.49C0.5 -28.73 -0.88 -27.42 -2.42 -27.57C-3.96 -27.71 -5.08 -29.25 -4.91 -31.01C-4.75 -32.77 -3.36 -34.08 -1.83 -33.94C-0.29 -33.79 0.83 -32.25 0.66 -30.49ZM13.61 -29.28C13.44 -27.52 12.06 -26.21 10.52 -26.35C8.98 -26.5 7.87 -28.04 8.03 -29.8C8.2 -31.56 9.58 -32.87 11.12 -32.73C12.66 -32.58 13.77 -31.04 13.61 -29.28ZM-1.23 -17.71Q-0.62 -17.35 -0.03 -17.08Q0.56 -16.81 1.15 -16.54Q1.73 -16.28 2.4 -16Q3.07 -15.72 3.87 -15.6Q4.66 -15.48 5.4 -15.55Q6.13 -15.62 6.77 -15.79Q7.41 -15.96 7.97 -16.23Q8.53 -16.5 9 -16.91Q9.46 -17.32 9.73 -17.9Q9.99 -18.47 10.08 -19.12Q10.17 -19.77 10.08 -20.42Q9.99 -21.06 9.45 -21.32Q8.91 -21.58 8.27 -21.38Q7.63 -21.17 6.99 -20.91Q6.36 -20.65 5.7 -20.61Q5.04 -20.56 4.33 -20.73Q3.62 -20.9 2.92 -21.14Q2.23 -21.39 1.54 -21.68Q0.85 -21.97 0.16 -22.27Q-0.52 -22.56 -1.22 -22.79Q-1.92 -23.03 -2.49 -22.61Q-3.05 -22.19 -3.23 -21.5Q-3.4 -20.81 -3.2 -20.09Q-3.01 -19.38 -3.02 -19.15Q-3.02 -18.93 -2.42 -18.5Q-1.83 -18.06 -1.23 -17.71Z"/></svg>';var _=!0,$=6e3,U=12,G=`.clay-menu {
|
|
2
|
-
position: fixed;
|
|
3
|
-
top: max(12px, env(safe-area-inset-top));
|
|
4
|
-
right: max(12px, env(safe-area-inset-right));
|
|
5
|
-
z-index: 2147482000;
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
flex-wrap: nowrap;
|
|
9
|
-
gap: 8px;
|
|
10
|
-
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
11
|
-
font-size: 13px;
|
|
12
|
-
line-height: 1;
|
|
13
|
-
color: var(--clay-ui-fg, #1F2328);
|
|
14
|
-
}
|
|
15
|
-
.clay-menu-edit {
|
|
16
|
-
display: inline-flex;
|
|
17
|
-
align-items: center;
|
|
18
|
-
gap: 8px;
|
|
19
|
-
margin: 0;
|
|
20
|
-
padding: 0;
|
|
21
|
-
border: 0;
|
|
22
|
-
font: inherit;
|
|
23
|
-
color: inherit;
|
|
24
|
-
background: none;
|
|
25
|
-
cursor: pointer;
|
|
26
|
-
}
|
|
27
|
-
.clay-menu-edit:disabled { cursor: progress; opacity: .7; }
|
|
28
|
-
.clay-menu-track {
|
|
29
|
-
position: relative;
|
|
30
|
-
display: block;
|
|
31
|
-
box-sizing: border-box;
|
|
32
|
-
width: 52px;
|
|
33
|
-
height: 32px;
|
|
34
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
35
|
-
border-radius: 999px;
|
|
36
|
-
background: var(--clay-ui-bg, #F4F4F5);
|
|
37
|
-
transition: background-color .15s ease, border-color .15s ease;
|
|
38
|
-
}
|
|
39
|
-
.clay-menu-thumb {
|
|
40
|
-
position: absolute;
|
|
41
|
-
top: 2px;
|
|
42
|
-
left: 2px;
|
|
43
|
-
width: 26px;
|
|
44
|
-
height: 26px;
|
|
45
|
-
border-radius: 50%;
|
|
46
|
-
background: #FAFAFB;
|
|
47
|
-
box-shadow: 0 1px 2px rgba(23, 28, 36, .35);
|
|
48
|
-
transition: transform .15s ease;
|
|
49
|
-
}
|
|
50
|
-
.clay-menu-edit[aria-checked="true"] .clay-menu-track {
|
|
51
|
-
border-color: transparent;
|
|
52
|
-
background: var(--clay-ui-accent, #2F6FEB);
|
|
53
|
-
}
|
|
54
|
-
.clay-menu-edit[aria-checked="true"] .clay-menu-thumb { transform: translateX(20px); }
|
|
55
|
-
.clay-menu-label { font-size: 13px; line-height: 1; }
|
|
56
|
-
.clay-menu-goo {
|
|
57
|
-
position: relative;
|
|
58
|
-
display: inline-flex;
|
|
59
|
-
align-items: center;
|
|
60
|
-
justify-content: center;
|
|
61
|
-
box-sizing: border-box;
|
|
62
|
-
width: 32px;
|
|
63
|
-
height: 32px;
|
|
64
|
-
margin: 0;
|
|
65
|
-
padding: 0;
|
|
66
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
67
|
-
border-radius: 50%;
|
|
68
|
-
color: inherit;
|
|
69
|
-
background: var(--clay-ui-bg, #F4F4F5);
|
|
70
|
-
cursor: pointer;
|
|
71
|
-
}
|
|
72
|
-
.clay-menu-goo svg { display: block; width: 18px; height: auto; }
|
|
73
|
-
.clay-menu-dot {
|
|
74
|
-
position: absolute;
|
|
75
|
-
top: 1px;
|
|
76
|
-
right: 1px;
|
|
77
|
-
width: 8px;
|
|
78
|
-
height: 8px;
|
|
79
|
-
border-radius: 50%;
|
|
80
|
-
background: var(--clay-ui-accent, #2F6FEB);
|
|
81
|
-
}
|
|
82
|
-
.clay-menu-list {
|
|
83
|
-
position: absolute;
|
|
84
|
-
top: calc(100% + 8px);
|
|
85
|
-
right: 0;
|
|
86
|
-
min-width: 184px;
|
|
87
|
-
margin: 0;
|
|
88
|
-
padding: 4px;
|
|
89
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
90
|
-
border-radius: 10px;
|
|
91
|
-
background: var(--clay-ui-bg, #F4F4F5);
|
|
92
|
-
box-shadow: 0 10px 28px -14px rgba(23, 28, 36, .5);
|
|
93
|
-
}
|
|
94
|
-
.clay-menu-list button {
|
|
95
|
-
display: block;
|
|
96
|
-
width: 100%;
|
|
97
|
-
padding: 8px 10px;
|
|
98
|
-
border: 0;
|
|
99
|
-
border-radius: 6px;
|
|
100
|
-
font: inherit;
|
|
101
|
-
text-align: left;
|
|
102
|
-
color: inherit;
|
|
103
|
-
background: none;
|
|
104
|
-
cursor: pointer;
|
|
105
|
-
}
|
|
106
|
-
.clay-menu-list button:hover,
|
|
107
|
-
.clay-menu-list button:focus-visible { outline: none; background: rgba(23, 28, 36, .08); }
|
|
108
|
-
.clay-menu-note {
|
|
109
|
-
position: absolute;
|
|
110
|
-
top: calc(100% + 8px);
|
|
111
|
-
right: 0;
|
|
112
|
-
max-width: 260px;
|
|
113
|
-
padding: 8px 10px;
|
|
114
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
115
|
-
border-radius: 8px;
|
|
116
|
-
line-height: 1.4;
|
|
117
|
-
text-align: left;
|
|
118
|
-
background: var(--clay-ui-bg, #F4F4F5);
|
|
119
|
-
box-shadow: 0 10px 28px -14px rgba(23, 28, 36, .5);
|
|
120
|
-
}
|
|
121
|
-
@media (pointer: coarse) {
|
|
122
|
-
.clay-menu-edit { min-height: 44px; padding: 6px 0; }
|
|
123
|
-
.clay-menu-goo { width: 44px; height: 44px; }
|
|
124
|
-
}
|
|
125
|
-
@media (prefers-color-scheme: dark) {
|
|
126
|
-
.clay-menu { color: var(--clay-ui-fg, #E9E9EC); }
|
|
127
|
-
.clay-menu-track,
|
|
128
|
-
.clay-menu-goo,
|
|
129
|
-
.clay-menu-list,
|
|
130
|
-
.clay-menu-note { border-color: rgba(233, 233, 236, .16); background: var(--clay-ui-bg, #26282C); }
|
|
131
|
-
.clay-menu-track { background: rgba(233, 233, 236, .22); }
|
|
132
|
-
.clay-menu-thumb { background: #E9E9EC; }
|
|
133
|
-
.clay-menu-list button:hover,
|
|
134
|
-
.clay-menu-list button:focus-visible { background: rgba(233, 233, 236, .12); }
|
|
135
|
-
}
|
|
136
|
-
@media (prefers-reduced-motion: reduce) {
|
|
137
|
-
.clay-menu-track, .clay-menu-thumb { transition: none; }
|
|
138
|
-
}`,D=()=>window.clay&&typeof window.clay.mode=="string"?window.clay.mode:z;function P(){if(document.getElementById("clay-menu-style"))return;let t=document.createElement("style");t.id="clay-menu-style",t.setAttribute("clay","editor-ui"),t.textContent=G,document.head.append(t)}function j(){if(document.querySelector(".clay-menu"))return;P();let t=document.createElement("div");t.className="clay-menu",t.setAttribute("clay","editor-ui"),t.setAttribute("clay-mode-toggle",""),t.innerHTML=`<button type="button" class="clay-menu-edit" role="switch" aria-checked="false"><span class="clay-menu-track" aria-hidden="true"><span class="clay-menu-thumb"></span></span><span class="clay-menu-label">Edit</span></button><button type="button" class="clay-menu-goo" aria-haspopup="menu" aria-expanded="false" aria-label="Clay menu">${B}</button><div class="clay-menu-list" role="menu" hidden></div><div class="clay-menu-note" role="status" hidden></div>`;let a=t.querySelector(".clay-menu-edit"),l=t.querySelector(".clay-menu-goo"),i=t.querySelector(".clay-menu-list"),p=t.querySelector(".clay-menu-note"),b=new Map,c=()=>!i.hidden;function w(e){i.hidden=!e,l.setAttribute("aria-expanded",e?"true":"false")}let Q=()=>[...i.querySelectorAll('[role="menuitem"]')];function m(e){let r=Q();r.length&&r[(e+r.length)%r.length].focus()}function s(){c()&&w(!1)}function f(){c()||w(!0)}function N(){let e=i.contains(document.activeElement);i.textContent="";for(let o of b.values()){let u=document.createElement("button");u.type="button",u.setAttribute("role","menuitem"),u.dataset.menuId=o.id,u.textContent=o.label,u.addEventListener("click",()=>{s(),o.run&&o.run()}),i.append(u)}let r=l.querySelector(".clay-menu-dot"),n=[...b.values()].some(o=>o.badge);if(n&&!r){let o=document.createElement("span");o.className="clay-menu-dot",l.append(o)}else!n&&r&&r.remove();e&&m(0)}function v({id:e,label:r,run:n,badge:o}={}){return e?(b.set(e,{id:e,label:String(r??""),run:typeof n=="function"?n:null,badge:!!o}),N(),e):null}function Z(e){e&&(p.textContent=e,p.hidden=!1,clearTimeout(k),k=setTimeout(()=>{p.hidden=!0,p.textContent=""},$))}let k=0,g=!1;function h(){a.setAttribute("aria-checked",D()==="edit"?"true":"false")}h(),document.addEventListener("clay:modechange",h),a.addEventListener("click",async()=>{if(g)return;let e=a.getAttribute("aria-checked"),r=D()==="edit"?"view":"edit";g=!0,a.setAttribute("aria-busy","true"),a.disabled=!0;let n;try{n=await window.clay?.setMode?.(r)}catch(o){n={ok:!1,message:o&&o.message}}if(!(n&&n.reloading))if(g=!1,a.removeAttribute("aria-busy"),a.disabled=!1,n&&n.ok===!1){a.setAttribute("aria-checked",e);let o=q(n);o&&Z(o)}else h()}),l.addEventListener("click",()=>{c()?s():f()}),document.addEventListener("click",e=>{c()&&!t.contains(e.target)&&s()}),t.addEventListener("keydown",e=>{if(e.key==="Escape"){if(!c())return;e.preventDefault(),s(),l.focus();return}if(e.target===l&&(e.key==="Enter"||e.key===" ")){e.preventDefault(),c()?s():(f(),m(0));return}if(!c())return;if(e.key==="Enter"&&i.contains(e.target)){e.preventDefault(),e.target.click();return}let r=Q();if(!r.length)return;let n=r.indexOf(document.activeElement);e.key==="ArrowDown"?(e.preventDefault(),m(n<0?0:n+1)):e.key==="ArrowUp"&&(e.preventDefault(),m(n<0?r.length-1:n-1))});let E=document,d=null,C=null;function F(e){t.style.top=`${Math.round(e.getBoundingClientRect().bottom)+U}px`}function M(){if(!t.isConnected)return;let e=E.querySelector(".clay-intro");if(e!==C){if(d&&(d.disconnect(),d=null),C=e,!e){t.style.removeProperty("top");return}typeof ResizeObserver=="function"&&(d=new ResizeObserver(()=>F(e)),d.observe(e)),F(e)}}let y=document.createElement("style");y.id="clay-menu-vars",y.setAttribute("clay","editor-ui"),document.head.append(y);function A(){let e=t.getBoundingClientRect();y.textContent=`:root { --clay-menu-width: ${Math.ceil(e.width)}px; --clay-menu-height: ${Math.ceil(e.height)}px; }`}document.body.append(t),A(),typeof ResizeObserver=="function"&&new ResizeObserver(A).observe(t),new MutationObserver(M).observe(E.body,{childList:!0}),M();let S=()=>import("../c-UXBMRDZB.js").then(e=>e.open());if(_){v({id:"seo",label:"SEO settings\u2026",run:S});let e=window.clay.storage&&window.clay.storage.session;e&&e.get("reopen-seo")===!0&&(e.remove("reopen-seo"),S().catch(()=>{}))}window.clay.menu={addItem:v,open:f,close:s}}var I=!1,H=()=>(O||L)&&!x;function T(){I||!H()||(I=!0,j())}x||(R(T),document.addEventListener("clay:capabilitychange",T));
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as ge}from"../c-3GJ4SDE2.js";import{a as ce,b as ie}from"../c-4FFHZM32.js";import"../c-PZ4XEPUP.js";import{a as ze,b as pe}from"../c-BMIZKMPV.js";import{a as Je}from"../c-BYTKL6UX.js";import{a as Ge,b as F,c as E}from"../c-4L3BTFRK.js";import{a as Ke}from"../c-L4WQSC27.js";import{d as We,e as Ye,i as $e,m as H,n as Ue,p as J,q as fe,r as Xe}from"../c-R7RMANJI.js";import{a as Be}from"../c-TCCA5BZN.js";import{k as de}from"../c-LRPUO2MX.js";import"../c-A7LS5UZW.js";import"../c-5V3MOVJT.js";import"../c-LZJPNR2W.js";import{b as Ve}from"../c-FILLTJA7.js";import{a as Fe}from"../c-NUHP2XDB.js";import{A as _e,E as qe,d as Ne,e as X,m as ue,n as G}from"../c-CJZSLMVQ.js";import"../c-GQ6F6IDK.js";import{a as Me}from"../c-2SPVQSHC.js";import"../c-5VYOWDTI.js";import"../c-7VGZ7RU5.js";import"../c-4YSCRICO.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-HT33EQRN.js";import{d as U}from"../c-B2ZXPOS3.js";import"../c-TQEMVJCS.js";import{a as Le,c as De,d as He}from"../c-3IQRECYS.js";import{d as xe}from"../c-AYVOREBE.js";import"../c-IJUK2GPW.js";import{n as Ce}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{q as D}from"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Vr=Object.freeze({"page-converting":"retrying","page-capacity":"retrying",busy:"retrying","rate-limited":"retrying",offline:"retrying",network:"retrying","network-error":"retrying",timeout:"retrying","save-history-pending":"retrying","page-condition-required":"blocked","page-conversion-refused":"blocked","page-conversion-required":"blocked","page-conversion-stale":"blocked","save-id-reused":"blocked","too-large":"blocked","unsupported-host":"blocked","save-history-refresh-required":"blocked","provenance-unsupported":"blocked","receipt-expired":"blocked"}),z="Can't save here. Your edits are still in this tab.",K="Still trying to save. Your edits are safe in this tab.";function M({ok:e=!1,code:r=null,offline:t=!1}={}){return e?"saved":t?"retrying":Vr[r]??"error"}function Qe(e){let r;try{r=new DOMParser().parseFromString(e,"text/html")}catch{return e}let t=[...r.querySelectorAll('script[type="application/json"][merge="page"][clay~="live"]')].filter(y=>!y.closest("template")&&!y.closest("noscript"));if(t.length!==1)return e;let a=t[0].outerHTML,l=e.indexOf(a);return l<0||e.indexOf(a,l+1)!==-1?e:e.slice(0,l)+e.slice(l+a.length)}function Q(){let{forSave:e}=D();return ie({html:Qe(e),name:`${ce()}.html`})}function ye(e){return ie({html:Qe(e),name:`${ce()}.html`})}async function Ze(){try{let{forSave:e}=D(),t=new DOMParser().parseFromString(e,"text/html").querySelectorAll("article[data-page]");return t.length!==1?!1:(await navigator.clipboard.writeText(t[0].textContent),!0)}catch{return!1}}var er="clay.page.author",he="clay.page.author.owned.",rr=()=>globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;function tr(e=globalThis.localStorage){try{let r=[];for(let a=0;a<e.length;a++){let l=e.key(a);l&&l.startsWith(he)&&r.push(l.slice(he.length))}let t=e.getItem(er);return(!t||!r.includes(t))&&(t=rr(),e.setItem(he+t,"1"),e.setItem(er,t),r.push(t)),{token:t,owned:r.sort()}}catch{let r=rr();return{token:r,owned:[r]}}}var A=Object.freeze({loading:"loading",joining:"joining",adopting:"adopting",ready:"ready",blocked:"blocked",error:"error"}),Br=new Set([A.ready,A.blocked,A.error]),or=0,lr=()=>globalThis.performance?.now?.()??Date.now();function nr({gen:e=0,isCurrent:r=()=>!0,onPhase:t=null}={}){return or+=1,{installId:or,gen:e,isCurrent:r,onPhase:typeof t=="function"?t:null,phase:A.loading,result:null,at:lr(),controller:new AbortController,disposers:[],disposed:!1,steps:null,deferred:null}}function p(e){return!e.disposed&&!e.controller.signal.aborted&&e.isCurrent()!==!1}function me(e,r){return p(e)&&!!r?.view&&e.mounted===r.view}function C(e,r,t=null){if(Br.has(e.phase)&&e.result)return e.result;e.phase=r,e.at=lr(),e.result=Object.freeze({phase:r,reason:t??null,installId:e.installId,at:e.at});try{e.onPhase?.(e.result)}catch(a){console.error("clayjs: page boot phase callback failed",a)}return e.result}function we(e,r){let t=C(e,A.blocked,r);return e.editorReadyResolve?.(),t}function sr(e,r){return C(e,A.error,r)}function ee(e,r){return typeof r=="function"&&e.disposers.push(r),r}function ve(e){if(e.disposed)return;e.disposed=!0,e.mounted=null;try{e.controller.abort()}catch(t){console.error("clayjs: page boot abort failed",t)}let r=e.disposers.splice(0).reverse();for(let t of r)try{t()}catch(a){console.error("clayjs: a page boot disposer failed",a)}}function Z(e,r){let t=globalThis.performance;if(typeof t?.mark=="function")try{t.mark(e,{detail:{installId:r.installId}})}catch{try{t.mark(e)}catch{return}}}function Wr(e,r){try{r.release?.(e)}catch(t){console.error("clayjs: page boot release failed",t)}}function V(e,r,t){return r.cancelled?null:(Wr(e,t),we(e,r.reason??"boot-incomplete"))}function ar(e,r,t,a=null){return Promise.resolve(e).then(l=>l??{ok:!1,reason:t},l=>(console.error(`clayjs: page boot ${t}`,l),{ok:!1,reason:t})).then(l=>(l.ok&&a&&p(r)&&Z(a,r),l))}function Yr(e,r){return new Promise(t=>{let a=e.controller.signal,l=!1,y=b=>{l||(l=!0,t(b))};if(a.aborted)return y({cancelled:!0});a.addEventListener("abort",()=>y({cancelled:!0}),{once:!0});let h=new Array(r.length),k=r.length;r.forEach((b,P)=>{b.then(S=>{if(!l){if(!S.ok)return y({result:S,branch:b});h[P]=S,k-=1,k===0&&y({results:h})}})})})}async function cr(e,r,{activate:t=!0}={}){Z("document:boot",e),C(e,A.loading);let a=r.readSource(e);if(!p(e))return null;if(!a.ok)return we(e,a.reason);let l=a.source;C(e,A.joining);let y=await Yr(e,[ar(r.loadEditorAssets(e,l),e,"editor-assets-failed","document:assets-ready"),ar(r.prepareAuthority(e,l),e,"authority-failed","document:authority-ready")]);if(y.cancelled||!p(e))return null;if(!y.results){try{e.controller.abort()}catch(O){console.error("clayjs: page boot abort failed",O)}return V(e,y.result,r)}let[h,k]=y.results,b=r.mountAndAttach(e,l,h,k);if(!p(e))return null;if(!b.ok)return V(e,b,r);e.mounted=b.view??null,C(e,A.adopting);let P=await r.adoptSource(e,l,b);if(!p(e))return null;if(!P.ok)return V(e,P,r);if(!t){if(r.prepareInput){let O=await r.prepareInput(e,b);if(!p(e))return null;if(!O.ok)return V(e,O,r)}return e.deferred=b,{phase:e.phase,view:b.view,deferred:!0}}let S=await r.enableInput(e,b);return p(e)?S.ok?(Z("document:input-ready",e),C(e,A.ready)):V(e,S,r):null}function ir(e){let r=e.deferred;if(e.deferred=null,!r||!p(e))return e.result??null;let t=e.steps?.openInput?.(e,r);return t?.ok?(Z("document:input-ready",e),C(e,A.ready)):we(e,t?.reason??"input-refused")}var W="article[data-page]",oe='script[type="application/json"][merge="page"][clay~="live"]',ur={state:"blocked",code:"unsupported-host",message:"This host does not support page editing"},$r=45e3,Ur="Couldn't save",Xr="Offline, not saved",gr="This page was changed outside the editor. Reload to see it.",Gr="That change is too large to share, so it was not saved. Reload the page to keep editing.",Jr="Some changes you made were replaced by a change made outside the editor.",yr="The page was changed outside the editor; reload to see it.",zr=150,Kr="Loading the editor\u2026",Se="the page session has not committed yet",dr=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function be(e){return dr(e)?e.v!==1||!dr(e.y)||Object.hasOwn(e,"blocks")||Object.hasOwn(e,"deleted")?(console.warn("clayjs: page plugin: the page tag is not a strict Yjs page, leaving the page as saved HTML"),"unsupported-page-format"):null:(console.warn("clayjs: page plugin: the page tag is not JSON, leaving the page as saved HTML"),"invalid-page-json")}var N=null,fr=null;function x(){return fr??=import("../c-ZDY2MDAA.js").then(e=>N=e),fr}function Qr(e){let r=new Set;return e.forEach(t=>{let a=pe(t.type.name);a&&r.add(a)}),[...r]}function L(e){e.statusTimer&&(clearTimeout(e.statusTimer),e.statusTimer=null),e.statusNote?.remove(),e.statusNote=null}function Zr(e,r){L(e),e.statusTimer=setTimeout(()=>{if(e.statusTimer=null,!p(e))return;let t=r.ownerDocument.createElement("div");t.className="page-boot-status",t.setAttribute("clay","editor-ui"),t.setAttribute("sap-ignore",""),t.setAttribute("role","status"),Fe(t,["display:block","margin:0 0 1em","font:500 13px/1.6 system-ui, sans-serif","color:color-mix(in srgb, currentColor 55%, transparent)","user-select:none"]),t.textContent=Kr,r.prepend(t),e.statusNote=t},zr)}var ae=0,R=null,re=null,et=8e3;function rt(e,r=globalThis.location){let t=r?.hash?.slice(1);if(!t)return;let a;try{a=decodeURIComponent(t)}catch{return}let l=-1;e.state.doc.forEach((y,h)=>{l<0&&y.attrs.id===a&&(l=h)}),!(l<0)&&globalThis.requestAnimationFrame?.(()=>e.nodeDOM(l)?.scrollIntoView?.({block:"start"}))}function Ae(e,r,t){document.dispatchEvent(new CustomEvent("clay:page-save-state",{detail:{state:e,code:r,message:t}}))}function hr(){E(Ur),E(Xr)}function mr(e){e.retryTimer&&(clearTimeout(e.retryTimer),e.retryTimer=null),e.retryShown=!1,E(K)}function tt(e,r,t){hr(),Ae("retrying",r,t),!(e.retryTimer||e.retryShown)&&(e.retryTimer=setTimeout(()=>{e.retryTimer=null,e.retryShown=!0,F(K,"warning")},$r))}function wr(e,r,t){mr(e),hr(),Ae("blocked",r,t),F(z,"error",{detail:t,actions:[{label:"Download a copy",onClick:Q},{label:"Copy text",onClick:Ze}]})}function ot(e){mr(e),E(z),Ae("saved",null,"")}function at(e,r,t=!1){if(typeof e!="string"||!e)return!1;let a;try{a=new DOMParser().parseFromString(e,"text/html")}catch{return!1}let l=a.querySelectorAll(W);return t?l.length!==1&&!a.querySelector(oe):l.length!==1||a.querySelector(oe)?!1:l[0].getAttribute("data-rev")!==r}function lt(e){if(!e.store||!N)return e.savedRev;try{return N.renderFromTags([JSON.stringify(e.store.value)]).rev}catch{return e.savedRev}}function vr(e){let r=e.view;r&&(r.setProps({editable:()=>!1}),r.setProps({dispatchTransaction:t=>r.updateState(r.state.apply(t))}));try{e.binding?.dispose()}catch(t){console.error("clayjs: page plugin binding failed to dispose",t)}e.savesHeld||(e.savesHeld=!0,ue(yr))}function nt(e){if(!e.tabValue)return Q();let{forSave:r}=D(),t=new DOMParser().parseFromString(r,"text/html"),a=t.querySelectorAll(W);if(a.length!==1)return Q();let l=N.renderFromTags([JSON.stringify(e.tabValue)]);return a[0].innerHTML=l.html,l.rev==null?a[0].removeAttribute("data-rev"):a[0].setAttribute("data-rev",l.rev),ye(`<!DOCTYPE html>
|
|
2
|
-
${t.documentElement.outerHTML}`)}function br(e,r){e.replaced||(e.replaced=!0,vr(e),F(r,"warning",{actions:[{label:"Reload",onClick:()=>window.location.reload()},{label:"Download your copy",onClick:()=>nt(e)}]}))}var ke=e=>br(e,gr),st=e=>br(e,Gr);function B(e,r,t,a){r==="saved"?ot(e):r==="retrying"?tt(e,t,a):r==="blocked"&&wr(e,t,a)}function I(e,r,t){document.addEventListener(r,t),e.listeners.push([r,t])}function ct(e){I(e,"clay:save-error",t=>{let a=t.detail?.code??null;a!=="page-nothing-to-write"&&B(e,M({code:a}),a,t.detail?.msg??"")}),I(e,"clay:save-offline",t=>{let a=t.detail?.code??null;B(e,M({code:a,offline:!0}),a,t.detail?.msg??"")}),I(e,"clay:save-conflict",t=>{let a=t.detail?.code??null;B(e,M({code:a}),a,t.detail?.msg??"")});let r=t=>{ut(e,t)};I(e,"clay:save-conflict",r),I(e,"clay:save-error",r),I(e,"clay:save-saved",t=>{B(e,M({ok:!0}),null,t.detail?.msg??""),e.savedRev=lt(e),e.adoption?.saved(_e())}),I(e,"clay:live-notice",t=>{if(t.detail?.name!=="page"||t.detail?.code==="op-too-large")return;if(t.detail?.code==="unknown-store"){ke(e);return}let a=t.detail?.code??null;B(e,M({code:a}),a,t.detail?.message??"")})}async function it(){let e=await fetch(new URL(globalThis.location.href).href,{cache:"no-store"});if(!e?.ok)return null;let r=await e.text(),a=new DOMParser().parseFromString(r,"text/html").querySelector(W);return a?{article:a,etag:e.headers?.get?.("etag")||null}:null}async function ut(e,r){let t=e.staged;if(!t||e.staleRetry||e.replaced)return;let a=r?.detail?.code??null;if(!(a!=="page-lineage-stale"&&a!=="conflict")&&!(!e.store||!t.isPending())){e.staleRetry=!0;try{let l=await it();if(!l||!p(e))return;let y=await x();if(!p(e))return;let h=y.seedPageFromArticle(l.article.cloneNode(!0)),k=l.etag??r?.detail?.etag??null;k&&De(k),e.store.rebase(h,{source:"state"}),await qe()}catch(l){console.warn("clayjs: page plugin could not offer the refused first write again",l)}}}function Re(e){let r=e.article;if(!r)return;let t=e.bootHtml,a=e.bootRev;if(e.store&&N)try{let l=N.renderFromTags([JSON.stringify(e.store.value)]);t=l.html,a=l.rev}catch(l){console.error("clayjs: page plugin could not render the saved article",l)}r.innerHTML=t,a==null?r.removeAttribute("data-rev"):r.setAttribute("data-rev",a)}function Ee(e){for(let[r,t]of e.listeners)document.removeEventListener(r,t);e.listeners=[];try{e.adoption?.dispose()}catch(r){console.error("clayjs: page plugin adoption failed to dispose",r)}e.adoption=null;try{e.recover?.destroy()}catch(r){console.error("clayjs: page plugin recover list failed to dispose",r)}if(e.recover=null,e.aiTool?.dispose(),e.aiTool=null,e.awareness?.dispose(),e.awareness=null,e.toolHost?.dispose(),e.toolHost=null,e.view&&Je.delete(e.view),e.article){let r=e.article.querySelector(".page-shell");r&&r.remove()}try{e.binding?.dispose()}catch(r){console.error("clayjs: page plugin binding failed to dispose",r)}try{e.binding?.ydoc?.destroy()}catch(r){console.error("clayjs: page plugin document failed to destroy",r)}try{e.staged?.close()}catch(r){console.error("clayjs: page plugin staged store failed to close",r)}if(e.staged=null,e.pageStore){try{Ue("page",e.pageStore)}catch(r){console.error("clayjs: page plugin store failed to close",r)}e.pageStore=null}e.binding=null,e.flush=null,e.releaseArticle?.(),e.releaseArticle=null}function pr(e){let r=e.view;if(r&&!r.isDestroyed&&typeof r.destroy=="function")try{r.destroy()}catch(t){console.error("clayjs: page plugin view failed to destroy",t)}e.titleObserver?.dispose(),e.titleObserver=null,L(e),Ee(e),Re(e)}function Te(){ae+=1;let e=R;if(R=null,U("Page-Write",null),!!e){ve(e),e.retryTimer&&(clearTimeout(e.retryTimer),e.retryTimer=null),E(K),E(z),E(gr);for(let r of e.notices?.values()??[])E(r);if(e.savesHeld&&(e.savesHeld=!1,G({replay:!1,reason:yr})),e.titleObserver?.dispose(),e.titleObserver=null,L(e),e.sessionHeld&&G({replay:!1,reason:Se}),e.autosaveSuspended&&X(),e.view&&!e.view.isDestroyed)try{e.view.destroy()}catch(r){console.error("clayjs: page plugin view failed to destroy",r)}Ee(e),Re(e)}}function dt(e,r){let t=null,a=null,l=null,y=null,h=null,k=null,b=null,P=[],S=null,O=null,_=null,Y=null,$=null,Ar=new Promise(o=>{y=o});e.editorReadyResolve=y,ee(e,()=>y?.()),ee(e,()=>L(e));let Oe='script[type="application/json"][merge="page.tools"][clay~="live"]',Rr=()=>_||(_=(async()=>{if(!document.querySelector(Oe)){let c=document.createElement("script");c.setAttribute("type","application/json"),c.setAttribute("merge","page.tools"),c.setAttribute("clay","live"),c.textContent="{}",document.head.appendChild(c)}if(document.querySelector(Oe))try{S=window.clay.live("page.tools"),await S.ready}catch(c){console.warn("clayjs: page plugin could not open the tool store",c)}if(!p(e))return null;let[{createToolHost:o},{tablesFromDoc:n}]=await Promise.all([import("../c-GOWBDM6J.js"),import("../c-PPOSCAQD.js")]);if(!p(e))return null;let s=o({store:S,mode:"edit",tables:()=>n(l?.state.doc??a.doc()).map(({id:c,cols:d,rows:i})=>({id:c,cols:d,rows:i}))});if(e.toolHost=s,ge(t)){let{createAiTool:c}=await import("../c-TQZ2JYHD.js");if(!p(e))return null;let d=window.clay?.wire?.pageTool??r.transport??null;O=c({getView:()=>e.view,store:S,transport:d,acceptState:r.acceptState}),e.aiTool=O}return s})().catch(o=>{throw _=null,o}),_),q=new Map,Er=o=>{if(q.has(o))return;let n=`The ${o} controls could not load. Reload the page after saving.`;q.set(o,n),F(n,"warning",{actions:[{label:"Retry",onClick:()=>{k.ensure(o).then(()=>{let s=q.get(o);s&&(q.delete(o),E(s))},()=>{})}}]})};e.notices=q;let ne=async({target:o=null,remove:n=null}={})=>{Y&&l&&n&&Y.holdSlashRange(l,n),await k.ensure("tool").catch(()=>{}),!(!p(e)||!O||!l)&&O.open({target:o,remove:n?Y.heldSlashRange(l.state):null})},se=()=>ge(t);function Or(o){let n=document.querySelectorAll(W),s=typeof o.context?.represented?.bytes=="string"?new DOMParser().parseFromString(o.context.represented.bytes,"text/html"):null,c=s?s.querySelectorAll(W):n,d=s?s.querySelectorAll(oe):document.querySelectorAll(oe);if(!c.length&&!d.length)return{ok:!1,reason:"no-page"};let i=c.length===1&&d.length===0;if(c.length!==1||!i&&d.length!==1)return console.warn(`clayjs: page plugin needs exactly one article[data-page] and one merge="page" live tag; found ${c.length} article(s) and ${d.length} tag(s), leaving the page as saved HTML`),{ok:!1,reason:"ambiguous-page"};let g=n[0];if(!g)return{ok:!1,reason:"no-page"};let u=c[0],w=d[0],v=null;if(!i){try{v=Be(w?.textContent)}catch{v=null}let T=be(v);if(T)return{ok:!1,reason:T}}let m={article:u.cloneNode(!0),tags:v?[v]:null,element:g,blocks:null,seeded:i,seedValue:null};return m.ready=(async()=>{let T=await x();if(!p(o))return{ok:!1,cancelled:!0};if(i){try{v=m.seedValue=T.seedPageFromArticle(m.article.cloneNode(!0))}catch(j){return console.warn("clayjs: page plugin could not rebuild the page it found, leaving the page as saved HTML",j),{ok:!1,reason:"invalid-page-source"}}let f=be(v);if(f)return{ok:!1,reason:f};m.tags=[v]}try{m.blocks=T.blocksFromYValue(v)}catch(f){return console.warn("clayjs: page plugin: the page tag is not a valid Yjs page, leaving the page as saved HTML",f),{ok:!1,reason:"invalid-page-json"}}return{ok:!0}})(),Zr(o,g),{ok:!0,source:m}}function jr(o,n){if(be(n))return!1;if(de(o.authoritative)===de(n))return!0;try{return o.rebase(n,{source:"state"})}catch(s){return console.warn("clayjs: page plugin could not reconcile the open page store with the saved file",s),!1}}async function Pr(o,n){let s=x();s.catch(()=>null);let c=await n.ready;if(!c.ok)return c;if(!p(o))return{ok:!1,cancelled:!0};let d=await s,i=[...new Set(Object.values(n.blocks).map(u=>pe(u.t)).filter(Boolean))];k=d.createFeatureLoader({load:u=>ze[u].load(),install:async(u,w)=>{if(l||await Ar,!p(o)||!l)return null;let v={view:l,upload:r.upload,board:a.board,undo:a.undo,redo:a.redo,revise:se()?(m,T)=>{ne({target:{toolId:m,rev:T}})}:null};return u==="tool"&&(v.toolHost=await Rr(),!p(o))?null:g.installPageFeature(v,u,w)},reportError:(u,w)=>{console.error("clayjs: an editor feature failed to load",u),Er(w)}});for(let u of i)k.prepare(u).catch(()=>null);let g=null;try{g=await import("../page/editor-XUTB2HB2.js"),$=g.setEditorActive,Y={holdSlashRange:d.holdSlashRange,heldSlashRange:d.heldSlashRange}}catch(u){return console.error("clayjs: page plugin could not load the editor",u),{ok:!1,reason:"editor-assets-failed"}}return p(o)?{ok:!0,editor:g.createPageEditor,refreshView:g.refreshMountedView,featureIds:i,code:d}:{ok:!1,cancelled:!0}}async function Ir(o,n){let s=x();try{t=await xe()}catch{t=null}if(!p(o))return{ok:!1,cancelled:!0};if(!t||!Array.isArray(t.extensions)||!t.extensions.includes("page"))return wr(o,ur.code,ur.message),{ok:!1,reason:"missing-capability"};o.mergeTagless=!t.extensions.includes("live-data"),U("Page-Write","v1");let c=null,d=null;if(n.seeded){if(c=await n.ready,!c.ok)return c;if(d=await s,!p(o))return{ok:!1,cancelled:!0}}let i,g=!0;try{if(n.seeded){let f=$e("page",{value:n.seedValue,represented:r.represented??{bytes:n.article.outerHTML,etag:He()??Le()}});o.staged=f,i=f.handle}else{let f=H("page")===null;g=f,i=window.clay.live("page"),f&&(o.pageStore=H("page"))}}catch(f){return console.warn("clayjs: page plugin could not open the page store",f),{ok:!1,reason:"missing-page-store"}}try{await i.ready}catch(f){return console.warn("clayjs: page plugin could not join the page room",f),{ok:!1,reason:"admission-failed"}}if(!p(o))return{ok:!1,cancelled:!0};if(c??=await n.ready,!c.ok)return c;let u=H("page")?.handle?.status?.mode==="fast";if(!g&&!u&&!jr(H("page"),n.tags?.[0]))return{ok:!1,reason:"stale-store"};if(d??=await s,!p(o))return{ok:!1,cancelled:!0};let w=H("page");if(!w)return{ok:!1,reason:"missing-page-store"};o.store=w;let v=!1,m=null,T=async f=>{let j=await f();return v=j?.ok===!1,m?.changed(),j};return h=tr(),a=d.createYPageBinding({store:w,onStopped:f=>{o.tabValue=d.yValueOf(a.ydoc),f==="lineage"?(J()?.abandon?.("page"),ke(o)):st(o)},authorToken:h.token,ownedTokens:h.owned,checkpointWithin:fe,requestCheckpoint:Xe,registerUnsavedState:f=>(m=Me({id:f.id,isPending:()=>v||f.isPending(),flush:()=>T(()=>f.flush())}),m)}),o.binding=a,o.flush=f=>T(()=>a.flush(f)),ct(o),{ok:!0,store:w,handle:i}}function Cr(o,n){import("../c-NMJRXKPC.js").then(async s=>{if(o.view!==n)return;let c=await s.installPageAwareness({binding:o.binding,view:n});if(c){if(o.view!==n||n.isDestroyed){c.dispose();return}o.awareness=c}}).catch(s=>console.error("clayjs: page plugin remote carets failed to load",s))}function xr(o,n,s){let c=n.element;o.context?.reader?.yieldArticle?.();try{o.releaseArticle=Ke(c,"editor")}catch(u){return console.error("clayjs: page plugin could not claim the article",u),{ok:!1,reason:"article-owned"}}o.source=n,o.article=c,o.bootHtml=n.article.innerHTML,o.bootRev=n.article.getAttribute("data-rev"),o.savedRev=o.bootRev,I(o,"clay:sync-applied",u=>{o.replaced||at(u.detail?.html,o.savedRev,o.mergeTagless)&&ke(o)}),P=[...c.childNodes].filter(u=>u!==o.statusNote);let d=c.ownerDocument.createElement("div"),i=null;try{i=s.editor(d,{doc:a.doc(),dispatch:a.dispatch,history:!1,undo:a.undo,redo:a.redo,board:a.board,editable:!1,features:k,onAiTool:se()?(u,w)=>{ne({remove:w})}:null,reviseTool:se()?(u,w)=>{ne({target:{toolId:u,rev:w}})}:null})}catch(u){return console.error("clayjs: page plugin could not mount the editor",u),d.replaceChildren(),o.releaseArticle?.(),o.releaseArticle=null,o.article=null,{ok:!1,reason:"mount-failed"}}l=i,o.view=i;let g=i.dom.closest(".page-shell");if(g&&(g.inert=!0),s.featureIds.length&&g&&(g.style.visibility="hidden"),!s.featureIds.length)for(let u of P)u.remove();return g&&c.appendChild(g),s.refreshView?.(i),a.attach(i),Cr(o,i),y(),b=Promise.allSettled(s.featureIds.map(u=>k.ensure(u))),rt(i),o.recover=s.code.createRecoverList({binding:a,mount:i.dom.closest(".page-shell")??c,ownTokens:[h.token,...h.owned],onRestored:u=>s.code.focusBlock(i,u),onStale:()=>Ge("That change was updated. The list now shows the latest version.","warning")}),o.titleObserver=s.code.observeDocumentTitle(i),{ok:!0,view:i,featureIds:s.featureIds}}async function Lr(o,n){try{let s=await x(),{HyperMorph:c}=await Ve(),d=s.blocksFromYValue(o.store.authoritative),i=s.readBack(d,document),g=s.mergePageModels(n.baseItems,i,n.parsed,{doc:document,merge3:c.merge3,mergeJson:c.mergeJson});return s.canon(g.items)===s.canon(i)}catch{return!1}}async function Dr(o,n){let s=await x();return await Lr(o,n)?{ok:!0,outcome:"writer-adopts"}:new Promise(c=>{let d=null,i=null,g=!1,u=w=>{g||(g=!0,i&&clearTimeout(i),i=null,d?.(),d=null,c(w))};ee(o,()=>u({ok:!1,cancelled:!0})),d=o.store.onRebase(w=>{w.source==="remote"&&u({ok:!0,outcome:"writer-adopts"})}),i=setTimeout(()=>{console.warn("page: gave up waiting for the writer's adoption; the hand edit was not adopted"),u({ok:!1,reason:"adoption-timeout"})},s.ADOPTION_TIMEOUT_MS)})}async function Hr(o,n,s){let c=await x(),d=c.classifyFile(n.article,n.tags),i=d.kind==="adopt",g=async()=>{let m=await We();if(!m||!p(o))return;if(m.status.writer===null){let f=o.store.value.y,j=Object.keys(f),_r=j.length?j[0]:`claim-${a.ydoc.clientID.toString(36)}`,qr=j.length?f[j[0]]:c.yValueOf(a.ydoc).y.seed;o.store.handle.set(["y",_r],qr),m.release("page")}let T;await Promise.race([Ye(),new Promise(f=>{T=setTimeout(f,et)})]),clearTimeout(T)},u=i?g():Promise.resolve(),w=c.installAdoption({view:s.view,source:n,ready:u,isAdopter:()=>{let m=J();return!m||m.status.writer===null?!0:m.isWriter()},requestCheckpoint:()=>fe(0),snapshot:()=>D().forSave,mergeTagless:o.mergeTagless,writerReady:g,adopted:m=>J()?.adopted?.("page",m,o.store.mark),notice:m=>{m.copy&&F(Jr,"warning",{actions:[{label:"Download your copy",onClick:()=>ye(m.copy)}]})}});o.adoption=w;let v=await w.idle();return v?(v.outcome==="writer-adopts"&&(v=await Dr(o,d)),!v.ok&&p(o)&&pr(o),v):{ok:!0,outcome:"unchanged"}}async function je(o,n){if(o.replaced)return{ok:!1,reason:"page-replaced"};if(await b,!p(o))return{ok:!1,cancelled:!0};let s=n.view.dom.closest(".page-shell");if(!me(o,n)||!s||!s.isConnected||n.view.isDestroyed)return{ok:!1,reason:"view-detached"};let c=new Set(n.featureIds??[]),d=Qr(n.view.state.doc).filter(i=>!c.has(i));return d.length&&(await Promise.allSettled(d.map(i=>k.ensure(i))),!p(o))?{ok:!1,cancelled:!0}:{ok:!0}}function Pe(o,n){let s=n.view.dom.closest(".page-shell"),c=()=>{for(let d of P)d.remove();s&&(s.style.visibility="")};return o.replaced?(c(),vr(o),{ok:!1,reason:"page-replaced"}):o.inputOpen?{ok:!0}:!me(o,n)||!s||!s.isConnected||n.view.isDestroyed?{ok:!1,reason:"view-detached"}:(c(),s.inert=!1,$?.(n.view,!0),o.inputOpen=!0,L(o),{ok:!0})}function Fr(o){return o.inputOpen?($?.(o.view,!1),!0):!1}function Mr(o){return o.inputOpen?($?.(o.view,!0),!0):!1}async function Nr(o,n){let s=await je(o,n);return s.ok?Pe(o,n):s}let Ie={readSource:Or,loadEditorAssets:Pr,prepareAuthority:Ir,mountAndAttach:xr,adoptSource:Hr,prepareInput:je,openInput:Pe,closeInput:Fr,resumeInput:Mr,enableInput:Nr,release:o=>{o.view||pr(o)}};return e.steps=Ie,Ie}async function ft(e,r={},{activate:t=!0}={}){return cr(e,dt(e,r),{activate:t})}function kr(e={},{activate:r=!0,context:t=null}={}){Te(),re=null;let a=++ae,l={...nr({gen:a,isCurrent:()=>a===ae&&(t?.isCurrent?.()??!0),onPhase:h=>{(h.phase==="ready"||h.phase==="blocked"||h.phase==="error")&&L(l),e.onPhase?.(h)}}),article:null,view:null,binding:null,adoption:null,source:null,store:null,toolHost:null,aiTool:null,bootHtml:"",bootRev:null,savedRev:null,staged:null,pageStore:null,releaseArticle:null,replaced:!1,savesHeld:!1,flush:null,listeners:[],retryTimer:null,retryShown:!1,statusTimer:null,statusNote:null,notices:null,editorReadyResolve:null,context:t,inputOpen:!1,sessionHeld:!1,autosaveSuspended:!1,staleRetry:!1};R=l;let y=ft(l,e,{activate:r}).catch(h=>(console.error("clayjs: page plugin failed to install",h),re=sr(l,"boot-failed"),R===l&&Te(),re));return{inst:l,boot:y}}function Tr(e={}){return kr(e).boot}function pt(e){if(R===e&&(R=null,ae+=1),U("Page-Write",null),ve(e),e.retryTimer&&(clearTimeout(e.retryTimer),e.retryTimer=null),e.titleObserver?.dispose(),e.titleObserver=null,L(e),e.view&&!e.view.isDestroyed)try{e.view.destroy()}catch(r){console.error("clayjs: page plugin view failed to destroy",r)}e.view=null,Ee(e),Re(e)}function te(e){e.sessionHeld&&(e.sessionHeld=!1,G({replay:!1,reason:Se}))}function Sr(e,{held:r=!0}={}){return{enable(){r&&(te(e),ir(e))},quiesce(){if(e.view?.composing)throw Object.assign(new Error("clayjs: a composition is still in progress"),{code:"composition"});e.steps?.closeInput?.(e),e.autosaveSuspended||(e.autosaveSuspended=!0,Ne())},resume(){te(e),e.autosaveSuspended&&(e.autosaveSuspended=!1,X()),e.steps?.resumeInput?.(e)},dispose(){te(e),e.autosaveSuspended&&(e.autosaveSuspended=!1,X()),pt(e)}}}function gt(e=null,r={}){ue(Se);let{inst:t,boot:a}=kr(r,{activate:!1,context:e});t.sessionHeld=!0;let l=Sr(t,{held:!0});le.ready=a.then(()=>le.status);let y=a.then(h=>{if(!h?.deferred)throw Object.assign(new Error("clayjs: the page session could not prepare"),{code:h?.reason??"load-failed"})});return y.catch(()=>{te(t);try{e?.reader?.reclaimArticle?.()}catch(h){console.error("clayjs: the reader could not take the article back",h)}}),{ready:y,...l}}function Vt(e={}){return{id:"clay:page",order:400,prepare(r={}){return r.initial===!0?R?Sr(R,{held:!1}):{enable(){},quiesce(){},resume(){},dispose(){}}:gt(r,e)}}}var le={ready:null,install:Tr,get status(){return R?.result??re},flush(e={}){let r=R;return!r||!r.flush?Promise.resolve({ok:!1,code:"disposed"}):r.flush(e)},dispose:Te,get view(){return R?.view??null}};le.ready=Ce()?Tr():null;var Bt=le;export{et as WRITER_WAIT_MS,dt as createSteps,Bt as default,Vt as modeParticipant,le as page,Vt as pageParticipant,gt as preparePageSession};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ge,b as be,c as me,d as se,f as ve}from"../c-Z36J63PP.js";import{a as le}from"../c-L4WQSC27.js";import"../c-AYVOREBE.js";import{a as ye}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Se="saved",Pe=2;function Re(){return Math.random().toString(36).slice(2,11)+Date.now().toString(36)}function Ie(){try{let e=new Uint8Array(16);return(globalThis.crypto||window.crypto).getRandomValues(e),Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}catch{return Math.random().toString(36).slice(2)+Date.now().toString(36)}}function Ce(e){return typeof e!="string"||e===""?null:new DOMParser().parseFromString(e,"text/html").documentElement?.getAttribute("documentetag")||null}var H=e=>typeof e=="string"&&e?e:null;function Me(e){let r=window.location.origin;if(typeof r!="string"||r===""||r==="null")return null;let c=new URL(e||window.location.href,r);return c.protocol==="http:"||c.protocol==="https:"?c.href:null}var Y=e=>Number.isSafeInteger(e)?e:null;function De(e){if(e==null)return Object.freeze({bytes:null,etag:null,seq:null});if(typeof e.bytes!="string"||e.bytes==="")throw new TypeError("createSavedStream: represented.bytes must be a full HTML string");return Object.freeze({bytes:e.bytes,etag:H(e.etag),seq:Y(e.seq)})}function we({documentURL:e,servedEtag:r=null,represented:c=null,onSnapshot:f,onStatus:m}={}){if(typeof f!="function")throw new TypeError("createSavedStream: onSnapshot must be a function");let g=Me(e),b=!!H(r),o=De(c);if(g===null){let n={ready:null,get represented(){return o},adopt(){return n},start(){return n.ready=Promise.resolve(n),n},stop(){}};return n}let v=!0,k=o.seq??0,E=0,O=0,D=f,x=m,I=0,j=!1,L=null,A=null,t=null,a=!1,p=null,d=null,u=null,S=[],q=n=>!j&&n===I;function N(n,l={}){j||typeof x!="function"||x({state:n,...l})}function G(){S.length=0,d&&(d.detach(),d=null),p=null,u=null}function W(n){if(p){p.receive(n);return}S.push(n),!u&&(u=import("../c-G2BUZITR.js").then(({presence:l})=>{p=l,d=l.attachTransport({send:()=>Promise.resolve(!1)});for(let i of S.splice(0))l.receive(i);return l}).catch(()=>(u=null,null)))}function re(){if(G(),!L)return;let n=L;L=null,n.onopen=null,n.onerror=null,n.onmessage=null,n.close()}function X(){if(!A)return;let n=A;A=null,n.controller.abort()}function B(n){if(j)return!1;let l={bytes:n.bytes,etag:H(n.etag),seq:Y(n.seq)};if(typeof l.bytes!="string"||l.bytes==="")return N("recoverable",{reason:"invalid-bytes",seq:l.seq}),!1;if(l.bytes===o.bytes&&l.etag===o.etag&&l.seq===o.seq)return!0;let i=!1;try{i=D(Object.freeze(l))===!0}catch{i=!1}return i?(o=Object.freeze(l),N("applied",{seq:o.seq,etag:o.etag}),!0):(N("recoverable",{reason:"refused",seq:l.seq,etag:l.etag}),!1)}function ne(n,l){if(l==="startup")return null;let i=Math.max(n.seq??0,k);return i>0?i:null}function _(n,l){t=n,a=!0,N("recoverable",{reason:l,seq:n.seq??null})}function z(n){j||(t={kind:n.kind,seq:Y(n.seq)},a=!1,J())}function J(){if(j||A||a||!t)return;let n=I,l=t;t=null;let i=new AbortController;A={controller:i};let w=E,K=k,M=T=>{if(A&&A.controller===i&&(A=null),!(!q(n)||i.signal.aborted)){if(T==null){_(l,"repair-failed");return}if(E!==w||k!==K){if(O+=1,O<=Pe){t=t??{kind:l.kind,seq:ne(l,l.kind)},J();return}U(T.text,{kind:l.kind,seq:ne(l,l.kind)},T.etag),J();return}U(T.text,l,T.etag),J()}};fetch(g,{cache:"no-store",signal:i.signal}).then(T=>T.ok?T.text().then(F=>({text:F,etag:H(T.headers?.get?.("etag"))})):null).then(M).catch(()=>M(null))}function U(n,l,i){let K=H(i)??Ce(n)??(n===o.bytes?o.etag:null),M=l.kind==="startup"?o.seq:l.seq??o.seq;B({bytes:n,etag:K,seq:M})&&(v=!1,O=0,a=!1,N("current",{seq:o.seq,etag:o.etag}))}function s(n,l){let i={bytes:o.bytes,etag:n??o.etag,seq:l??o.seq};i.etag===o.etag&&i.seq===o.seq||(o=Object.freeze(i),N("current",{seq:o.seq,etag:o.etag}))}function y(n,l,i){let w=H(l);if(!(i!==null&&o.seq!==null&&i<=o.seq)){if(!v&&w!==null&&o.etag!==null){if(w!==o.etag){z({kind:"unmatched",seq:i});return}v=!0}if(n===o.bytes){s(w,i);return}B({bytes:n,etag:w,seq:i})&&(v=!0)}}function h(n,l){let i=n.data;if(i&&i.kind==="external-change"){typeof i.html=="string"?y(i.html,i.etag,l):z({kind:"notice",seq:l});return}typeof n.msg=="string"&&n.msg.endsWith("changed on disk outside this tab")&&z({kind:"notice",seq:l})}function P(n,l){if(!q(l))return;E++;let i;try{i=JSON.parse(n)}catch{N("recoverable",{reason:"bad-json"});return}if(!i||typeof i!="object"||Array.isArray(i)){N("recoverable",{reason:"bad-frame"});return}let w=Y(i.seq);if(w!==null&&w>k&&(k=w),i.type==="notification"){h(i,w);return}if(i.error){N("recoverable",{reason:"server-error",seq:w});return}if(typeof i.html!="string"){H(i.etag)?z({kind:"notice",seq:w}):N("recoverable",{reason:"bad-frame",seq:w});return}y(i.html,i.etag,w)}function $(n,l){if(!q(l))return;E++;let i;try{i=JSON.parse(n)}catch{return}if(!i||typeof i!="object")return;let w=Y(i.seq);if(w!==null&&w>k&&(k=w),i.resync===!0){z({kind:"resync",seq:w});return}i.startup===!0&&z({kind:"startup",seq:null})}function C(n){if(q(n)){if(N("open",{seq:o.seq,etag:o.etag}),a){a=!1,J();return}o.bytes===null&&!b&&z({kind:"startup",seq:null})}}let R={ready:null,get represented(){return o},adopt({onSnapshot:n,onStatus:l}={}){return typeof n=="function"&&(D=n),typeof l=="function"&&(x=l),R},start(){j=!1;let n=++I;return re(),X(),t=null,a=!1,E=0,O=0,k=o.seq??0,R.ready=ve().then(l=>{if(!q(n))return R;let i=Ie(),w=Re(),K=l.profile.streamPath(g,Se,i,w),M=new ge(new URL(K,window.location.origin).href,{shared:l.sharedSync,sharedData:l.sharedData,documentURL:g,lane:Se,clientId:w,startupCheck:b});return L=M,M.onopen=()=>C(n),M.onerror=()=>{q(n)&&N("reconnecting")},M.onmessage=T=>P(T.data,n),M.addEventListener("cursor",T=>$(T.data,n)),M.addEventListener("presence",T=>{if(!q(n))return;let F;try{F=JSON.parse(T.data)}catch{return}F&&typeof F=="object"&&!Array.isArray(F)&&W(F)}),R}),R},stop(){j||(j=!0,I++,re(),X(),t=null,a=!1)}};return R}var ze="article[data-page]",Ue='section[data-type="tool"][data-id]',Ne=new Set(["UL","OL","LI","DETAILS"]),Ae=new Set(["UL","OL"]),qe=e=>e.tagName==="SECTION"&&e.getAttribute("data-type")==="tool"&&e.hasAttribute("data-id");function xe(e){return oe(e)}function oe(e){let r=e.querySelector(':scope > script[type="application/json"][data-tool]'),c={};try{c=r?JSON.parse(r.textContent):{}}catch(f){return{rev:null,artifact:null,state:{},signature:null,invalid:!0,error:f}}return{rev:c.rev??null,artifact:c.artifact??null,state:c.state??{},signature:JSON.stringify(c.artifact??null),invalid:!1}}function ie(e){let r=new Map,c=new Set;for(let f of e.querySelectorAll(Ue)){let m=f.getAttribute("data-id");if(!c.has(m)){if(r.has(m)){r.delete(m),c.add(m);continue}r.set(m,oe(f))}}return r}function ue(e){let r=e.querySelector('script[type="application/json"][merge="page.tools"]');if(!r)return{};try{return JSON.parse(r.textContent)}catch{return{}}}function Ve(e){let r=new Map,c=new Set,f=m=>{for(let g of m.children){let b=g.getAttribute("data-id");if(b){if(c.has(b))continue;if(r.has(b)){r.delete(b),c.add(b);continue}r.set(b,g)}Ne.has(g.tagName)&&f(g)}};return f(e),r}function ke(e){let r=new Set,c=f=>{for(let m of f.children){let g=m.getAttribute("data-id");g&&r.add(g),Ne.has(m.tagName)&&c(m)}};return c(e),r}function Q(e,r=document){if(typeof e!="string"||e==="")return{ok:!1,reason:"bytes"};let c=(r.defaultView??globalThis).DOMParser;if(typeof c!="function")return{ok:!1,reason:"parser"};let f=new c().parseFromString(e,"text/html"),m=[...f.querySelectorAll(ze)];if(m.length!==1)return{ok:!1,reason:"article"};let g=m[0],b=new Map;for(let v of g.querySelectorAll("details[data-id]"))b.set(v.getAttribute("data-id"),v.hasAttribute("open"));let o=ie(g);return{ok:!0,article:g,source:f,rev:g.getAttribute("data-rev"),title:f.title||null,savedOpen:b,tools:o,toolState:o.size?ue(f):{}}}var ce=(e,r)=>{let c=oe(e),f=oe(r);return!c.invalid&&!f.invalid&&c.rev===f.rev&&c.signature===f.signature};function Ee(e,{article:r,readerOpen:c=new Map,savedOpen:f=null,keepTool:m=ce}={}){if(!e?.ok||!r)return{changed:!1};for(let t of e.article.querySelectorAll("details[data-id]")){let a=t.getAttribute("data-id");c.has(a)&&t.hasAttribute("open")!==c.get(a)&&t.toggleAttribute("open",c.get(a))}let g=Ve(r),b=new Set,o=!1,v=t=>(o=!0,t.cloneNode(!0)),k=(t,a)=>{let p=ke(t);for(let d of a.children){if(b.has(d)||d.hasAttribute("data-id")||d.tagName!==t.tagName)continue;if(!p.size)return d;let u=ke(d);for(let S of p)if(u.has(S))return d}return null},E=(t,a)=>{for(let p of a.children)if(!(b.has(p)||p.hasAttribute("data-id"))&&p.tagName===t.tagName)return p;return null},O=(t,a,p=null)=>{for(let{name:d,value:u}of[...a.attributes])d===p||t.getAttribute(d)===u||(t.setAttribute(d,u),o=!0);for(let{name:d}of[...t.attributes])d===p||a.hasAttribute(d)||(t.removeAttribute(d),o=!0)},D=(t,a,p)=>{let d=S=>S&&S.nodeType===t.nodeType&&S.nodeValue===t.nodeValue&&!b.has(S),u=d(a.childNodes[p])?a.childNodes[p]:[...a.childNodes].find(d);return u?(b.add(u),u):t.cloneNode(!0)},x=(t,a)=>{let p=[],d=[...a.childNodes];for(let q=0;q<d.length;q++){let N=d[q];if(N.nodeType!==1){p.push(D(N,t,q));continue}let G=A(N,t);b.add(G),p.push(G)}let u=new Set(p),S=t.firstChild;for(let q of p){for(;S&&!u.has(S);)S=S.nextSibling;if(S===q){S=S.nextSibling;continue}t.insertBefore(q,S),o=!0}for(let q of[...t.childNodes])u.has(q)||(q.remove(),o=!0)},I=t=>{o=!0;let a=t.cloneNode(!1);return x(a,t),a},j=(t,a)=>{o=!0;let p=t.getAttribute("data-id"),d=c.has(p)?c.get(p):a.hasAttribute("open");O(t,a,"open"),t.hasAttribute("open")!==d&&t.toggleAttribute("open",d),x(t,a)},L=(t,a)=>{o=!0,O(t,a),x(t,a)};function A(t,a){let p=t.getAttribute("data-id");if(p){let u=g.get(p);return!u||b.has(u)||u===a||u.contains(a)?v(t):(b.add(u),qe(u)&&qe(t)?m(u,t)?u:v(t):u.tagName!==t.tagName?v(t):u.isEqualNode(t)?u:t.tagName==="DETAILS"?(j(u,t),u):t.tagName==="LI"?(L(u,t),u):Ae.has(t.tagName)?(O(u,t),x(u,t),u):v(t))}if(Ae.has(t.tagName)){let u=k(t,a);return u?(b.add(u),O(u,t),x(u,t),u):I(t)}let d=E(t,a);return d?(b.add(d),d.isEqualNode(t)?d:(o=!0,v(t))):v(t)}if(x(r,e.article),f){f.clear();for(let[t,a]of e.savedOpen)f.set(t,a)}for(let t of[...c.keys()])e.savedOpen.has(t)||c.delete(t);return{changed:o}}var Le="article[data-page]",Je='section[data-type="tool"][data-id]',je='script[type="application/json"][merge="page"]',fe=["live-at","live-by"];var Be=e=>{import("../c-VL52ADDR.js").then(({recordEtag:r})=>r(e)).catch(()=>{})},de=e=>Object.freeze({bytes:typeof e?.bytes=="string"?e.bytes:null,etag:typeof e?.etag=="string"&&e.etag?e.etag:null,seq:Number.isSafeInteger(e?.seq)?e.seq:null}),Fe=(e,r)=>{let c=e.source.querySelector(je),f=r.querySelector(je);if(!c)return f?(f.remove(),!0):!1;if(f){let g=fe.map(o=>c.getAttribute(o));return f.textContent===c.textContent&&fe.every((o,v)=>f.getAttribute(o)===g[v])?!1:(f.textContent!==c.textContent&&(f.textContent=c.textContent),fe.forEach((o,v)=>{g[v]===null?f.removeAttribute(o):f.setAttribute(o,g[v])}),!0)}let m=r.querySelector(Le);return m?.parentNode?(m.parentNode.insertBefore(r.importNode(c,!0),m),!0):!1};function He({doc:e,article:r,represented:c=null,feed:f=null,documentURL:m,servedEtag:g=null,stream:b=null,release:o=()=>{}}){let v=new Map,k=new Map,E=new Map,O={data:{}},D=[],x=null,I=null,j=0,L=!1,A=b,t=null,a=de(c),p=null,d=o,u=!1,S=(s,y)=>{let h=e.defaultView??globalThis;e.dispatchEvent(new h.CustomEvent(s,{detail:y}))},q=()=>{for(let s of E.values())try{s.instance?.dispose?.()}catch{}E.clear()},N=()=>x?Promise.resolve(x):(I||(I=import("../c-GOWBDM6J.js").then(({createToolHost:s})=>L?null:(x=s({store:O,mode:"view"}),x)).catch(s=>(I=null,console.warn("clayjs: could not load the reader tool host",s),null))),I),G=s=>{for(let[y,h]of E){let P=s.get(y);if(!P||P.invalid||P.rev!==h.rev||P.signature!==h.signature){try{h.instance?.dispose?.()}catch{}E.delete(y)}}},W=(s,y)=>{let h=[];for(let[$,C]of s)C.invalid?console.warn("clayjs: could not decode saved tools",C.error):h.push([$,C]);if(!h.length)return;O.data=y??{};let P=++j;N().then($=>{if(!(L||!$||P!==j))for(let[C,R]of h){if(E.has(C))continue;let n=[...r.querySelectorAll(Je)].find(l=>l.getAttribute("data-id")===C);if(n)try{let l=$.mount(n,{id:C,artifact:R.artifact,rev:R.rev,seed:R.state??{}});E.set(C,{rev:R.rev,signature:R.signature,instance:l})}catch(l){console.warn(`clayjs: tool ${C} could not mount`,l)}}})},re=(s,y)=>{let h=E.get(s.getAttribute("data-id"));if(!h)return ce(s,y);let P=xe(y);return!P.invalid&&P.rev===h.rev&&P.signature===h.signature},X=s=>{s?.state==="current"&&(a=de({bytes:a.bytes,etag:s.etag??null,seq:s.seq??null})),s?.state&&s.state!=="applied"&&S("clay:reader-status",s)},B=s=>{Ee(s,{article:r,readerOpen:v,savedOpen:k,keepTool:re}),s.rev===null?r.removeAttribute("data-rev"):r.setAttribute("data-rev",s.rev),s.title&&(e.title=s.title),Fe(s,e)},ne=s=>{console.warn("clayjs: the reader could not apply a saved file",s),A?.stop(),A=null,q();let y=a.bytes?Q(a.bytes,e):null;if(y?.ok)try{B(y)}catch(h){console.warn("clayjs: the reader could not restore the previous file",h)}S("clay:reader-status",{state:"blocked"})};function _(s){if(L||u)return!1;let y=Q(s.bytes,e);if(!y.ok||r.querySelector(".page-editor"))return!1;if(be(s.bytes))return A?.stop(),A=null,se(),S("clay:reader-status",{state:"blocked",reason:"upgraded"}),!1;G(y.tools);try{B(y)}catch(h){return ne(h),!1}return a=de(s),a.etag&&Be(a.etag),W(y.tools,y.toolState),S("clay:reader-status",{state:"applied",etag:a.etag,seq:a.seq}),!0}let z=()=>a.bytes===null?!1:(U.stop(),!0),J=s=>{let y=s.target;if(y.tagName!=="DETAILS"||!r.contains(y))return;let h=y.getAttribute("data-id");h&&(y.open===k.get(h)?v.delete(h):v.set(h,y.open))};if(e.addEventListener("toggle",J,!0),D.push(["toggle",J,!0]),c){let s=Q(c.bytes,e);if(!s.ok)throw new Error(`clayjs: the saved file is not a readable page (${s.reason})`);B(s),W(s.tools,s.toolState)}else{for(let s of r.querySelectorAll("details[data-id]"))k.set(s.getAttribute("data-id"),s.hasAttribute("open"));W(ie(r),ue(e))}let U={ready:null,get represented(){return a},yieldArticle(){return L||u?!1:(j++,q(),u=!0,d(),!0)},reclaimArticle(){if(L||!u)return!1;if(d=le(r,"reader"),u=!1,a.bytes!==null){let s=Q(a.bytes,e);s.ok&&(B(s),W(s.tools,s.toolState))}return!0},prepareHandoff(s={}){return p?Promise.resolve(p):L?Promise.reject(new Error("clayjs: the reader is stopped")):(p=import("../c-J7CA54IP.js").then(({readerHandoff:y})=>y({stream:A,options:s,apply:_,retire:z,yieldArticle:U.yieldArticle,reclaimArticle:U.reclaimArticle})),p)},stop(){if(L)return t;L=!0,p=null,j++,A?.stop(),A=null;for(let[s,y,h]of D)e.removeEventListener(s,y,h);D.length=0,q();try{x?.dispose()}catch{}return x=null,u||d(),u=!1,d=()=>!1,t=Object.freeze({...a}),t}};if(U.ready=Promise.resolve(U),f){let s=y=>{let h=y.detail;typeof h?.html=="string"&&(h.source&&h.source!=="disk"&&h.lane!=="saved"||_({bytes:h.html,etag:h.etag??null,seq:h.seq??null}))};f.addEventListener("clay:sync-applied",s),D.push(["clay:sync-applied",s])}else A?A.adopt({onSnapshot:_,onStatus:X}):(A=we({documentURL:m,servedEtag:g,represented:a.bytes?a:null,onSnapshot:_,onStatus:X}),A.start());return U}function ae({represented:e=null,documentURL:r,servedEtag:c=null,stream:f=null,feed:m=null,doc:g=document}={}){if(e&&(typeof e.bytes!="string"||e.bytes===""))throw new TypeError("clayjs: the reader needs the full saved bytes to start");if(!m&&!f&&!e&&!r)throw new TypeError("clayjs: the reader needs a file, a stream or a page to follow");let b=g.querySelectorAll(Le);if(b.length!==1)throw new Error("clayjs: the reader needs exactly one article[data-page]");let o=b[0];if(o.querySelector(".page-editor"))throw new Error("clayjs: the reader will not start over a mounted editor");if(e){let k=Q(e.bytes,g);if(!k.ok)throw new Error("clayjs: the saved file is not a readable page");if(me(k.source))throw se(),new Error("clayjs: the saved file was published at another version of this document")}let v=le(o,"reader");try{return He({doc:g,article:o,represented:e,feed:m,documentURL:r,servedEtag:c,stream:f,release:v})}catch(k){throw v(),k}}var V=null,te=null,he=!1,Te=!1,ee=null,Z=null,pe=null,Oe=()=>document.querySelectorAll("article[data-page]").length===1;function Ge(){ee=e=>{if(he)return;let r=e.detail;r?.state==="applied"?te?.(V):(r?.state==="blocked"||r?.state==="recoverable")&&te?.(null)},document.addEventListener("clay:reader-status",ee)}function We(){ee&&document.removeEventListener("clay:reader-status",ee),ee=null,te=null}function _e(e=null){if(!Oe())return Promise.resolve(null);try{V=e?ae({represented:e}):ae({documentURL:window.location.href,servedEtag:ye})}catch(r){return console.warn("clayjs: the reader could not start over the served article",r),Promise.resolve(null)}return e?Promise.resolve(V.represented):new Promise(r=>{te=r})}function $e(e=null){if(!Oe())return Promise.resolve(null);try{V=ae({feed:document,represented:e,documentURL:window.location.href})}catch(r){return console.warn("clayjs: the reader could not start over the page sync projects",r),Promise.resolve(null)}return Promise.resolve(V)}function Qe({sync:e=!1,represented:r=null}={}){return Z||(he=!1,Te=e,Ge(),pe=e?$e(r):_e(r),Z=e?pe:Promise.resolve(null),Z)}function it(e={}){return Xe(),Qe(e)}function ut(e){return V?V.prepareHandoff(e):Promise.reject(new Error("clayjs: the reader has not started"))}function Xe(){he=!0,Te||te?.(null),We(),V?.stop(),V=null,pe=null,Z=null}export{pe as acquired,ut as prepareHandoff,Z as ready,it as restart,Qe as start,Xe as stop};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as I,c as V}from"../c-RVMWGXEJ.js";import{a as P,d as j}from"../c-AYVOREBE.js";import{i as K,m as M}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var b=()=>window.clay&&"isEditMode"in window.clay?!!window.clay.isEditMode:K,pe=/^[A-Za-z0-9_-]{8,64}$/,D="clay:people:me",de=2e3,B=120,Q=/\S+@\S+\.\S+/,a={supports:!1,me:null,members:null,unavailable:!1},l=null,m,u=null,f=null,y=null,x=null,N="",_=null;function g(e){if(!e||typeof e!="object")return null;let t=typeof e.id=="string"?e.id:"",n=typeof e.name=="string"?e.name.trim().replace(/\s+/g," "):"";return!pe.test(t)||!n||n.length>B||Q.test(n)?null:{id:t,name:n}}function p({id:e,name:t}){return Object.freeze({id:e,name:t,initials:V(t),color:I(e)})}function E(){document.dispatchEvent(new CustomEvent("clay:people",{detail:{me:ee()}}))}function fe(){return document.querySelector("[clay-people]")}function O(){return[...document.querySelectorAll("[clay-people] data[value]")]}function R(){if(u)return u;u=new Map;for(let e of O()){let t=g({id:e.getAttribute("value"),name:e.textContent});t&&!u.has(t.id)&&u.set(t.id,p(t))}return u}function S(){if(m===void 0){m=null;try{m=g(JSON.parse(window.localStorage.getItem(D)||"null"))}catch{}}return m}function q(e){m=e;try{window.localStorage.setItem(D,JSON.stringify(e))}catch{}}function me(){let e=new Uint8Array(16);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ee(){if(!b())return null;if(a.me)return p(a.me);if(a.unavailable||l!=="ok"&&l!=="none")return null;let e=S();return e?p(e):null}function te(e){let t=P(e);if(t!=="ok"&&a.supports)return;let n=e.document?.people,o=e.extensions.includes("people")&&!!n&&typeof n=="object",r={supports:o,me:o?g(n.me):null,members:o&&Array.isArray(n.members)?n.members.map(g).filter(Boolean):null,unavailable:o&&n.unavailable===!0},s=t!==l||JSON.stringify(r)!==JSON.stringify(a);a=r,l=t,s&&E()}async function k(e){te(await j({fresh:e}))}function ne(e){L();let t=String(e??""),n=a.me?.id===t&&a.me||a.members?.find(r=>r.id===t);if(n)return p(n);let o=S();return o?.id===t?p(o):R().get(t)||Object.freeze({id:t,name:"Unknown person",initials:"?",color:I(t)})}function oe(){return L(),[...R().keys()].map(ne)}async function be(){return await k(l!=="none"),a.members?a.members.map(p):null}function J(e){let t=g(e);if(!t)throw new TypeError("clay.people.add: needs an id of 8 to 64 letters, digits, _ or -, and a name of 1 to 120 characters");let n=fe();n||(n=document.createElement("div"),n.setAttribute("clay-people",""),n.hidden=!0,document.body.append(n));let o=O().filter(r=>r.getAttribute("value")===t.id);if(o.length){o[0].textContent!==t.name&&(o[0].textContent=t.name);for(let r of o.slice(1))r.remove()}else{let r=document.createElement("data");r.setAttribute("value",t.id),r.textContent=t.name,n.append(r)}return u=null,p(t)}function ge(e){let t=String(e??"");for(let n of O())n.getAttribute("value")===t&&n.remove();u=null}function re(){return b()&&!a.me&&(l==="ok"||l==="none")&&!!S()&&!a.unavailable}function he(e){if(!re())throw Object.assign(new Error("clay.people.rename: only a name chosen in this browser can be changed here"),{code:"not-renamable"});let t=S(),n=g({id:t.id,name:e});if(!n)throw new TypeError("clay.people.rename: needs a name of 1 to 120 characters that is not an email address");return q(n),O().some(o=>o.getAttribute("value")===n.id)&&J(n),E(),p(n)}var ye=e=>e!==M().generation||!b();function z(e){if(ye(e))throw Object.assign(new Error("clay.author: the page left edit mode before your name was recorded"),{code:"stale-document"})}function X(){return Object.assign(new Error("Can't reach the host to check who you are. Try again in a moment."),{code:"people-unavailable"})}async function Pe(e,t="data-by"){if(!window.clay?.isEditMode)throw new Error("clay.author: this page is not in edit mode");if(!(e instanceof Element))throw new TypeError("clay.author: needs an element");let n=M().generation;if(a.supports){let r=await j({fresh:!0});z(n);let s=P(r);if(s==="none")throw Object.assign(new Error("This page lost its connection to the host. Reload it to keep editing."),{code:"people-unavailable"});if(s!=="ok")throw X();if(te(r),a.unavailable)throw Object.assign(new Error("The app hosting this file can't name you right now. Check its Profile settings, then try again."),{code:"people-unavailable"})}else l!=="ok"&&l!=="none"&&(await k(l==="failed"),z(n));if(l==="failed")throw X();let o=ee();if(!o){let r=await ve();if(z(n),!r)return null;q(r),o=p(r),E()}return J(o),e.setAttribute(t,o.id),o}function we(){return _??=Promise.all([import("../c-WNYBLIOZ.js"),import("../c-6HMB24EV.js"),import("../c-OCSZ4QGN.js")]).then(([e,t,n])=>({...e,...t,resolveTheme:n.resolveTheme})).catch(e=>{throw _=null,e}),_}function ve(){return f&&(!y||y.isConnected)||(f&&x(),f=xe().catch(e=>{throw f=null,y=null,x=null,e})),f}async function xe(){let e=await we();return new Promise(t=>{let n=e.resolveTheme(),{root:o,overlay:r,panel:s,heading:ae,body:U,footer:le,close:se}=e.bevelDialog({zIndex:"2147483001",width:"420px",closable:!0,titled:!0,theme:n,surface:"people"});y=o,x=()=>d(null),ae.textContent="What name should appear on your changes?",s.setAttribute("aria-label","Your name");let c=e.bevelInput("input",{rules:["display:block","width:100%","margin:0"],theme:n,parts:["dialog.input","people.input"]});c.setAttribute("aria-label","Your name"),c.maxLength=B,c.autocomplete="name";let h=e.bevelText("p",["display:block","margin:10px 0 0","font-size:13px","opacity:.8"],"Saved in this browser. Everyone who can read this page will see it.",{theme:n,parts:["dialog.hint","people.hint"],role:"mutedText"}),F=h.textContent;U.append(c,h);let W=oe().slice(0,8);if(W.length){let i=e.bevelText("p",["display:block","margin:18px 0 8px","font-size:13px"],"Or continue as someone already in this page:",{theme:n,parts:["people.choiceLabel"],role:"mutedText"}),H=e.bevelBox("div",["display:flex","flex-wrap:wrap","gap:8px"],{theme:n,parts:["people.choices"]});for(let T of W)H.append(e.bevelButton(T.name,{small:!0,onClick:()=>d({id:T.id,name:T.name}),theme:n,parts:["dialog.button","people.button","people.choice"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}));U.append(i,H)}let ce=e.bevelButton("Cancel",{onClick:()=>d(null),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]}),ue=e.bevelButton("Continue",{variant:"primary",onClick:()=>A(),theme:n,parts:["dialog.button","people.button"],labelParts:["dialog.buttonLabel","people.buttonLabel"]});le.append(ce,ue);let A=()=>{let i=c.value.trim().replace(/\s+/g," ");if(!i){c.focus();return}if(Q.test(i)){h.textContent="Use a name, not an email address. Everyone who can read this page will see it.",c.focus();return}d({id:me(),name:i.slice(0,B)})};c.addEventListener("input",()=>{h.textContent!==F&&(h.textContent=F)}),s.addEventListener("submit",i=>{i.preventDefault(),A()}),se?.addEventListener("click",()=>d(null));let C=!1;r.addEventListener("mousedown",i=>{C=i.target===r}),r.addEventListener("click",i=>{C&&i.target===r&&d(null),C=!1});let Y=i=>{if(i.key==="Tab"){i.stopPropagation(),e.keepFocusIn(s,i);return}i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),d(null)):i.key==="Enter"&&i.target===c&&(i.preventDefault(),i.stopPropagation(),A())};document.addEventListener("keydown",Y,!0);let $=!1;function d(i){$||($=!0,document.removeEventListener("keydown",Y,!0),o.remove(),i&&q(i),f=null,y=null,x=null,t(i))}e.dismissOf.set(o,()=>d(null)),o.setAttribute("aria-hidden","false"),Ee().append(o),c.focus()})}function Ee(){let e=[...document.querySelectorAll("dialog[open]")].filter(t=>t.matches(":modal"));return e[e.length-1]||document.body}function Z(e){return e.nodeType===1&&(e.matches("[clay-people]")||!!e.querySelector("[clay-people]"))}function G(){return JSON.stringify([...R().values()].map(({id:e,name:t})=>[e,t]))}var w=null;function L(){let e=document;if(w?.doc===e)return;w?.observer.disconnect(),N=G();let t=new MutationObserver(n=>{if(!(typeof document>"u"||document!==e))for(let o of n){let r=o.target.nodeType===1?o.target:o.target.parentElement;if(o.attributeName==="clay-people"||r?.closest("[clay-people]")||[...o.addedNodes].some(Z)||[...o.removedNodes].some(Z)){u=null;let s=G();s!==N&&(N=s,E());return}}});t.observe(e.body,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["value","clay-people"]}),w={doc:e,observer:t}}function ke(){w?.observer.disconnect(),w=null}var v=null;function ie(){if(!b())return Promise.resolve(null);if(!v){let e=new AbortController,{signal:t}=e;window.addEventListener("storage",n=>{n.key!==D||!b()||(m=void 0,E())},{signal:t}),document.addEventListener("visibilitychange",()=>{b()&&document.visibilityState==="visible"&&l!=="none"&&k(!0)},{signal:t}),v={listeners:e,first:k(!1)}}return Promise.race([v.first,new Promise(e=>setTimeout(e,de))])}function Oe(){v?.listeners.abort(),v=null}async function Se(){L(),await ie()}function Le(){return{enable(){L(),ie()},quiesce(){if(f)throw Object.assign(new Error("clay:people: a name is still being chosen"),{code:"pending-input",pending:["name"]})},resume(){},dispose(){x?.(),ke(),Oe()}}}function je(){return{id:"clay:people",order:330,prepare(e={}){let t=Le();return e.initial!==!0?t:{...t,enable(){}}}}}var Ae=Object.freeze({get:ne,list:oe,available:be,add:J,remove:ge,canRename:re,rename:he}),Ie=Se(),Ne=Ae;export{Pe as author,ee as currentMe,Ne as default,je as modeParticipant,Ae as people,je as peopleParticipant,Ie as ready};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{a as ot,b as rt,c as it}from"../c-LFPHCXY3.js";import{a as nt}from"../c-HPURYVZS.js";import{g as et}from"../c-OIBUTDXI.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-NUHP2XDB.js";import"../c-VHNSBD2M.js";var qt=":root{--qc-surface:#f7f2ea;--qc-surface-hover:#efe7d8;--qc-border:#cdbfa6;--qc-text:#2b241b;--qc-text-hover:#463c2e;--qc-on-dark:#efe7d8;--qc-overlay:rgba(43,36,27,.6);--qc-dim:rgba(0,0,0,.55);--qc-radius:8px;--qc-crop-line:#fff;--qc-font:ui-sans-serif,system-ui,sans-serif;}.qc-css-probe{position:absolute;}.qc-backdrop{position:fixed;inset:0;background:var(--qc-overlay);display:grid;place-items:center;z-index:1000;animation:qc-fade .15s ease;}@keyframes qc-fade{from{opacity:0}}.qc-modal{background:var(--qc-surface);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:16px;max-width:92vw;font-family:var(--qc-font);}.qc-bar{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;}.qc-btn{font:inherit;font-family:var(--qc-font);font-size:.85rem;padding:.3rem .75rem;border:1px solid var(--qc-border);border-radius:6px;background:var(--qc-surface);color:var(--qc-text);cursor:pointer;}.qc-btn:hover{background:var(--qc-surface-hover);}.qc-btn-primary{background:var(--qc-text);border-color:var(--qc-text);color:var(--qc-on-dark);font-weight:600;}.qc-btn-primary:hover{background:var(--qc-text-hover);border-color:var(--qc-text-hover);}.qc-stage{position:relative;line-height:0;user-select:none;-webkit-user-select:none;touch-action:none;}.qc-stage img{display:block;max-width:100%;pointer-events:none;}.qc-dim{position:absolute;inset:0;background:var(--qc-dim);pointer-events:none;}.qc-box{position:absolute;cursor:move;outline:1px solid var(--qc-crop-line);background:linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 33.33%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 66.66%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 33.33% 0/1px 100% no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 66.66% 0/1px 100% no-repeat;background-blend-mode:overlay;}.qc-handle{position:absolute;box-sizing:border-box;width:28px;height:28px;border:7px solid transparent;background:var(--qc-crop-line);background-clip:padding-box;border-radius:9px;}.qc-nw{left:-14px;top:-14px;cursor:nwse-resize;}.qc-ne{right:-14px;top:-14px;cursor:nesw-resize;}.qc-sw{left:-14px;bottom:-14px;cursor:nesw-resize;}.qc-se{right:-14px;bottom:-14px;cursor:nwse-resize;}.qc-mount{line-height:0;}",gt=["image/jpeg","image/png","image/webp"];var _=!1;function L(t,n="",e=""){let r=document.createElement(t);return n&&(r.className=n),e&&(r.textContent=e),r}function D(t,n,e){t.style.setProperty(n,e,"important")}function vt(t){return String(t).replace(/[&<>"']/g,n=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[n])}function K(){if(document.querySelector("style[data-quickcrop]"))return;let t=L("div","qc-css-probe");t.style.display="none",document.body.append(t);let n=getComputedStyle(t).position==="absolute";if(t.remove(),n)return;let e=document.createElement("style");e.setAttribute("data-quickcrop",""),e.setAttribute("save-remove",""),e.setAttribute("snapshot-remove",""),e.textContent=qt,document.head.append(e)}var Y={open({content:t,confirmLabel:n,onConfirm:e,onCancel:r}){K();let i=L("div","qc-backdrop");i.setAttribute("save-remove",""),i.setAttribute("snapshot-remove","");let m=L("div","qc-modal"),u=L("div","qc-bar"),f=L("button","qc-btn qc-btn-primary",n);f.type="button",u.append(f),m.append(t,u),i.append(m),document.body.append(i);let E=q=>{q.key==="Escape"&&r()};return document.addEventListener("keydown",E),f.onclick=()=>e(),i.onclick=q=>{q.target===i&&r()},f.focus(),{close(){document.removeEventListener("keydown",E),i.remove()}}}};function at(t){return!!t&&typeof t=="object"&&typeof t.open=="function"&&typeof t.close=="function"&&typeof t.onYes=="function"&&"html"in t}var xt='<svg viewBox="0 0 134 134" xmlns="http://www.w3.org/2000/svg"><path class="micromodal__close-bg" d="M132 132.5 1 1.5h131v131Z"/><path d="M83 27l24 24M107 27L83 51" stroke="#fff" stroke-width="6"/></svg>';function ct(t){let n=()=>t.isShowing&&!!document.querySelector(".micromodal-parent");return{fit(){if(n())return null;let e=window.innerWidth>=640?128:80;return{width:Math.max(120,Math.min(550,window.innerWidth-32)-4-e),height:Math.max(120,window.innerHeight-220)}},open(e){if(n())return Y.open(e);let{content:r,confirmLabel:i,onConfirm:m,onCancel:u}=e;K();let f=!1,E=C=>{f||(f=!0,document.removeEventListener("keydown",q,!0),C())},q=C=>{C.key==="Escape"&&(C.stopPropagation(),u())};return t.html='<div class="qc-mount"></div>',t.yes=vt(i),t.no="",t.closeHtml=xt,t.disableFocus=!0,t.onOpen(()=>{document.querySelector(".micromodal__content .qc-mount")?.append(r),document.querySelector(".micromodal-parent .micromodal__yes")?.focus(),document.addEventListener("keydown",q,!0)}),t.onYes(()=>(E(m),!0)),t.onNo(()=>{E(u)}),t.open(),{close(){f||(f=!0,document.removeEventListener("keydown",q,!0),t.close())}}}}}function yt(t){if(t==="builtin")return Y;if(t&&typeof t=="object"){if(at(t))return ct(t);if(typeof t.open=="function")return t;throw new TypeError('quickcrop: modal must be "auto", "builtin", a themodal instance, or an adapter with open()')}if(t==="auto")return at(window.themodal)?ct(window.themodal):Y;throw new TypeError('quickcrop: modal must be "auto", "builtin", a themodal instance, or an adapter with open()')}function wt(t,n={}){let{aspect:e=null,type:r,quality:i=.92,maxWidth:m=null,maxHeight:u=null,minSize:f=40,labels:E={},modal:q="auto"}=n,{confirm:C="Crop"}=E;if(!(t instanceof Blob))return Promise.reject(new TypeError("quickcrop: expected a File or Blob"));if(_)return Promise.reject(new Error("quickcrop: already open"));let S;try{S=yt(q)}catch(R){return Promise.reject(R)}_=!0;let A=r||(gt.includes(t.type)?t.type:"image/png"),F=URL.createObjectURL(t),a=new Image;return new Promise((R,z)=>{a.onerror=()=>{URL.revokeObjectURL(F),_=!1,z(new Error("quickcrop: could not decode image"))};function h(){let U=S.fit?S.fit():null,mt=Math.max(1,Math.min(U?.width??window.innerWidth*.86,a.naturalWidth)),ut=Math.max(1,U?.height??window.innerHeight*.72),N=Math.min(mt/a.naturalWidth,ut/a.naturalHeight,1),M=Math.max(1,Math.round(a.naturalWidth*N)),g=Math.max(1,Math.round(a.naturalHeight*N)),$=Math.min(f,M,g);K();let v=L("div","qc-stage");D(a,"width",M+"px"),D(a,"height",g+"px");let Q=L("div","qc-dim"),B=L("div","qc-box");for(let o of["nw","ne","sw","se"])B.appendChild(L("div","qc-handle qc-"+o));v.append(a,Q,B);let c,p;e?(c=Math.min(M,g*e),p=c/e,p>g&&(p=g,c=p*e)):(c=M,p=g);let y=(M-c)/2,w=(g-p)/2;Z();function Z(){D(B,"left",y+"px"),D(B,"top",w+"px"),D(B,"width",c+"px"),D(B,"height",p+"px"),D(Q,"clip-path",`polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0, ${y}px ${w}px, ${y}px ${w+p}px, ${y+c}px ${w+p}px, ${y+c}px ${w}px, ${y}px ${w}px)`)}let T=(o,b,d)=>Math.max(b,Math.min(d,o));v.addEventListener("pointerdown",o=>{let b=o.target.closest(".qc-handle"),d=o.target===B;if(!b&&!d)return;o.preventDefault(),v.setPointerCapture(o.pointerId);let s={px:o.clientX,py:o.clientY,x:y,y:w,w:c,h:p},l=b&&[...b.classList].find(W=>/^qc-(nw|ne|sw|se)$/.test(W))?.slice(3),x=W=>{if(!l)y=T(s.x+(W.clientX-s.px),0,M-c),w=T(s.y+(W.clientY-s.py),0,g-p);else{let O=l.includes("w")?s.x+s.w:s.x,H=l.includes("n")?s.y+s.h:s.y,P=l.includes("e"),X=l.includes("s"),G=v.getBoundingClientRect(),J=Math.abs(W.clientX-(G.left+O)),V=Math.abs(W.clientY-(G.top+H));if(e){let tt=Math.min(P?M-O:O,(X?g-H:H)*e),bt=Math.min(Math.max($,$*e),tt);c=T(Math.max(J,V*e),bt,tt),p=c/e}else c=T(J,$,P?M-O:O),p=T(V,$,X?g-H:H);y=P?O:O-c,w=X?H:H-p}Z()},k=()=>{v.removeEventListener("pointermove",x),v.removeEventListener("pointerup",k),v.removeEventListener("pointercancel",k)};v.addEventListener("pointermove",x),v.addEventListener("pointerup",k),v.addEventListener("pointercancel",k)});function ft(){let o=a.naturalWidth/M,b=a.naturalHeight/g,d=Math.round(c*o),s=Math.round(p*b),l=1;m&&d>m&&(l=m/d),u&&s*l>u&&(l=u/s),d*l*s*l>16777216&&(l=Math.sqrt(16777216/(d*s)));let x=document.createElement("canvas");x.width=Math.max(1,Math.round(d*l)),x.height=Math.max(1,Math.round(s*l));let k=x.getContext("2d");if(!k)throw new Error("quickcrop: crop too large for a canvas");return A==="image/jpeg"&&(k.fillStyle="#fff",k.fillRect(0,0,x.width,x.height)),k.imageSmoothingQuality="high",k.drawImage(a,y*o,w*b,c*o,p*b,0,0,x.width,x.height),x}let j=!1,I=()=>j?!1:(j=!0,ht.close(),URL.revokeObjectURL(F),_=!1,!0),ht=S.open({content:v,confirmLabel:C,onConfirm(){if(j)return;let o,b;try{o=ft(),b=o.toDataURL(A,i)}catch(d){I()&&z(d);return}I()&&o.toBlob(d=>{if(!d){z(new Error("quickcrop: image encoding failed"));return}R({blob:d,dataURL:b,width:o.width,height:o.height})},A,i)},onCancel(){I()&&R(null)}})}a.onload=()=>{try{h()}catch(U){URL.revokeObjectURL(F),_=!1,z(U)}},a.src=F})}var pt=wt;var st=[".qc-stage",".qc-backdrop"],dt=`@layer clay-skin{
|
|
2
|
-
:is(.qc-stage, .qc-backdrop),:is(.qc-stage, .qc-backdrop) *{--qc-surface:light-dark(#FFFCF6, #11131E) !important;--qc-text:light-dark(#2B241B, #ECEAF2) !important;--qc-border:light-dark(#D8C8AF, #353B52) !important;--qc-radius:0px !important;--qc-font:system-ui,-apple-system,"Segoe UI",sans-serif !important;--qc-surface-hover:light-dark(#F4ECDF, #1A1D2C) !important;--qc-text-hover:color-mix(in srgb, light-dark(#2B241B, #ECEAF2), light-dark(#FDF8F0, #0B0C13) 12%) !important;--qc-on-dark:light-dark(#FDF8F0, #0B0C13) !important;--qc-overlay:color-mix(in srgb, light-dark(#FDF8F0, #0B0C13) 70%, transparent) !important;--qc-dim:rgba(0,0,0,.55) !important;--qc-crop-line:#fff !important}
|
|
3
|
-
.qc-stage{margin-inline:auto !important;inline-size:fit-content !important;background:light-dark(#F4ECDF, #1A1D2C) !important}
|
|
4
|
-
.qc-stage img{display:block !important;max-inline-size:100% !important}
|
|
5
|
-
.qc-backdrop{position:fixed !important;inset:0 !important;background:var(--qc-overlay) !important;display:grid !important;place-items:center !important;z-index:1000 !important;animation:qc-fade .15s ease !important}
|
|
6
|
-
.qc-modal{background:var(--qc-surface) !important;border:1px solid var(--qc-border) !important;border-radius:var(--qc-radius) !important;padding:16px !important;max-width:92vw !important;font-family:var(--qc-font) !important}
|
|
7
|
-
.qc-bar{display:flex !important;justify-content:flex-end !important;gap:10px !important;margin-top:12px !important}
|
|
8
|
-
.qc-btn{font:inherit !important;font-family:var(--qc-font) !important;font-size:.85rem !important;padding:.3rem .75rem !important;border:1px solid var(--qc-border) !important;border-radius:6px !important;background:var(--qc-surface) !important;color:var(--qc-text) !important;cursor:pointer !important}
|
|
9
|
-
.qc-btn:hover{background:var(--qc-surface-hover) !important}
|
|
10
|
-
.qc-btn-primary{background:var(--qc-text) !important;border-color:var(--qc-text) !important;color:var(--qc-on-dark) !important;font-weight:600 !important}
|
|
11
|
-
.qc-btn-primary:hover{background:var(--qc-text-hover) !important;border-color:var(--qc-text-hover) !important}
|
|
12
|
-
.qc-stage{position:relative !important;line-height:0 !important;user-select:none !important;-webkit-user-select:none !important;touch-action:none !important}
|
|
13
|
-
.qc-stage img{display:block !important;max-width:100% !important;pointer-events:none !important}
|
|
14
|
-
.qc-dim{position:absolute !important;inset:0 !important;background:var(--qc-dim) !important;pointer-events:none !important}
|
|
15
|
-
.qc-box{position:absolute !important;cursor:move !important;outline:1px solid var(--qc-crop-line) !important;background:linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 33.33%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 66.66%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 33.33% 0/1px 100% no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 66.66% 0/1px 100% no-repeat !important;background-blend-mode:overlay !important}
|
|
16
|
-
.qc-handle{position:absolute !important;box-sizing:border-box !important;width:28px !important;height:28px !important;border:7px solid transparent !important;background:var(--qc-crop-line) !important;background-clip:padding-box !important;border-radius:9px !important}
|
|
17
|
-
.qc-nw{left:-14px !important;top:-14px !important;cursor:nwse-resize !important}
|
|
18
|
-
.qc-ne{right:-14px !important;top:-14px !important;cursor:nesw-resize !important}
|
|
19
|
-
.qc-sw{left:-14px !important;bottom:-14px !important;cursor:nesw-resize !important}
|
|
20
|
-
.qc-se{right:-14px !important;bottom:-14px !important;cursor:nwse-resize !important}
|
|
21
|
-
.qc-mount{line-height:0 !important}
|
|
22
|
-
.qc-stage img[hidden]{display:none !important}
|
|
23
|
-
.qc-backdrop[hidden]{display:none !important}
|
|
24
|
-
.qc-bar[hidden]{display:none !important}
|
|
25
|
-
}`;var lt=844;nt("quickcrop",dt,{roots:st});function kt(t){return!!t&&typeof t=="object"&&typeof t.open=="function"&&typeof t.close=="function"&&typeof t.onYes=="function"&&"html"in t}var Et={fit(){let t=document.documentElement.clientWidth;return{width:Math.max(120,Math.min(lt,t-32)-2-44),height:Math.max(120,window.innerHeight-Math.min(96,window.innerHeight*.1)-200)}},open({content:t,confirmLabel:n,onConfirm:e,onCancel:r}){let{root:i,overlay:m,panel:u,heading:f,body:E,footer:q,close:C}=it({zIndex:"2147483001",width:`${lt}px`,closable:!0,titled:!0});f.textContent="Crop image",u.setAttribute("aria-label","Crop image"),E.append(t);let S=et(n,{variant:"primary",onClick:()=>e()});q.append(S),C.addEventListener("click",()=>r()),u.addEventListener("submit",h=>h.preventDefault());let A=!1;m.addEventListener("mousedown",h=>{A=h.target===m}),m.addEventListener("click",h=>{A&&h.target===m&&r(),A=!1});let F=h=>{if(h.key==="Tab"){h.stopPropagation(),rt(u,h);return}h.key==="Escape"&&(h.stopPropagation(),r())};document.addEventListener("keydown",F,!0);let a=document.body.style.overflow;document.body.style.overflow="hidden";let R=!1,z=()=>{R||(R=!0,document.removeEventListener("keydown",F,!0),document.body.style.overflow=a,i.remove())};return ot.set(i,()=>{z(),r()}),i.setAttribute("aria-hidden","false"),document.body.append(i),S.focus(),{close:z}}};function Mt(t,n={}){let e=n.modal??"auto",r=e==="auto"||kt(e);return pt(t,r?{...n,modal:Et}:n)}var Bt=Mt;export{Et as bevelCropAdapter,Bt as default,Mt as quickcrop};
|
|
26
|
-
/*! For license information please see quickcrop-QNY3PKLD.js.LEGAL.txt */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as E,d as x,e as g,f as $,g as I}from"../c-7DJDKPGL.js";import{a as F}from"../c-HT33EQRN.js";import"../c-IJUK2GPW.js";import{i as k,n as D}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{i as R}from"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import{e as O}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var T=O("history"),Q="[cms-template]",q=["draggable","style"],W=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,A=null,p=null;function N(e,t,n,r,i){let s={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(s),s}function z(e,t){t.target.removeEventListener(t.type,t.handler,t.options);let n=e.listeners.indexOf(t);n!==-1&&e.listeners.splice(n,1)}function U(e,t){let n=setTimeout(()=>{e.timers.delete(n),t()},0);return e.timers.add(n),n}function X(e,t){return{Sortable:e,root:t,admitted:!1,instances:new Set,listeners:[],timers:new Set,presses:new Set,stop:null}}var Y={admitted:!0,instances:new Set,listeners:[],timers:new Set,presses:new Set};function Z(e){return[e,...e.querySelectorAll("*")].filter(t=>!t.closest(T)).map(t=>[t,q.map(n=>t.getAttribute(n))])}function _(e){for(let[t,n]of e)q.forEach((r,i)=>{let s=n[i],a=t.getAttribute(r);if(a!==s)if(s===null){if(r==="style"&&a)return;t.removeAttribute(r)}else t.setAttribute(r,s)})}function H(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function C(e){return`> ${H(e)}:not(${T})`}function B(e,t){return!e||!t||t.nodeType!==1||!t.matches(H(e))?!1:!t.closest(T)&&!t.closest(Q)}function M(e,t){return!e||!t||t.parentElement!==e?!1:B(e,t)}function ee(e,t){let n=t.nextElementSibling;for(;n&&!M(e,n);)n=n.nextElementSibling;return n}function P(e,t){return Array.prototype.indexOf.call(e.children,t)}function V(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 j(e,t,n=Y){let r={};if(r.draggable=C(e),t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let s=e.querySelectorAll("[sortable-handle]"),a=e.querySelectorAll("[sortable]");Array.from(s).some(o=>!Array.from(a).some(l=>l.contains(o)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(o){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,o)}catch(l){console.error("Error in onsorting execution:",l)}});let f=e.getAttribute("onsorted");r.onEnd=function(o){if(!n.admitted)return;let l={item:o.item,from:o.from,to:o.to,oldIndex:o.oldIndex,newIndex:o.newIndex},b=u;u=null,m&&(_(m),m=null),b&&(I(b,l),g(b)),V(l,f)};let d=null,u=null,m=null,w=!1,v=[],J=()=>{let o=u;u=null,m=null,g(o)},L=()=>{let o=d;d=null,o&&(n.presses.delete(o),y.delete(o),m=o),v.forEach(l=>z(n,l)),v=[],o&&U(n,()=>_(o))},K=()=>{w?x(u):(g(u),u=null),w=!1,L(),U(n,J)};N(n,e,"pointerdown",o=>{let l=o.target instanceof Element?o.target:null;for(;l&&l.parentElement!==e;)l=l.parentElement;!l||d||(d=Z(l),u=E(l),w=!1,n.presses.add(d),y.add(d),v=W.map(b=>N(n,document,b,K,!0)))},!0),r.onUnchoose=L,r.onStart=()=>{w=!0},t.create(e,r),n.instances.add(e)}function te(e,t,n=null){let r=f=>({ok:!1,code:f});if(!k||p&&!p.admitted)return r("not-editable");let i=document;if(!e||e.nodeType!==1||!e.isConnected||e.ownerDocument!==i)return r("detached");let s=e.parentElement;if(!s||!s.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!s.hasAttribute("sortable")||!M(s,e)||!t.hasAttribute("sortable")||!B(t,e)||e===t||e.contains(t))return r("item");if(s!==t){let f=s.getAttribute("sortable");if(!f||f!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!M(t,n))return r("anchor");if(s===t&&ee(s,e)===n)return{ok:!0,moved:!1};let a=P(s,e),S=E(e);x(S);let c;try{t.insertBefore(e,n),c={item:e,from:s,to:t,oldIndex:a,newIndex:P(t,e)},I(S,c)}finally{g(S)}return V(c,s.getAttribute("onsorted")),{ok:!0,moved:!0,...c}}function ne(){return h||(h=import("../vendor/Sortable.vendor-A755ITLN.js").then(e=>window.Sortable||e.default),h.catch(()=>{h=null})),h}function re(){return A||(R((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,s]of r)n.set(i,s);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&q.forEach((s,a)=>{i[a]===null?r.removeAttribute(s):r.setAttribute(s,i[a])})}}),A=!0,A)}function se(e){return{enable(){if(!e.admitted){e.admitted=!0;for(let t of e.root.querySelectorAll("[sortable]"))j(t,e.Sortable,e);e.stop=F.onAddElement({selectorFilter:"[sortable]",debounce:200,require:"observed",pausable:!1},t=>{e.admitted&&t.forEach(({element:n})=>{j(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])z(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(),$();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),p===e&&(p=null)}}}var oe=e=>e?e.signal?.aborted?!0:typeof e.isCurrent=="function"&&!e.isCurrent():!1;function le(e=document){return{id:"clay:sortable",order:300,async prepare(t={}){if(t.initial===!0)return ie();let n=await ne();if(oe(t))throw Object.assign(new Error("clay:sortable prepared for a stale generation"),{code:"stale-document"});return re(),se(p||(p=X(n,e)))}}}async function ie(){let e=await ae;return{enable(){},quiesce:()=>e?.quiesce(),resume:()=>e?.resume(),dispose:()=>e?.dispose()}}async function G(){if(!D())return null;let e=await le().prepare();return e.enable(),e}var ae=G(),me=Object.freeze({move:te});var be=G;export{be as default,G as init,j as makeSortable,le as modeParticipant,te as move,ae as ready,me as sortable,le as sortableParticipant};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as p}from"../c-B2ZXPOS3.js";import"../c-TQEMVJCS.js";import"../c-3IQRECYS.js";import"../c-AYVOREBE.js";import"../c-IJUK2GPW.js";import{n as d}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";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}},l=null,c=null,i=null,u=d(),s=0,r=null,a=!1,o=null;function v(){return o??=import("../c-5M4YEKCX.js").catch(e=>{throw o=null,e}),o}function f(e,t,n){typeof e=="string"&&(i=Object.freeze({bytes:e,etag:t??null,seq:n??null}))}function h(){if(r)return r;let e=s,t=c;return r=v().then(n=>(l=n,e!==s?(r=null,null):n.start({context:t,latest:()=>i}))).catch(n=>(r=null,console.info("clayjs: source map off ("+(n&&n.message?n.message:n)+"); saves use the full serialization"),null)).then(n=>(e===s&&(a=!0),n)),r}function x(){return!u||a?null:h()}function m(){s++,u=!1,a=!1,r=null,c=null,l&&l.release()}p((e,t)=>{f(e,i?i.etag:null,i?i.seq:null),l&&!l.installed()&&l.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),l&&!l.installed()&&l.adoptAccepted(t.html,null))});function y(e,t,n={}){return l?l.renderSave(e,t,n):t}var A={get ready(){return u?h():null},stats:()=>l?l.stats():{...g},text:()=>l?l.text():null,locate:e=>l?l.locateLive(e):null,unpaired:()=>l?l.unpaired():null,ensureForSave:x};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 n=++s;return u=!1,a=!1,r=null,{enable(){n===s&&(u=!0)},quiesce(){},resume(){n===s&&(u=!0)},dispose(){n===s&&m()}}}}}var R=A;export{R as default,L as modeParticipant,y as renderSave,A as source,L as sourceParticipant};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as Ge,c as Ye}from"../c-7DJDKPGL.js";import{g as te}from"../c-7VGZ7RU5.js";import{a as ee}from"../c-WYFDLITL.js";import"../c-HT33EQRN.js";import"../c-IJUK2GPW.js";import{n as Fe}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{b as Xe}from"../c-GHBCCVG4.js";import{l as Je}from"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ze=(()=>{var d=Object.defineProperty,c=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyNames,w=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},B=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of b(r))!w.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=c(r,i))||n.enumerable});return e},F=e=>B(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Ht,undo:()=>de});function X(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(v=>!r(v)):Array.from(e.addedNodes),m=r?Array.from(e.removedNodes).filter(v=>!r(v)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),m.length>0&&t.push({kind:"remove",parent:n,nodes:m,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function it(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 X(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let m=s.oldValue,v=i.getAttribute(l),h=null;m===v?h=null:m==null?h={kind:"attr-add",target:i,name:l,newValue:v}:v==null?h={kind:"attr-remove",target:i,name:l,oldValue:m}:h={kind:"attr-set",target:i,name:l,oldValue:m,newValue:v},t[s.idx]=h}return t.filter(i=>i!=null)}function at(e){let r=[],t=new Map;for(let i of e){let a=be(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 m=ve(i);if(m.oldValue===m.newValue)continue;l.set(a,r.length),r.push({...i,...m})}else r[s]={...r[s],newValue:ve(i).newValue}}let n=[];for(let i of r){if(be(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(lt(i))}return n}var ut=new Set(["attr-set","attr-add","attr-remove","text","value"]);function be(e){return ut.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function ve(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 lt(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 ke=new WeakMap,dt=0;function O(e){let r=ke.get(e);return r||(r=`n${++dt}`,ke.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function st(e){return e.kind==="add"||e.kind==="remove"}function Ae(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 W(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)ct(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)ft(l,n)||a.push(W(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function ne(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)ne(t,r);return r}function ct(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function ft(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ee(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 pt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function H(e){return{replayable:!1,reason:e,steps:[]}}function G(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 mt(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=at(e),a=[];for(let h of i){if(!st(h)){if(!x(h.target))return H("non-dom-target");continue}if(!x(h.parent))return H("non-dom-parent");let k=Array.from(h.nodes||[]).filter(x);if(k.length!==0){if(k.length!==Array.from(h.nodes||[]).length)return H("non-dom-node");a.push({primitive:h,nodes:k,parent:h.parent})}}if(gt(a))return H("in-record-move");let l=ht(a,t);if(!l)return H("ambiguous-structure");let s=yt(a,l),m=new Map(a.map(h=>[h.primitive,h])),v=[];for(let h of i){let k=m.get(h);if(!k){v.push(bt(h));continue}let V=s.get(k);if(V){V.at===k&&v.push(V.step);continue}v.push(wt(k,l.get(k),n,t))}return{replayable:!0,reason:null,steps:v}}function gt(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 ht(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ae(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(),m;if(a.primitive.kind==="add"){let v=a.nodes.map(O);if(!v.every(h=>l.includes(h)))return null;m=l.filter(h=>!v.includes(h))}else{let v=G(s,a.primitive);if(v==null)return null;m=s.slice(),m.splice(v,0,...a.nodes.map(O))}n.set(a,{before:m,after:s}),t.set(a.parent,m)}return n}function yt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let m=O(s);a.primitive.kind==="remove"?t.set(m,{item:a,index:l,node:s}):n.set(m,{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 m={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:m,at:s.item}),i.set(s.item,{step:m,at:s.item})}return i}function wt(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=>W(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>ne(a)):[],targets:pt(e.nodes,i==="add"?"added":"removed",e.parent)}}function bt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function vt(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=At(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,Ae(r,e.isIgnored)),e.sim.get(r)}function Ve(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 Ne(e,r){return r.liveNodesWithIds(e).filter(t=>Ve(t,r)).length>0}function E(e,r){return{code:e,targets:r||[]}}function kt(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 At(e,r,t){let n=r==="undo";return e.type==="move"?Pt(e,n,t):e.type==="add"?Vt(e,n,t):e.type==="restore"?Nt(e,n,t):Et(e,n,t)}function Et(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?Ve(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?E("unsupported",e.targets):kt(n)!==i?E("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):E("target-detached",e.targets):E("unsupported",e.targets)}function Vt(e,r,t){if(!x(e.parent)||!t.inScope(e.parent))return E("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return E("structure-changed",e.targets);let s=Ee(e.nodes,t.isProtected);if(s.length>0)return E("protected",s);for(let m=0;m<e.nodes.length;m++)if(W(e.nodes[m],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[m])return E("content-changed",e.targets);for(let m of e.nodes)t.operations.push({type:"remove",node:m}),t.planned.set(m,!1);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return E("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return E("structure-changed",e.targets);let n=e.nodes.flatMap(s=>ne(s));if(n.length>0&&Ne(n,t))return E("duplicate-id",e.targets);let i=G(e.seqBefore,e.slot);if(i==null)return E("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 Nt(e,r,t){if(!x(e.parent)||!t.inScope(e.parent))return E("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return E("structure-changed",e.targets);for(let s=0;s<e.nodes.length;s++){let m=e.nodes[s];if(m.parentNode||W(m,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[s])return E("content-changed",e.targets)}if(e.ids.length>0&&Ne(e.ids,t))return E("duplicate-id",e.targets);let i=G(e.seqAfter,e.slot);if(i==null)return E("unsupported",e.targets);let a=e.seqAfter.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.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return E("structure-changed",e.targets);let n=Ee(e.nodes,t.isProtected);if(n.length>0)return E("protected",n);for(let i=0;i<e.nodes.length;i++){let a=e.nodes[i];if(a.parentNode!==e.parent||W(a,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[i])return E("content-changed",e.targets)}for(let i of e.nodes)t.operations.push({type:"remove",node:i}),t.planned.set(i,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function xt(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function Pt(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),m=r?e.dest.after:e.source.before,v=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!t.inScope(i)||!t.inScope(a))return E("target-detached",e.targets);if(!$(l,m))return E("structure-changed",e.targets);let k=i===a?xt(s,n):s;if(!$(k,v))return E("structure-changed",e.targets);let V=G(v,h);return V==null?E("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:v[V]??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 St(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function xe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function It(e){let r=[];try{for(let t of e)Rt(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 Rt(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];xe(e,e.value),r.push(()=>xe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:St(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 Ct=['[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]"],Ot=["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"],Mt=Ct.join(","),Tt=new RegExp("^(?:"+Ot.join("|")+")(?:-|$)"),$r=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"]})}),jt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),qt=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function oe(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 Pe(e,r){if(oe(e,r))return!0;for(let[t,n]of Object.entries(jt))if(n.includes(r)&&oe(e,t))return!0;return!1}function $t(e){return e==="clay"||qt.includes(e)}var Lt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Kt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ie(e){let r=Kt();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(Mt))return!0;for(;t&&t.nodeType===1;){if(Pe(t,"no-undo")||Pe(t,"no-watch"))return!0;for(let n of Lt)if(oe(t,n))return!0;t=t.parentElement}return!1}function zt(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),ie(n)}function ae(e,r,t){if(t?.type==="attributes"&&$t(t.attributeName)){if(ie(e)&&zt(t))return!0}else if(ie(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&Tt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Dt(){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(m){console.error("[hyper-undo] listener threw",m)}}return{on:r,off:t,emit:n}}var _t={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={..._t,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Dt(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,m=[],v=null,h=null,k=0,V=!1,L=r.recording==="commands"?"commands":"automatic",S=null,K=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Jt(){V||(V=!0,h=Ft(z),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Ft(o){let u=typeof document<"u"&&r.scope===document.body,f=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&f&&typeof f.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),f.createObserver(o)):new MutationObserver(o)}function Oe(){V&&(V=!1,h&&(h.disconnect(),h=null),D(),n.length=0,i.length=0,m=[],s=null,S=null,K=!1,k=0,P("stopped"))}function Xt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function z(o){Me(o,!1)}function Me(o,u){if(S){for(let g of o)S.records.push(g);return}if(L==="commands"||k>0)return;let f=se(Gt(o),u);if(f.length>0){for(let g of f)m.push(g);Te()}}function Gt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let f=[...u.addedNodes,...u.removedNodes];return f.length===0?!0:!f.every(g=>Yt(g))})}function Yt(o){try{return!!r.ignoreNode(o)}catch{return!1}}function se(o,u=!1){let f=o.filter(g=>(mr(g.target)||u&&He(g.target))&&!ae(g.target,r.ignoreAttribute,g));return it(f,g=>ae(g,r.ignoreAttribute))}function Te(){D(),v=setTimeout(je,r.idleWindowMs)}function D(){v!=null&&(clearTimeout(v),v=null)}function je(){if(v=null,m.length===0)return;let o=m;m=[],Y(r.idleLabel,o)}function Y(o,u){let f=mt(u,{isIgnored:ce,ignoreAttribute:qe});if(f.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let g={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:f};for(n.push(g),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),g}function ce(o){return ae(o,r.ignoreAttribute)}function qe(o,u,f=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,f)}catch{return!1}}function Zt(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function Qt(o,u){if(!V)throw new Error("hyper-undo: scope not started");if(L==="commands")return Ke(o,u,{honorPause:!0,receipt:!1});z(h.takeRecords()),_();let f=k===0?$e():null,g=u();if(g&&typeof g.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Me(h.takeRecords(),!0),f!=null&&Le(f),m.length===0){t.emit("commit");return}D();let A=m;m=[],Y(o,A)}function er(o){if(!V)throw new Error("hyper-undo: scope not started");if(!h)return;if(k>1){h.takeRecords();return}_();let u=se(h.takeRecords(),!0);u.length!==0&&(D(),Y(o,u))}function tr(){h&&h.takeRecords()}function fe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Z(){let o=fe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Z();return o?o.textContent:null}function Le(o){let u=Z();if(!u||o==null)return;let f=u.textContent;f!==o&&De({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:f})}function rr(o){if(!o)return null;let u=fe();if(!u||o.target!==u||o.prop!=="title")return o;let f=Z();return f?{kind:"value",target:f,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function nr(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function or(){h&&z(h.takeRecords()),_(),S={records:[],primitives:[]}}function ir(){let o=S;if(S=null,!o)return[];let u=se(o.records,!0);for(let f of o.primitives)u.push(f);return u}function Ke(o,u,{honorPause:f,receipt:g}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(S)throw new Error("hyper-undo: command() cannot nest inside another command");if(K)throw new Error("hyper-undo: command() cannot run during undo or redo");if(nr())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 A=f&&k>0,I=A?null:$e();or();let M=[],j=null,U;try{try{U=u()}catch(wr){j=wr}if(h&&z(h.takeRecords()),U&&typeof U.then=="function"){try{U.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}A||Le(I)}finally{M=ir()}let Q=A||M.length===0?null:Y(o,M);if(j)throw j;return g?Q?{id:Q.id,label:Q.label}:null:Q}function ar(o,u){if(!V)throw new Error("hyper-undo: scope not started");return Ke(o,u,{honorPause:!1,receipt:!0})}function ur(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(S)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return L===o||(_(),L=o,P("recording",o)),L}function ze(o){if(!V||!o||!S&&(k>0||L==="commands"))return;let u=rr(o);u&&De(u)}function De(o){if(S){S.primitives.push(o);return}m.push(o),Te()}function lr(o,{prop:u="value",oldValue:f,newValue:g,read:A,write:I}={}){!o||f===g||ze({kind:"value",target:o,prop:u,oldValue:f,newValue:g,read:A,write:I})}function _(){k===0&&h&&z(h.takeRecords()),m.length!==0&&(D(),je())}function _e(){k===0&&h&&z(h.takeRecords()),k++,P("paused",k)}function Ue(){k!==0&&(k--,k===0&&h&&h.takeRecords(),P("resumed",k))}function Be(o,u){if(Xt())return Oe(),{ok:!1,code:"disconnected"};_();let f=o==="undo"?n:i,g=o==="undo"?i:n,A=f.at(-1);if(!A)return{ok:!1,code:"empty"};if(u&&u!==A.id){let U=We(u)||A;return pe(U,o,"stale-entry")}let I;K=!0;try{I=vt(A.certificate,o,{isIgnored:ce,ignoreAttribute:qe,isProtected:Zt,inScope:gr,liveNodesWithIds:hr})}finally{K=!1}if(!I.ok)return pe(A,o,I.code,I.targets);_e();let M;K=!0;try{M=It(I.operations)}finally{K=!1,Ue()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),pe(A,o,"replay-error");f.pop(),g.push(A),s=null;let j={ok:!0,entryId:A.id,label:A.label,direction:o};return P(o,A.label),t.emit(o,j),j}function dr(o){return Be("undo",o&&o.entryId)}function sr(o){return Be("redo",o&&o.entryId)}function We(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function pe(o,u,f,g=[]){return s={entryId:o.id,direction:u,code:f,targets:g},P("refused",u,f),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:f,targets:g}),{ok:!1,code:f,entryId:o.id,label:o.label,direction:u}}function cr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,f=u==="undo"?n:i,g=f.at(-1);return!g||g.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(f.pop(),s=null,P("discarded",g.label),t.emit("discard",{entryId:o,label:g.label,direction:u}),{ok:!0,entryId:o,direction:u})}function fr(o){let u=We(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let f=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(g=>({id:g.id??null,kind:g.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:f,steps:u.certificate.steps.map(pr)}}function pr(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((I,M)=>({id:R(I).id,html:o.content[M]??null}))};let u=o.primitive,f={id:R(u.target).id},g=u.oldValue??null,A=u.newValue??null;return o.type==="value"?{kind:"value",target:f,prop:u.prop??"value",before:g,after:A}:o.type==="text"?{kind:"text",target:f,before:g,after:A}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:f,name:u.name??null,before:g,after:A}:{kind:o.type,target:f,before:g,after:A}}function mr(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function He(o){let u=fe(),f=u&&u.head;if(!f||!o)return!1;let g=o.nodeType===1?o:o.parentElement;for(;g&&g!==f;g=g.parentElement)if(g.localName==="title")return!1;return g===f}function gr(o){let u=r.scope;return!o||!u?!1:o===u||Z()===o||He(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function hr(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let f=new Set(o),g=[];for(let A of u.querySelectorAll("[data-id]"))f.has(A.getAttribute("data-id"))&&(ce(A)||g.push(A));return g}function yr(){h&&h.takeRecords(),n.length=0,i.length=0,m=[],s=null,D(),P("cleared"),t.emit("clear")}return{_config:r,start:Jt,stop:Oe,commit:Qt,commitCaptured:er,discardCaptured:tr,flush:_,command:ar,setRecording:ur,record:ze,recordValue:lr,undo:dr,redo:sr,clear:yr,discard:cr,describe:fr,pause:_e,resume:Ue,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return k>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}}}function Ut(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Bt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="INPUT"||i==="TEXTAREA"||i==="SELECT"||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Bt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Wt(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||Ut(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let m of l)try{if(a.closest(m))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 ue=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],p=null,le=null,Ie=null,T=null;function Re(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=Wt(e,r);return T={inst:e,cleanup:t},t}function Ce(e){T&&T.inst===e&&(T.cleanup(),T=null)}var de={defaults:{shadowKeydownIn:ue},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(p){if(le===r)return console.warn("[hyper-undo] start() called again on existing singleton; ignoring new options"),p;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||ue};return p=Se(t),p.start(),le=r,e.bindKeys!==!1&&(Ie=Re(p,()=>de.stop())),p},stop(){p&&(Ce(p),Ie=null,p.stop(),p=null,le=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||ue},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=Re(n,()=>a.stop())),n.start()},stop(){Ce(n),i=null,n.stop()}};return a},commit(e,r){return p?p.commit(e,r):void 0},command(e,r){return p?p.command(e,r):void 0},setRecording(e){return p?p.setRecording(e):void 0},commitCaptured(e){return p?p.commitCaptured(e):void 0},discardCaptured(){return p?p.discardCaptured():void 0},record(e){return p?p.record(e):void 0},recordValue(e,r){return p?p.recordValue(e,r):void 0},undo(e){return p?p.undo(e):void 0},redo(e){return p?p.redo(e):void 0},clear(){return p?p.clear():void 0},discard(e){return p?p.discard(e):void 0},describe(e){return p?p.describe(e):void 0},pause(){return p?p.pause():void 0},resume(){return p?p.resume():void 0},flush(){return p?p.flush():void 0},on(e,r){return p?p.on(e,r):void 0},off(e,r){return p?p.off(e,r):void 0},get canUndo(){return p?p.canUndo:!1},get canRedo(){return p?p.canRedo:!1},get history(){return p?p.history:[]},get future(){return p?p.future:[]},get isPaused(){return p?p.isPaused:!1}},Ht=de;return F(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=Ze.undo,window.h=window.hyperclay);var y=Ze.undo;var ge=new Set,nt=(d={})=>{let c=d.ignoreAttribute;return{...d,ignoreAttribute:(b,w,N)=>ge.has(b)||Je(b,w)||Xe(w,b,N)||Ge(b,w)||(c?c(b,w,N):!1),isProtected:d.isProtected||br,ignoreNode:d.ignoreNode||Ye}};function br(d){let c=window.clay?.region?.resolveRegionPolicy;if(!c||d.nodeType!==1)return!1;let b=c(d);if(b.undoable!==!1||b.persist==="none")return!1;let w=d.parentElement;return!w||c(w).undoable!==!1}var vr=y.create.bind(y);y.create=d=>vr(nt(d));var he=null,kr=y.setRecording.bind(y);y.setRecording=d=>(he=d??null,kr(d));var Qe=()=>y.history.at(-1)?.id??null,Ar=y.command.bind(y);y.command=(d,c)=>{let b=Ar(d,c);return b&&te(),b};var Er=y.commit.bind(y),et=!1;y.commit=(d,c)=>{!et&&window.clay?.effect?.running&&(et=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let b=Qe(),w=Er(d,c);return(w||Qe()!==b)&&te(),w};var Vr=`input${ee}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${ee}, select${ee}`;function Nr(){let d=c=>window.clay?.region?.resolveRegionPolicy?.(c)?.undoable!==!1;document.querySelectorAll(Vr).forEach(c=>{if(!d(c))return;if(c.tagName==="SELECT"){for(let C of c.options){let X=C.hasAttribute("selected");C.selected!==X&&(C.selected=X)}return}let b=(c.getAttribute("type")||"text").toLowerCase();if(c.tagName==="INPUT"&&(b==="checkbox"||b==="radio")){let C=c.hasAttribute("checked");c.checked!==C&&(c.checked=C);return}let w=c.tagName==="TEXTAREA"?c.getAttribute("data-value")??c.textContent:c.getAttribute("value")??"";if(c.value===w)return;let N=c===document.activeElement,B,F;try{B=c.selectionStart,F=c.selectionEnd}catch{}if(c.value=w,N&&B!=null)try{c.setSelectionRange(Math.min(B,w.length),Math.min(F,w.length))}catch{}})}var tt=d=>{d?.ok&&(te(),Nr())},rt=({entryId:d,label:c,direction:b,code:w})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:w,entryId:d,label:c,direction:b}})),xr({ok:!1,code:w,entryId:d,label:c,direction:b})},me=null;function ot(){return me??=import("../c-QQHEX6HA.js").catch(d=>(me=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),me}async function xr(d){let c={ok:!1,code:"unavailable"};try{let w=await ot();w&&(c=await w.keepRefusal(y,d))}catch{c={ok:!1,code:"error"}}let b=c?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:c?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:b}))}var we=(d,c)=>(...b)=>ot().then(w=>w?w[d](...b):c,()=>c),Pr=we("keep",{ok:!1,code:"unavailable"});y.ignoreAttribute=d=>{let c=String(d||"");return c?(ge.add(c),()=>{ge.delete(c)}):()=>{}};y.keep=async d=>{let c=await Pr(d);return c?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),c};y.kept=we("kept",{ok:!1,code:"unavailable",records:[]});y.dismissKept=we("dismissKept",{ok:!1,code:"unavailable"});var ye=new Set;y.reviewActions=d=>typeof d!="function"?()=>{}:(ye.add(d),()=>{ye.delete(d)});y.reviewActionsFor=d=>{let c=[];for(let b of ye){let w;try{w=b(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(w)?w:[])N&&typeof N.run=="function"&&N.label&&c.push(N)}return c};var Sr=["commit","undo","redo","refused","discard","clear"],re=()=>{let d=!!J?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&y.canUndo,canRedo:d&&y.canRedo,undo:d&&y.history.at(-1)||null,redo:d&&y.future?.[0]||null}}))},J=null;function Ir(){return{started:!1,admitted:!1,subscriptions:[]}}var Rr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Cr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function Or(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,y.start(nt({bindKeys:!0,...he?{recording:he}:{}}));for(let c of["undo","redo"])y.on(c,tt),d.subscriptions.push({type:c,handler:tt});y.on("refused",rt),d.subscriptions.push({type:"refused",handler:rt});for(let c of Sr)y.on(c,re),d.subscriptions.push({type:c,handler:re});re()}},quiesce(){d.admitted&&(d.admitted=!1,y.pause())},resume(){d.admitted||(d.admitted=!0,y.resume())},dispose(){if(d.admitted=!1,J===d&&(J=null),!!d.started){d.started=!1;for(let{type:c,handler:b}of d.subscriptions.splice(0))y.off(c,b);y.stop(),re()}}}}function Mr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Tr();if(await Cr(),Rr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return Or(J||(J=Ir()))}}}async function Tr(){let d=await qr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function jr(){if(!Fe()||typeof document>"u")return null;let d=await Mr().prepare();return d.enable(),d}var qr=jr();var Jr=y;export{Jr as default,jr as init,Mr as modeParticipant,qr as ready,Nr as restoreControls,y as undo,Mr as undoParticipant};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as y}from"../c-4WKFKEKF.js";import"../c-VHNSBD2M.js";var U="hha:upgrade-check:",L=1440*60*1e3,b="upgrade-dismissed",A="A new version of this template is available.";function g(t,e){let n=t.querySelector(`meta[name="${e}"]`),a=n?n.getAttribute("content"):null;return a&&a.trim()?a.trim():null}function C(t){try{let e=globalThis.localStorage.getItem(t);return e?JSON.parse(e):null}catch{return null}}function I(t,e){try{globalThis.localStorage.setItem(t,JSON.stringify(e))}catch{}}async function R(t){let e=globalThis.crypto&&globalThis.crypto.subtle;if(!e)return null;let n=await e.digest("SHA-256",t);return[...new Uint8Array(n)].map(a=>a.toString(16).padStart(2,"0")).join("")}async function E(t,e){try{let n=await t(e,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function k(t,e,{fetchFn:n,now:a}){let r=new URL(t);r.pathname=r.pathname.replace(/\.html$/,".json");let u=`${U}${r.href}:${e}`,l=C(u);if(l&&typeof l.checkedAt=="number"&&a-l.checkedAt<L)return{latest:l.latest,latestUrl:r};let i=await E(n,r.href);if(!i)return{latest:null,latestUrl:r};let s=null;try{s=await i.json()}catch{return{latest:null,latestUrl:r}}return I(u,{checkedAt:a,latest:s}),{latest:s,latestUrl:r}}async function M({doc:t=document,loc:e=location,fetchFn:n=(r,u)=>fetch(r,u),now:a=Date.now()}={}){let r=typeof window<"u"&&window.clay||{};if(!r.canEdit||r.isDraftMode)return null;let u=g(t,"hyper-source"),l=g(t,"hyper-version");if(!u||!l)return null;let i;try{i=new URL(u,e?e.href:void 0)}catch{return null}if(!i.pathname.endsWith(".html")||e&&i.origin===e.origin&&i.pathname===e.pathname)return null;let s=new URL(i.href);s.pathname=s.pathname.replace(/\.html$/,".json");let{latest:o}=await k(i.href,l,{fetchFn:n,now:a});if(!o||typeof o!="object"||typeof o.version!="string"||!y(o.version,l))return null;let f=r.storage&&r.storage.local;if(f&&f.get(b)===o.version||typeof o.html!="string"||!o.html)return null;let h=new URL(o.html,s).href,m=await E(n,h);if(!m)return null;let p;try{p=await m.arrayBuffer()}catch{return null}let d=await R(p);return!d||d!==String(o.sha256||"").toLowerCase()?null:{version:o.version,html:h,sha256:d,latestUrl:s.href}}function P(t){let e=window.clay,n=e&&e.storage&&e.storage.local;n&&n.set(b,t)}function T(t){return!!(t&&Array.isArray(t.plugins)&&t.plugins.includes("menu"))}function S(t){return!!(t&&t.menu&&typeof t.menu.addItem=="function")}function $(t){return S(t)||!T(t)?Promise.resolve():new Promise(e=>{let n=a=>{!a.detail||a.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),e())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function j(t,e=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:t}));return await $(e),S(e)?(e.menu.addItem({id:"upgrade",label:`Upgrade to version ${t.version}`,badge:!0,run:n}),"menu"):e&&typeof e.toastPersistent=="function"?(e.toastPersistent(A,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>P(t.version)}]}),"notice"):null}var w=!1;async function v(t={}){if(w)return null;w=!0;let e=window.clay;await Promise.resolve(e&&e.loaded&&e.loaded.ui).catch(()=>{});let n=await M(t).catch(()=>null);return n?(await j(n),n):null}async function O(t,e){return(await import("../c-DBE6ORSI.js")).replace(t,e)}function N(t){import("../c-ANQTJ3B5.js").then(e=>e.start(t.detail)).catch(e=>console.error("clayjs: the upgrade could not start:",e))}var c=typeof window<"u"?window.clay:null;if(c&&c.canEdit&&!c.isDraftMode){document.addEventListener("clay:upgrade-requested",N);let t=c.ready;t&&typeof t.then=="function"?t.then(()=>v(),()=>{}):v()}export{j as announce,M as findUpdate,O as replace,v as start};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r,c as p,d as n,e as u}from"../c-VFX45IZQ.js";import"../c-2SPVQSHC.js";import"../c-AYVOREBE.js";import"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-LR4CGEPT.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
|