@panphora/clayjs 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +72474 -62090
- package/dist/m/attrs/{save-freeze-MYNVXREN.js → save-freeze-LWGF6XUN.js} +1 -1
- package/dist/m/c-2GRUM77Q.js +30 -0
- package/dist/m/c-2KIEGNC4.js +1 -0
- package/dist/m/{c-AMSNPOCX.js → c-2KL3BD52.js} +1 -1
- 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-KAU6E43D.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-3XIRD4NU.js → c-5T6NZHNM.js} +1 -1
- package/dist/m/{c-74MGYWZF.js → c-5ZQV7KC4.js} +1 -1
- package/dist/m/{c-7OLLJPWP.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-Y5HBBIQ4.js → c-AMYEFA2E.js} +1 -1
- package/dist/m/c-AQYCG7QW.js +1 -0
- package/dist/m/c-ATKAOH23.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-VHM5XQHK.js → c-BIJALSRD.js} +1 -1
- package/dist/m/c-BJ7YQ5QZ.js +1 -0
- package/dist/m/{c-KIPQJX4B.js → c-BRLCTNMC.js} +1 -1
- package/dist/m/{c-VE6ZMYMC.js → c-BUAYFEV5.js} +1 -1
- package/dist/m/c-C6IPRG34.js +1 -0
- package/dist/m/{c-KU3ZFADW.js → c-CAS3NND4.js} +1 -1
- package/dist/m/{c-PS5ARVWR.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-QJ4OM3G6.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-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-TJ6WOJL3.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-WDC5GVKU.js → c-IVTRVENZ.js} +1 -1
- package/dist/m/c-JKZJIUIP.js +1 -0
- package/dist/m/{c-UDUUJPFZ.js → c-JNLX3RJB.js} +1 -1
- package/dist/m/c-K3ADYNLU.js +1 -0
- package/dist/m/c-KGHVFRR3.js +1 -0
- package/dist/m/{c-5QWQ7A5L.js → c-KJJPV77R.js} +1 -1
- package/dist/m/{c-CZUSOB7V.js → c-KNPDOMDY.js} +1 -1
- package/dist/m/{c-EZU56NQV.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-3RUU4TPX.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-5RJFTLSF.js → c-NEL7HQW3.js} +1 -1
- package/dist/m/{c-DCXOXBF3.js → c-NQJRVJ56.js} +1 -1
- 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-R3L7ZJGB.js → c-OPLUZR3A.js} +1 -1
- package/dist/m/{c-GSFIGKOP.js → c-OTMKN2OO.js} +1 -1
- package/dist/m/{c-6NC5I2TV.js → c-OYRZ7XG2.js} +1 -1
- package/dist/m/{c-EVCQ3BKA.js → c-P3OFYUMA.js} +1 -1
- 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-FRLHSY7E.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-JU3NK25H.js → c-R27DWQKX.js} +1 -1
- package/dist/m/{c-RSMOODDU.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-Q622NS2Y.js → c-S2U6NJU4.js} +1 -1
- package/dist/m/c-SPZPGD3R.js +1 -0
- package/dist/m/c-SW4YEG2D.js +8 -0
- package/dist/m/c-T637T7SN.js +1 -0
- package/dist/m/c-TJAXGIRV.js +1 -0
- package/dist/m/{c-RYUXUUBX.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-QICP2YR5.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-VILENZTD.js +1 -0
- package/dist/m/{c-HDDEEL77.js → c-VJYEVRYK.js} +1 -1
- package/dist/m/{c-SMBZG5X4.js → c-VR2BJ4AN.js} +1 -1
- 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-I2ZATQCD.js → c-X5TSXZYJ.js} +2 -2
- 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/core/{admin-attrs-QHOKPJ7W.js → admin-attrs-YY7T5FGU.js} +1 -1
- 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-FNXVEFNE.js → host-permission-6EVJGNPL.js} +1 -1
- package/dist/m/core/is-edit-mode-GCX6767E.js +1 -0
- package/dist/m/core/{persist-JFYRHMRJ.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/internals/{index-PVXGPUDA.js → index-TGLQINN3.js} +1 -1
- 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 +2111 -1573
- package/dist/m/page/{editor-NNJA4OKD.js → editor-6LRB3GE4.js} +123 -21
- 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-RM5IR6AO.js → demo-OYO5GCAO.js} +1 -1
- 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-SGPJKANK.js → people-JCHVPF7P.js} +1 -1
- package/dist/m/plugins/quickcrop-BQ5YYFCH.js +26 -0
- package/dist/m/plugins/{richclay-NRQDSWX6.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-WLYKK6TL.js → upload-NHGJXZK2.js} +1 -1
- 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-4N6GYAF6.js → wire-VBWXEXU2.js} +1 -1
- 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 +1367 -930
- package/dist/page/themes/light-1.css +8 -7
- package/dist/server/core.cjs +1440 -288
- 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/conflict-notice-ui.js +4 -7
- package/src/core/download.js +2 -2
- package/src/core/host-meta.js +38 -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 +106 -31
- 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 +170 -39
- 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/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 +89 -27
- package/src/page/boot-pack.js +1 -1
- package/src/page/chart-tables.js +21 -3
- package/src/page/chart.js +406 -63
- package/src/page/checklist.js +10 -135
- package/src/page/checkpoint-proof.js +7 -1
- package/src/page/chrome.js +250 -51
- package/src/page/clipboard-shape.js +126 -0
- package/src/page/drag.js +33 -3
- package/src/page/editor.js +136 -25
- 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/checklist.js +428 -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/registry.js +18 -0
- package/src/page/features/table.js +373 -83
- 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 +25 -1
- package/src/page/format-gate.js +68 -18
- package/src/page/format-host.js +17 -0
- package/src/page/format-native-commands.js +21 -5
- package/src/page/image-actions.js +64 -0
- package/src/page/import-markdown.js +262 -0
- package/src/page/items.js +135 -17
- package/src/page/markdown.js +6 -2
- package/src/page/media.js +35 -119
- package/src/page/placeholder.js +14 -1
- package/src/page/projection.js +98 -10
- 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 +28 -0
- package/src/page/save-states.js +13 -3
- package/src/page/schema.js +19 -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/light-1.css +8 -7
- 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 +38 -12
- package/src/page/view.js +13 -0
- package/src/page/ybind/binding.js +88 -5
- 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 +1 -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 +113 -17
- package/src/page/ybind/recovery-proof.js +32 -9
- package/src/page/ybind/recovery-replay.js +558 -15
- 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 +89 -14
- 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 +249 -44
- 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 +5 -3
- 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/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 +11 -6
- 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/c-2SPVQSHC.js +0 -1
- package/dist/m/c-336SGU5W.js +0 -1
- package/dist/m/c-3H6BZDNJ.js +0 -6
- package/dist/m/c-4DFEJ2PO.js +0 -3
- package/dist/m/c-56QRZTZH.js +0 -1
- package/dist/m/c-5J4E7O4Y.js +0 -4
- package/dist/m/c-5LKDWQTL.js +0 -19
- package/dist/m/c-5V3MOVJT.js +0 -1
- package/dist/m/c-6AZOGAPE.js +0 -1
- package/dist/m/c-6CRUUXOX.js +0 -5
- package/dist/m/c-6HMB24EV.js +0 -1
- package/dist/m/c-6KEVEQ7L.js +0 -1
- package/dist/m/c-A3E3NIMC.js +0 -1
- package/dist/m/c-BQ6LOBEE.js +0 -1
- package/dist/m/c-BTDI4Y23.js +0 -1
- package/dist/m/c-CJ3A7ZKE.js +0 -1
- package/dist/m/c-CQHPGKX2.js +0 -1
- package/dist/m/c-DFS4XZJV.js +0 -2
- package/dist/m/c-DNENWY4O.js +0 -1
- package/dist/m/c-E4LIR5X5.js +0 -1
- package/dist/m/c-FDNHHZY5.js +0 -1
- package/dist/m/c-FROJUZMV.js +0 -1
- package/dist/m/c-G2JPKCTP.js +0 -1
- package/dist/m/c-GB6TU7WV.js +0 -1
- package/dist/m/c-GFJJEBTU.js +0 -1
- package/dist/m/c-GJAEGGXY.js +0 -1
- package/dist/m/c-GOWBDM6J.js +0 -1
- package/dist/m/c-HFKUVACH.js +0 -1
- package/dist/m/c-HHDFCNHV.js +0 -1
- package/dist/m/c-IEM4NTCS.js +0 -1
- package/dist/m/c-JDCX26UP.js +0 -25
- package/dist/m/c-KGVGROZT.js +0 -1
- package/dist/m/c-KQ6TYJAP.js +0 -135
- package/dist/m/c-LFPHCXY3.js +0 -1
- package/dist/m/c-LRPUO2MX.js +0 -1
- package/dist/m/c-LWLBHLVC.js +0 -3
- package/dist/m/c-M2L47S2X.js +0 -7
- package/dist/m/c-MFP2ZWD4.js +0 -1
- package/dist/m/c-MKSQ4Y57.js +0 -1
- package/dist/m/c-NUFFJVVJ.js +0 -1
- package/dist/m/c-NUHSPT5P.js +0 -1
- package/dist/m/c-O72HVYSA.js +0 -1
- package/dist/m/c-OIBUTDXI.js +0 -1
- package/dist/m/c-OW5QIGG3.js +0 -1
- package/dist/m/c-PGRCK73F.js +0 -1
- package/dist/m/c-Q7NQD65V.js +0 -1
- package/dist/m/c-QH63LQOS.js +0 -1
- package/dist/m/c-R7IWVINQ.js +0 -1
- package/dist/m/c-RM7J7BV2.js +0 -1
- package/dist/m/c-S4ZEH46B.js +0 -9
- package/dist/m/c-SDAXDM2D.js +0 -1
- package/dist/m/c-SMGU7RT3.js +0 -235
- package/dist/m/c-SPIORRYS.js +0 -1
- package/dist/m/c-SWLRT66R.js +0 -1
- package/dist/m/c-TCJTVAFN.js +0 -1
- package/dist/m/c-TQEMVJCS.js +0 -1
- package/dist/m/c-TYLXX4NF.js +0 -21
- package/dist/m/c-U62OB4BT.js +0 -1
- package/dist/m/c-U6YWUAR3.js +0 -8
- package/dist/m/c-UDCSU5G5.js +0 -2
- package/dist/m/c-VI5RMSVY.js +0 -1
- package/dist/m/c-VRZN56XY.js +0 -1
- package/dist/m/c-W5MCHEGA.js +0 -1
- package/dist/m/c-WNYBLIOZ.js +0 -1
- package/dist/m/c-WWXIDH4O.js +0 -28
- package/dist/m/c-XCNTK76U.js +0 -1
- package/dist/m/c-XMS6DPBR.js +0 -1
- package/dist/m/c-ZUCOKOHT.js +0 -1
- package/dist/m/c-ZVPVXTJF.js +0 -4
- package/dist/m/c-ZVRKXKM7.js +0 -1
- package/dist/m/core/autosave-HRYGUWV6.js +0 -1
- package/dist/m/core/conflict-notice-6MROJN2L.js +0 -1
- package/dist/m/core/is-edit-mode-KTWA3O5N.js +0 -1
- package/dist/m/core/recovery-FLTCC2OC.js +0 -1
- package/dist/m/core/save-HQZ4S667.js +0 -1
- package/dist/m/core/save-core-KGQWFUNH.js +0 -1
- package/dist/m/core/snapshot-EGQZNT45.js +0 -1
- package/dist/m/core/unsaved-warning-IDJLD66H.js +0 -1
- package/dist/m/loader-S4I7GKXR.js +0 -1
- package/dist/m/manifest-4C419D67.js +0 -1
- package/dist/m/manifest-edit-B077F288.js +0 -1
- package/dist/m/plugins/ai-edit-QN4PMMNL.js +0 -6
- package/dist/m/plugins/indicator-URDBBOQO.js +0 -1
- package/dist/m/plugins/live-HFWD4OIH.js +0 -1
- package/dist/m/plugins/menu-3HIEQSI6.js +0 -138
- package/dist/m/plugins/page-JOKB6XPR.js +0 -2
- package/dist/m/plugins/page-view-NXOJHNW6.js +0 -1
- package/dist/m/plugins/quickcrop-QNY3PKLD.js +0 -26
- package/dist/m/plugins/sortable-GWT4PWDV.js +0 -1
- package/dist/m/plugins/source-4ZRSAIYM.js +0 -1
- package/dist/m/plugins/undo-VDA5P7FH.js +0 -1
- package/dist/m/plugins/upgrade-W7FG5VFG.js +0 -1
- package/dist/m/plugins/visitor-drafts-LIDY7NH6.js +0 -21
- package/dist/m/plugins/visitor-drafts-owner-ZXCKBZE7.js +0 -1
- package/dist/m/reader-core-DXYCURFF.js +0 -68
- package/dist/m/route/route-KOCZSEGN.js +0 -1
- package/dist/m/sync/live-sync-J7VMYTKS.js +0 -1
- package/dist/m/ui/index-3JLVI27O.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-NRQDSWX6.js.LEGAL.txt → richclay-KLGETK77.js.LEGAL.txt} +0 -0
package/dist/m/c-SMGU7RT3.js
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import{b as ke}from"./c-HAWFNBYG.js";import{a as we}from"./c-AQLFEATB.js";import{a as xe}from"./c-2SPVQSHC.js";import{d as be}from"./c-VRZN56XY.js";import"./c-OW5QIGG3.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-HA6INT6J.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var Qe=/^[a-z][a-z0-9+.-]*:/i,Xe=["noindex","nofollow"],Ze=["ogTitle","ogDescription","ogImage","ogImageAlt","siteName"],y=e=>e==null?"":String(e),E=e=>y(e).trim()!=="",F=e=>e.head||e.querySelector("head"),A=(e,o,t)=>Array.from(F(e).querySelectorAll("meta")).filter(i=>y(i.getAttribute(o)).trim().toLowerCase()===t),J=(e,o)=>Array.from(F(e).querySelectorAll("link")).filter(t=>y(t.getAttribute("rel")).trim().toLowerCase().split(/\s+/).includes(o)),Q=e=>Array.from(F(e).querySelectorAll("title")),Z=e=>A(e,"name","robots"),x=e=>e.remove();function j(e,o,t){let i=e.createElement("meta");return i.setAttribute(o,t),F(e).appendChild(i),i}function et(e,o){let t=e.createElement("link");return t.setAttribute("rel",o),F(e).appendChild(t),t}function X(e,o,t,i){(A(e,o,t)[0]||j(e,o,t)).setAttribute("content",i)}function v(e,o,{trim:t=!1}={}){let i=c=>A(c,e,o);return{find:i,read(c){let l=i(c)[0];return l?y(l.getAttribute("content")):""},write(c,l){let p=i(c),u=y(l);if(!E(u)){p.forEach(x);return}(p[0]||j(c,e,o)).setAttribute("content",t?u.trim():u),p.slice(1).forEach(x)}}}var Ee=e=>y(e.getAttribute("content")).split(",").map(o=>o.trim()).filter(Boolean);function tt(e,o){let t=Z(e),i=(t[0]?Ee(t[0]):[]).filter(u=>!Xe.includes(u.toLowerCase())),c=[];o.index===!1&&c.push("noindex"),o.follow===!1&&c.push("nofollow");let l=c.concat(i);if(!l.length){t.forEach(x);return}(t[0]||j(e,"name","robots")).setAttribute("content",l.join(", ")),t.slice(1).forEach(x)}function ve(e){let o=e==="noindex"?"index":"follow",t=o==="index"?"follow":"index";return{find:Z,read(i){let c=Z(i)[0];return c?!Ee(c).some(l=>l.toLowerCase()===e):!0},write(i,c){let l={index:!0,follow:!0};l[o]=!!c,l[t]=b[t].read(i),tt(i,l)}}}var ot={find:Q,read(e){let o=Q(e)[0];return o?y(o.textContent):""},write(e,o){let t=Q(e),i=y(o);if(!E(i)){t.forEach(x);return}let c=t[0]||e.createElement("title");t.length||F(e).appendChild(c),c.textContent=i,t.slice(1).forEach(x)}},nt={find(e){let o=e.documentElement;return o&&o.hasAttribute("lang")?[o]:[]},read(e){let o=e.documentElement;return o&&o.hasAttribute("lang")?y(o.getAttribute("lang")):""},write(e,o){let t=e.documentElement;if(!t)return;let i=y(o);if(!E(i)){t.removeAttribute("lang");return}t.setAttribute("lang",i.trim())}},rt={find:e=>J(e,"canonical"),read(e){let o=J(e,"canonical")[0];return o?y(o.getAttribute("href")):""},write(e,o){let t=J(e,"canonical"),i=y(o);if(!E(i)){t.forEach(x);return}(t[0]||et(e,"canonical")).setAttribute("href",i.trim()),t.slice(1).forEach(x)}},N="clay-seo-title-mode",it={find:e=>A(e,"name",N),read(e){return A(e,"name",N).some(t=>y(t.getAttribute("content")).trim().toLowerCase()==="custom")?"custom":"derived"},write(e,o){let t=A(e,"name",N);if(y(o).trim().toLowerCase()!=="custom"){t.forEach(x);return}(t[0]||j(e,"name",N)).setAttribute("content","custom"),t.slice(1).forEach(x)}},b={title:ot,description:v("name","description"),lang:nt,canonical:rt,index:ve("noindex"),follow:ve("nofollow"),ogTitle:v("property","og:title"),ogDescription:v("property","og:description"),ogImage:v("property","og:image",{trim:!0}),ogImageAlt:v("property","og:image:alt"),siteName:v("property","og:site_name"),twitterSite:v("name","twitter:site"),titleMode:it},Ae=Object.fromEntries(Object.keys(b).map(e=>[e,{read:b[e].read,write:b[e].write}]));function Le(e){let o=e.hostname.toLowerCase();return o==="localhost"||o.endsWith(".localhost")||o==="127.0.0.1"}function ee(e){try{return new URL(e)}catch{return null}}function te(e){return e.protocol==="http:"||e.protocol==="https:"}function Se(e){let o=e.location&&e.location.href||e.URL||e.baseURI||"",t=ee(o);return!t||!te(t)||Le(t)?"":t.origin+t.pathname}function Ce(e){let o=y(e).trim();if(!o)return"";let t=ee(o);return!t||!te(t)?"Enter a full http: or https: address.":Le(t)?"A localhost address cannot be a canonical URL.":""}function at(e,o){let t=y(e).trim();if(!t)return"";if(Qe.test(t)){let i=ee(t);return!i||!te(i)?"Use an http: or https: image address.":""}if(o)try{new URL(t,o)}catch{return"Use an http: or https: image address."}return""}function Ie(e,o){let t=("canonical"in o?y(o.canonical).trim():b.canonical.read(e)).trim();return t&&!Ce(t)?t:""}function ct(e,o){let t=Ze.some(l=>l in o&&E(o[l])),i="canonical"in o&&E(o.canonical);if(!t&&!i&&!("ogImage"in o))return;if(t||i){A(e,"property","og:type").length||X(e,"property","og:type","website");let l=Ie(e,o)||Se(e);l&&X(e,"property","og:url",l)}let c="ogImage"in o?o.ogImage:b.ogImage.read(e);X(e,"name","twitter:card",E(c)?"summary_large_image":"summary")}function _(e){let o={},t={};for(let i of Object.keys(b)){let c=b[i];o[i]=c.read(e),t[i]=c.find(e).length>0}return{values:o,present:t}}function Fe(e,o){let t=o||{},i=Object.keys(b).filter(u=>u in t),c={};if(i.includes("canonical")){let u=Ce(t.canonical);u&&(c.canonical=u)}if(i.includes("ogImage")){let u=Ie(e,t)||Se(e),g=at(t.ogImage,u);g&&(c.ogImage=g)}if(Object.keys(c).length)return{normalized:[],errors:c};let l=[],p=new Set;for(let u of i){let g=b[u].find;g(e).length>1&&!p.has(g)&&(p.add(g),l.push(u))}for(let u of i)b[u].write(e,t[u]);return ct(e,t),{normalized:l,errors:{}}}var Ue="clay-seo-style",Te="reopen-seo",Oe="SEO settings",De=/^[a-z][a-z0-9+.-]*:/i,st="This site is hidden from search engines in your account settings, so this page stays hidden whatever you choose here.",lt="Uploaded images are public to anyone with the link.",dt="Paste the address of an image on the web.",ut=[{legend:"Basics",fields:[{key:"title",label:"Title",kind:"text"},{key:"description",label:"Description",kind:"textarea"},{key:"lang",label:"Language",kind:"text"},{key:"canonical",label:"Canonical URL",kind:"text"}]},{legend:"Search",fields:[{key:"index",label:"Show in search results",kind:"checkbox"},{key:"follow",label:"Let search engines follow links",kind:"checkbox"}]},{legend:"Link preview",fields:[{key:"ogTitle",label:"Preview title",kind:"text"},{key:"ogDescription",label:"Preview description",kind:"textarea"},{key:"ogImage",label:"Preview image",kind:"text"},{key:"ogImageAlt",label:"Image alt text",kind:"text"},{key:"siteName",label:"Site name",kind:"text"}]},{legend:"Social card",fields:[{key:"twitterSite",label:"Handle",kind:"text"}]}],pt=`.clay-seo {
|
|
2
|
-
position: fixed;
|
|
3
|
-
top: 0;
|
|
4
|
-
right: 0;
|
|
5
|
-
left: 0;
|
|
6
|
-
z-index: 2147482100;
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
width: 100%;
|
|
9
|
-
max-height: 100vh;
|
|
10
|
-
margin: 0;
|
|
11
|
-
padding: 16px;
|
|
12
|
-
overflow-y: auto;
|
|
13
|
-
border-bottom: 1px solid rgba(23, 28, 36, .16);
|
|
14
|
-
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
15
|
-
font-size: 14px;
|
|
16
|
-
line-height: 1.4;
|
|
17
|
-
color: var(--clay-ui-fg, #1F2328);
|
|
18
|
-
background: var(--clay-ui-bg, #F4F4F5);
|
|
19
|
-
box-shadow: 0 18px 40px -24px rgba(23, 28, 36, .55);
|
|
20
|
-
animation: clay-seo-slide 200ms ease-out;
|
|
21
|
-
}
|
|
22
|
-
@keyframes clay-seo-slide {
|
|
23
|
-
from { transform: translateY(-100%); }
|
|
24
|
-
to { transform: translateY(0); }
|
|
25
|
-
}
|
|
26
|
-
.clay-seo-top {
|
|
27
|
-
display: flex;
|
|
28
|
-
align-items: center;
|
|
29
|
-
justify-content: space-between;
|
|
30
|
-
gap: 12px;
|
|
31
|
-
}
|
|
32
|
-
.clay-seo-heading {
|
|
33
|
-
margin: 0;
|
|
34
|
-
font-size: 15px;
|
|
35
|
-
font-weight: 600;
|
|
36
|
-
line-height: 1.2;
|
|
37
|
-
}
|
|
38
|
-
.clay-seo-x {
|
|
39
|
-
width: 32px;
|
|
40
|
-
height: 32px;
|
|
41
|
-
margin: 0;
|
|
42
|
-
padding: 0;
|
|
43
|
-
border: 0;
|
|
44
|
-
border-radius: 50%;
|
|
45
|
-
font: inherit;
|
|
46
|
-
font-size: 18px;
|
|
47
|
-
line-height: 1;
|
|
48
|
-
color: inherit;
|
|
49
|
-
background: none;
|
|
50
|
-
cursor: pointer;
|
|
51
|
-
}
|
|
52
|
-
.clay-seo-x:hover,
|
|
53
|
-
.clay-seo-x:focus-visible { background: rgba(23, 28, 36, .08); outline: none; }
|
|
54
|
-
.clay-seo-preview {
|
|
55
|
-
display: flex;
|
|
56
|
-
gap: 12px;
|
|
57
|
-
margin: 12px 0;
|
|
58
|
-
padding: 10px;
|
|
59
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
60
|
-
border-radius: 8px;
|
|
61
|
-
}
|
|
62
|
-
.clay-seo-preview-image {
|
|
63
|
-
flex: none;
|
|
64
|
-
width: 88px;
|
|
65
|
-
height: 62px;
|
|
66
|
-
border-radius: 6px;
|
|
67
|
-
object-fit: cover;
|
|
68
|
-
}
|
|
69
|
-
.clay-seo-preview-text { min-width: 0; }
|
|
70
|
-
.clay-seo-preview-title {
|
|
71
|
-
margin: 0;
|
|
72
|
-
font-weight: 600;
|
|
73
|
-
overflow: hidden;
|
|
74
|
-
text-overflow: ellipsis;
|
|
75
|
-
white-space: nowrap;
|
|
76
|
-
}
|
|
77
|
-
.clay-seo-preview-description,
|
|
78
|
-
.clay-seo-preview-host {
|
|
79
|
-
margin: 2px 0 0;
|
|
80
|
-
font-size: 12px;
|
|
81
|
-
opacity: .8;
|
|
82
|
-
}
|
|
83
|
-
.clay-seo-group {
|
|
84
|
-
margin: 0 0 14px;
|
|
85
|
-
padding: 0;
|
|
86
|
-
border: 0;
|
|
87
|
-
}
|
|
88
|
-
.clay-seo-legend {
|
|
89
|
-
padding: 0;
|
|
90
|
-
margin-bottom: 6px;
|
|
91
|
-
font-size: 12px;
|
|
92
|
-
font-weight: 600;
|
|
93
|
-
letter-spacing: .04em;
|
|
94
|
-
text-transform: uppercase;
|
|
95
|
-
opacity: .7;
|
|
96
|
-
}
|
|
97
|
-
.clay-seo-row {
|
|
98
|
-
display: block;
|
|
99
|
-
margin-bottom: 8px;
|
|
100
|
-
}
|
|
101
|
-
.clay-seo-caption {
|
|
102
|
-
display: block;
|
|
103
|
-
margin-bottom: 4px;
|
|
104
|
-
font-size: 12px;
|
|
105
|
-
opacity: .8;
|
|
106
|
-
}
|
|
107
|
-
.clay-seo-row-check {
|
|
108
|
-
display: flex;
|
|
109
|
-
align-items: center;
|
|
110
|
-
gap: 8px;
|
|
111
|
-
}
|
|
112
|
-
.clay-seo-row-check .clay-seo-caption { margin-bottom: 0; }
|
|
113
|
-
.clay-seo-input {
|
|
114
|
-
box-sizing: border-box;
|
|
115
|
-
width: 100%;
|
|
116
|
-
margin: 0;
|
|
117
|
-
padding: 7px 9px;
|
|
118
|
-
border: 1px solid rgba(23, 28, 36, .24);
|
|
119
|
-
border-radius: 6px;
|
|
120
|
-
font: inherit;
|
|
121
|
-
color: inherit;
|
|
122
|
-
background: rgba(250, 251, 252, .7);
|
|
123
|
-
}
|
|
124
|
-
.clay-seo-input:focus-visible { outline: 2px solid var(--clay-ui-accent, #2F6FEB); outline-offset: 1px; }
|
|
125
|
-
textarea.clay-seo-input { min-height: 64px; resize: vertical; }
|
|
126
|
-
.clay-seo-note {
|
|
127
|
-
margin: 4px 0 0;
|
|
128
|
-
font-size: 12px;
|
|
129
|
-
opacity: .8;
|
|
130
|
-
}
|
|
131
|
-
.clay-seo-error {
|
|
132
|
-
margin: 4px 0 0;
|
|
133
|
-
font-size: 12px;
|
|
134
|
-
color: #A63A2B;
|
|
135
|
-
}
|
|
136
|
-
.clay-seo-derived {
|
|
137
|
-
margin: 4px 0 0;
|
|
138
|
-
padding: 0;
|
|
139
|
-
border: 0;
|
|
140
|
-
font: inherit;
|
|
141
|
-
font-size: 12px;
|
|
142
|
-
color: var(--clay-ui-accent, #2F6FEB);
|
|
143
|
-
background: none;
|
|
144
|
-
text-decoration: underline;
|
|
145
|
-
cursor: pointer;
|
|
146
|
-
}
|
|
147
|
-
.clay-seo-conflict {
|
|
148
|
-
margin: 6px 0 0;
|
|
149
|
-
padding: 8px;
|
|
150
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
151
|
-
border-radius: 6px;
|
|
152
|
-
font-size: 12px;
|
|
153
|
-
}
|
|
154
|
-
.clay-seo-conflict p { margin: 0 0 6px; }
|
|
155
|
-
.clay-seo-upload {
|
|
156
|
-
display: flex;
|
|
157
|
-
flex-wrap: wrap;
|
|
158
|
-
align-items: center;
|
|
159
|
-
gap: 8px;
|
|
160
|
-
margin: 4px 0 8px;
|
|
161
|
-
}
|
|
162
|
-
.clay-seo-upload .clay-seo-note { flex: 1 1 100%; margin: 0; }
|
|
163
|
-
.clay-seo-actions {
|
|
164
|
-
display: flex;
|
|
165
|
-
justify-content: flex-end;
|
|
166
|
-
gap: 8px;
|
|
167
|
-
margin-top: 12px;
|
|
168
|
-
}
|
|
169
|
-
.clay-seo-actions button {
|
|
170
|
-
padding: 8px 14px;
|
|
171
|
-
border: 1px solid rgba(23, 28, 36, .24);
|
|
172
|
-
border-radius: 6px;
|
|
173
|
-
font: inherit;
|
|
174
|
-
color: inherit;
|
|
175
|
-
background: none;
|
|
176
|
-
cursor: pointer;
|
|
177
|
-
}
|
|
178
|
-
.clay-seo-actions button:hover,
|
|
179
|
-
.clay-seo-actions button:focus-visible { outline: none; background: rgba(23, 28, 36, .08); }
|
|
180
|
-
.clay-seo-apply,
|
|
181
|
-
.clay-seo-edit {
|
|
182
|
-
border-color: transparent;
|
|
183
|
-
color: #F7F8FA;
|
|
184
|
-
background: var(--clay-ui-accent, #2F6FEB);
|
|
185
|
-
}
|
|
186
|
-
.clay-seo-actions .clay-seo-apply:hover,
|
|
187
|
-
.clay-seo-actions .clay-seo-apply:focus-visible,
|
|
188
|
-
.clay-seo-actions .clay-seo-edit:hover,
|
|
189
|
-
.clay-seo-actions .clay-seo-edit:focus-visible { background: var(--clay-ui-accent, #2F6FEB); opacity: .9; }
|
|
190
|
-
.clay-seo-upload-button {
|
|
191
|
-
padding: 6px 10px;
|
|
192
|
-
border: 1px solid rgba(23, 28, 36, .24);
|
|
193
|
-
border-radius: 6px;
|
|
194
|
-
font: inherit;
|
|
195
|
-
font-size: 12px;
|
|
196
|
-
color: inherit;
|
|
197
|
-
background: none;
|
|
198
|
-
cursor: pointer;
|
|
199
|
-
}
|
|
200
|
-
@media (min-width: 600px) {
|
|
201
|
-
.clay-seo {
|
|
202
|
-
width: 560px;
|
|
203
|
-
margin: 0 auto;
|
|
204
|
-
padding: 16px;
|
|
205
|
-
border: 1px solid rgba(23, 28, 36, .16);
|
|
206
|
-
border-top: 0;
|
|
207
|
-
border-radius: 0 0 12px 12px;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
@media (pointer: coarse) {
|
|
211
|
-
.clay-seo-actions button,
|
|
212
|
-
.clay-seo-upload-button { min-height: 44px; }
|
|
213
|
-
}
|
|
214
|
-
@media (prefers-color-scheme: dark) {
|
|
215
|
-
.clay-seo {
|
|
216
|
-
color: var(--clay-ui-fg, #E9E9EC);
|
|
217
|
-
background: var(--clay-ui-bg, #26282C);
|
|
218
|
-
border-color: rgba(233, 233, 236, .16);
|
|
219
|
-
}
|
|
220
|
-
.clay-seo-preview { border-color: rgba(233, 233, 236, .16); }
|
|
221
|
-
.clay-seo-input {
|
|
222
|
-
border-color: rgba(233, 233, 236, .16);
|
|
223
|
-
background: rgba(233, 233, 236, .08);
|
|
224
|
-
}
|
|
225
|
-
.clay-seo-x:hover,
|
|
226
|
-
.clay-seo-x:focus-visible,
|
|
227
|
-
.clay-seo-actions button:hover,
|
|
228
|
-
.clay-seo-actions button:focus-visible { background: rgba(233, 233, 236, .12); }
|
|
229
|
-
.clay-seo-actions button { border-color: rgba(233, 233, 236, .24); }
|
|
230
|
-
.clay-seo-conflict { border-color: rgba(233, 233, 236, .16); }
|
|
231
|
-
.clay-seo-error { color: #F0A192; }
|
|
232
|
-
}
|
|
233
|
-
@media (prefers-reduced-motion: reduce) {
|
|
234
|
-
.clay-seo { animation: none; }
|
|
235
|
-
}`,h=e=>e==null?"":String(e);function s(e,o,t){let i=document.createElement(e);return o&&(i.className=o),t!=null&&(i.textContent=t),i}function ft(){if(document.getElementById(Ue))return;let e=document.createElement("style");e.id=Ue,e.setAttribute("clay","editor-ui"),e.textContent=pt,document.head.append(e)}var oe=e=>{try{return new URL(e)}catch{return null}},He=e=>!!e&&(e.protocol==="http:"||e.protocol==="https:"),yt=e=>{let o=e.hostname.toLowerCase();return o==="localhost"||o.endsWith(".localhost")||o==="127.0.0.1"};function ze(e){let o=h(e).trim();if(!o)return"";let t=oe(o);return!t||!He(t)?"Enter a full http: or https: address.":yt(t)?"A localhost address cannot be a canonical URL.":""}function Be(e,o){let t=h(e).trim();if(!t)return"";if(De.test(t)){let i=oe(t);return!i||!He(i)?"Use an http: or https: image address.":""}if(o)try{new URL(t,o)}catch{return"Use an http: or https: image address."}return""}function gt(){try{let e=new URL(location.href);return e.origin+e.pathname}catch{return""}}function Re(){return document.querySelectorAll("article[data-page]").length===1}var Me="\uFFFC",Pe=e=>[{t:"heading",level:1,parent:null,c:e}];function mt(e){if(e&&!e.isDestroyed){let l=e.state.doc;for(let p=0;p<l.childCount;p++){let u=l.child(p);if(u.type.name!=="heading"||u.attrs.level!==1||(u.attrs.parent??null)!==null)continue;let g="";return u.forEach(L=>{g+=L.isText?L.text:L.type.name==="hard_break"?Me:""}),Pe(g)}return[]}let o=document.querySelector("article[data-page]"),t=o&&[...o.children].find(l=>l.tagName==="H1");if(!t)return[];let i="",c=l=>{for(let p of l.childNodes)p.nodeType===3?i+=p.data:p.tagName==="BR"?i+=Me:c(p)};return c(t),Pe(i)}function ht(){let e=window.clay&&window.clay.page&&window.clay.page.view;return ke(mt(e))}function bt(e){let o=oe(h(e).trim());return o?o.hostname:""}function xt(e,o){return typeof o=="boolean"?e==="index"?o?"Shown in search":"Hidden from search":e==="follow"?o?"Links followed":"Links not followed":o?"Yes":"No":h(o).trim()||"(empty)"}function wt(e,o){let t=window.clay&&window.clay.undo;return t&&typeof t.commit=="function"?t.commit(e,o):o()}function Ct(){if(document.querySelector(".clay-seo"))return;ft();let e=_(document).values,o=document.activeElement,t=new Map,i=new Map,c=new Map,l=new Set,p=!1,u=!1,g="",L=xe({id:"seo",isPending:()=>!p&&Object.keys(pe()).length>0}),m=s("div","clay-seo");m.setAttribute("clay","editor-ui"),m.setAttribute("role","dialog"),m.setAttribute("aria-modal","true"),m.setAttribute("aria-labelledby","clay-seo-heading");let ne=s("h2","clay-seo-heading",Oe);ne.id="clay-seo-heading";let B=s("button","clay-seo-x","\xD7");B.type="button",B.setAttribute("aria-label","Close");let re=s("div","clay-seo-top");re.append(ne,B);let S=s("img","clay-seo-preview-image");S.alt="";let ie=s("p","clay-seo-preview-title"),q=s("p","clay-seo-preview-description"),ae=s("p","clay-seo-preview-host"),ce=s("div","clay-seo-preview-text");ce.append(ie,q,ae);let se=s("div","clay-seo-preview");se.append(S,ce);let V=s("div","clay-seo-form"),R=s("p","clay-seo-note");R.hidden=!0;let le=s("p","clay-seo-note");function Ne(n){let r=s("div","clay-seo-field"),a=s("label","clay-seo-row"),d=s("span","clay-seo-caption",n.label),f=n.kind==="textarea"?s("textarea","clay-seo-input"):s("input",n.kind==="checkbox"?"clay-seo-check":"clay-seo-input");n.kind==="checkbox"?(a.classList.add("clay-seo-row-check"),f.type="checkbox",f.checked=e[n.key]!==!1,a.append(f,d)):(n.kind!=="textarea"&&(f.type="text"),f.value=h(e[n.key]),a.append(d,f)),f.dataset.key=n.key,window.clay&&window.clay.unsent&&f.setAttribute("unsent",`seo-${n.key}`),t.set(n.key,f);let z=s("p","clay-seo-error");z.hidden=!0,i.set(n.key,z);let I=s("div","clay-seo-conflict");I.hidden=!0;let ge=s("p"),me=s("span","clay-seo-theirs");ge.append("Changed elsewhere: ",me);let $=s("button","clay-seo-theirs-button","Use theirs");$.type="button";let G=s("button","clay-seo-mine-button","Keep mine");return G.type="button",I.append(ge,$,G),c.set(n.key,{row:I,theirs:me}),$.addEventListener("click",()=>{let he=_(document).values[n.key];n.kind==="checkbox"?f.checked=he!==!1:f.value=h(he),l.add(n.key),I.hidden=!0,T()}),G.addEventListener("click",()=>{l.add(n.key),I.hidden=!0}),r.append(a,z,I),r}for(let n of ut){let r=s("fieldset","clay-seo-group");r.append(s("legend","clay-seo-legend",n.legend));for(let a of n.fields)r.append(Ne(a));n.legend==="Search"&&r.append(R),n.legend==="Social card"&&r.append(le),V.append(r)}let U=s("button","clay-seo-derived","Use the first heading");U.type="button",U.hidden=!0,t.get("title").closest(".clay-seo-field").append(U);let je=t.get("ogImage"),C=s("button","clay-seo-upload-button","Upload image");C.type="button";let w=s("input","clay-seo-file");w.type="file",w.accept="image/*",w.hidden=!0,w.tabIndex=-1;let W=s("p","clay-seo-note",lt);W.hidden=!0;let de=s("p","clay-seo-note",dt),Y=s("div","clay-seo-upload");Y.append(C,w,de,W),je.closest(".clay-seo-field").append(Y);let M=s("button","clay-seo-edit","Edit these settings");M.type="button";let P=s("button","clay-seo-cancel","Cancel");P.type="button";let D=s("button","clay-seo-apply","Apply");D.type="button";let ue=s("div","clay-seo-actions");ue.append(M,P,D),m.append(re,se,V,ue);let k=n=>{let r=t.get(n);return r.type==="checkbox"?r.checked:r.value};function K(){let n=h(k("canonical")).trim();return n&&!ze(n)?n:gt()}function _e(){let n=h(k("ogImage")).trim();if(!n||Be(n,K()))return"";if(De.test(n))return n;try{return new URL(n,K()||location.href).href}catch{return""}}function T(){let n=h(k("title")).trim(),r=h(k("description")).trim();t.get("ogTitle").placeholder=n,t.get("ogDescription").placeholder=r;let a=_e();a?(S.src=a,S.hidden=!1):(S.removeAttribute("src"),S.hidden=!0),ie.textContent=h(k("ogTitle")).trim()||n||"Untitled page";let d=h(k("ogDescription")).trim()||r;q.textContent=d,q.hidden=!d,ae.textContent=bt(k("canonical"))||location.host||"",le.textContent=a?"Card size: Summary with a large image":"Card size: Summary",U.hidden=!(Re()&&Ae.titleMode.read(document)==="custom")}function pe(){let n={};for(let[r,a]of t){let d=a.type==="checkbox"?a.checked:a.value;d!==e[r]&&(n[r]=d)}return n}function qe(n){let r={};if("canonical"in n){let a=ze(n.canonical);a&&(r.canonical=a)}if("ogImage"in n){let a=Be(n.ogImage,K());a&&(r.ogImage=a)}return r}function Ve(n){let r=_(document).values,a={};for(let d of Object.keys(n))l.has(d)||r[d]!==e[d]&&r[d]!==n[d]&&(a[d]=r[d]);return a}function fe(n){for(let[r,a]of i){let d=n[r]||"";a.textContent=d,a.hidden=!d}}function We(n){for(let[r,a]of c){let d=n[r],f=d!==void 0;a.row.hidden=!f,a.theirs.textContent=f?xt(r,d):""}}function Ye(){let n=pe(),a=Re()?g||("title"in n?"custom":""):"";for(let z of c.values())z.row.hidden=!0;if(fe({}),!Object.keys(n).length&&!a){O();return}let d=qe(n);if(Object.keys(d).length){fe(d);return}let f=Ve(n);if(Object.keys(f).length){We(f);return}wt(Oe,()=>Fe(document,a?{...n,titleMode:a}:n)),O()}function Ke(){C.hidden=!u,de.hidden=u,W.hidden=!u||!/(^|\.)hyperclay\.com$/i.test(location.hostname)}function H(){let n=!!(window.clay&&window.clay.mode==="edit");for(let r of t.values())r.type==="checkbox"?r.disabled=!n:r.readOnly=!n;M.hidden=n,P.hidden=!n,D.hidden=!n,Y.hidden=!n||!u,Ke()}function ye(){p||H()}function O(){p||(p=!0,L.dispose(),document.removeEventListener("clay:modechange",ye),m.remove(),o&&o.isConnected&&typeof o.focus=="function"&&o.focus())}async function $e(){let n;try{n=await fetch(location.href,{method:"HEAD"})}catch{return}if(p||!m.isConnected)return;let r=n&&n.headers&&typeof n.headers.get=="function"?n.headers.get("x-robots-tag"):"";!r||!/noindex/i.test(r)||(R.textContent=st,R.hidden=!1)}async function Ge(){if(typeof(window.clay&&window.clay.upload)!="function")return;let r=null;try{r=await be()}catch{r=null}p||!m.isConnected||(u=!!(r&&Array.isArray(r.extensions)&&r.extensions.includes("upload")),H())}function Je(){return Array.from(m.querySelectorAll("button, input, textarea")).filter(n=>!n.disabled&&!n.hidden&&n.tabIndex>=0&&!n.closest("[hidden]"))}V.addEventListener("input",()=>{T(),L.changed()}),t.get("title").addEventListener("input",()=>{g=""}),U.addEventListener("click",()=>{g="derived",t.get("title").value=ht(),T()}),C.addEventListener("click",()=>w.click()),w.addEventListener("change",async()=>{let n=w.files&&w.files[0];if(!n)return;let r=window.clay&&window.clay.upload;if(typeof r!="function")return;C.disabled=!0;let a;try{a=await r(n)}catch{a=null}if(C.disabled=!1,p||!m.isConnected)return;let d=a&&a.ok&&Array.isArray(a.uploads)?a.uploads[0]:null;!d||!d.url||(t.get("ogImage").value=d.url,T())}),D.addEventListener("click",Ye),P.addEventListener("click",O),B.addEventListener("click",O),M.addEventListener("click",async()=>{let n=window.clay;if(!n||typeof n.setMode!="function")return;let r=n.storage&&n.storage.session;r&&r.set(Te,!0);let a;try{a=await n.setMode("edit")}catch{a=null}if(p||!!a&&a.ok!==!1&&!!a.reloading)return;r&&r.remove(Te);let f=we(a);f&&window.clay?.toast?.(f,"error"),a&&a.ok!==!1&&H()}),m.addEventListener("keydown",n=>{if(n.key==="Escape"){n.preventDefault(),O();return}if(n.key!=="Tab")return;let r=Je();if(!r.length)return;let a=r[0],d=r[r.length-1];n.shiftKey&&document.activeElement===a?(n.preventDefault(),d.focus()):!n.shiftKey&&document.activeElement===d&&(n.preventDefault(),a.focus())}),document.addEventListener("clay:modechange",ye),document.body.append(m),T(),H(),t.get("title").focus(),$e(),Ge()}export{Ct as open};
|
package/dist/m/c-SPIORRYS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Y}from"./c-XQXZAO7N.js";import{e as z}from"./c-S7LK4KUE.js";import{c as I}from"./c-VG5XIN4T.js";import{b as N,i as H,o as F}from"./c-HA6INT6J.js";import{c as D,h as A,j as T,k as x,n as S,o as L}from"./c-DCFSEJZG.js";var $=[],f=[],U=new WeakMap,E=null,R=0;function ne(){return R}function j(e){return U.get(e)||null}var b=new WeakMap,m=null;function ce(){return m}function le(e){m&&e&&(m.artifact=e)}var _=null,k=new Map;function ae(e){_=e}function se(e){return e==null?null:k.get(e)??null}function ue(e){return e&&b.get(e)||null}function ie(e){e&&(b.delete(e),k.delete(e.captureId))}function B(e){let t=o=>{if(o.hasAttribute("onbeforesave")||o.hasAttribute("onbeforesnapshot"))return!0;let n=o.localName==="template"&&o.content?o.content:o;for(let a of n.children)if(t(a))return!0;return!1};return e.nodeType===1?t(e):!1}function l(e){for(let t of e.querySelectorAll(L))t.remove()}function d(e,t){for(let o of e.querySelectorAll(`[${t}]`))if(l(e),!(o!==e&&!e.contains(o)))try{new Function(o.getAttribute(t)).call(o)}catch(n){console.error(`[${t}] handler failed:`,n)}}var O=null;function fe(e){O=e}function pe(e){return O?.(e),e}function de(e){$.push(e)}function he(e){E=e}var K="http://www.w3.org/1999/xhtml";function V(e){let t=[],o=r=>{for(let c of r.childNodes)if(c.nodeType===1){if(c.localName==="noscript"&&c.namespaceURI===K){let u=Array.from(c.childNodes);u.length&&u.every(h=>h.nodeType===3)&&t.push([c,u]);continue}o(c.localName==="template"&&c.content?c.content:c)}};if(o(e),!t.length)return"<!DOCTYPE html>"+e.outerHTML;let n=Math.random().toString(36).slice(2),a=t.map(([r,c],u)=>{let h=`\uE000clay-noscript-${n}-${u}\uE000`;return r.replaceChildren(r.ownerDocument.createTextNode(h)),[h,c.map(C=>C.data).join("")]}),s;try{s="<!DOCTYPE html>"+e.outerHTML}finally{for(let[r,c]of t)r.replaceChildren(...c)}for(let[r,c]of a)s=s.split(r).join(c);return s}function w(e,t=null){if(t&&_){let a=null;try{a=_(e)}catch{}a&&k.set(t.captureId,a)}let o=V(e);if(!E)return o;let n=m;m=t;try{return E(e,o)}catch(a){return console.error("clayjs: save renderer failed, sending the full serialization",a),o}finally{m=n}}function me(e){f.push(e)}function y(e,t=!0){let o=window.__preventOnclone;window.__preventOnclone=!0;try{return e.cloneNode(t)}finally{window.__preventOnclone=o}}function p({flushUndo:e=!0,authored:t=!0,forSave:o=!1,requestRefresh:n=!1,context:a=null}={}){e&&typeof window<"u"&&window.clay?.undo?.flush&&window.clay.undo.flush();let r=Y(document.documentElement,{capability:"snapshot",provenance:U}).root;for(let c of $)l(r),c(r,{original:j,forSave:o,requestRefresh:n});return z(r),O?.(r),l(r),a&&(a.authoredHandlers=B(r)),t&&d(r,"onbeforesnapshot"),l(r),D(r),F(r),N(r),r}function g(e,{authored:t=!0}={}){l(e),t&&d(e,"onbeforesave");for(let o of f)l(e),o(e);l(e);for(let o of e.querySelectorAll(A))o.remove();return M(e),e}function M(e){for(let t of e.querySelectorAll("[sap-error]"))t.removeAttribute("sap-error")}function W({flushUndo:e=!0,authored:t=!0}={}){return g(p({flushUndo:e,authored:t}),{authored:t})}var G=["style","class"];function v(e){I(e);for(let t of G){e.getAttribute(t)===""&&e.removeAttribute(t);for(let o of e.querySelectorAll(`[${t}=""]`))o.removeAttribute(t)}return"<!DOCTYPE html>"+e.outerHTML}function ye({flushUndo:e=!0}={}){let t=p({flushUndo:e});d(t,"onbeforesave");for(let o of t.querySelectorAll(T))o.remove();for(let o of f)l(t),o(t);return l(t),v(t)}function ve({flushUndo:e=!0}={}){let t=p({flushUndo:e});d(t,"onbeforesave");for(let o of t.querySelectorAll(S))o.remove();for(let o of f)l(t),o(t);return l(t),v(t)}function Se({flushUndo:e=!0}={}){let t=p({flushUndo:e});d(t,"onbeforesave");let o=t.querySelector(x)?y(t):null;for(let s of t.querySelectorAll(T))s.remove();for(let s of f)l(t),s(t);l(t);let n=v(t),a=n;if(o){for(let s of o.querySelectorAll(S))s.remove();for(let s of f)l(o),s(o);l(o),a=v(o)}return{forComparison:n,forDirty:a}}function Ce({emitForSync:e=!0,flushUndo:t=!0,requestRefresh:o=!1,forRequest:n=!1}={}){if(!Number.isSafeInteger(R+1))throw new Error("Save capture identity exhausted");let a=++R,s=n?{captureId:a,authoredHandlers:!1,artifact:null}:null,r=p({flushUndo:t,forSave:e,requestRefresh:o,context:s});e&&document.dispatchEvent(new CustomEvent("clay:snapshot-ready",{detail:{documentElement:r,forSave:!0,captureId:a}})),d(r,"onbeforesave");let c=y(r),u=r.querySelector(x)?y(r):null;for(let i of f)l(r),i(r);l(r);for(let i of r.querySelectorAll(A))i.remove();M(r);let h=w(r,s);for(let i of c.querySelectorAll(T))i.remove();for(let i of f)l(c),i(c);l(c);let C=v(c),P=C;if(u){for(let i of u.querySelectorAll(S))i.remove();for(let i of f)l(u),i(u);l(u),P=v(u)}let q={forSave:h,forComparison:C,forDirty:P,captureId:a};return s&&s.artifact&&b.set(q,s.artifact),q}function Ae(){let e=p({flushUndo:!1});d(e,"onbeforesave");let t=y(e),o=new WeakMap;(function n(a,s){o.set(a,s);let r=a.children,c=s.children;for(let u=0;u<r.length;u++)n(r[u],c[u])})(t,e);for(let n of f)l(e),n(e);l(e);for(let n of e.querySelectorAll(A))n.remove();M(e);for(let n of t.querySelectorAll(S))n.remove();for(let n of f)l(t),n(t);return l(t),{saveClone:e,compareClone:t,pairMap:o}}function X({emitForSync:e=!0}={}){let t=p();return e&&document.dispatchEvent(new CustomEvent("clay:snapshot-ready",{detail:{documentElement:t}})),w(g(t))}function Te(e){let t=y(e,!1);for(let a of H)t.removeAttribute(a);let o=t.outerHTML,n=`</${t.localName}>`;return"<!DOCTYPE html>"+o.slice(0,o.length-n.length)+e.innerHTML+n}function we(){return p().querySelector("body").innerHTML}function ge({transform:e=null,flushUndo:t=!0}={}){if(!e&&t)return X({emitForSync:!1});let o=p({flushUndo:t});if(e){let n=e(o);if(n&&typeof n.then=="function")throw new TypeError("getHTML: the transform must be synchronous")}return w(g(o))}function xe(e,{prepared:t=!1}={}){let o=y(e);return V(t?o:g(o,{authored:!1}))}function Ee(){return w(W({flushUndo:!1,authored:!1}))}export{ne as a,j as b,ce as c,le as d,ae as e,se as f,ue as g,ie as h,fe as i,pe as j,de as k,he as l,me as m,p as n,W as o,ye as p,ve as q,Se as r,Ce as s,Ae as t,X as u,Te as v,we as w,ge as x,xe as y,Ee as z};
|
package/dist/m/c-SWLRT66R.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as t}from"./c-SDAXDM2D.js";var s=r=>Number.isSafeInteger(r)&&r>0?r:0;function b({floor:r=0,required:f=0,capability:l=0,admitted:c=[]}={}){let o=s(r),e=Math.max(s(f),o),i=n=>({ok:!1,activate:!1,floor:o,required:e,minimum:n});if(t(l)<e)return i(e);let a=e>o;return a&&c.some(n=>t(n)<e)?i(e):{ok:!0,activate:a,floor:e,required:e}}export{b as a};
|
package/dist/m/c-TCJTVAFN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as wt}from"./c-GQ6F6IDK.js";import{c as _}from"./c-2SPVQSHC.js";import{b as Ne}from"./c-5VYOWDTI.js";import{a as Mt,d as J,e as Ie,f as B,h as D}from"./c-QJ4OM3G6.js";import{a as Re,b as _t}from"./c-MKSQ4Y57.js";import{a as Dt}from"./c-UGHH4MB3.js";import{a as St}from"./c-ZWIOJGMT.js";import{a as Tt,e as xt,f as T,j as Ct,r as Le,t as Pt}from"./c-LWLBHLVC.js";import{a as Oe,c as At,g as Et,h as ke}from"./c-DCXOXBF3.js";import{a as Pe,f as Me,h as z}from"./c-IJUK2GPW.js";import{b as q,e as h}from"./c-OW5QIGG3.js";import{i as mt,k as vt}from"./c-N7JPUPGC.js";import{h as fe,m as De,o as yt,q as F,r as le,s as _e}from"./c-SPIORRYS.js";import{d as ht}from"./c-VG5XIN4T.js";import{a as ue}from"./c-2YYDMLNZ.js";import{d as lt,e as ct,g as dt,h as pt}from"./c-HA6INT6J.js";import{k as gt}from"./c-DCFSEJZG.js";var Yt="clay:debug:autosave";function ce(){try{return localStorage.getItem(Yt)==="true"}catch{return!1}}function de(){return import("./c-CFHW5AMY.js").catch(e=>(console.warn("[autosave-debug] Failed to load the debug logger:",e),null))}function pe(e,t){ce()&&de().then(n=>n?.logSaveCheck(e,t))}function Z(e,t=""){ce()&&de().then(n=>n?.logBaseline(e,t))}function Ot(e,t){ce()&&de().then(n=>n?.logUnloadDiffSync(e,t))}function kt(){ce()&&de().then(e=>e?.preloadIfEnabled())}var O=Number.NEGATIVE_INFINITY;function jt({firstDirtyAt:e=O,lastActivityAt:t=O,finishedAt:n=O,costMs:o=0}={}){let r=e??O,u=t??O,a=n??O,s=Math.min(3e4,Math.max(1200,4*o)),f=Math.max(u,a)+1500,m=Math.max(r+1e4,a+s);return Math.max(a+1200,Math.min(f,m))}function Lt({now:e=()=>Date.now(),setTimer:t=(r,u)=>setTimeout(r,u),clearTimer:n=r=>clearTimeout(r),run:o=()=>{}}={}){let r=null,u=null,a=O,s=0,f=null,m=null,l=!1,d=!1;function g(){return jt({firstDirtyAt:r,lastActivityAt:u,finishedAt:a,costMs:s})}function c(){if(!l||d)return;let p=g();if(f!==null){if(m===p)return;n(f)}m=p,f=t(y,Math.max(0,p-e()))}function y(){if(f=null,m=null,!(!l||d)){if(e()<g()){c();return}j()}}function j(){l=!1,d=!0,r=null,u=null;let p;try{p=o()}catch{U();return}Promise.resolve(p).then(U,U)}function U(){d=!1,a=e(),l&&c()}function b({at:p=e()}={}){r===null&&(r=p),u=p,l=!0,c()}function i(){l=!0,c()}function S(p){p>0&&(s=Math.max(p,s*.8))}return{noteActivity:b,request:i,noteCost:S,dueAt:g,costEstimate:()=>s,pending:()=>l||d,running:()=>d}}De(e=>{for(let t of pt)e.removeAttribute(t)});De(e=>{for(let t of[...lt,...ct,...dt])e.removeAttribute(t)});var E=null;function w(e,t="",n="",o=null){E&&(clearTimeout(E),E=null),document.documentElement.setAttribute("savestatus",e);let r=new CustomEvent(`clay:save-${e}`,{detail:{msg:t,msgType:n,timestamp:Date.now(),...o||{}}});document.dispatchEvent(r)}function ze(){E&&(clearTimeout(E),E=null),document.documentElement.setAttribute("savestatus","offline")}function bt(){E=setTimeout(()=>{w("saving")},500)}window.addEventListener("offline",()=>{ze()});window.addEventListener("online",()=>{document.documentElement.getAttribute("savestatus")==="offline"&&M().then(e=>{e.msgType==="skipped"&&document.documentElement.getAttribute("savestatus")==="offline"&&document.documentElement.setAttribute("savestatus","saved")})});var k=!1,C="",A="",Fe=0,$=new Set,L=!1,G=!1,K=!1,I=0,Be=!1;function zt(){I++}function qt(){I!==0&&(I--,!(I>0)&&(oe&&(oe=!1,Q=setTimeout(it,0)),Be&&(Be=!1,xe())))}function Jt(){return I>0}var H=0,se=!1,he=!1,Se=!1;function Ee(e=null){return H===0||un(e)}function Je(){return se}function Zt(){if(se)return!0;try{let e=F({flushUndo:!1});return ft(e)?!1:e!==A}catch{return!0}}function en(){let e="idle",t=0;return{get phase(){return e},get open(){return e==="open"},changedWhileClosed(){return e==="quiesced"&&Ie()!==t},start(){e==="idle"&&(e="open")},quiesce(){e==="open"&&(e="quiesced",t=Ie(),H++)},resume(){e==="quiesced"&&(e="open",H--,!(H>0)&&(hn(),Rt()))},stop(){if(e==="stopped")return;let n=e==="quiesced";(n||e==="open")&&Zt()&&(Se=!0),e="stopped",n&&(H--,H===0&&Rt())}}}var It=!1,te=null,He=null,Ge=!1;function sr(e=Y){if(!te||te.generation!==e)return null;let{bytes:t,etag:n}=te;return{bytes:t,etag:n}}function ar({represented:e}={}){let t=B(),{forComparison:n,forDirty:o}=le(),r=typeof e?.etag=="string"&&e.etag?e.etag:null;return!(Ge&&r!==null&&r!==He)&&Se&&(n!==C||o!==A)?{ok:!1,code:"pending-input"}:(Se=!1,re(n,o),R=n,V=!1,st=!0,He=r,Ge=!0,D(t),document.documentElement.setAttribute("savestatus","saved"),document.dispatchEvent(new CustomEvent("clay:baseline-settled")),{ok:!0})}var Ze=Promise.resolve(!1),ye=!1,tn=()=>(ye=!0,Et().catch(()=>!1).then(e=>(ye=!1,e)));function ur(){return{id:"clay:save",order:10,prepare(e={}){let t=en();return e.initial===!0&&t.start(),{enable(){Ze=tn();let n=e.represented?.etag;typeof n=="string"&&n&&At(n),e.initial!==!0&&(nn(),t.start())},quiesce:()=>t.quiesce(),resume:()=>t.resume(),dispose:()=>t.stop()}}}}function nn(){It||(It=!0,Mt(),Pe(),Vt(),$t())}var P=0,Ke=!1,we=!1,et="Waiting for the AI edit to be kept or reverted",W=new Map;function fr(e=et){P++,W.set(e,(W.get(e)||0)+1)}function lr({replay:e=!0,reason:t=et}={}){let n=W.get(t)||0;if(n===0||(n===1?W.delete(t):W.set(t,n-1),P--,P>0))return;let o=Ke,r=we;Ke=!1,we=!1,e&&(o?M():r&&xe())}function cr(){return P>0}function tt(){return P===0?null:W.keys().next().value||et}function Ft(e,t){if(P===0)return!1;Ke=!0,z();let n=v(tt());return e(n),t(n),!0}var N=!1,ne=null;function rn(e){ne=e??null,!N&&(N=!0,zt())}function on(){N&&(N=!1,ne=null,qt())}function We(){return N}function dr(e){if(!N||ne&&e!==ne)return;N=!1,ne=null,!Ne()&&J()||(document.documentElement.getAttribute("savestatus")==="conflict"&&document.documentElement.setAttribute("savestatus","saved"),document.dispatchEvent(new CustomEvent("clay:save-conflict-resolved",{detail:{timestamp:Date.now()}}))),document.dispatchEvent(new CustomEvent("clay:save-conflict-released",{detail:{etag:e??null}})),qt()}function v(e){return{ok:!1,msg:e,msgType:"skipped",code:null,etag:null}}function nt(e){return(J()||_())&&(se=!0),v(e)}var rt=new Set,Y=0;function pr(){return Y}function mr(e){typeof e=="number"&&(Y=e)}function sn(e=Y){let t=Object.freeze({generation:e});return rt.add(t),t}function an(e){rt.delete(e)}function un(e){return!!e&&rt.has(e)&&e.generation===Y}function ge(e,t){e!=null&&_t({captureId:e,ok:t.ok===!0,etag:t.etag??null})}function Bt(e,t,n,o,r,u=null,a=null,s=!1){if(ge(a,e),e.ok)se=!1,re(t,n),Gt=u,te={bytes:u,etag:Oe(),generation:Y},He=te.etag,Ge=!0,Se=!1,k=!1,D(r),w("saved",e.msg||"Saved",e.msgType,{etag:e.etag??null,captureId:a}),Z(o,`${C.length} chars`),on();else if(e.msgType==="conflict"){if(s){E&&(clearTimeout(E),E=null),document.documentElement.setAttribute("savestatus","saved");return}rn(e.conflictEtag),w("conflict",e.msg,e.msgType,{hadTimeout:e.hadTimeout===!0,changedBy:e.changedBy??null,afterTimeout:e.afterTimeout===!0,etag:e.conflictEtag??null,code:e.code??null,reason:e.reason??null,retryAfter:e.retryAfter??null,captureId:a})}else if(e.msgType!=="skipped"){let f={status:e.status??null,hadTimeout:e.hadTimeout===!0,code:e.code??null,reason:e.reason??null,retryAfter:e.retryAfter??null,captureId:a};navigator.onLine?w("error",e.msg,"",f):w("offline",e.msg,"",f)}}function Ht(){if(!(!L&&!G)&&!Ct()){if(L){L=!1,G=!1,M();return}G=!1,Ye.request()}}function vr(){return k}function gr(e){k=e}function hr(){return C}function ot(){return A}var Gt=null;function Sr(){return Gt}function re(e,t){C=e,A=t,Fe++}function yr(e){re(e,e)}var ee=()=>typeof performance<"u"&&performance.now?performance.now():Date.now();function Te(e,t=()=>{}){return ye?Ze.then(()=>Te(e,t)):X?ie.then(()=>Qe(e,t)):Qe(e,t)}function Qe({kind:e,permit:t=null},n=()=>{}){let o=e==="explicit";return new Promise(r=>{if(!h&&!window.clay?.testMode){o&&z();let i=v("Not in edit mode");return n(i),r(i)}if(!Ee(t)){o||(he=!0);let i=nt("Save session is quiesced");return n(i),r(i)}if(o){if(Ft(n,r))return;if(T()){L=!0;let i=v("Save already in progress");return n(i),r(i)}}else{if(P>0){we=!0;let i=v(tt());return n(i),r(i)}if(T()&&!V&&K){G=!0;let i=v("Save already in progress");return n(i),r(i)}if(!V&&!J()){let i=v("No changes to save");return n(i),r(i)}}let u=window.clay?.source?.ensureForSave?.();if(u)return u.then(()=>r(Qe({kind:e,permit:t},n)));let a=o?gn():[],s=i=>a.forEach(S=>S(i));!navigator.onLine&&ze();let m=ee(),l,d,g,c,y,j=B();try{l=_e({requestRefresh:!0,forRequest:!0}),{forSave:d,forComparison:g,forDirty:c,captureId:y}=l}catch(i){console.error(`${o?"savePage":"savePageThrottled"}: captureForSaveAndComparison failed`,i),o?(z(),w("error",i.message,"",{sent:!1,code:i.code??null})):w("error",i.message);let S={msg:i.message,msgType:"error",code:o?i.code??null:null,etag:null};typeof n=="function"&&n(S),r(S),s(S);return}let U=ee()-m;if(Re({captureId:y,html:d}),o){if(k=c!==A,pe("savePage dirty check",!k),!k){z(),D(j),fe(l);let i=v("No changes to save");ge(y,i),n(i),r(i),s(i);return}}else{let i=!V||g!==R,S=g!==C;if(pe("throttled vs baseline",!i),pe("throttled vs lastSave",!S),!(i&&S)){let p=!1;try{p=!S&&(!document.querySelector(gt)||J()&&c===A)}catch(Xt){console.error("savePageThrottled: dirty domain check failed",Xt)}p&&D(j),Ye.noteCost(U),fe(l);let ae=v("No changes to save");ge(y,ae),n(ae),r(ae);return}if(k=!0,T()){L=!0,fe(l);let p=v("Save already in progress");ge(y,p),n(p),r(p);return}}bt();let b={forComparison:g,forDirty:c};$.add(b),K=!0,Le(d,y,i=>{K=!1,$.delete(b);let S=ee();Bt(i,b.forComparison,b.forDirty,"updated after save",j,d,y),o||Ye.noteCost(U+(ee()-S)),typeof n=="function"&&n(i),r(i),s(i),Ht()},{capture:l})})}function M(e=()=>{}){return Te({kind:"explicit"},e)}function fn(e,t=()=>{}){return Te({kind:"explicit",permit:e},t)}function Ae(e=()=>{},{quietConflict:t=!1,pageFormatFloor:n=0}={}){return ye?Ze.then(()=>Ae(e,{quietConflict:t,pageFormatFloor:n})):new Promise(o=>{if(!h&&!window.clay?.testMode){let c=v("Not in edit mode");return e(c),o(c)}if(!Ee()){let c=nt("Save session is quiesced");return e(c),o(c)}if(Ft(e,o))return;if(T()){L=!0;let c=v("Save already in progress");return e(c),o(c)}let r=window.clay?.source?.ensureForSave?.();if(r)return r.then(()=>o(Ae(e,{quietConflict:t,pageFormatFloor:n})));!navigator.onLine&&ze();let a,s,f,m,l,d=B();try{a=_e({requestRefresh:!0,forRequest:!0}),{forSave:s,forComparison:f,forDirty:m,captureId:l}=a}catch(c){console.error("savePageForce: captureForSaveAndComparison failed",c),w("error",c.message,"",{sent:!1,code:c.code??null});let y={msg:c.message,msgType:"error",code:c.code??null,etag:null};return typeof e=="function"&&e(y),o(y)}Re({captureId:l,html:s}),bt();let g={forComparison:f,forDirty:m};$.add(g),K=!0,Le(s,l,c=>{K=!1,$.delete(g),Bt(c,g.forComparison,g.forDirty,"updated after force save",d,s,l,t),typeof e=="function"&&e(c),o(c),Ht()},{capture:a,pageFormatFloor:n})})}function ln(e){let t=["clay:save-saved","clay:save-error","clay:save-offline","clay:save-conflict"];return new Promise((n,o)=>{let r=null,u=()=>{clearTimeout(r);for(let f of t)document.removeEventListener(f,a)},a=()=>{u(),n()},s=e-Date.now();if(s<=0){o(Object.assign(new Error("Save timed out."),{state:"failed"}));return}r=setTimeout(()=>{u(),o(Object.assign(new Error("Save timed out."),{state:"failed"}))},s);for(let f of t)document.addEventListener(f,a)})}function x(e,t){return Object.assign(new Error(e),{state:t})}function cn(e,t){return new Promise((n,o)=>{let r=t-Date.now();if(r<=0)return o(x("Save timed out.","failed"));let u=setTimeout(()=>{document.removeEventListener(e,a),o(x("Save timed out.","failed"))},r),a=()=>{clearTimeout(u),n()};document.addEventListener(e,a,{once:!0})})}async function wr({keepalive:e=!1,timeoutMs:t=15e3,permit:n=null}={}){if(!h)return{state:"view",etag:null};let o=Date.now()+t,r=n||sn(),u=null,a=new Promise((s,f)=>{u=setTimeout(()=>f(x("Save timed out.","failed")),Math.max(0,t))});try{return await Promise.race([dn(e,o,r),a])}catch(s){throw s&&typeof s.state=="string"?s:x(s?.message||"Save failed","failed")}finally{clearTimeout(u),n||an(r)}}async function dn(e,t,n){Kt()||await cn("clay:baseline-settled",t);let o=!1,r=null;for(let u=0;u<4;u++){if(T()&&await ln(t),We())throw x("This document has a conflict to resolve.","conflict");let a=B();if(!je()){if(D(a),_())throw x("This document has unsaved work a save cannot write.","blocked");return{state:o?"saved":"clean",etag:r??Oe()}}let s=await xt(e,()=>fn(n));if(s.msgType!=="skipped"){if(!s.ok)throw x(s.msg||"Save failed",s.msgType==="conflict"||We()?"conflict":"failed");o=!0,r=s.etag??null}}throw x("The document kept changing while saving.","failed")}async function Ar(e=()=>{}){return await ke({fresh:!0}),Ae(e)}function Er(e){!h||q||Pt(e,t=>{t.ok?window.location.reload():t.msgType==="skipped"?w("error",t.msg||"Template not saved"):w("error",t.msg||"Failed to save template")})}var pn=wt(e=>Te({kind:"automatic"},e),1200),mn=250,vn=1e3,Q=null,Nt=0,Ve=[],$e=[],oe=!1,gn=()=>{let e=$e;return $e=[],e};function it(){if(Q=null,I>0||!Ee()){oe=!0;return}let e=Ve;if(Ve=[],T()){$e.push(...e),M();return}M().then(t=>e.forEach(n=>n(t)))}function Tr(){let e=Date.now();return Q===null?Nt=e:clearTimeout(Q),new Promise(t=>{Ve.push(t),Q=setTimeout(it,Math.max(0,Math.min(mn,Nt+vn-e)))})}function hn(){he&&(he=!1,xe())}function Rt(){oe&&(oe=!1,Q=setTimeout(it,0))}var R="",V=!0,st=!1;function Kt(){return st}var Ue=!1,Sn=250,yn=1250,be=null,Wt="clay:paint-heal:"+location.pathname;function Qt(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)|0;return String(t>>>0)}function wn(e){try{return localStorage.getItem(Wt)===Qt(e)}catch{return!1}}function An(e){try{localStorage.setItem(Wt,Qt(e))}catch{}}function En(){return ht(yt({flushUndo:!1}))}function xr(e){!h||q||(clearTimeout(be),be=setTimeout(async()=>{be=null,X&&await ie;let t=typeof e=="function"?e():e;t==null||!Ne()||!Kt()||We()||Jt()||F({flushUndo:!1})===A&&t!==En()&&(wn(t)||(An(t),Ae(()=>{},{quietConflict:!0})))},Sn+Math.random()*yn))}var me=null,qe=null,X=0,ie=Promise.resolve(),at=!1,ut=[];function Tn(){return qe??=import("./c-CZUSOB7V.js").catch(e=>(qe=null,console.error("style-comparisons failed to load",e),null)),qe}async function xn(e){try{if(me||(me=(await Tn())?.styleComparisonStripper??null),!me)return;let t=me(e);C=t(C),A=t(A),R=t(R);for(let n of $)n.forComparison=t(n.forComparison),n.forDirty=t(n.forDirty)}catch(t){console.error("style adoption failed",t)}finally{X--,ut.shift()}}var ve=e=>e.replace(/&/g,"&").replace(/"/g,""");function Cn(e){if(e.name!==void 0){let n=[`data-name="${ve(e.name)}"`];return e.legacyId!==void 0&&n.push(`id="${ve(e.legacyId)}"`),n}let t=[ve(e.href)];try{let{pathname:n}=new URL(e.href);n&&t.push(ve(n))}catch{}return t}function Pn(e){let t=[C,A,R];for(let n of $)t.push(n.forComparison,n.forDirty);return t.some(n=>n&&e.some(o=>o&&n.includes(o)))}function Mn(e,t){let n=[];for(let{markers:u,tag:a}of t)for(let s of u)for(let f=e.indexOf(s);f>=0;f=e.indexOf(s,f+s.length)){let m=e.lastIndexOf("<",f);if(m<0||e.slice(m+1,m+1+a.length).toLowerCase()!==a)continue;let l=a==="style"?e.indexOf("</style",f):f;if(l<0)continue;let d=e.indexOf(">",l);d>=0&&n.push([m,d+1])}n.sort((u,a)=>u[0]-a[0]);let o="",r=0;for(let[u,a]of n)u<r||(o+=e.slice(r,u),r=a);return o+e.slice(r)}Dt(e=>{let t=Cn(e);Pn(t)&&(X||(at=!1),X++,ut.push({markers:t,tag:e.name!==void 0?"style":"link"}),ie=ie.then(()=>xn(e)))});function Cr(){return ie}function ft(e){return!X||at||_()||T()||L||G||se||typeof e!="string"?!1:e===Mn(A,ut)}var Dn=500,_n=3e3,On=1e4,Xe=null;function kn(){ue.holdSettle=!1,Xe&&Xe()}function Ut(){if(!h)return;let e=!1,t=null,{forComparison:n,forDirty:o}=le();re(n,o);let r=Fe;R=n,Z("immediate capture",`${n.length} chars`);let u=["keydown","pointerdown","drop","input","change","paste"],a=new Set(["Shift","Control","Alt","Meta"]),s=l=>{l.type==="keydown"&&a.has(l.key)||(at=!0,e||(Ue=!0))};u.forEach(l=>document.addEventListener(l,s,!0));let f=()=>{if(!e){if(e=!0,t&&t(),!Ue&&Fe===r){let l=B(),{forComparison:d,forDirty:g}=le();re(d,g),R=d,D(l),Z("settled capture",`${d.length} chars`)}else Z("settled skipped",Ue?"user edited":"save occurred during settle");V=!1,document.documentElement.setAttribute("savestatus","saved"),st=!0,document.dispatchEvent(new CustomEvent("clay:baseline-settled"))}};Xe=f;let m=()=>{ue.holdSettle||f()};t=St.onAnyChange({debounce:Dn,omitChangeDetails:!0,require:"autosave"},m),setTimeout(()=>{e||m()},_n),setTimeout(()=>{!e&&ue.holdSettle&&kn()},On)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ut):Ut();function xe(e=()=>{}){if(!h){let t=v("Not in edit mode");return e(t),Promise.resolve(t)}if(P>0){we=!0;let t=v(tt());return e(t),Promise.resolve(t)}if(!Ee()){he=!0;let t=nt("Save session is quiesced");return e(t),Promise.resolve(t)}if(I>0){Be=!0;let t=v("Autosave suspended");return e(t),Promise.resolve(t)}if(!V&&K){G=!0;let t=v("Save already in progress");return e(t),Promise.resolve(t)}return pn(e).catch(t=>{let n={ok:!1,msg:t?.message||"Save failed",msgType:"error",code:null,etag:null};return w("error",n.msg),n})}var Ye=Lt({now:ee,run:()=>xe()});function Vt(){document.addEventListener("keydown",function(e){if((window.navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)&&e.keyCode==83){if(!h)return;e.preventDefault(),e.isTrusted&&Me(),M()}})}function $t(){document.addEventListener("click",e=>{e.target.closest("[trigger-save]")&&(e.isTrusted&&Me(),M())})}function Ln(){h&&(ke(),Tt(),Pe(),Vt(),$t())}Ln();var Pr=M;var Ce=!1;function Nr({isCurrent:e,reload:t}){return e()?(Ce=!0,setTimeout(()=>{Ce=!1},1e3),t(),!0):!1}kt();function In(){return Je()?!0:h?_()?!0:q?vt():window.clay?.demo?!1:je():!1}function je(){if(!h)return!1;try{let e=F();return ft(e)?!1:e!==ot()}catch{return!0}}window.addEventListener("beforeunload",e=>{if(!h&&!Je())return;if(Ce){Ce=!1;return}if(!((!q||mt())&&!In())&&(e.preventDefault(),e.returnValue="",!window.clay?.demo&&!_()))try{let n=F(),o=ot();n!==o&&Ot(n,o)}catch{}});export{Nr as a,In as b,je as c,zt as d,qt as e,Jt as f,Ee as g,Je as h,en as i,sr as j,ar as k,ur as l,fr as m,lr as n,cr as o,tt as p,We as q,dr as r,pr as s,mr as t,sn as u,an as v,vr as w,gr as x,hr as y,ot as z,Sr as A,re as B,yr as C,M as D,Ae as E,wr as F,Ar as G,Er as H,Tr as I,Kt as J,En as K,xr as L,Cr as M,ft as N,kn as O,xe as P,Ye as Q,Vt as R,$t as S,Ln as T,Pr as U};
|
package/dist/m/c-TQEMVJCS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o="X-Clay-Page-Format";export{o as a};
|
package/dist/m/c-TYLXX4NF.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{a as tt,b as ln,c as Fn}from"./c-PGRCK73F.js";import{a as nt,b as ot,c as rt,d as ke,e as Le,f as fn,g as st,h as un,i as dn,j as it,l as at}from"./c-FRLHSY7E.js";import{a as sn,b as an,c as cn,d as je,e as et,f as Dn}from"./c-FROJUZMV.js";import{a as _n}from"./c-R7IWVINQ.js";import{b as zn,c as Hn}from"./c-VHM5XQHK.js";import"./c-IW6GGOU2.js";import"./c-HAWFNBYG.js";import{a as de,b as Zt,i as nn,j as on,q as Nn,r as Bn}from"./c-3H6BZDNJ.js";import{A as ye,B as Pe,C as Vt,D as Ut,E as ve,F as Gt,G as $e,H as Xt,I as Qt,J as Xe,K as Wt,L as Qe,M as Z,a as Re,b as Je,c as Dt,j as zt,m as Yn,p as Ht,q as Kt,r as Jt,s as Ve,u as Ue,w as Ge,y as le,z as qt}from"./c-4DFEJ2PO.js";import{A as fe,B as he,D as se,E as ge,F as ae,G as Ae,H as Bt,I as be,J as Ie,K as ne,L as _t,M as Ft,N as ce,O as ue,T as qe,f as $t,g as jt,i as Me,j as Te,k as He,n as Ke,p as Lt,s as Ce,t as re,u as Yt,x as W,y as Nt}from"./c-6CRUUXOX.js";import"./c-336SGU5W.js";import"./c-6KEVEQ7L.js";import{f as rn,n as Ze}from"./c-5J4E7O4Y.js";import{M as De,P as ze,Q as It,b as Q,c as Mt,e as Tt,la as me,m as te,o as Ct,oa as Rt,pa as Pt,q as At,ra as Ee}from"./c-WWXIDH4O.js";import{a as en,b as tn,c as We}from"./c-4L3BTFRK.js";import{a as Ot}from"./c-TCCA5BZN.js";import"./c-LRPUO2MX.js";import{c as Et}from"./c-5V3MOVJT.js";import"./c-6NC5I2TV.js";import{a as St,b as Fe}from"./c-FILLTJA7.js";import"./c-XCNTK76U.js";import{d as wt,e as xt}from"./c-TCJTVAFN.js";import"./c-GQ6F6IDK.js";import"./c-2SPVQSHC.js";import"./c-5VYOWDTI.js";import"./c-QJ4OM3G6.js";import"./c-MKSQ4Y57.js";import"./c-WYFDLITL.js";import"./c-UGHH4MB3.js";import"./c-ZWIOJGMT.js";import"./c-LWLBHLVC.js";import"./c-SDAXDM2D.js";import"./c-TQEMVJCS.js";import"./c-DCXOXBF3.js";import"./c-VRZN56XY.js";import"./c-IJUK2GPW.js";import"./c-OW5QIGG3.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-SPIORRYS.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var ct=new Set(["paragraph","heading","list_item","callout","quote","code_block","toggle"]),we=(e,r)=>me(e)===me(r);function lt(e,r){let n=r.createElement("article");return n.setAttribute("data-page",""),n.innerHTML=Pt([{id:e.id,t:"paragraph",c:e.c??"",...e.m?{m:e.m}:{}}],{clean:Rt(r)}),n}function Kn(e,r){let n=new Map(e.map((f,u)=>[f.id,u])),o=new Set(r.map(f=>f.id)),t=new Map,s=0;return r.map(f=>{let u=n.get(f.id);if(u!==void 0)return s=u+1,f;let p={c:f.c??"",m:f.m??null};for(let g=s;g<e.length;g++){let A=e[g];if(!(o.has(A.id)||A.t!==f.t||!we({c:A.c??"",m:A.m??null},p)))return o.add(A.id),s=g+1,t.set(f.id,A.id),{...f,id:A.id}}return f}).map(f=>t.has(f.parent)?{...f,parent:t.get(f.parent)}:f)}function ft(e,r,n,{doc:o,merge3:t,mergeJson:s}){let c=[],f=Kn(e,n),u=new Map(e.map(d=>[d.id,d])),p=new Map(r.map(d=>[d.id,d])),g=new Map(f.map(d=>[d.id,d])),A=r.map(d=>({...d})),C=f.map(d=>({...d})),B=new Map(A.map(d=>[d.id,d])),j=new Map(C.map(d=>[d.id,d]));for(let[d,L]of u){let m=p.get(d),y=g.get(d);if(!m||!y||!ct.has(L.t)||!ct.has(m.t)||!ct.has(y.t))continue;let J={c:L.c??"",m:L.m??null},H={c:m.c??"",m:m.m??null},$={c:y.c??"",m:y.m??null};if(we(H,J)||we($,J)||we(H,$))continue;if(L.t==="code_block"){for(let x of[B.get(d),j.get(d)])x.c=y.c??"",y.m?x.m=y.m:delete x.m;c.push({id:d,kind:"text",local:m.c??"",remote:y.c??""});continue}let S=t(lt(L,o),lt(m,o),lt(y,o));for(let x of S.conflicts)c.push({id:d,kind:"text",local:x.local?.textContent??null,remote:x.remote?.textContent??null});let[T]=Ee(S.root,{seed:"",known:new Map});for(let x of[B.get(d),j.get(d)])x.c=T.c,T.m?x.m=T.m:delete x.m}let _=r.map(d=>d.id);for(let[d,L]of u){let m=B.get(d);if(!m||g.has(d)||we(p.get(d),L))continue;let y=_.indexOf(d)-1;for(;y>=0&&!j.has(_[y]);)y--;let J=y<0?0:C.findIndex(H=>H.id===_[y])+1;C.splice(J,0,{...m}),j.set(d,C[J]),c.push({id:d,kind:"kept-edit"})}let P=s(e,A,C,{onConflict:d=>c.push({kind:"field",path:d.path,local:d.local,remote:d.remote,resolved:d.resolved})}),F=new Set(P.map(d=>d.id)),I=d=>(p.get(d)??u.get(d)??g.get(d))?.parent??null,z=P.map(d=>{let L=d.parent??null;for(;L&&!F.has(L);)L=I(L);return L===(d.parent??null)?d:{...d,parent:L}}),v=new Map(z.map(d=>[d.id,d.parent??null])),O=d=>{let L=new Set([d]);for(let m=v.get(d);m;m=v.get(m)){if(L.has(m))return!0;L.add(m)}return!1};for(let d of z)if(O(d.id)){for(let L of[p.get(d.id)?.parent,u.get(d.id)?.parent,null])if(v.set(d.id,L&&F.has(L)?L:null),!O(d.id))break}return{items:z.map(d=>(d.parent??null)===v.get(d.id)?d:{...d,parent:v.get(d.id)}),conflicts:c}}var Jn=e=>{try{return Ot(e)}catch{return null}},pe={ok:!0,outcome:"unchanged"},xe={ok:!1,outcome:"disposed",reason:"adoption-disposed"},Se={ok:!1,outcome:"refused",reason:"adoption-refused"},qn={ok:!1,outcome:"refused",reason:"adoption-timeout"},Vn={ok:!1,outcome:"error",reason:"adoption-error"},Un={ok:!0,outcome:"writer-adopts"},pn=e=>({ok:!0,outcome:"adopted",counts:e}),mn=1e4;function Gn(e){let r=e.querySelector(tt);return r?{article:r.cloneNode(!0),tags:ln(e).map(n=>Jn(n.textContent))}:null}function hn(e){return new Promise(r=>{if(!e.composing)return r();e.dom.addEventListener("compositionend",()=>setTimeout(()=>r(hn(e)),0),{once:!0})})}function Xn({view:e,source:r=null,ready:n=Promise.resolve(),isAdopter:o=()=>!0,idle:t=()=>hn(e),requestCheckpoint:s=()=>{},notice:c=()=>{},snapshot:f=()=>null,mergeTagless:u=!1,writerReady:p=()=>Promise.resolve(),adopted:g=()=>{},hold:A=wt,release:C=xt,holdMs:B=mn,doc:j=document}){let _=r?r.article.innerHTML:null,P=r?r.article:null,F=new Map,I=T=>{let x=T.getAttribute("data-rev");if(!x)return;let a=F.get(x)??[];F.delete(x),F.set(x,a),a.push(T),a.length>10&&a.shift(),F.size>20&&F.delete(F.keys().next().value)};P&&I(P);let z=Promise.resolve(),v=!1,O,K=new Promise(T=>O=T);async function d(){let T,x=new Promise(a=>{T=setTimeout(()=>a("timeout"),B)});try{return await Promise.race([Promise.resolve(n).then(()=>t()).then(()=>"ready"),K.then(()=>"disposed"),x])}finally{clearTimeout(T)}}function L(T,x,a,w){let{HyperMorph:R}=St(),Y=ft(a,x,w,{doc:j,merge3:R.merge3,mergeJson:R.mergeJson}),E=Y.conflicts.filter(M=>M.kind==="text"||M.kind==="field"),i=E.length?f():null,b=an(T,Y.items,x),l=b&&cn(e.state,b);if(!l)return null;e.dispatch(l),e.dispatch(Tt.closeHistory(e.state.tr));let h={edited:b.edited.size,created:b.created.size,deleted:b.deleted.length,moved:b.reordered},{displaced:N}=l.getMeta(sn);return Object.keys(N).length&&(h.displaced=N),E.length&&(h.conflicts=E),i&&(h.copy=i),h}async function m(T){if(u&&!T.tags.length)return y(T);let x=et(T.article,T.tags);if(x.kind==="unbased"&&console.warn("page: the article and its data changed together; kept the data"),x.kind!=="adopt")return pe;if(!o())return Un;A();try{if(await Fe(),v)return xe;if(!o())return Se;let a=await d();if(a==="timeout"&&console.warn("page: gave up waiting for the editor; the hand edit was not adopted"),a==="disposed"||v)return xe;if(a!=="ready")return qn;if(!o())return Se;let w=De(e.state.doc),R=L(w,je(w,j),x.baseItems,x.parsed);return R?(g(x.A),pn(R)):pe}finally{C()}}async function y(T){let x=T.article.getAttribute("data-rev"),a=x&&F.get(x)||[],w=a.at(-1)??P;if(a.slice(0,-1).some(R=>R.innerHTML===T.article.innerHTML)||(I(T.article),P=T.article,!w)||w.outerHTML===T.article.outerHTML)return pe;A();try{if(await Fe(),v)return xe;if(!o())return Se;if(await p(),v)return xe;if(!o())return Se;if(await d()==="disposed"||v)return xe;if(!o())return Se;let Y=De(e.state.doc),E=je(Y,j),i=new Map(E.map(h=>[h.id,h])),b=h=>Ee(h,{seed:h.getAttribute("data-rev")??"",known:i}),l=L(Y,E,b(w),b(T.article));return l?pn(l):pe}finally{C()}}async function J(T){try{return await m(T)}catch(x){return console.error("page: adoption failed",x),Vn}}let H=null;function $(T,x=!1){return z=z.then(()=>J(T)).then(a=>(x&&(H=a),!a.ok||a.outcome!=="adopted"||(s(),c(a.counts),j.dispatchEvent(new CustomEvent("clay:page-adopted",{detail:a.counts}))),a)),z}function S(T){let x=T.detail?.html;if(v||typeof x!="string")return;let a=Gn(new DOMParser().parseFromString(x,"text/html"));!a||a.article.innerHTML===_||(_=a.article.innerHTML,$(a))}return j.addEventListener("clay:sync-applied",S),r&&$(r,!0),{idle:async()=>(await z,H),saved(T){if(!u||typeof T!="string")return;let x=new DOMParser().parseFromString(T,"text/html").querySelector(tt);x&&(I(x),P=x)},dispose(){v=!0,O(),j.removeEventListener("clay:sync-applied",S)}}}var gn=e=>e===!0?{}:e,bn=(e,r)=>ae(gn(e),gn(r));function wn(e,r,n,o){let t=e.attrs.get(r);t||(t=new Ce,e.attrs.set(r,t));let s=te.nodes[n];if(!s){t.get("t")!==n&&t.set("t",n);for(let[p,g]of Object.entries(o??{}))p==="t"||p==="pos"||ae(t.has(p)?t.get(p):void 0,g)||t.set(p,g);return}let c=n==="table"&&t.get("t")==="table"&&!Xe(r),f=n==="board"&&!Xe(r),u=c?Kt(e.tableFields,r,Jt(e,r)):f?Ue(e.boardFields,r):null;t.get("t")!==n&&t.set("t",n);for(let p of se(s)){if(c&&(p==="rows"||p==="cols")||f&&(p==="columns"||p==="cards"))continue;let g=t.has(p)?t.get(p):ge(s,p);ae(g,o[p])||t.set(p,o[p])}c&&Ve(e,r,u,o),f&&Ge(e,r,u,o)}function yn(e,r){let n=new Map,o=r;for(let t=e.flow._start;t&&o>0;t=t.right){if(t.deleted)continue;let s=t.content;s instanceof Yt?s.value===null?n.delete(s.key):n.set(s.key,s.value):t.countable&&(o-=t.length)}return n}function Qn(e){let r=new Set;for(let[o,t]of e)ue(o)&&t&&r.add(o.split("!")[0]);let n=[];for(let[o,t]of e)!ue(o)&&t!==null&&t!==void 0&&!r.has(o)&&te.marks[ce(o)]&&n.push([o,t]);return n}function xn(e){let r=new Set;for(let[o,t]of e)ue(o)&&t&&r.add(o.split("!")[0]);let n=[];for(let[o,t]of e)!ue(o)&&t!==null&&t!==void 0&&!r.has(o)&&!te.marks[ce(o)]&&n.push([o,t]);return n}function Sn(e,r={}){let n={},o=!1;for(let[t,s]of e)(ue(t)||te.marks[ce(t)])&&(n[t]=s);for(let[t,s]of xn(e))o=!0,r[ce(t)]!==void 0&&(n[t]=s);return{attrs:n,opaque:o}}function Wn(e,r,n){let o=ne(e),t={},s=Qn(r),c=new Set;for(let[u,p]of s){let g=ce(u),A=n[g];A!==void 0&&bn(A,p)?c.add(g):t[`${u}!${o}`]=!0}for(let[u,p]of xn(r)){let g=ce(u);n[g]!==void 0&&bn(n[g],p)&&c.add(g)}for(let[u,p]of Object.entries(n))c.has(u)||(t[`${u}~${ne(e)}`]=p);let f=Sn(r,n);if(!(!Object.keys(t).length&&!f.opaque))return{...f.attrs,...t}}var ut=2e3;function Zn(e){let r=[],n=[],o=0;for(let t=0;t<e.length;t++)if(n.push(e[t]),o+=1,o>=ut&&t+1<e.length){let s=e[t];if(s.k==="c"&&be(s.ch.charCodeAt(0)))continue;r.push(n),n=[],o=0}return n.length&&r.push(n),r}function Ye(e,r,n,o=s=>s(),t=null){let s=r;for(let c of Zn(n))o(()=>{s+=to(e,s,c,t)});return s-r}var eo=(e,r,n)=>{if(!n||!n.length)return null;let o=r,t=e.flow._start;for(;t&&o>0;){if(!t.deleted&&t.countable){if(o<t.length)return null;o-=t.length}t=t.right}for(;t&&(t.deleted||!t.countable);t=t.right)if(t.deleted&&n.some(s=>s.client===t.id.client&&s.clock>=t.id.clock&&s.clock<t.id.clock+t.length))return t;return null},vn=(e,r,n,o)=>{let t=eo(e,r,n);if(!t)return o();t.deleted=!1;try{return o()}finally{t.deleted=!0,e.flow._searchMarker&&(e.flow._searchMarker.length=0)}};function to(e,r,n,o=null){let t=r,s="",c=null,f=null,u=()=>{if(!s)return;let g=Wn(e,yn(e,t),f??{});vn(e,t,o,()=>e.flow.insert(t,s,g)),t+=s.length,s=""},p=g=>{let A=Sn(yn(e,t)).attrs;vn(e,t,o,()=>e.flow.insertEmbed(t,g,A)),t+=1};for(let g of n)g.k==="c"?(c!==null&&g.mk!==c&&u(),c=g.mk,f=g.ma,s+=g.ch):g.k==="h"?(u(),c=null,p({br:1})):(u(),c=null,p({b:g.id}),wn(e,g.id,g.t,g.attrs));return u(),t-r}var no=(e,r,n,o)=>{let t=0;for(let s=e.flow._start;s&&t<o;s=s.right){if(s.deleted||!s.countable)continue;let c=t;if(t+=s.length,t<=n||s.content instanceof re&&s.content.embed?.b!==void 0)continue;let f=Math.max(0,n-c),u=Math.min(s.length,o-c);u<=f||e.gone.set(Ut(s.id.client,s.id.clock+f,r.operationId),{length:u-f,actor:e.ydoc.clientID,sv:r.sv})}};function kn(e,r,n,o=null){for(let t=n.length-1;t>=0;t--){let[s,c]=n[t];if(c<=s)continue;let f=r.physicalRanges(s,c);for(let u=f.length-1;u>=0;u--){let[p,g]=f[u];g<=p||(o&&no(e,o,p,g),e.flow.delete(p,g-p))}}}function oo(e,r,n){let o=!1;for(let t=e.flow._start;t;t=t.right){let s=Ae(t.id);if(s===r){o=!0;continue}if(!o)continue;let c=t.content instanceof re?t.content.embed:null;if(c&&c.b!==void 0&&c.b!==n)return s}return null}function dt(e,r,n,o,t=null){let{pd:s,map:c,bt:f}=e,u=m=>t===null||t[m],p=0;for(;p<n.length&&p<o.length&&ke(n[p],o[p])&&u(p);)p++;let g=0;for(;g<n.length-p&&g<o.length-p&&ke(n[n.length-1-g],o[o.length-1-g])&&u(n.length-1-g);)g++;let A=m=>m&&m.k==="c"?m.ch.charCodeAt(0):-1;p>0&&be(A(n[p-1]))&&(Ie(A(n[p]))||Ie(A(o[p])))&&p--,g>0&&Ie(A(n[n.length-g]))&&(be(A(n[n.length-g-1]))||be(A(o[o.length-g-1])))&&g--;let C=n.slice(p,n.length-g),B=o.slice(p,o.length-g),j=r+p,_=j+C.length,P=C.filter(m=>m.k==="b").map(m=>m.id).join(",");if(!(C.some(m=>m.k==="b")&&P===B.filter(m=>m.k==="b").map(m=>m.id).join(","))){let m=Re(s.origins);try{for(let S of C){if(S.k!=="b"||!S.brk)continue;let T=m.resolve(S.brk);m.boundaryOf(T)||e.tx(()=>m.recordBoundary(T,{blockId:S.id,kind:"removed"}))}}finally{m.dispose()}let y=new Set;C.forEach((S,T)=>{if(S.k!=="b"||!S.brk)return;let x=j+T,a=x+1;for(;a<f.length&&f[a].k!=="b";)a++;let w=a<=_&&a!==x+1,R=a<f.length?f[a].brk:null;w&&(e.tx(()=>s.gone.set(ye(Ae(S.brk),e.operationId),{blockId:S.id,end:R?Ae(R):null,sv:e.sv})),y.add(x))});let J=[],H=j;for(let S=j;S<_;S++)y.has(S)&&(S>H&&J.push([H,S]),H=S+1);_>H&&J.push([H,_]),e.tx(()=>kn(s,c,J,C.some(S=>S.k==="b")?null:e));let $=new Set(B.filter(S=>S.k==="b").map(S=>S.id));for(let S of C)if(!(S.k!=="b"||!S.brk||$.has(S.id)))for(let T of e.copies.get(S.id)??[]){let x=ye(T,e.operationId);s.gone.has(x)||e.tx(()=>s.gone.set(x,{blockId:S.id,end:oo(s,T,S.id),sv:e.sv}))}B.length&&Ye(s,c.toPhysical(j,"before"),B,e.tx,e.fences);return}let I=[],z=[],v=[],O=j,K=0,d=0;for(;K<C.length||d<B.length;){let m=K;for(;m<C.length&&C[m].k!=="b";)m++;let y=d;for(;y<B.length&&B[y].k!=="b";)y++;let J=C.slice(K,m),H=B.slice(d,y);if(J.length&&I.push([O,O+J.length]),H.length&&z.push({at:O,toks:H}),O+=J.length,m<C.length&&(v.push([C[m],B[y]]),O+=1),K=m+(m<C.length?1:0),d=y+(y<B.length?1:0),m>=C.length&&y>=B.length)break}let L=[...I.map(m=>({at:m[0],d:m})),...z.map(m=>({at:m.at,i:m}))].sort((m,y)=>y.at-m.at||(m.d?-1:1));for(let m of L)m.d?e.tx(()=>kn(s,c,[m.d],e)):Ye(s,c.toPhysical(m.at,"before"),m.i.toks,e.tx,e.fences);for(let[m,y]of v)e.tx(()=>{if(!te.nodes[y.t])return;let J=e.recovered.get(m.id);if(J){m.t!==y.t&&s.gone.set(ve(J,"t"),y.t);for(let S of se(te.nodes[y.t]))ae(m.attrs[S],y.attrs[S])||s.gone.set(ve(J,S),y.attrs[S]);return}let H=m.id,$=s.attrs.get(H);if($){let S=m.t==="table"&&y.t==="table"&&$.get("t")==="table",T=y.t==="board",x=T?m.t==="board"&&$.get("t")==="board"?m.attrs:Ue(s.boardFields,H):null;m.t!==y.t&&$.set("t",y.t);for(let a of se(te.nodes[y.t])){if(S&&(a==="rows"||a==="cols")||T&&(a==="columns"||a==="cards"))continue;let w=$.has(a)?$.get(a):ge(te.nodes[y.t],a);ae(w,y.attrs[a])||$.set(a,y.attrs[a])}S&&Ve(s,H,m.attrs,y.attrs),T&&Ge(s,H,x,y.attrs)}else wn(s,H,y.t,y.attrs)})}function pt(e,r,n,o,t,s){let{pd:c,map:f}=e,u=`${o}~${ne(c)}`,p=ne(c),g=r;for(;g<n;){if(s[g].k!=="c"){g++;continue}let A=g;for(;A<n&&s[A].k==="c";)A++;let C=f.physicalRanges(g,A);if(t!==null)for(let[B,j]of C)c.flow.format(B,j-B,{[u]:t});else{let B=0;for(let j of c.flow.toDelta()){let _=typeof j.insert=="string"?j.insert.length:1;for(let[P,F]of C){if(B>=F)break;let I=Math.max(B,P),z=Math.min(B+_,F);if(z>I&&j.attributes){let v={};for(let[O,K]of Object.entries(j.attributes))ce(O)===o&&!ue(O)&&K!==null&&(v[`${O}!${p}`]=!0);Object.keys(v).length&&c.flow.format(I,z-I,v)}}B+=_}}g=A}}var{AddMarkStep:On,RemoveMarkStep:ro,AttrStep:so,ReplaceStep:io,Mapping:Be}=Mt,En=(e,r,n)=>{let o=e.resolve(r),t=e.resolve(n);return[o.depth&&o.node(1).type.name==="table"?o.before(1):r,t.depth&&t.node(1).type.name==="table"?t.after(1):n]},ao=(e,r,n)=>{let o=!1;return e.nodesBetween(r,n,t=>(t.type.name==="table"&&(o=!0),!o&&t.type.name!=="table")),o};function Mn(e,r,n,o,t=null,s=!0,c=null,{join:f=!1,open:u=!1}={}){let p=()=>{if(c){let l=c;c=null,l()}},g=[],A=[],C=[];for(let l of r)l.steps.forEach((h,N)=>{g.push(h),A.push(l.docs[N]),C.push(h.getMap())});if(!g.length)return;let B=new Be(C),j=[...Me(Te(e.ydoc)).entries()].sort((l,h)=>l[0]-h[0]),_=ne(e),P=A[0],F=r[r.length-1].doc,I=n.visible.length===0&&P.childCount===1&&P.firstChild.type.name==="paragraph"?[{id:P.firstChild.attrs.id,implicit:!0,t:"paragraph",len:0}]:n.visible,z=new Map,v=[];{let l=0;I.forEach(h=>{h.implicit&&v.push({tok:l,id:h.id,t:h.t}),l+=h.len})}v.sort((l,h)=>h.tok-l.tok);for(let l of v)l.alias=_t(e),z.set(l.id,l.alias);let O=z.size?n.holes.map(l=>({at:l.at+v.filter(h=>h.tok<l.at).length,len:l.len})):n.holes,K=st(n.tokens+z.size,O,e.flow.length+z.size),d=[],L=[];g.forEach((l,h)=>{let N=l instanceof On||l instanceof ro;if(N&&!ao(A[h],l.from,l.to)){L.push({i:h,step:l});return}let M=new Be(C.slice(0,h)).invert(),D=new Be(C.slice(h+1)),k=[];l instanceof so?k.push([l.pos,l.pos+1,l.pos,l.pos+1]):N?k.push([l.from,l.to,l.from,l.to]):l.getMap().forEach((V,q,G,X)=>k.push([V,q,G,X]));for(let[V,q,G,X]of k){let[ee,U]=En(P,M.map(V,-1),M.map(q,1)),[jn,Ln]=En(F,D.map(G,-1),D.map(X,1));d.push({oa:ee,ob:U,na:jn,nb:Ln})}}),d.sort((l,h)=>l.oa-h.oa||l.na-h.na);let m=[];for(let l of d){let h=m[m.length-1];h&&(l.oa<=h.ob||l.na<=h.nb)?(h.ob=Math.max(h.ob,l.ob),h.nb=Math.max(h.nb,l.nb)):m.push({...l})}let y=!v.length&&!L.length&&g.every(l=>l instanceof io)&&r.every(It),J=y?null:ot(P,z,I),H=y?null:ot(F,z,I),$=y?[]:nt(P,z,I),S=y?[]:nt(F,z,I),T=y?m.map(l=>({r:l,old:rt(P,l.oa,l.ob),next:rt(F,l.na,l.nb)})):null,x=y?T.reduce((l,h)=>l+h.next.end-h.next.start,0):m.reduce((l,h)=>l+(H[h.nb]-H[h.na]),0),a=x>ut,w=a?l=>e.ydoc.transact(h=>{h.meta.set(he,s),p(),l()},W):l=>l(),R={pd:e,map:K,bt:$,tx:w,copies:n.copies,fences:n.fences,sv:j,operationId:_,recovered:new Map(n.visible.filter(l=>l.recovered).map(l=>[l.id,l.sourceKey]))},Y=l=>l.filter(h=>h.k==="b").map(h=>`${h.id}|${h.t}|${JSON.stringify(h.attrs)}`).join(`
|
|
2
|
-
`),E=!y&&(L.length>0||Y($)!==Y(S)),i=()=>{for(let N of v)Ye(e,Le(n.holes,N.tok),[{k:"b",id:N.alias,t:N.t,attrs:Object.fromEntries(se(te.nodes[N.t]).map(M=>[M,ge(te.nodes[N.t],M)]))}],w);for(let N=m.length-1;N>=0;N--)if(y){let{r:M,old:D,next:k}=T[N],V=D.tokens.map((q,G)=>{let X=B.mapResult(M.oa+G,1),ee=B.mapResult(M.oa+G+1,-1),U=X.pos-M.na;return!X.deleted&&!ee.deleted&&ee.pos===X.pos+1&&U>=0&&U<k.tokens.length&&ke(q,k.tokens[U])});dt(R,D.start,D.tokens,k.tokens,V)}else{let M=m[N],D=J[M.oa],k=J[M.ob];dt(R,D,$.slice(D,k),S.slice(H[M.na],H[M.nb]))}let l=L.length?Z(e):null,h=l?{...R,map:st(l.tokens,l.holes,e.flow.length)}:null;for(let{i:N,step:M}of L){let D=new Be(C.slice(N+1)),k=H[D.map(M.from,1)],V=H[D.map(M.to,-1)];if(V<=k)continue;let q=M.mark.type.name,G=M instanceof On?M.mark.attrs&&Object.keys(M.mark.attrs).length?{...M.mark.attrs}:!0:null;if(Ct(M.mark)){if(G===null)continue;let X=At(M.mark.attrs.entries);w(()=>{for(let[ee,U]of Object.entries(X))pt(h,k,V,ee,U,S)});continue}w(()=>pt(h,k,V,q,G,S))}};f||t?.stopCapturing();let b=t?.captureTimeout;t&&(t.captureTimeout=1/0);try{a?i():e.ydoc.transact(l=>{l.meta.set(he,s),p(),i()},W)}finally{t&&(t.captureTimeout=b),u||t?.stopCapturing()}o.groups++,o.lastGroup={chunked:a,structural:E,regional:y,span:x}}var oe=e=>({status:"refused",code:e}),Tn=e=>{if(!e)return"";let r=[];for(let n of Object.keys(e).sort())r.push(`${n}=${JSON.stringify(e[n])}`);return r.join(`
|
|
3
|
-
`)},co=(e,r,n)=>{let o=n?n.state.doc:null,s=o&&o.childCount===r.visible.length&&r.visible.every((f,u)=>o.child(u).attrs.id===f.id)?o:de(e,r),c=[];return s.forEach(f=>{f.attrs.id===null||f.attrs.id===void 0||c.push({id:f.attrs.id,parent:f.attrs.parent??null,t:f.type.name})}),c},lo=(e,r)=>{let n=[],o=e.get(r)?.parent??null,t=0;for(;o!=null&&t++<=e.size;)n.push(o),o=e.get(o)?.parent??null;return n},An=(e,r,n)=>lo(e,n).includes(r),mt=(e,r,n)=>r===n||An(e,n,r),ht=(e,r,n,o,t)=>{if(r?.recovered){let c=ve(r.sourceKey,o);(e.gone.has(c)?e.gone.get(c):r.fields?.[o]??null)!==t&&e.gone.set(c,t);return}let s=e.attrs.get(n);s||(s=new Ce,e.attrs.set(n,s)),s.get(o)!==t&&s.set(o,t)},_e=(e,r,n,o)=>ht(e,r,n,"parent",o),fo=8,Cn={indent:(e,r)=>r.t==="list_item"&&Number.isInteger(e)&&e>=0&&e<=fo,open:(e,r)=>r.t==="toggle"&&typeof e=="boolean",parent:(e,r,n)=>e===null||typeof e=="string"&&n.get(e)?.t==="toggle"&&!mt(n,e,r.id)},uo=(e,r)=>{if(e?.attrs===void 0)return[];if(!e.attrs||typeof e.attrs!="object"||Array.isArray(e.attrs))return null;let n=[];for(let[o,t]of Object.entries(e.attrs)){let s=r.get(o);if(!s||!t||typeof t!="object"||Array.isArray(t))return null;for(let[c,f]of Object.entries(t)){if(!Cn[c]||!Cn[c](f,s,r))return null;n.push({id:o,field:c,value:f})}}return n},po=(e,r)=>{let n=Je(e.flow,0,e.flow.length),o=[],t=0;for(let s of e.flow.toDelta()){let c=s.attributes;if(typeof s.insert=="string")for(let f=0;f<s.insert.length;f++)o.push({ch:s.insert[f],attrs:c,source:r.resolve(n[t++])});else o.push({embed:s.insert,attrs:c,source:r.resolve(n[t++])})}if(t!==n.length)throw new Error(`The flow delta has ${t} units but the document has ${n.length}`);return o},mo=(e,r,n)=>{let o=new Map;for(let s of r.visible)n.has(s.id)&&s.brk&&o.set(le(s.brk),s.id);for(let s of n)for(let c of r.copies.get(s)??[])o.set(c,s);let t=[];for(let s=e.flow._start;s;s=s.right){if(s.deleted||!(s.content instanceof re))continue;let c=s.content.embed?.b;if(c===void 0||o.get(le(s.id))!==c)continue;let f=null;for(let u=s.right;u;u=u.right){if(u.deleted||!(u.content instanceof re))continue;let p=u.content.embed?.b;if(!(p===void 0||p===c)){f=le(u.id);break}}t.push({key:le(s.id),blockId:c,end:f})}return t};function gt({pd:e,view:r,um:n,origins:o,render:t},s={}){let c=Array.isArray(s?.ids)?[...new Set(s.ids)]:[],f=s?.afterId===void 0?null:s.afterId,u=s?.parent!==void 0,p=Z(e,o),g=new Set(p.visible.filter(i=>i.opaque).map(i=>i.id)),A=co(e,p,r),C=new Map(A.map(i=>[i.id,i])),B=A.map(i=>i.id);if(!c.length)return oe("missing-source");for(let i of c)if(!C.has(i))return oe("missing-source");let j=uo(s,C);if(!j)return oe("invalid-attrs");let _=j.filter(i=>i.field==="parent"),P=new Set(c.filter(i=>!c.some(b=>b!==i&&An(C,b,i)))),F=A.filter(i=>c.some(b=>mt(C,i.id,b))),I=new Set(F.map(i=>i.id));if(F.some(i=>g.has(i.id))||j.some(i=>g.has(i.id)))return oe("unsupported-format");let z=new Map(p.visible.map(i=>[i.id,i]));for(let i of F){let b=z.get(i.id);if(!b||b.implicit||!b.brk)return oe("missing-source")}let v;if(u)v=s.parent??null;else{let i=new Set(F.filter(b=>P.has(b.id)).map(b=>b.parent));if(i.size!==1)return oe("invalid-parent");v=[...i][0]}if(u&&v!==null){let i=C.get(v);if(!i||i.t!=="toggle")return oe("invalid-parent");if(I.has(v))return oe("cycle")}if(f!==null){if(typeof f!="string"||!C.has(f))return oe("missing-destination");if(I.has(f))return oe("cycle");if(C.get(f).parent!==v)return oe("missing-destination")}let O=A.filter(i=>!I.has(i.id)),K=0;if(f===null){if(v!==null){let i=O.findIndex(l=>l.parent===v),b=O.findIndex(l=>l.id===v);K=i>=0?i:b<0?0:b+1}}else for(K=O.findIndex(i=>i.id===f)+1;K<O.length&&mt(C,O[K].id,f);)K++;let d=[...O.slice(0,K),...F,...O.slice(K)],L=d.length===B.length&&d.every((i,b)=>i.id===B[b]),m=F.filter(i=>P.has(i.id)&&i.parent!==v),y=F.map(i=>i.id);if(L&&!m.length&&!j.length)return{status:"unchanged"};let J=(()=>{let i=r?.state.selection;if(!(i instanceof Q.TextSelection))return null;let b=N=>{let M=r.state.doc.resolve(N);return M.depth?{id:M.node(1).attrs.id,offset:M.parentOffset}:null},l=b(i.anchor),h=b(i.head);return l&&h&&(I.has(l.id)||I.has(h.id))?{anchor:l,head:h}:null})(),H=()=>{if(!J||!r)return;let i=({id:h,offset:N})=>{let M=null;return r.state.doc.forEach((D,k)=>{M===null&&D.attrs.id===h&&(M=k+1+Math.min(N,D.content.size))}),M},b=i(J.anchor),l=i(J.head);b!==null&&l!==null&&r.dispatch(r.state.tr.setSelection(Q.TextSelection.create(r.state.doc,b,l)).setMeta(fe,!0).setMeta("addToHistory",!1))};if(L)return n?.stopCapturing(),e.ydoc.transact(()=>{if(_.length)for(let i of _)_e(e,z.get(i.id),i.id,i.value);else for(let i of m)_e(e,z.get(i.id),i.id,v);for(let i of j)i.field!=="parent"&&ht(e,z.get(i.id),i.id,i.field,i.value)},W),n?.stopCapturing(),t(),H(),{status:"moved",ids:y};let $=[...Me(Te(e.ydoc)).entries()].sort((i,b)=>i[0]-b[0]),S=ne(e),T=po(e,o),x=qe(p,e.flow.length),a=[],w=0;for(let i of p.visible){if(I.has(i.id)){let b=[];for(let[l,h]of x.physicalRanges(w,w+i.len))for(let N=l;N<h;N++)b.push(T[N]);a.push({seg:i,units:b})}w+=i.len}for(let i=0;i<a.length;i++){let b=a[i];if(b.seg.id!==y[i])throw new Error(`Captured ${b.seg.id} where ${y[i]} was expected`);if(!b.units.length||b.units[0].embed===void 0||b.units[0].embed.b!==b.seg.id)throw new Error(`The selected block ${b.seg.id} has no physical marker to copy`)}let R=mo(e,p,I),Y=$e(e.gone),E=new Map;for(let i of F){let b=z.get(i.id);if(!b.recovered)continue;let l=p.removals.filter(M=>M.sourceKey===b.sourceKey),h=Wt(b.sourceKey,l,Y),N=Y.restores.find(M=>M.key===h?.key)?.baseline??{type:b.t,attrs:b.fields??{}};E.set(b.sourceKey,{covers:l.map(M=>M.key),baseline:JSON.parse(JSON.stringify(N))})}if(!R.length)throw new Error("The selected blocks have no live physical markers to retire");return n?.stopCapturing(),e.ydoc.transact(()=>{for(let k of R)e.gone.set(ye(k.key,S),{blockId:k.blockId,end:k.end,sv:$});let i=Z(e,o),b=qe(i,e.flow.length),l=i.visible.map(k=>k.id),h=0;if(K>0){let k=l.indexOf(O[K-1].id);h=k<0?0:k+1}let N=0;for(let k=0;k<h;k++)N+=i.visible[k].len;let M=b.toPhysical(N,"before"),D=[];for(let k of a){let V=M,q=null,G=null,X=()=>{q!==null&&(e.flow.insert(M,q,G??void 0),M+=q.length,q=null)};for(let U of k.units)U.ch!==void 0?(q!==null&&Tn(U.attrs)!==Tn(G)&&X(),q===null&&(q="",G=U.attrs),q+=U.ch):(X(),e.flow.insertEmbed(M,U.embed,U.attrs),M+=1);X();let ee=Je(e.flow,V,M);if(ee.length!==k.units.length)throw new Error(`Copied ${k.seg.id} as ${ee.length} units instead of ${k.units.length}`);for(let U=1;U<k.units.length;U++)D.push({dest:ee[U],source:k.units[U].source});o.recordBoundary(ee[0],k.seg.recovered?{blockId:k.seg.id,kind:"copy",recoveryOf:k.seg.sourceKey}:{blockId:k.seg.id,kind:"copy"}),k.seg.recovered&&e.gone.set(Pe(k.seg.sourceKey,S),E.get(k.seg.sourceKey)),e.gone.set(Vt(le(ee[0])),!0)}if(D.length&&o.recordSpans(D),_.length)for(let k of _)_e(e,z.get(k.id),k.id,k.value);else for(let k of m)_e(e,z.get(k.id),k.id,v);for(let k of j)k.field!=="parent"&&ht(e,z.get(k.id),k.id,k.field,k.value)},W),n?.stopCapturing(),t(),H(),{status:"moved",ids:y}}var bt=e=>{let r=[];return e.forEach(n=>r.push([n.type.name,JSON.stringify(Object.fromEntries(se(n.type).map(o=>[o,n.attrs[o]]))),n.isTextblock||n.type.name==="table"?JSON.stringify(n.content.toJSON()):null])),JSON.stringify(r)};function ho(e,r){if(e.childCount!==r.childCount)return!1;for(let n=0;n<e.childCount;n++){let o=e.child(n),t=r.child(n);if(o.type!==t.type||se(o.type).some(s=>!ae(o.attrs[s],t.attrs[s]))||(o.isTextblock||o.type.name==="table")&&!o.content.eq(t.content))return!1}return!0}var go=e=>{let r=[];return e.forEach((n,o)=>{n.type.name==="opaque_block"&&r.push([o,o+n.nodeSize])}),r},bo=(e,r)=>{let n=typeof e.from=="number"?e.from:typeof e.pos=="number"?e.pos:null;if(n===null)return!1;let o=typeof e.to=="number"?e.to:n+1;return r.some(([t,s])=>n<s&&o>t)},Oe=(e,r)=>{let n=e.resolve(r);return n.depth&&n.node(1).type.name==="table"?[n.before(1),n.after(1)]:null};function yo(e,r){let n=e.content.findDiffStart(r.content);if(n===null)return null;let{a:o,b:t}=e.content.findDiffEnd(r.content),s=n-Math.min(o,t);s>0&&(o+=s,t+=s);let c=(f,u)=>{let p=f.resolve(n);return p.parent.isTextblock&&p.sameParent(f.resolve(u))};return(Oe(e,n)||Oe(e,o))&&!(c(e,o)&&c(r,t))?(n=Oe(e,n)?.[0]??n,o=Oe(e,o)?.[1]??o,t=Oe(r,t)?.[1]??t,{start:n,endA:o,endB:t,tables:!0}):{start:n,endA:o,endB:t}}function yt(e,r=null){let n=new Map;r?.forEach(u=>{u.attrs.id&&n.set(u.attrs.id,u)});let o=[];e.forEach(u=>o.push(u));let t=o.map(u=>({id:u.attrs.id,pos:n.get(u.attrs.id)?.attrs.pos??u.attrs.pos})),s=ze(t,"b"),c=!1,f=o.map((u,p)=>{let g=s[p]?.pos??t[p].pos,A=u.content;if(u.type.name==="table"){let C=[];u.forEach(P=>C.push(P));let B=C.map(P=>({id:P.attrs.id,pos:P.attrs.pos})),j=ze(B,"r"),_=C.map((P,F)=>{let I=j[F]?.pos??B[F].pos;return I===P.attrs.pos?P:P.type.create({...P.attrs,pos:I},P.content,P.marks)});_.some((P,F)=>P!==C[F])&&(A=_)}return g===u.attrs.pos&&A===u.content?u:(c=!0,u.type.create({...u.attrs,pos:g},A,u.marks))});return c?e.type.create(e.attrs,f):e}var Rn=e=>{if(e&&typeof e=="object"){for(let r of Object.keys(e))Rn(e[r]);Object.freeze(e)}return e},In=e=>Rn(JSON.parse(JSON.stringify(e))),vo=(e,r)=>{let n=Bt(r),o=0;for(let t=e.flow._start;t;t=t.right){if(t.id.client===n.client&&t.id.clock===n.clock)return t.deleted?o:o+t.length;!t.deleted&&t.countable&&(o+=t.length)}return o},ko=(e,r)=>{let n=null;for(let o=e.flow._start;o;o=o.right)o.id.client!==e.ydoc.clientID||!(o.content instanceof re)||o.content.embed?.b!==r||(!n||o.id.clock>n.clock)&&(n=o.id);return n};function Pn({pd:e,onNotice:r=()=>{},ownedTokens:n=[],authorToken:o=null,stats:t={groups:0,mismatch:0,renders:0,first:null},captureTimeout:s=500}){let c=null,f=Z(e),u=Re(e.origins),p=new Lt([e.flow,e.attrs,e.gone,e.tableFields,e.boardFields],{trackedOrigins:new Set([W]),captureTimeout:s,captureTransaction:a=>a.meta.get(he)!==!1,deleteFilter:a=>{if(a.parent!==e.flow||!(a.content instanceof re))return!0;let w=u.resolve(a.id);return w.client!==a.id.client||w.clock!==a.id.clock||u.boundaryOf(a.id)?.kind!=="copy"}}),g=Dt(e,p,u,a=>$e(a).textDeletes),A=new Set,C=new Set(o?[...n,o]:n),B=o?()=>{let a=qt(e.ydoc.clientID);e.origins.get(a)!==o&&e.origins.set(a,o)}:null,j=new Set,_=new Set,P=0,F=null,I=null,z=a=>{let w=new Set;for(let Y of a.blocks)for(let E of Y.runs){if(!E.displaced)continue;let i=Gt(E.source)?.client===e.ydoc.clientID;E.author&&(i||C.has(E.author))?w.add(E.author):i&&w.add(null)}if(!w.size)return null;let R=[...w].filter(Boolean).sort();return{kind:"recovered-change",source:a.source,revision:a.revision,blockId:a.blockId,author:R[0]??null,authors:R}},v=()=>{if(F&&F.version===P)return F.snapshot;let w=Qe(e,{index:u}).list.filter(E=>E.recoverable).map(E=>In(E)),R=In(w.map(E=>z(E)).filter(E=>E&&!j.has(`${E.source}\0${E.revision}`))),Y=Object.freeze({recoverable:Object.freeze(w),notices:Object.freeze(R)});return F={version:P,snapshot:Y},Y},O=a=>Xt({recoverable:a.recoverable.map(w=>[w.source,w.revision]),notices:a.notices}),K=()=>{P++;let a=v();for(let R of a.notices){let Y=`${R.source}\0${R.revision}`;A.has(Y)||(A.add(Y),r(R))}if(!_.size){I=null;return}let w=O(a);if(w!==I){I=w;for(let R of[..._])R(a)}},d=()=>(f=Z(e),K(),de(e,f)),L=null,m=null,y=!1,J=!1,H=(a=!1,w=null)=>{t.renders++;let R=L;L=null;let Y=yt(w??d(),c.state.doc),E=yo(c.state.doc,Y);if(!E)return;let i=c.state.tr.replace(E.start,E.endA,Y.slice(E.start,E.endB)).setMeta(fe,!0).setMeta("addToHistory",!1);if(a&&i.setMeta("yundo",!0),R){let b=D=>D>=0&&f.holes.some(k=>D>=fn(f.holes,k.at)&&D<Le(f.holes,k.at)),l=(D,k)=>{let V=null;return i.doc.forEach((q,G)=>{V===null&&q.attrs.id===D&&q.isTextblock&&(V=G+1+Math.min(k,q.content.size))}),V},h=D=>{let k=Ke(D.right,e.ydoc);if(!k)return null;let V=dn(i.doc,f.holes,f.tokens,k.index,f.visible);if(!D.block)return V;let q=i.doc.resolve(V);if(q.depth&&q.node(1).attrs.id===D.block.id)return V;let G=D.left?Ke(D.left,e.ydoc):null;return!b(k.index)&&!(G&&b(G.index-1))?V:l(D.block.id,D.block.offset)??V},N=h(R.anchor),M=h(R.head);N!==null&&M!==null&&i.setSelection(Q.TextSelection.create(i.doc,N,M))}else if(E.tables&&c.state.selection instanceof Q.TextSelection){let b=it(c.state.doc,c.state.selection.anchor),l=it(c.state.doc,c.state.selection.head),h=b&&at(i.doc,b),N=l&&at(i.doc,l);h!=null&&N!==null&&N!==void 0&&i.setSelection(Q.TextSelection.create(i.doc,h,N))}c.dispatch(i)},$=a=>{if(y&&!J&&a.origin===W&&(p.stopCapturing(),y=!1),!c||a.origin===W||a.origin===p||L)return;let w=c.state.selection;if(!(w instanceof Q.TextSelection)||[w.$anchor,w.$head].some(Y=>Y.depth&&Y.node(1).type.name==="table"))return;let R=Y=>{let E=un(c.state.doc,f.holes,Y.pos,f.visible);return{right:He(e.flow,E),left:E>0?He(e.flow,E,-1):null,block:Y.depth?{id:Y.node(1).attrs.id,offset:Y.parentOffset}:null}};L={anchor:R(w.$anchor),head:R(w.$head)}},S=a=>{if(a.origin!==W&&(m=null,y=!1),!c){K();return}if(a.origin===W){L=null;return}H(a.origin===p)},T=(a,w)=>{let R=gt({pd:e,view:c,um:p,origins:u,render:H},w);if(R.status!=="moved")return R.status==="refused"&&(t.moveRefusals=(t.moveRefusals??0)+1),R;let Y=a.selection;if(Y instanceof Q.TextSelection)return R;let E=c.state.doc,i=null,b=null;if(E.forEach((N,M)=>{w.ids.includes(N.attrs.id)&&(i===null&&(i=M),b=M+N.nodeSize)}),i===null)return R;let l=Y instanceof Q.NodeSelection?Q.NodeSelection.create(E,i):Y.anchor<=Y.head?new Ze(E.resolve(i),E.resolve(b)):new Ze(E.resolve(b),E.resolve(i)),h=c.state.tr.setSelection(l).setMeta(fe,!0).setMeta("addToHistory",!1);return c.dispatch(a.scrolledIntoView?h.scrollIntoView():h),R},x=Zt({pd:e,um:p,origins:u,render:()=>c?H():d()});return e.ydoc.on("beforeTransaction",$),e.ydoc.on("afterTransaction",S),{pd:e,stats:t,render:H,um:p,board:x,attach(a){c=a,f=Z(e)},dispose(){e.ydoc.off("beforeTransaction",$),e.ydoc.off("afterTransaction",S),g(),u.dispose(),p.destroy(),_.clear(),c=null},get walk(){return f},get recoverable(){return v().recoverable},get notices(){return v().notices},subscribeRecovery(a){if(typeof a!="function")throw new TypeError("subscribeRecovery needs a listener");_.add(a);let w=v();return I===null&&(I=O(w)),a(w),()=>{_.delete(a)}},dismiss(a,w){j.add(`${a}\0${w}`),K()},dispatch(a){let w=a.getMeta(rn);if(w)return T(a,w);let R=go(c.state.doc);if(R.length&&a.steps.some(D=>bo(D,R)))return{status:"refused",code:"unsupported-format"};let{state:Y,transactions:E}=c.state.applyTransaction(a),i=E.filter(D=>D.docChanged&&!D.getMeta(fe));if(c.updateState(Y),!i.length){E.some(D=>D.selectionSet&&!D.getMeta(fe))&&(m=null,y&&(p.stopCapturing(),y=!1));return}f=Z(e);let b=E.every(D=>D.getMeta("addToHistory")!==!1),l=B;B=null;let h=b?on(i,c):null,N=y&&nn(m,h);m=h,J=N;try{Mn(e,i,f,t,p,b,l,{join:N,open:h!==null})}finally{J=!1}y=h!==null;let M=d();ho(M,c.state.doc)||(t.mismatch++,t.first??={before:bt(i[0].before),pm:bt(c.state.doc),y:bt(M)}),H(!1,M)},restore(a,w){let R=Z(e,u),Y=Qe(e,{index:u,walked:R}).sources.get(a),E=R.visible.find(l=>l.sourceKey===a||l.brk&&le(l.brk)===a);if(E)return{status:"resolved",id:E.id};if(!Y||Y.revision!==w)return{status:"stale",notice:v().notices.find(h=>h.source===a)??null};let i=`${Qt}${a}`;p.stopCapturing();let b=null;if(e.ydoc.transact(()=>{e.gone.set(Pe(a,ne(e)),{covers:Y.removals.map(l=>l.key),baseline:{type:Y.type,attrs:JSON.parse(JSON.stringify(Y.attrs))}}),e.flow.insertEmbed(vo(e,a),{b:i}),b=ko(e,i),u.recordBoundary(b,{blockId:i,kind:"restore",recoveryOf:a})},W),p.stopCapturing(),H(),!f.visible.some(l=>l.sourceKey===a&&l.id===i))throw new Error(`Restore did not project ${i}`);return{status:"restored",id:i}},moveBlocks(a){return gt({pd:e,view:c,um:p,origins:u,render:H},a)},undo(){return p.undo()!==null},redo(){return p.redo()!==null}}}function wo({store:e,ydoc:r=new $t,onNotice:n=()=>{},ownedTokens:o=[],authorToken:t=null,setTimer:s=setTimeout,clearTimer:c=clearTimeout,compact:f,captureTimeout:u=500,checkpointWithin:p=()=>{},requestCheckpoint:g=null,registerUnsavedState:A=null,onStopped:C=()=>{},journal:B=null}){for(let[,$]of Et(e.value.y))jt(r,zt($),Nt);let j=Ft(r),_=B||null,P=Ht({store:e,ydoc:r,setTimer:s,clearTimer:c,compact:f,onStopped:C,journal:{local:$=>_?.local($),dependency:$=>_?.dependency($)}}),F={groups:0,mismatch:0,renders:0,first:null},I=Pn({pd:j,onNotice:n,ownedTokens:o,authorToken:t,stats:F,captureTimeout:u}),z=new Set,v=!1,O=!1,K=A?.({id:"page:live",isPending:()=>e.pending.length>0||P.reconcilePending||!!(_&&!_.failure&&_.pending()),flush:J}),d=()=>{K?.changed(),!O&&(O=!0,Promise.resolve().then(()=>{if(O=!1,!v)for(let $ of[...z])$.check()}))},L=e.onLocal(()=>{p(1500),d()}),m=e.onRebase(d),y=e.onConfirm(()=>{_?.acknowledged(),d()});_&&(_.onChange=d);function J({timeoutMs:$=1e4}={}){return v?Promise.resolve({ok:!1,code:"disposed"}):new Promise(S=>{let T=Date.now()+$,x=!1,a=!1,w=!1,R=null,Y={check:i,finish:E};function E(b){x||(x=!0,z.delete(Y),c(R),S(b))}function i(){if(!(x||a||w)){a=!0;try{if(P.settle(),e.pending.length&&(p(0),e.pending.length))return;if(w=!0,!g){E({ok:!0});return}Promise.resolve().then(()=>{if(!x)return g({timeoutMs:Math.max(0,T-Date.now())})}).then(E,b=>E({ok:!1,code:"checkpoint-failed",message:b?.message||String(b)}))}catch(b){E({ok:!1,code:"flush-failed",message:b?.message||String(b)})}finally{a=!1}}}z.add(Y),R=s(()=>E({ok:!1,code:"timeout"}),$),i()})}return{ydoc:r,pd:j,provider:P,bridge:I,stats:F,flush:J,awareness:{generation:()=>Number.isSafeInteger(e.value?.g)&&e.value.g>=0?e.value.g:0,map:()=>({pd:j,w:I.walk})},get journal(){return _},doc:()=>yt(de(j,Z(j))),attach:$=>I.attach($),dispatch:$=>I.dispatch($),moveBlocks:$=>I.moveBlocks($),board:I.board,undo:()=>I.undo(),redo:()=>I.redo(),restore:($,S)=>I.restore($,S),get recoverable(){return I.recoverable},get notices(){return I.notices},subscribeRecovery:$=>I.subscribeRecovery($),dismiss:($,S)=>I.dismiss($,S),dispose(){if(!v){v=!0,L(),m(),y(),K?.dispose(),_?.close(),Promise.resolve(_?.channel?.flush?.()).catch(()=>{});for(let $ of[...z])$.finish({ok:!1,code:"disposed"});I.dispose(),P.dispose()}}}}var vt="Some text you typed was kept aside when its block moved or was removed.",$n="page-recover-style",xo=`
|
|
4
|
-
.page-recover { position: fixed; right: 16px; bottom: 16px; z-index: 20; min-height: 36px; padding: 0 14px; font: inherit; font-size: 14px; color: var(--page-ink); background: var(--page-pop-bg); border: 1px solid var(--page-chrome-line-rest); border-radius: 999px; cursor: pointer; }
|
|
5
|
-
.page-recover[hidden], .page-recover-panel[hidden] { display: none; }
|
|
6
|
-
.page-recover-panel { position: fixed; right: 16px; bottom: 64px; z-index: 21; width: min(380px, calc(100vw - 32px)); max-height: 60vh; overflow-y: auto; color: var(--page-ink); background: var(--page-pop-bg); border: 1px solid var(--page-chrome-line-rest); border-radius: var(--page-chrome-radius); padding: 8px; box-sizing: border-box; }
|
|
7
|
-
.page-recover-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 6px 8px; font-weight: 600; }
|
|
8
|
-
.page-recover-note { margin: 0 6px 8px; font-size: 13px; opacity: .72; }
|
|
9
|
-
.page-recover-row { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; min-height: 44px; padding: 8px 6px; border-top: 1px solid var(--page-chrome-line-rest); }
|
|
10
|
-
.page-recover-row.is-target { outline: 2px solid var(--page-accent, currentColor); outline-offset: -2px; }
|
|
11
|
-
.page-recover-meta { grid-column: 1; font-size: 12px; opacity: .72; }
|
|
12
|
-
.page-recover-text { grid-column: 1; overflow-wrap: anywhere; }
|
|
13
|
-
.page-recover-text mark { background: var(--page-mark-bg, rgba(255, 214, 102, .45)); color: inherit; border-radius: 2px; }
|
|
14
|
-
.page-recover-row button, .page-recover-head button { grid-column: 2; grid-row: 1 / span 2; min-height: 36px; padding: 0 12px; font: inherit; font-size: 14px; color: inherit; background: transparent; border: 1px solid var(--page-chrome-line-rest); border-radius: var(--page-chrome-radius); cursor: pointer; }
|
|
15
|
-
@media (max-width: 560px) {
|
|
16
|
-
.page-recover { top: 12px; bottom: auto; min-height: 44px; }
|
|
17
|
-
.page-recover-panel { left: 0; right: 0; bottom: 0; width: 100%; max-height: 70vh; border-radius: var(--page-chrome-radius) var(--page-chrome-radius) 0 0; }
|
|
18
|
-
.page-recover-row button, .page-recover-head button { min-height: 44px; }
|
|
19
|
-
}
|
|
20
|
-
`,So={heading:"Heading",list_item:"List item",toggle:"Toggle",quote:"Quote",code_block:"Code",callout:"Callout",table:"Table",image:"Image"},kt=280,ie=(e,r,n,o={})=>{let t=e.createElement(r);n&&(t.className=n);for(let[s,c]of Object.entries(o))t.setAttribute(s,c);return t};function Oo(e){if(e.getElementById($n))return;let r=e.createElement("style");r.id=$n,r.textContent=xo,e.head.append(r)}function Eo(e,r){let n=ie(e,"div","page-recover-text"),o=0;for(let t of r.blocks){for(let s of t.runs){if(s.kind!=="text"||o>=kt)continue;let c=s.text.slice(0,kt-o);o+=c.length,n.append(s.displaced?Object.assign(e.createElement("mark"),{textContent:c}):e.createTextNode(c))}o<kt&&t!==r.blocks[r.blocks.length-1]&&n.append(e.createTextNode(" / "))}return n.textContent||(n.textContent="(no text)"),n}function Mo(e){let r=new Set;for(let n of e.blocks)for(let o of n.runs)o.displaced&&r.add(o.author??null);return[...r]}function To(e,r){let n=null;return e.state.doc.forEach((o,t)=>{n===null&&o.attrs.id===r&&(n=o.isTextblock?t+1:t)}),n===null?!1:(e.dispatch(e.state.tr.setSelection(Q.Selection.near(e.state.doc.resolve(n))).scrollIntoView()),e.focus(),!0)}function Co({binding:e,mount:r,ownTokens:n=[],onRestored:o=()=>{},onStale:t=()=>{}}){let s=r.ownerDocument;Oo(s);let c=new Set(n.filter(Boolean)),f=ie(s,"button","page-recover",{type:"button","aria-haspopup":"dialog","aria-expanded":"false"}),u=ie(s,"div","page-recover-panel",{role:"dialog","aria-label":"Recover changes"});f.hidden=!0,u.hidden=!0,r.append(f,u);let p={recoverable:[],notices:[]},g=null,A="",C=v=>v.some(O=>c.has(O))?v.length>1?"You and others":"You":v.some(O=>O!==null)?"Another editor":"An earlier edit",B=()=>{u.hidden=!0,g=null,f.setAttribute("aria-expanded","false")},j=v=>{let O;try{O=e.restore(v.source,v.revision)}catch(K){return console.error("[clay] Restore failed:",K),en("This change could not be restored.","error"),{status:"failed"}}return O.status==="restored"||O.status==="resolved"?o(O.id):O.status==="stale"&&t(O),O},_=()=>{u.replaceChildren();let v=ie(s,"div","page-recover-head");v.append(s.createTextNode("Recover changes"));let O=ie(s,"button","",{type:"button"});O.textContent="Close",O.addEventListener("click",()=>{B(),f.focus()}),v.append(O);let K=ie(s,"p","page-recover-note");K.textContent="Text typed while its block was moved or removed. Restore puts it back as a new block.",u.append(v,K);for(let d of p.recoverable){let L=ie(s,"div","page-recover-row",{"data-source":d.source});d.source===g&&L.classList.add("is-target");let m=ie(s,"div","page-recover-meta");m.textContent=`${So[d.type]??"Paragraph"} \xB7 ${C(Mo(d))}`;let y=ie(s,"button","",{type:"button"});y.textContent="Restore",y.addEventListener("click",()=>j(d)),L.append(m,Eo(s,d),y),u.append(L)}},P=(v=null)=>{if(!p.recoverable.length)return;g=v,u.hidden=!1,f.setAttribute("aria-expanded","true"),_();let O=[...u.querySelectorAll(".page-recover-row")];(O.find(d=>d.dataset.source===v)??O[0])?.querySelector("button")?.focus()},F=v=>{let O=v.map(K=>`${K.source}\0${K.revision}`).join(`
|
|
21
|
-
`);if(O!==A){if(A=O,!v.length){We(vt);return}tn(vt,"warning",{actions:[{label:"Review",onClick:()=>P(v[0].source)},{label:"Dismiss",onClick:()=>{for(let K of v)e.dismiss(K.source,K.revision)}}]})}},I=v=>{p=v;let O=v.recoverable.length;f.hidden=O===0,f.textContent=`Recover changes (${O})`,O?u.hidden||_():B(),F(v.notices)};f.addEventListener("click",()=>u.hidden?P():B()),u.addEventListener("keydown",v=>{v.key==="Escape"&&(v.stopPropagation(),B(),f.focus())});let z=e.subscribeRecovery(I);return{open:P,close:B,restore:j,get count(){return p.recoverable.length},destroy(){z(),We(vt),f.remove(),u.remove()}}}import("./page/editor-NNJA4OKD.js").catch(()=>null);export{mn as ADOPTION_TIMEOUT_MS,_n as blocksFromYValue,me as canon,et as classifyFile,Hn as createFeatureLoader,Co as createRecoverList,wo as createYPageBinding,To as focusBlock,Bn as heldSlashRange,Nn as holdSlashRange,Xn as installAdoption,ft as mergePageModels,zn as observeDocumentTitle,je as readBack,Fn as renderFromTags,Dn as seedPageFromArticle,Yn as yValueOf};
|
package/dist/m/c-U62OB4BT.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={table:{types:["table"],views:["table","table_cell"],module:"page/features/table.js",load:()=>import("./c-JDCX26UP.js")},board:{types:["board"],module:"page/features/board.js",load:()=>import("./c-KQ6TYJAP.js")},chart:{types:["chart"],views:["chart"],module:"page/features/chart.js",load:()=>import("./c-A3E3NIMC.js")},code:{types:["code_block"],module:"page/features/code.js",load:()=>import("./c-R3L7ZJGB.js")},media:{types:["image","file"],module:"page/features/media.js",load:()=>import("./c-EZU56NQV.js")},tool:{types:["tool"],module:"page/features/tool.js",boot:["page/tools.js","page/tool-data.js"],load:()=>import("./c-PS5ARVWR.js")}},a=o=>Object.keys(e).find(t=>e[t].types.includes(o))??null,s={mentions:{module:"page/features/mentions.js",load:()=>import("./c-I2ZATQCD.js")},dates:{module:"page/features/dates.js",load:()=>import("./c-KGVGROZT.js")},emoji:{module:"page/features/emoji.js",load:()=>import("./c-BQ6LOBEE.js")}};export{e as a,a as b,s as c};
|
package/dist/m/c-U6YWUAR3.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{e as V,f as q,h as H,i as W,j as v,k as X}from"./c-FRLHSY7E.js";import{a as S,f as C}from"./c-GFJJEBTU.js";import"./c-BWFVSBDF.js";import{a as R,b as O,k as N,l as z,m as K,n as j,t as w}from"./c-6CRUUXOX.js";import{n as T}from"./c-5J4E7O4Y.js";import{b as y,d as F}from"./c-WWXIDH4O.js";import{b as G}from"./c-GY422N3Q.js";import"./c-7SWMYKAI.js";import"./c-UGHH4MB3.js";import"./c-ZWIOJGMT.js";import{d as I}from"./c-VRZN56XY.js";import"./c-IJUK2GPW.js";import"./c-OW5QIGG3.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var re=128,L=r=>r.depth?r.node(1).attrs.id:null,J=r=>!!r.depth&&r.node(1).type.name==="table",se=(r,t,n,e,o)=>R(z(N(r.flow,H(t,n.holes,e,n.visible),o)));function U({pd:r,w:t,doc:n},e){if(!r||!t||!n||!e)return null;if(e instanceof y.TextSelection){let o=e.$anchor,s=e.$head;if(J(o)||J(s)){let i=v(n,o.pos),u=v(n,s.pos);return!i||!u||i.table!==u.table||i.row!==u.row||i.col!==u.col?null:{kind:"cell",block:i.table,row:i.row,col:i.col}}let a=Math.min(e.from,e.to),l=i=>{let u=L(i);return u===null?null:{block:u,rel:se(r,n,t,i.pos,e.empty||i.pos===a?0:-1)}},c=l(o),d=l(s);return c&&d?{kind:"text",anchor:c,head:d}:null}if(e instanceof T||e instanceof y.NodeSelection){let o=[];if(e instanceof T){let{lo:s,hi:a}=e.span();n.forEach((l,c,d)=>{d>=s&&d<=a&&o.push(l.attrs.id)})}else{let s=n.nodeAt(e.from);s&&o.push(s.attrs.id)}if(!o.length)return null;if(o.length>re){let s=L(e.$from);return s?{kind:"blocks",ids:[s]}:null}return{kind:"blocks",ids:o}}return null}var le=(r,t)=>{if(!t||typeof t!="object"||typeof t.block!="string"||!t.block||typeof t.rel!="string"||!t.rel)return null;let n;try{n=K(O(t.rel))}catch{return null}let e;try{e=j(n,r.ydoc)}catch{return null}return!e||e.type!==r.flow?null:e.index},ae=(r,t)=>{let n=0;for(let e=r.flow._start;e;e=e.right){let o=n+e.length;if(t<o)return!e.deleted;n=o}return!1},ie=(r,t)=>{for(let n=r.flow._start;n;n=n.right)if(!n.deleted&&n.content instanceof w&&n.content.embed?.b===t)return!0;return!1},ce=(r,t)=>{let n=0,e=null,o=0;for(let s=r.flow._start;s;s=s.right)if(s.content instanceof w&&s.content.embed?.b!==void 0&&(e=s.content.embed.b,o=n+s.length),n+=s.length,n>t&&e!==null)return{id:e,offset:t-o};return e===null?null:{id:e,offset:t-o}},ue=(r,t,n)=>{let e=null;return r.forEach((o,s)=>{e===null&&o.attrs.id===t&&o.isTextblock&&(e=s+1+Math.min(Math.max(n,0),o.content.size))}),e},Q=({pd:r,w:t,doc:n},e)=>{let o=le(r,e);if(o===null)return null;let s=W(n,t.holes,t.tokens,o,t.visible);if(L(n.resolve(s))===e.block)return s;let a=ce(r,o);if(a&&a.id===e.block){let l=ue(n,e.block,a.offset);if(l!==null)return l}return ie(r,e.block)||!ae(r,o)||t.holes.some(l=>o>=q(t.holes,l.at)&&o<V(t.holes,l.at))?null:n.resolve(s).parent.inlineContent?s:null};function Z({pd:r,w:t,doc:n},e){if(!r||!t||!n||!e||typeof e!="object")return null;if(e.kind==="text"){let o=Q({pd:r,w:t,doc:n},e.anchor),s=Q({pd:r,w:t,doc:n},e.head);return o===null||s===null?null:{kind:"text",from:Math.min(o,s),to:Math.max(o,s)}}if(e.kind==="cell"){let o=X(n,{table:e.block,row:e.row,col:e.col,offset:0});return o?{kind:"cell",from:o.from,to:o.to,block:o.block,row:o.row,col:o.col}:null}if(e.kind==="blocks"){let o=[],s=[];for(let a of Array.isArray(e.ids)?e.ids:[])n.forEach((l,c)=>{l.attrs.id!==a||o.includes(a)||(o.push(a),s.push({from:c,to:c+l.nodeSize}))});return s.length?{kind:"blocks",ids:o,ranges:s}:null}return null}var{Plugin:fe,PluginKey:pe}=y,{Decoration:b,DecorationSet:E}=F,k=new pe("page-awareness"),ee="page-awareness-style",de=`
|
|
2
|
-
.page-remote-selection { background-color: color-mix(in srgb, var(--page-remote-color, currentColor) 22%, transparent); }
|
|
3
|
-
.page-remote-caret { position: relative; display: inline-block; width: 0; height: 1.1em; vertical-align: text-bottom; }
|
|
4
|
-
.page-remote-caret::before { content: ""; position: absolute; inset-inline-start: -1px; top: 0; bottom: 0; width: 2px; background: var(--page-remote-color, currentColor); }
|
|
5
|
-
.page-remote-name { position: absolute; inset-inline-start: -1px; bottom: 100%; padding: 1px 4px; border-radius: 4px; background: var(--page-remote-color, currentColor); color: #fff; font-size: 10px; line-height: 1.4; white-space: nowrap; pointer-events: none; }
|
|
6
|
-
.page-remote-cell { outline: 2px solid var(--page-remote-color, currentColor); outline-offset: -2px; }
|
|
7
|
-
.page-remote-block { box-shadow: inset 2px 0 0 var(--page-remote-color, currentColor); }
|
|
8
|
-
`,te=["#2F5E9E","#8A3B6E","#3E6A28","#8A5A1E","#5E4596","#1F5A8A"],me=r=>{let t=typeof r=="string"?r:"",n=0;for(let e=0;e<t.length;e++)n=n*31+t.charCodeAt(e)>>>0;return te[n%te.length]},P=(r,t,n)=>{let e=r.createElement("span");e.className="page-remote-caret",e.setAttribute("aria-hidden","true"),e.style.setProperty("--page-remote-color",n);let o=r.createElement("span");return o.className="page-remote-name",o.textContent=t,e.appendChild(o),e},ge=r=>typeof r.name=="string"&&r.name.trim()?r.name.trim():"Someone";function ne({binding:r,doc:t,snapshot:n,epoch:e}){let o=r.awareness.generation(),s={...r.awareness.map(),doc:t},a=[];for(let l of n.people??[]){if(l.you)continue;let c=me(l.id),d=ge(l);for(let i of l.sessions??[]){if(i.you)continue;let u=i.editing;if(!u||u.kind!=="page"||u.v!==S||u.epoch!==e||u.generation!==o)continue;let f=Z(s,u.selection);if(f){if(f.kind==="text")f.to>f.from&&a.push(b.inline(f.from,f.to,{class:"page-remote-selection",style:`--page-remote-color:${c}`})),a.push(b.widget(f.to,m=>P(m.dom.ownerDocument,d,c),{side:1,key:`caret:${l.id}:${i.id}`}));else if(f.kind==="cell")a.push(b.node(f.from,f.to,{class:"page-remote-cell",style:`--page-remote-color:${c}`})),a.push(b.widget(f.from+1,m=>P(m.dom.ownerDocument,d,c),{side:-1,key:`cell:${l.id}:${i.id}`}));else if(f.kind==="blocks"){let[m]=f.ranges;for(let h of f.ranges)a.push(b.node(h.from,h.to,{class:"page-remote-block",style:`--page-remote-color:${c}`}));a.push(b.widget(m.from+1,h=>P(h.dom.ownerDocument,d,c),{side:-1,key:`blocks:${l.id}:${i.id}`}))}}}}return a.length?E.create(t,a):E.empty}function he({binding:r,view:t,store:n=C,epoch:e,composing:o=null,frame:s=l=>requestAnimationFrame(l),cancel:a=l=>cancelAnimationFrame(l)}){if(!r?.awareness||!t||typeof e!="string"||!e)return null;G(ee,de,ee,["editor-ui"]);let l=t.dom.ownerDocument,c=!1,d=!0,i=null,u=()=>o?o()===!0:t.composing===!0,f=()=>n.getSnapshot().pageAwareness!==!1,m=(p=t.state)=>{if(c)return;if(!f()||!d||u()){n.setTarget(null);return}let g=U({...r.awareness.map(),doc:p.doc},p.selection);if(!g){n.setTarget(null);return}n.setTarget({kind:"page",v:S,epoch:e,generation:r.awareness.generation(),selection:g})},h=p=>u()?k.getState(t.state):ne({binding:r,doc:p.doc,snapshot:n.getSnapshot(),epoch:e}),A=new fe({key:k,state:{init:(p,g)=>ne({binding:r,doc:g.doc,snapshot:n.getSnapshot(),epoch:e}),apply:(p,g,be,B)=>((p.docChanged||p.selectionSet)&&m(B),p.docChanged||p.getMeta(k)?h(B):g)},props:{decorations(p){return k.getState(p)??E.empty}}}),D=()=>{c||t.isDestroyed||t.dispatch(t.state.tr.setMeta(k,!0))},x=()=>{c||i!==null||t.isDestroyed||(i=s(()=>{i=null,D()}))},oe=n.subscribe(p=>{p.pageAwareness===!1&&n.setTarget(null),x()}),_=()=>{d=!0,m(),x()},M=()=>{d=!1,n.setTarget(null)},Y=()=>{n.setTarget(null)},$=()=>{m(),x()};return t.dom.addEventListener("focus",_),t.dom.addEventListener("blur",M),t.dom.addEventListener("compositionend",$),l.addEventListener("pagehide",Y),t.updateState(t.state.reconfigure({plugins:[...t.state.plugins,A]})),m(),x(),{epoch:e,refresh:D,plugin:A,get decorations(){return k.getState(t.state)??E.empty},get target(){return n.target??null},dispose(){if(!c&&(c=!0,i!==null&&(a(i),i=null),oe(),t.dom.removeEventListener("focus",_),t.dom.removeEventListener("blur",M),t.dom.removeEventListener("compositionend",$),l.removeEventListener("pagehide",Y),n.setTarget(null),n.releaseTarget(),!t.isDestroyed)){let p=t.state.plugins.filter(g=>g!==A);t.updateState(t.state.reconfigure({plugins:p}))}}}}async function _e({binding:r,view:t,store:n=C,meta:e=null}={}){if(!r?.awareness||!t)return null;let o=e??await I(),s=Array.isArray(o?.extensions)?o.extensions:[];if(n.setCapabilities({supported:s.includes("presence"),recordAwareness:s.includes("record-awareness-v1"),pageAwareness:s.includes("page-awareness-v1")}),!s.includes("page-awareness-v1"))return null;let a=o.document?.awareness?.scope;return typeof a!="string"||!a?null:he({binding:r,view:t,store:n,epoch:a})}export{k as awarenessKey,me as colorOf,he as createPageAwareness,ne as decorationsFor,_e as installPageAwareness};
|
package/dist/m/c-UDCSU5G5.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as X}from"./c-KU3ZFADW.js";import{a as J}from"./c-4WKFKEKF.js";import{m as z,n as _}from"./c-LWLBHLVC.js";import"./c-SDAXDM2D.js";import"./c-TQEMVJCS.js";import{a as F}from"./c-DCXOXBF3.js";import"./c-VRZN56XY.js";import"./c-IJUK2GPW.js";import"./c-OW5QIGG3.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-SPIORRYS.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var $e=Object.defineProperty,je=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0})},Ce=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Le=new Set(Ce),Me=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Ue=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),Y=new Set(["checked","selected","disabled","readOnly","paused"]);function Ie(e,t){return t==null?Y.has(e)?!1:"":Y.has(e)?t==="false"?!1:!!t:t}var De={};je(De,{EmptyListInsert:()=>k,MAX_RULE_DEPTH:()=>j,MaxRuleDepthExceeded:()=>W,NoRulesTag:()=>We,RuleTargetReadOnly:()=>fe,RulesParseError:()=>se,ShapeMismatch:()=>ce,UnknownRulesVersion:()=>ue,WriteNotRoundTripped:()=>He,WriteRefused:()=>Pe,WriteRejected:()=>Ve});var se=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},ue=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},j=20,W=class extends Error{constructor(e){super(`rule depth exceeded ${j} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},ce=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},k=class extends Error{constructor(e,t){super(t?`cannot add items to empty list at "${e.join(".")}" \u2014 ${t}`:`cannot add items to empty list at "${e.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=e}},fe=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},Pe=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function Be(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var He=class extends Error{constructor(e){super(`write did not round-trip at "${Be(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},We=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},Ve=class extends Error{constructor(e,t){super(`write rejected: ${e.length} unknown key(s), ${t.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=e,this.unmatched=t}};function de(e){let t=0,r=null,l=-1;for(let n=0;n<e.length;n++){let o=e[n];o==="\\"?n++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(l=n)}return l}function pe(e){let t=0,r=null,l=-1,n=!1;for(let o=0;o<e.length;o++){let i=e[o];i==="\\"?o++:r?i===r&&(r=null):i==='"'||i==="'"?r=i:i==="["||i==="("?t++:i==="]"||i===")"?t>0&&t--:t===0&&i===">"?l=o:t===0&&i===","&&(n=!0)}return n||l===-1||!qe(e,l+1)?null:e.slice(0,l).trim()||null}function qe(e,t){let r=t,l=e.replace(/\s+$/,"").length;for(;r<l&&/\s/.test(e[r]);)r++;let n=0,o=null;for(;r<l;r++){let i=e[r];if(i==="\\")r++;else if(o)i===o&&(o=null);else if(i==='"'||i==="'")o=i;else if(i==="["||i==="(")n++;else if(i==="]"||i===")")n>0&&n--;else if(n===0&&(i==="+"||i==="~"||/\s/.test(i)))return!1}return!0}var Fe=/^--[A-Za-z0-9_-]+$/;function he(e){return typeof e=="string"&&Fe.test(e)}function me(e){let t=[],r=[],l=null,n=0;for(let o=0;o<e.length;o++){let i=e[o];if(l){i==="\\"?o++:i===l&&(l=null);continue}if(i==="/"&&e[o+1]==="*"){let a=e.indexOf("*/",o+2);o=a===-1?e.length:a+1;continue}i==='"'||i==="'"?l=i:i==="("?r.push(")"):i==="["?r.push("]"):i==="{"?r.push("}"):(i===")"||i==="]"||i==="}")&&r[r.length-1]===i?r.pop():i===";"&&r.length===0&&(t.push(e.slice(n,o)),n=o+1)}return t.push(e.slice(n)),t}function ze(e){let t="",r=null;for(let l=0;l<e.length;l++){let n=e[l];if(r){t+=n,n==="\\"&&l+1<e.length?t+=e[++l]:n===r&&(r=null);continue}if(n==="/"&&e[l+1]==="*"){let o=e.indexOf("*/",l+2);l=o===-1?e.length:o+1,t+=" ";continue}(n==='"'||n==="'")&&(r=n),t+=n}return t}function ye(e){e=ze(e);let t=e.indexOf(":");if(t===-1)return null;let r=e.slice(0,t).trim(),l=e.slice(t+1).trim(),n=/!\s*important\s*$/i.exec(l);return n&&(l=l.slice(0,n.index).trim()),{name:r,value:l,important:!!n}}function ge(e,t){if(e==null)return null;let r=null;for(let l of me(String(e))){let n=ye(l);!n||n.name!==t||(!r||n.important||!r.important)&&(r=n)}return r?r.value:null}function _e(e,t,r){let l=e==null?"":String(e),n=r==null||r==="",o=me(l),i=o.map(ye),a=i.some(c=>c&&c.name===t&&c.important),s=[],u=!1;o.forEach((c,f)=>{let h=i[f];if(!h||h.name!==t){s.push(c);return}if(n||u)return;let m=/^\s*/.exec(c)[0];s.push(`${m}${t}: ${r}${a?" !important":""}`),u=!0});let d=s.join(";");if(!n&&!u){let c=d.trimEnd();d=c===""?`${t}: ${r}`:`${c}${c.endsWith(";")?" ":"; "}${t}: ${r}`}return d.trim()===""?null:d}function Je(e,t,r,l){let n=e.attr(t,"style");if((ge(n,r)??"")===l)return;let o=_e(n,r,l);o==null?e.removeAttr(t,"style"):e.attr(t,"style",o)}function we(e,t,r,l={}){if(Object.prototype.hasOwnProperty.call(l,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return U(e,t,r,{depth:0,path:[]},l)}function U(e,t,r,l,n){if(l.depth>j)throw new W(l.path);if(typeof r=="string")return Xe(e,t,r,l,n);if(Array.isArray(r)){let[o,i]=r,a=e.find(t,o,n);return ve(n,l,a),a.map((s,u)=>U(e,s,i,{depth:l.depth+1,path:[...l.path,u]},n))}if(typeof r=="object"&&r!==null){let o={};for(let[i,a]of Object.entries(r))o[i]=U(e,t,a,{depth:l.depth+1,path:[...l.path,i]},n);return o}return null}function Xe(e,t,r,l,n){if(r.endsWith("[]")){let a=r.slice(0,-2),s=e.find(t,a,n);return ve(n,l,s),s.map(u=>e.text(u))}if(r.startsWith("@"))return G(e,t,r.slice(1));let o=de(r);if(o!==-1){let a=r.slice(0,o),s=r.slice(o+1),u=a?e.find(t,a,n):[t];return u.length===0?null:G(e,u[0],s)}if(r===".")return e.text(t);let i=e.find(t,r,n);return i.length===0?null:e.text(i[0])}function ve(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(l){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,l)}}function G(e,t,r){if(he(r))return ge(e.attr(t,"style"),r);if(Le.has(r)){let n=e.prop(t,r);return n==null?null:String(n)}return e.attr(t,r)??null}function Ye(e,t,r,l){let n=e.length,o=t.length,i=new Array(n).fill(-1);if(l){let p=new Set;for(let g=0;g<n;g++){let y=l[g];!(y>=0&&y<o)||p.has(y)||(i[g]=y,p.add(y))}}if(n===0||o===0)return i;let a=e.map(p=>K(p,r)),s=t.map(p=>K(p,r)),u=new Array(o).fill(!1);for(let p of i)p>=0&&(u[p]=!0);let d=new Map;s.forEach((p,g)=>{u[g]||d.set(p,d.has(p)?-1:g)});let c=new Map;a.forEach((p,g)=>{i[g]>=0||c.set(p,(c.get(p)||0)+1)}),a.forEach((p,g)=>{if(i[g]>=0||c.get(p)!==1)return;let y=d.get(p);y===void 0||y===-1||u[y]||(i[g]=y,u[y]=!0)});let f=[];for(let p=0;p<n;p++)i[p]<0&&f.push(p);let h=[];for(let p=0;p<o;p++)u[p]||h.push(p);if(f.length===0||h.length===0)return i;let m=n*o+1,v=Ge(e,t,r),b=(p,g)=>v(p,g)*m+Math.abs(p-g);for(let[p,g]of Ke(f,h,b))i[p]=g;return i}var be=e=>typeof e=="object"&&e!==null;function K(e,t){if(!be(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(l=>{let n=JSON.stringify(e?.[l]);return n===void 0?" undef":n}))}function Ge(e,t,r){if(!be(r))return(a,s)=>e[a]===t[s]?0:1;let l=Object.keys(r),n=a=>l.map(s=>JSON.stringify(a?.[s])),o=e.map(n),i=t.map(n);return(a,s)=>{let u=o[a],d=i[s],c=0;for(let f=0;f<l.length;f++)u[f]!==d[f]&&c++;return c}}function Ke(e,t,r){return e.length<=t.length?Z(e,t,r,!1):Z(t,e,(l,n)=>r(n,l),!0)}function Z(e,t,r,l){let n=e.length,o=t.length,i=[];for(let c=0;c<=n;c++)i.push(new Float64Array(o+1).fill(1/0));let a=[];for(let c=0;c<=n;c++)a.push(new Uint8Array(o+1));for(let c=0;c<=o;c++)i[n][c]=0;for(let c=n-1;c>=0;c--)for(let f=o-1;f>=0;f--){let h=r(e[c],t[f])+i[c+1][f+1],m=i[c][f+1];h<=m?(i[c][f]=h,a[c][f]=1):i[c][f]=m}let s=[],u=0,d=0;for(;u<n&&d<o;)a[u][d]&&(s.push(l?[t[d],e[u]]:[e[u],t[d]]),u++),d++;return s}function xe(e,t,r,l,n,o,i,a={}){let s=e.find(t,r,a);if(n.length===0){s.forEach(w=>e.remove(w)),I(a,"onRowsApplied",o.path,[]);return}let u=n.length>s.length,d=s[0]||null;if(u&&!d&&(d=tt(e,t,r,a),!d))throw new k(o.path);let c=s.map(w=>et(e,w,l,a)),f=null;if(u&&d){f=e.clone(d),a.templateAttr&&e.removeAttr(f,a.templateAttr);let w=e.stripIds(f);w>0&&console.warn(`[hyper-html-api] stripped ${w} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let h=Ye(n,c,l,Ze(e,s,n,o,a)),m=s.length>0?e.parent(s[0]):ot(e,t,r,d,o,a),v=s.length>0?Te(e,m,s[0]):0,b=st(e,s),p=new Set,g=[],y=n.map((w,O)=>{let M=h[O];if(M>=0)return p.add(M),g.push(!1),s[M];g.push(!0);let q=e.clone(f);return e.stripIds(q),q});s.forEach((w,O)=>{p.has(O)||e.remove(w)}),b?at(e,m,v,y,g):ut(e,y,g,m,v),Qe(e,y,l,n,o,i,a),I(a,"onRowsApplied",o.path,y)}function I(e,t,r,l){if(typeof e[t]=="function")try{return e[t](r.slice(),l)}catch(n){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,n);return}}function Ze(e,t,r,l,n){let o=I(n,"identifyRows",l.path,r);if(!Array.isArray(o))return null;let i=new Array(r.length).fill(-1),a=new Set,s=new Map(t.map((u,d)=>[e.identity(u),d]));for(let u=0;u<r.length;u++){if(!o[u])continue;let d=s.get(e.identity(o[u]));d===void 0||a.has(d)||(i[u]=d,a.add(d))}return i}function Qe(e,t,r,l,n,o,i){t.forEach((a,s)=>{if(r===null){let u=l[s],d=u==null?"":String(u);e.text(a)!==d&&e.text(a,d)}else{let u=o(e,a,r,l[s],{depth:n.depth+1,path:[...n.path,s]},i);u&&u!==a&&(t[s]=u)}})}function et(e,t,r,l){return r===null?e.text(t):we(e,t,r,l.onRowsRead?{...l,onRowsRead:void 0}:l)}function Te(e,t,r){let l=e.children(t);for(let n=0;n<l.length;n++)if(e.sameNode(l[n],r))return n;return-1}function tt(e,t,r,l){if(!l.templateAttr)return null;let n=/^\s*:scope\s*>\s*/.test(r),o=new RegExp(":not\\(\\["+l.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),i=r.replace(/^\s*:scope\s*>\s*/,"").replace(o,""),a=n?rt(i):0,s=pe(i),u=t;for(;u;){let d=e.find(u,i,{includeRulesTag:!1,templateAttr:null});for(let c of d)if(e.attr(c,l.templateAttr)!=null&&!(n&&!lt(e,t,c,a))&&!(s&&!e.matches(e.parent(c),s)))return c;u=e.parent(u)}return null}function rt(e){let t=0,r=null,l=1;for(let n=0;n<e.length;n++){let o=e[n];if(o==="\\")n++;else if(r)o===r&&(r=null);else if(o==='"'||o==="'")r=o;else if(o==="["||o==="(")t++;else if(o==="]"||o===")")t>0&&t--;else if(t===0&&o===">")l++;else{if(t===0&&(o==="+"||o==="~"))return null;if(t===0&&/\s/.test(o)){if(!nt(e,n))return null;for(;n+1<e.length&&/\s/.test(e[n+1]);)n++}}}return l}function nt(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let l=t>0?e[t-1]:"",n=r<e.length?e[r]:"";return Q(l)||Q(n)}function Q(e){return e===">"||e==="+"||e==="~"}function lt(e,t,r,l){if(l===null)return!0;let n=r;for(let s=0;s<l;s++)if(n=e.parent(n),!n)return!1;let o=e.prop(t,"tagName");if(!o)return!0;let i=e.prop(n,"tagName");if(!i||String(i).toLowerCase()!==String(o).toLowerCase())return!1;let a=new Set(ee(e,n));return ee(e,t).every(s=>a.has(s))}function ee(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function ot(e,t,r,l,n,o){let i=e.parent(l);if(i&&it(e,t,i)&&!re(e,i,o))return i;let a=pe(r);if(!a)throw new k(n.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let s=(a===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,a,o)).filter(u=>!re(e,u,o));if(s.length===0)throw new k(n.path,`no container matching "${a}" inside this context to hold the new rows`);if(s.length>1)throw new k(n.path,`"${a}" matches ${s.length} containers inside this context, so the new rows have no single destination`);return s[0]}function it(e,t,r){let l=r;for(;l;){if(e.sameNode(l,t))return!0;l=e.parent(l)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(n=>e.sameNode(n,r))}var te=["no-data","editor-ui"];function re(e,t,r){let l=t;for(;l;){if(r.templateAttr&&e.attr(l,r.templateAttr)!=null||te.some(o=>e.attr(l,o)!=null))return!0;let n=e.attr(l,"clay");if(n&&n.split(/\s+/).some(o=>te.includes(o)))return!0;l=e.parent(l)}return!1}function at(e,t,r,l,n){let o=e.children(t),i=o.map(s=>e.identity(s)),a=!1;l.forEach((s,u)=>{let d=e.identity(s),c=r+u;if(i[c]===d)return;if(!n[u]){let h=i.indexOf(d);h!==-1&&(i.splice(h,1),o.splice(h,1))}let f=Math.min(c,o.length);f<o.length?e.insertBefore(o[f],s):o.length?a?e.insertAfter(o[o.length-1],s):(e.insertAt(t,s,c),a=!0):e.insertAt(t,s,0),i.splice(f,0,d),o.splice(f,0,s)})}function st(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let l=new Map(e.children(r).map((o,i)=>[e.identity(o),i])),n=[];for(let o of t){let i=l.get(e.identity(o));if(i===void 0)return!1;n.push(i)}return n.sort((o,i)=>o-i),n[n.length-1]-n[0]===n.length-1}function ut(e,t,r,l,n){let o=null,i=n;for(let a=0;a<t.length;a++){if(!r[a]){o=t[a];continue}let s=o?e.parent(o):l;if(!s)continue;let u=o?Te(e,s,o)+1:i++;e.insertAt(s,t[a],u),o=t[a]}}function ct(e,t,r,l,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(D(r,l,[],o),o.length)throw new ce(o);$(e,t,r,l,{depth:0,path:[]},n)}function $(e,t,r,l,n,o={}){if(n.depth>j)throw new W(n.path);if(l===void 0)return t;if(typeof r=="string")return ft(e,t,r,l,n,o);if(Array.isArray(r)){let[i,a]=r;return xe(e,t,i,a,l,n,$,o),t}if(typeof r=="object"&&r!==null){for(let[i,a]of Object.entries(r)){let s=$(e,t,a,l==null?l:l[i],{depth:n.depth+1,path:[...n.path,i]},o);s&&s!==t&&(t=s)}return t}return t}function ft(e,t,r,l,n,o){if(r.endsWith("[]")){let s=r.slice(0,-2);return xe(e,t,s,null,l,n,$,o),t}if(r.startsWith("@"))return le(e,t,r.slice(1),l);let i=de(r);if(i!==-1){let s=r.slice(0,i),u=r.slice(i+1),d=s?e.find(t,s,o):[t];return d.length===0||le(e,d[0],u,l),t}if(r===".")return ne(e,t,l),t;let a=e.find(t,r,o);return a.length===0||ne(e,a[0],l),t}function ne(e,t,r){let l=r==null?"":String(r);e.text(t)!==l&&e.text(t,l)}function dt(e,t,r,l){if(e.styleVar){e.styleVar(t,r,l);return}Je(e,t,r,l)}function le(e,t,r,l){if(he(r))return dt(e,t,r,l==null?"":String(l).trim()),t;if(Ue.has(r)){let n=e.prop(t,r);if(n===l||n!=null&&l!=null&&String(n)===String(l))return t;throw new fe(r)}if(r==="outerHTML"){let n=l==null?"":String(l);return e.replaceWith(t,n)}if(Me.has(r)){let n=Ie(r,l);return e.prop(t,r)!==n&&e.prop(t,r,n),t}if(l==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let n=String(l);e.attr(t,r)!==n&&e.attr(t,r,n)}return t}function D(e,t,r,l){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((n,o)=>{typeof n=="object"&&n!==null&&l.push({path:N([...r,o]),expected:"scalar",got:E(n)})}):l.push({path:N(r),expected:"array",got:E(t)});return}t!==null&&typeof t=="object"&&l.push({path:N(r),expected:"scalar",got:E(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){l.push({path:N(r),expected:"array",got:E(t)});return}let n=e[1];t.forEach((o,i)=>D(n,o,[...r,i],l));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){l.push({path:N(r),expected:"object",got:E(t)});return}for(let[n,o]of Object.entries(e))D(o,t[n],[...r,n],l)}}}function E(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function N(e){return e.join(".")}function pt(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(n){let o=[],i=0;for(;i<n.length;){let a=n[i];if(/\s/.test(a)){i++;continue}if("{}".includes(a)){o.push({type:a,value:a}),i++;continue}if(a==="["){let c=!1,f=i+1;for(;f<n.length&&/\s/.test(n[f]);)f++;if(f<n.length&&/[a-zA-Z_]/.test(n[f])&&(c=!0),!c){o.push({type:a,value:a}),i++;continue}}if(a==="]"){o.push({type:a,value:a}),i++;continue}if(a===":"){o.push({type:t.COLON,value:a}),i++;continue}if(a===","){o.push({type:t.COMMA,value:a}),i++;continue}if(a==='"'||a==="'"){let c=a,f=i+1;for(;f<n.length&&n[f]!==c;)n[f]==="\\"&&f++,f++;o.push({type:t.STRING,value:n.substring(i+1,f),quoted:!0,sourceQuote:c}),i=f+1;continue}let s=i,u;for(;s<n.length&&!/[{},]/.test(n[s]);)if(n[s]===":"){let c=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],f=!1;for(let h of c){let m=h.substring(1);if(n.substring(s+1,s+1+m.length)===m){f=!0,s+=m.length;break}}if(!f)break}else if(n[s]==="["){for(s++;s<n.length&&n[s]!=="]";){if(n[s]==='"'||n[s]==="'"){let c=n[s];for(s++;s<n.length&&n[s]!==c;)n[s]==="\\"&&s++,s++}s++}s<n.length&&n[s]==="]"&&s++}else s++;u=n.substring(i,s);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?d=t.NUMBER:u==="true"||u==="false"||u==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(d=t.SELECTOR),o.push({type:d,value:u,quoted:!1}),i=s}return o}function l(n){let o="";for(let i=0;i<n.length;i++){let a=n[i];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let s=n[i+1];if(s&&(s.type==="}"||s.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING&&a.quoted){let s=a.value;a.sourceQuote==="'"&&(s=s.replace(/\\'/g,"'"),s=s.replace(/(\\*)"/g,(u,d)=>d.length%2===0?d+'\\"':u)),o+=`"${s}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}if(a.type===t.SELECTOR||a.type===t.IDENTIFIER){o+=`"${a.value}"`;continue}o+=`"${a.value}"`}return o}try{let n=r(e),o=l(n);return JSON.parse(o)}catch(n){throw new se("Invalid extraction rules syntax: "+n.message,n)}}var ht="1";var Qt=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"]})}),er=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),mt=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);var tr=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...mt],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"],customPropertyValues:Object.freeze({maxLength:200,refusedCharacters:[";","{","}","<",">","\\"],refusedFunctions:["url","src","image","image-set","-webkit-image-set","cross-fade","element","expression","paint"]})});function yt(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function gt(e){return e?(e.nodeType===9||e.nodeType,e):null}function oe(e,t,r){!e||e.nodeType!==1||(t==="value"&&e.tagName==="INPUT"?e.value=r===null?"":r:t==="checked"&&e.tagName==="INPUT"?e.checked=r!==null:t==="selected"&&e.tagName==="OPTION"&&(e.selected=r!==null))}function wt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function vt(e){if(!e||e.nodeType!==1)return;let t=[e,...e.querySelectorAll?e.querySelectorAll("textarea, input, option"):[]];for(let r of t)if(r.tagName==="TEXTAREA")r.value=r.defaultValue;else if(r.tagName==="INPUT"){let l=r.type;l!=="file"&&l!=="checkbox"&&l!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var bt={semanticExclude:!0,find(e,t,r={}){let l=gt(e);if(!l||!l.querySelectorAll)return[];let n=Array.from(l.querySelectorAll(t));r.includeRulesTag||(n=n.filter(a=>!yt(a)));let o=[];r.skip&&o.push(r.skip);let i=r.templateAttr===null?null:r.templateAttr||"cms-template";if(i&&o.push("["+i+"]"),o.length){let a=o.join(", ");n=n.filter(s=>!s.closest||!s.closest(a))}return n},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},matches(e,t){return!!(e&&e.matches)&&e.matches(t)},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t,wt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),oe(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),oe(e,t,null)},prop(e,t,r){if(r===void 0){let l=e?e[t]:void 0;return l!==void 0?l:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return vt(t),t},insertAt(e,t,r){let l=e.children[r]||null;e.insertBefore(t,l)},insertBefore(e,t){e.parentNode.insertBefore(t,e)},insertAfter(e,t){e.parentNode.insertBefore(t,e.nextSibling)},identity(e){return e||null},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let l=r.content.firstElementChild;if(!l)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(l,e),l},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};var R=bt;var xt="hha:upgrade-check:";function x(e,t){let r=e.querySelector(`meta[name="${t}"]`),l=r?r.getAttribute("content"):null;return l&&l.trim()?l.trim():null}function ie(e){if(typeof e!="string")return null;let t=e.trim().replace(/^v/,"");return/^\d+(\.\d+)*$/.test(t)?t.split(".").map(Number):null}function Tt(e,t){let r=ie(e),l=ie(t);if(!r||!l)return!1;let n=Math.max(r.length,l.length);for(let o=0;o<n;o++){let i=r[o]||0,a=l[o]||0;if(i!==a)return i>a}return!1}function At(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ot(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function Et({force:e=!1,doc:t,loc:r,fetchFn:l,now:n,ttlMs:o=864e5}={}){if(t=t||(typeof document<"u"?document:null),r=r||(typeof location<"u"?location:null),l=l||(f=>fetch(f)),n=n??Date.now(),!t)return null;let i=x(t,"hyper-source");if(!i)return null;let a=x(t,"hyper-version"),s;try{s=new URL(i,r?r.href:void 0)}catch{return null}if(r&&s.origin===r.origin&&s.pathname===r.pathname)return null;let u=`${xt}${s.href}:${a||"none"}`,d,c=e?null:At(u);if(c&&typeof c.checkedAt=="number"&&n-c.checkedAt<o)d=c.sourceVersion;else{try{let f=await l(s.href);if(!f.ok)throw new Error(`HTTP ${f.status}`);let h=await f.text(),m=new DOMParser().parseFromString(h,"text/html");d=x(m,"hyper-version")}catch{d=null}Ot(u,{checkedAt:n,sourceVersion:d})}return d?{available:Tt(d,a||"0.0.0"),currentVersion:a,sourceVersion:d,sourceUrl:s.href}:null}var Nt="script[data-rules-name]";function kt(e){return typeof e=="string"?e.trim().replace(/\s+/g," "):""}function Ae(e,t){let r=e.find(t,Nt,{includeRulesTag:!0}),l=new Set,n=[];for(let o of r){let i=kt(e.attr(o,"data-rules-name"));if(!i)continue;if(l.has(i)){console.warn(`hyper-html-api: duplicate rules tag name "${i}"; using the first.`);continue}let a=e.attr(o,"data-rules-version");if(a!==ht)throw new ue(a);l.add(i),n.push({name:i,rules:pt(e.text(o))})}return n}function Oe(e,t){let r={};for(let{name:l,rules:n}of Ae(e,t))r[l]=we(e,t,n);return r}function St(e){let t=e||document,r=t.nodeType===9?t:t.ownerDocument||t;return{dataByName:Oe(R,t),version:x(r,"hyper-version")}}var ae=class extends Error{constructor(e,t){super(`could not fetch upgrade source: ${e}`),this.name="UpgradeSourceUnreachable",this.sourceUrl=e,this.cause=t}},Rt=class extends Error{constructor(e){super(`upgrade source has no rules tags; refusing to drop all existing data: ${e}`),this.name="UpgradeSourceHasNoRules",this.sourceUrl=e}},P=class extends Error{constructor(e,t){super(e),this.name="UpgradeTransformInvalid",this.cause=t}},$t=class extends Error{constructor(e){super(`found ${e} script[type="text/hyper-upgrade"] tags; only one is allowed per document.`),this.name="UpgradeMultipleTransforms",this.count=e}},jt="text/hyper-upgrade";function Ct(e,t){let r=e.find(t,`script[type="${jt}"]`);if(r.length===0)return null;if(r.length>1)throw new $t(r.length);return e.text(r[0])||null}var Lt=new Function("url","return import(url)");async function Mt(e){let t=new Blob([e],{type:"text/javascript"}),r=URL.createObjectURL(t),l;try{l=await Lt(r)}catch(n){throw new P(`transform failed to load: ${n&&n.message?n.message:n}`,n)}finally{URL.revokeObjectURL(r)}if(typeof l.default!="function")throw new P("transform must `export default` a function");return l.default}function Ee(e,t){let r={carriedOver:0,discarded:0,listItems:0},l=B(t,e,r);return H(t,e,r),{data:l,summary:r}}function B(e,t,r){if(typeof e=="string")return e.endsWith("[]")?Array.isArray(t)?(r.listItems+=t.length,r.carriedOver+=t.length,t):void 0:t==null||typeof t=="object"?void 0:(r.carriedOver++,t);if(Array.isArray(e)){let[,l]=e;return Array.isArray(t)?(r.listItems+=t.length,t.map(n=>B(l,n,r))):void 0}if(typeof e=="object"&&e!==null){let l={};for(let[n,o]of Object.entries(e)){let i=B(o,t?.[n],r);i!==void 0&&(l[n]=i)}return l}}function H(e,t,r){if(t!=null){if(typeof e=="object"&&e!==null&&!Array.isArray(e)){if(typeof t!="object"||Array.isArray(t))return;let l=new Set(Object.keys(e));for(let n of Object.keys(t))l.has(n)?H(e[n],t[n],r):r.discarded+=S(t[n]);return}if(Array.isArray(e)&&Array.isArray(t)){let l=e[1];t.forEach(n=>H(l,n,r));return}typeof e=="string"&&!e.endsWith("[]")&&typeof t=="object"&&t!==null&&(r.discarded+=S(t))}}function S(e){return e==null?0:Array.isArray(e)?e.reduce((t,r)=>t+S(r),0):typeof e=="object"?Object.values(e).reduce((t,r)=>t+S(r),0):1}function Ut(e,t,r){let l=Ae(e,t),n={carriedOver:0,discarded:0,listItems:0},o={},i=new Set;for(let{name:a,rules:s}of l){if(i.add(a),!Object.prototype.hasOwnProperty.call(r,a)){o[a]={carriedOver:0,discarded:0,listItems:0};continue}let{data:u,summary:d}=Ee(r[a],s);ct(e,t,s,u),o[a]=d,n.carriedOver+=d.carriedOver,n.discarded+=d.discarded,n.listItems+=d.listItems}for(let a of Object.keys(r))i.has(a)||(n.discarded+=S(r[a]));return{totals:n,byName:o,rulesTagCount:l.length}}async function It({sourceUrl:e,dataByName:t,fromVersion:r,doc:l,loc:n,fetchFn:o}={}){if(l=l||(typeof document<"u"?document:null),n=n||(typeof location<"u"?location:null),o=o||(p=>fetch(p)),!l)throw new Error("upgrade.run requires a document context");if(e=e||x(l,"hyper-source"),!e)throw new Error("upgrade.run: no sourceUrl given and no hyper-source meta tag found");let i=new URL(e,n?n.href:void 0);r=r!==void 0?r:x(l,"hyper-version"),t=t||Oe(R,l);let a;try{a=await o(i.href)}catch(p){throw new ae(i.href,p)}if(!a.ok)throw new ae(i.href,new Error(`HTTP ${a.status}`));let s=await a.text(),u=new DOMParser().parseFromString(s,"text/html"),d=x(u,"hyper-version"),c=t,f=!1,h=Ct(R,u);if(h){let p=await(await Mt(h))(c,{fromVersion:r,toVersion:d});if(!p||typeof p!="object"||Array.isArray(p))throw new P("transform must return a plain object map of { rulesName: data }");c=p,f=!0}let{totals:m,byName:v,rulesTagCount:b}=Ut(R,u,c);if(b===0&&Object.keys(c).length>0)throw new Rt(i.href);return{html:Dt(u),fromVersion:r,toVersion:d,summary:{transformApplied:f,totals:m,byName:v}}}function Dt(e){return`<!DOCTYPE ${e.doctype&&e.doctype.name?e.doctype.name:"html"}>
|
|
2
|
-
`+e.documentElement.outerHTML}var C={checkForUpdate:Et,run:It,extractAll:St,shapeMatch:Ee};var T="The new version could not be downloaded. Nothing was changed.",V="The upgrade could not be saved. Nothing was changed.",ke="This document changed somewhere else. Reload and try again.",Pt="Something else is changing this document. Nothing was changed.";async function Bt(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let r=await t.digest("SHA-256",e);return[...new Uint8Array(r)].map(l=>l.toString(16).padStart(2,"0")).join("")}async function Ne(e,t){try{let r=await e(t,{credentials:"omit"});return!r||!r.ok?null:r}catch{return null}}function Ht(e,t,r){if(e&&typeof e.latestUrl=="string"&&e.latestUrl)return e.latestUrl;let l=x(t,"hyper-source");if(!l)return null;try{let n=new URL(l,r?r.href:void 0);return n.pathname=n.pathname.replace(/\.html$/,".json"),n.href}catch{return null}}function Wt(e){let t=x(e,"clay-template");if(!t)return null;let[r,l]=t.split(/\s+/);return r&&l?{id:r,variant:l}:null}function L(e,t="",r=[]){if(Array.isArray(e)){for(let l of e)L(l,`${t}[]`,r);return r}if(e&&typeof e=="object"){for(let[l,n]of Object.entries(e))L(n,t?`${t}.${l}`:l,r);return r}return e!=null&&r.push({path:t,value:e}),r}function Vt(e,t){let r=[e];for(let l of String(t).split(".")){let n=l.endsWith("[]"),o=n?l.slice(0,-2):l,i=[];for(let a of r){let s=o?a?.[o]:a;n?Array.isArray(s)&&i.push(...s):i.push(s)}r=i}return r}function qt(e,t,r={}){let l=new Map;for(let{path:o,value:i}of L(t)){let a=`${o}\0${String(i)}`;l.set(a,(l.get(a)||0)+1)}let n=[];for(let{path:o,value:i}of L(e)){let a=`${o}\0${String(i)}`;if(l.get(a)>0){l.set(a,l.get(a)-1);continue}let s=r[o];typeof s=="string"&&Vt(t,s).some(u=>u===i)||n.push({path:o,value:i})}return n}async function Ft(e){let t=new Blob([e],{type:"text/javascript"}),r=URL.createObjectURL(t);try{return await new Function("url","return import(url)")(r)}finally{URL.revokeObjectURL(r)}}async function zt(e){let r=new DOMParser().parseFromString(e,"text/html").querySelector('script[type="text/hyper-upgrade"]');if(!r)return{};let l=await Ft(r.textContent||"");return l&&l.renames&&typeof l.renames=="object"?l.renames:{}}async function Se(e,{doc:t=document,loc:r=location,fetchFn:l=(n,o)=>fetch(n,o)}={}){if((typeof window<"u"&&window.clay||{}).isDraftMode)return{ok:!1,code:"draft"};if(!e||typeof e.version!="string")return{ok:!1,code:"unavailable",message:T};let o=Ht(e,t,r);if(!o)return{ok:!1,code:"unavailable",message:T};let i=await Ne(l,o);if(!i)return{ok:!1,code:"unavailable",message:T};let a;try{a=await i.json()}catch{return{ok:!1,code:"unavailable",message:T}}if(!a||typeof a!="object")return{ok:!1,code:"unavailable",message:T};let s=Wt(t);if(!s||a.id!==s.id||a.variant!==s.variant)return{ok:!1,code:"template",message:"This upgrade is for a different document."};let u=x(t,"hyper-version");if(!u||typeof a.version!="string"||!J(a.version,u))return{ok:!1,code:"not-newer",message:"There is no newer version to install."};if(typeof a.html!="string"||!a.html)return{ok:!1,code:"unavailable",message:T};let d;try{d=new URL(a.html,o).href}catch{return{ok:!1,code:"unavailable",message:T}}if(!/^https:\/\/hyperclay\.com\/templates\//.test(d))return{ok:!1,code:"source",message:"This upgrade is not from the template host."};let c=await Ne(l,d);if(!c)return{ok:!1,code:"unavailable",message:T};let f;try{f=await c.text()}catch{return{ok:!1,code:"unavailable",message:T}}let h=await Bt(new TextEncoder().encode(f));if(!h||h!==String(a.sha256||"").toLowerCase())return{ok:!1,code:"unavailable",message:T};let m,v;try{v=await zt(f),m=await C.run({sourceUrl:d,doc:t,loc:r,fromVersion:u,fetchFn:async()=>({ok:!0,status:200,text:async()=>f})})}catch(O){return{ok:!1,code:"transform",message:O&&O.message?O.message:T}}let b=new DOMParser().parseFromString(m.html,"text/html"),p=C.extractAll(t).dataByName,g=C.extractAll(b).dataByName,y=qt(p,g,v),w=m.summary&&m.summary.totals&&m.summary.totals.discarded||0;return y.length||w>0?{ok:!1,code:"lost",lost:y,discarded:w,message:_t(y,w)}:{ok:!0,html:m.html,version:m.toVersion||a.version}}function _t(e,t){let r=e.slice(0,5).map(({path:n})=>n),l=e.length>r.length?` and ${e.length-r.length} more`:"";return r.length?`This upgrade would lose data: ${r.join(", ")}${l}. Nothing was changed.`:`This upgrade would lose ${t} value${t===1?"":"s"}. Nothing was changed.`}function Jt(e){let t=e&&e.state;if(t==="conflict")return{ok:!1,code:"conflict",message:ke};let r=e&&e.message?e.message:"The document could not be saved.";return{ok:!1,code:"flush",state:t||"failed",message:r}}async function Re(e,{doc:t=document,loc:r=location,fetchFn:l=(s,u)=>fetch(s,u),clay:n=typeof window<"u"?window.clay:null,reload:o=()=>window.location.reload(),replace:i=null,etag:a}={}){if((n||{}).isDraftMode)return{ok:!1,code:"draft"};let u=z("upgrade");if(!u)return{ok:!1,code:"busy",message:Pt};try{return await Xt(e,{doc:t,loc:r,fetchFn:l,clay:n,reload:o,replace:i,etag:a})}finally{_(u)}}async function Xt(e,{doc:t,loc:r,fetchFn:l,clay:n,reload:o,replace:i,etag:a}){let s=n||{};if(s.isEditMode&&s.save&&typeof s.save.flush=="function"){let f;try{f=await s.save.flush()}catch(h){return Jt(h)}if(f&&typeof f.state=="string"&&f.state!=="saved"&&f.state!=="clean"&&f.state!=="view")return{ok:!1,code:"flush",state:f.state,message:"This document has changes that could not be saved. Nothing was changed."}}let u=await Se(e,{doc:t,loc:r,fetchFn:l});if(!u.ok)return u;let d=typeof i=="function"?i:s.save&&typeof s.save.replace=="function"?s.save.replace:X,c;try{c=await d(u.html,{etag:a!==void 0?a:F()})}catch{return{ok:!1,code:"failed",message:V}}if(!c||!c.ok){let f=c&&c.code?c.code:"failed";return f==="conflict"?{ok:!1,code:f,message:ke}:f==="forbidden"?{ok:!1,code:f,message:"You are not allowed to save this document."}:f==="unsupported"?{ok:!1,code:f,message:"This host cannot save the upgrade."}:{ok:!1,code:f,message:V}}return o(),{ok:!0,html:u.html,version:u.version,etag:c.etag}}function A(e,t,r={}){let l=e.createElement(t);l.setAttribute("clay","editor-ui");for(let[n,o]of Object.entries(r))n==="style"?l.setAttribute("style",o):n==="text"?l.textContent=o:l.setAttribute(n,o);return l}function Yt(e){let r=(e&&e.pathname?e.pathname:"/").split("/").filter(Boolean).pop()||"page.html";try{r=decodeURIComponent(r)}catch{}return/\.html?$/i.test(r)?r:`${r}.html`}function Gt({clay:e,doc:t=document,loc:r=location}={}){let l=e&&e.getHTML;if(typeof l!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;try{let n=URL.createObjectURL(new Blob([l()],{type:"text/html"})),o=t.createElement("a");return o.setAttribute("clay","editor-ui"),o.href=n,o.download=Yt(r),o.style.setProperty("display","none","important"),t.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(n),4e4),!0}catch{return!1}}async function Kt(e){let t=e&&e.host;if(!t||!t.versions)return!1;try{return await t.versions===!0}catch{return!1}}async function Zt(e,t={}){let r=t.doc||document,l=t.clay||(typeof window<"u"?window.clay:null)||{};if(l.isDraftMode||!e||typeof e.version!="string")return null;let n=await Kt(l),o=A(r,"div",{role:"dialog","aria-modal":"true","data-clay-upgrade":"",style:"position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,17,21,.42);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;"}),i=A(r,"div",{style:"width:min(460px,100%);padding:20px;border-radius:14px;background:var(--clay-ui-bg,#fff);color:var(--clay-ui-fg,#1f2328);box-shadow:0 18px 48px -16px rgba(0,0,0,.55);font-size:14px;line-height:1.5;"}),a=A(r,"h2",{text:`Upgrade to version ${e.version}`,style:"margin:0 0 8px;font-size:16px;"}),s=A(r,"p",{text:`Your data moves into version ${e.version}. The page's layout and code are replaced; your current version stays in this document's history.`,style:"margin:0 0 16px;"}),u=A(r,"p",{role:"status",style:"margin:0 0 12px;min-height:1.5em;"}),d=A(r,"div",{style:"display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;"}),c="padding:7px 12px;border-radius:8px;border:1px solid rgba(23,28,36,.2);background:transparent;color:inherit;font:inherit;cursor:pointer;",f=A(r,"button",{type:"button",text:"Cancel",style:c}),h=n?null:A(r,"button",{type:"button",text:"Download a copy first",style:c}),m=A(r,"button",{type:"button",text:"Upgrade",style:`${c}border-color:transparent;background:#2f6fed;color:#fff;font-weight:600;`});n||(m.disabled=!0),h&&d.append(h),d.append(f,m),i.append(a,s,u,d),o.append(i),r.body.appendChild(o);let v=!1,b=()=>{v||(v=!0,o.remove())};h&&h.addEventListener("click",()=>{Gt({clay:l,doc:r,loc:t.loc})?(m.disabled=!1,u.textContent="Your copy was downloaded."):u.textContent="The copy could not be downloaded. Nothing was changed."}),f.addEventListener("click",b);let p,g=new Promise(y=>{p=y});return m.addEventListener("click",async()=>{m.disabled=!0,h&&(h.disabled=!0),u.textContent=`Upgrading to version ${e.version}\u2026`;let y=await Re(e,t);if(y.ok){b(),p(y);return}u.textContent=y.message||V,m.disabled=!1,h&&(h.disabled=!1),p(y)}),{root:o,title:a,body:s,status:u,cancel:f,download:h,upgrade:m,close:b,done:g}}export{Re as apply,Se as prepare,Zt as start};
|