@panphora/clayjs 1.23.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +1 -1
- package/dist/blockeditor/themes/light-1.css +431 -0
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +30285 -26613
- package/dist/m/c-277QP5ET.js +1 -0
- package/dist/m/c-2BLVA6IN.js +5 -0
- package/dist/m/c-2OJMOUPC.js +1 -0
- package/dist/m/c-2PVGJFI5.js +1 -0
- package/dist/m/{c-AYVGD6A6.js → c-3UW5EJ77.js} +1 -1
- package/dist/m/{c-T5NK2TVY.js → c-42ZNV7LI.js} +1 -1
- package/dist/m/{c-3TLG3OLG.js → c-46LJAZZJ.js} +1 -1
- package/dist/m/c-47IBJGPQ.js +1 -0
- package/dist/m/c-5FXEKU4Y.js +1 -0
- package/dist/m/c-5KXDKC5G.js +1 -0
- package/dist/m/{c-EUGJVHDD.js → c-5RZNFTWD.js} +1 -1
- package/dist/m/c-65LJU2H2.js +72 -0
- package/dist/m/{c-NQJRVJ56.js → c-6IJEVE6B.js} +1 -1
- package/dist/m/{c-NW54NHKE.js → c-6LEYVQJK.js} +1 -1
- package/dist/m/{c-GSRLXYWL.js → c-6Q6RGFBF.js} +1 -1
- package/dist/m/c-6RGEQNVV.js +1 -0
- package/dist/m/c-7CM4GMTS.js +6 -0
- package/dist/m/c-7NCWENHV.js +1 -0
- package/dist/m/c-7V6MGMX2.js +1 -0
- package/dist/m/{c-LKSL4AUJ.js → c-7WZSUTYP.js} +1 -1
- package/dist/m/c-A4L7APIU.js +1 -0
- package/dist/m/c-APGHGDZM.js +1 -0
- package/dist/m/c-AT7GLQGV.js +34 -0
- package/dist/m/{c-ZRXJD4G6.js → c-B7GOFGQR.js} +1 -1
- package/dist/m/{c-KDXIJEEF.js → c-BGN7RCTJ.js} +1 -1
- package/dist/m/c-BKM46LUJ.js +1 -0
- package/dist/m/c-BOMQIQ3V.js +1 -0
- package/dist/m/{c-62HZW5DH.js → c-C5AKJVRH.js} +1 -1
- package/dist/m/{c-BXYSDKAN.js → c-CJ7QYEWI.js} +1 -1
- package/dist/m/c-CTGRDT6E.js +1 -0
- package/dist/m/c-CV4T65JE.js +6 -0
- package/dist/m/c-CVSWLX3X.js +1 -0
- package/dist/m/c-CZHTXGJS.js +1 -0
- package/dist/m/c-D7NT5S4F.js +1 -0
- package/dist/m/c-DD26VXAP.js +1 -0
- package/dist/m/{c-ANNFZFLN.js → c-DDS23EY6.js} +1 -1
- package/dist/m/{c-ALDVFPWL.js → c-DFKBGSN2.js} +1 -1
- package/dist/m/c-DIKR7H57.js +147 -0
- package/dist/m/c-DXPOFLEJ.js +1 -0
- package/dist/m/c-EDE45NM7.js +1 -0
- package/dist/m/c-EILLN2H2.js +1 -0
- package/dist/m/c-EODTTNVA.js +1 -0
- package/dist/m/{c-G6COVIZB.js → c-ESK4S67I.js} +1 -1
- package/dist/m/c-FDWR3FL7.js +1 -0
- package/dist/m/{c-WQZTI5P2.js → c-FEC6LGFF.js} +1 -1
- package/dist/m/c-FLEIU6CG.js +1 -0
- package/dist/m/c-FQAQRXGK.js +1 -0
- package/dist/m/{c-W4JCVLAB.js → c-FSQXFG5T.js} +1 -1
- package/dist/m/c-FVPNX2GO.js +135 -0
- package/dist/m/c-FYDKYW6E.js +1 -0
- package/dist/m/c-GNI7WHKF.js +32 -0
- package/dist/m/c-GO635CRU.js +3 -0
- package/dist/m/c-H3FNLBHN.js +2 -0
- package/dist/m/c-HDVH3MVC.js +72 -0
- package/dist/m/c-HIX5H5L7.js +1 -0
- package/dist/m/c-HKSLOVU4.js +1 -0
- package/dist/m/{c-SGRIYOAJ.js → c-HL6BLJNA.js} +1 -1
- package/dist/m/c-HTLYXCUH.js +1 -0
- package/dist/m/{c-QIR5CAKM.js → c-IUL7PU4P.js} +1 -1
- package/dist/m/c-IXO7EI2Q.js +1 -0
- package/dist/m/{c-W5E5P2TZ.js → c-JQF2EUCG.js} +1 -1
- package/dist/m/{c-NEL7HQW3.js → c-JWDCQL6J.js} +1 -1
- package/dist/m/c-KQKKIVLW.js +20 -0
- package/dist/m/c-LATNQ6Q5.js +1 -0
- package/dist/m/c-LD6UVV5R.js +1 -0
- package/dist/m/c-LS7IVQVW.js +1 -0
- package/dist/m/{c-JCOQVZYS.js → c-LSVN3OLG.js} +1 -1
- package/dist/m/{c-JDZDF2QM.js → c-LTSPHVAK.js} +1 -1
- package/dist/m/c-MFOSMAVM.js +3 -0
- package/dist/m/c-MJ7GVE46.js +1 -0
- package/dist/m/c-MP6S4AZU.js +6 -0
- package/dist/m/c-MQKSKQHG.js +2 -0
- package/dist/m/{c-UHUNXWKN.js → c-MQYEDF3Q.js} +1 -1
- package/dist/m/{c-IHUWUKIU.js → c-MR75YPRT.js} +1 -1
- package/dist/m/c-ND3Q2G2I.js +1 -0
- package/dist/m/c-NEQRFC4O.js +1 -0
- package/dist/m/{c-5FKRZNJV.js → c-NFQFV7OP.js} +1 -1
- package/dist/m/c-NHXOBD6A.js +1 -0
- package/dist/m/{c-QIKT6SKM.js → c-NICICT4P.js} +1 -1
- package/dist/m/c-NQAPWM7O.js +1 -0
- package/dist/m/{c-QUGCKMWF.js → c-NVU3DORS.js} +1 -1
- package/dist/m/{c-LWIDDWAR.js → c-OCYG4NBQ.js} +22 -22
- package/dist/m/c-OH2FPYSY.js +19 -0
- package/dist/m/c-OYHI67B6.js +1 -0
- package/dist/m/{c-R2XUODVY.js → c-OYW5MFPZ.js} +1 -1
- package/dist/m/{c-5B4YBZXC.js → c-P2HKMJAW.js} +1 -1
- package/dist/m/{c-TSBVMWAH.js → c-PCNJETUA.js} +1 -1
- package/dist/m/c-PDBNCJCT.js +1 -0
- package/dist/m/c-PGSBXHUE.js +1 -0
- package/dist/m/{c-5TIZ2I64.js → c-PYG2NGWU.js} +1 -1
- package/dist/m/c-Q26XHBLQ.js +1 -0
- package/dist/m/c-Q6BG3ZLO.js +1 -0
- package/dist/m/c-QENKN7QI.js +1 -0
- package/dist/m/c-QQFHEODI.js +1 -0
- package/dist/m/c-QTEUO2K6.js +1 -0
- package/dist/m/c-R23UHMXG.js +1 -0
- package/dist/m/c-RETTCOWO.js +10 -0
- package/dist/m/c-SE3SIY7Y.js +7 -0
- package/dist/m/{c-XX75FFNL.js → c-SGGGCIVD.js} +1 -1
- package/dist/m/c-SGH3UTF3.js +1 -0
- package/dist/m/c-SIM7Z3U7.js +1 -0
- package/dist/m/{c-X5LNHET5.js → c-SKMIR5HQ.js} +1 -1
- package/dist/m/{c-R27DWQKX.js → c-STRI73GQ.js} +1 -1
- package/dist/m/c-SUXHUL7U.js +1 -0
- package/dist/m/c-SXGEWPFC.js +10 -0
- package/dist/m/c-SXNSSHPP.js +1 -0
- package/dist/m/c-T3P3AXEW.js +1 -0
- package/dist/m/{c-PXLTUYZC.js → c-TFLRT5JX.js} +1 -1
- package/dist/m/{c-YCLU4UNT.js → c-TGIMBAWE.js} +1 -1
- package/dist/m/c-TGSHHFO6.js +1 -0
- package/dist/m/c-U4NTUVDZ.js +1 -0
- package/dist/m/c-UOOIF2AL.js +1 -0
- package/dist/m/{c-6TYGD5AB.js → c-UOUUI265.js} +1 -1
- package/dist/m/c-V2U3F4QX.js +1 -0
- package/dist/m/c-V2V5FKXX.js +1 -0
- package/dist/m/c-VBXRXTVS.js +26 -0
- package/dist/m/c-VHSMPITY.js +1 -0
- package/dist/m/c-VPXCXBDT.js +1 -0
- package/dist/m/c-WCG6AKA7.js +1 -0
- package/dist/m/c-WNOLMHI2.js +1 -0
- package/dist/m/{c-CRPIDGXC.js → c-X6MOYATI.js} +1 -1
- package/dist/m/{c-FQGHR32O.js → c-X75G43SZ.js} +1 -1
- package/dist/m/c-XB6EAIAR.js +13 -0
- package/dist/m/c-XMIDHEKF.js +1 -0
- package/dist/m/c-XUZMRQ7O.js +4 -0
- package/dist/m/{c-2Z22FCFK.js → c-XW5TIYYB.js} +1 -1
- package/dist/m/c-YDW4VCHP.js +1 -0
- package/dist/m/{c-QGAPG7OM.js → c-YLHTD3KX.js} +1 -1
- package/dist/m/c-YNIEIPBS.js +1 -0
- package/dist/m/c-Z4G2UK6T.js +4 -0
- package/dist/m/c-Z6MROEQ4.js +1 -0
- package/dist/m/c-ZFO5RW6G.js +2 -0
- package/dist/m/c-ZGCO4J3H.js +8 -0
- package/dist/m/c-ZKKAF4UT.js +3 -0
- package/dist/m/c-ZRGEN6QQ.js +4 -0
- package/dist/m/core/{admin-attrs-U7IJNYBG.js → admin-attrs-ONRWVXPK.js} +1 -1
- package/dist/m/core/{autosave-F5YQCKVL.js → autosave-TBKAAAFB.js} +1 -1
- package/dist/m/core/conflict-notice-FOEE6I7E.js +1 -0
- package/dist/m/core/draft-mode-4MCL3LYI.js +1 -0
- package/dist/m/core/{host-permission-6EVJGNPL.js → host-permission-X4BENZEU.js} +1 -1
- package/dist/m/core/{is-edit-mode-GCX6767E.js → is-edit-mode-FFHCQ5DR.js} +1 -1
- package/dist/m/core/{persist-CJXIL7D4.js → persist-6ILUR34S.js} +1 -1
- package/dist/m/core/{recovery-DRFZRJED.js → recovery-APWADU4K.js} +1 -1
- package/dist/m/core/save-6HT2LABE.js +1 -0
- package/dist/m/core/save-core-EVMNZQ4V.js +1 -0
- package/dist/m/core/site-edits-G4BOZMV4.js +1 -0
- package/dist/m/core/{unsaved-warning-HNQVTA2D.js → unsaved-warning-ITZDIZ2I.js} +1 -1
- package/dist/m/internals/{index-NRPNDTSA.js → index-HS3CQDFW.js} +1 -1
- package/dist/m/loader-GLLVDUZA.js +1 -0
- package/dist/m/manifest-50FF1C45.js +1 -0
- package/dist/m/manifest-edit-BE1A621D.js +1 -0
- package/dist/m/manifest.json +2072 -1811
- package/dist/m/page/editor-KAZDJNND.js +307 -0
- package/dist/m/plugins/ai-edit-LABECCSN.js +6 -0
- package/dist/m/plugins/{cms-H7DTMUQX.js → cms-T2HLI7JG.js} +16 -16
- package/dist/m/plugins/{demo-42BSYQ7T.js → demo-T7B4RIKL.js} +1 -1
- package/dist/m/plugins/{derive-QVI3LI3A.js → derive-6LPJOCAV.js} +1 -1
- package/dist/m/plugins/indicator-J4ABFARX.js +1 -0
- package/dist/m/plugins/{live-DCUBKXY4.js → live-PGBIEMGB.js} +1 -1
- package/dist/m/plugins/menu-YZL3X2AJ.js +1 -0
- package/dist/m/plugins/page-WOCNX2IN.js +2 -0
- package/dist/m/plugins/page-view-SJODOOGE.js +1 -0
- package/dist/m/plugins/{people-5XRNRP5U.js → people-C4TCWFOQ.js} +1 -1
- package/dist/m/plugins/{quickcrop-WWF5I422.js → quickcrop-X5MRIBAP.js} +2 -2
- package/dist/m/plugins/richclay-Y2NV44NA.js +549 -0
- package/dist/m/plugins/sortable-XCHQG65Z.js +1 -0
- package/dist/m/plugins/{source-6BKMK4PO.js → source-YK7MO23W.js} +1 -1
- package/dist/m/plugins/{undo-3JEYK5QY.js → undo-VLRBQNPN.js} +1 -1
- package/dist/m/plugins/upgrade-NNTJBSK2.js +1 -0
- package/dist/m/plugins/{upload-TTCQRIM5.js → upload-ZKKJV76X.js} +1 -1
- package/dist/m/plugins/visitor-drafts-RTZNONHT.js +20 -0
- package/dist/m/plugins/{visitor-drafts-owner-Z5B2OQBR.js → visitor-drafts-owner-LHUHFU3L.js} +1 -1
- package/dist/m/plugins/{visitor-menu-4LQMKLPP.js → visitor-menu-FY4KM2SW.js} +1 -1
- package/dist/m/plugins/wire-M2NR354P.js +1 -0
- package/dist/m/{reader-core-POFQCKRV.js → reader-core-T2S3JC4E.js} +2 -2
- package/dist/m/sync/live-sync-Z64YREWQ.js +1 -0
- package/dist/m/ui/index-MGTWOW2C.js +1 -0
- package/dist/m/vendor/{sap-core.vendor-OA5SKL7Q.js → sap-core.vendor-QAEPMETX.js} +1 -1
- package/dist/offline-manifest.json +1250 -1082
- package/dist/server/core.cjs +132 -109
- package/dist/server/page-compaction-worker.cjs +5 -5
- package/dist/server/rooms.mjs +3 -1
- package/docs/guide.md +89 -44
- package/entries/clay-data.js +1 -1
- package/entries/sap.js +1 -1
- package/package.json +5 -3
- package/src/blockeditor/themes/content.css +70 -0
- package/src/blockeditor/themes/light-1.css +431 -0
- package/src/blockeditor/themes/light-1.source.css +270 -0
- package/src/blockeditor/themes/light-2.css +211 -0
- package/src/blockeditor/themes/light-3.css +130 -0
- package/src/blockeditor/themes/light-4.css +299 -0
- package/src/core/conflict-notice.js +28 -0
- package/src/core/draft-mode.js +6 -0
- package/src/core/host-meta.js +6 -6
- package/src/core/is-edit-mode.js +9 -3
- package/src/core/mode-support.js +3 -0
- package/src/core/mode-switch.js +4 -4
- package/src/core/mode-transition.js +3 -1
- package/src/core/page-format-wire.js +1 -1
- package/src/core/page-format.js +8 -8
- package/src/core/save-accepted.js +6 -7
- package/src/core/save-core.js +52 -23
- package/src/core/save-failure-notice.js +37 -0
- package/src/core/save-feedback.js +6 -0
- package/src/core/save-replace.js +1 -1
- package/src/core/save-size.js +2 -2
- package/src/core/save.js +78 -15
- package/src/core/site-edits.js +166 -0
- package/src/core/unsaved-warning.js +2 -2
- package/src/core/upgrade-run.js +4 -4
- package/src/lib/ai-comment.js +23 -0
- package/src/lib/effect.js +8 -0
- package/src/lib/idb-error-code.js +20 -0
- package/src/live/fast-lane.js +10 -10
- package/src/live/local-lane.js +10 -10
- package/src/live/page-compaction.js +8 -8
- package/src/live/server-lane.js +1 -1
- package/src/loader-logic.js +48 -18
- package/src/loader.js +11 -6
- package/src/page/adopt-boot.js +1 -1
- package/src/page/adopt.js +2 -2
- package/src/page/ai-area.js +182 -0
- package/src/page/ai-preview.js +80 -0
- package/src/page/ai-surface.js +257 -0
- package/src/page/ai-tool.js +308 -145
- package/src/page/announce.js +2 -2
- package/src/page/awareness.js +18 -18
- package/src/page/blocks.js +35 -34
- package/src/page/blocksel.js +2 -2
- package/src/page/board-drag.js +11 -11
- package/src/page/board-face.js +1 -1
- package/src/page/board-panel.js +26 -26
- package/src/page/board-style.js +127 -127
- package/src/page/board-view.js +48 -48
- package/src/page/chart.js +29 -29
- package/src/page/checkpoint-proof.js +19 -19
- package/src/page/chrome.js +74 -65
- package/src/page/clipboard-shape.js +1 -1
- package/src/page/csv-import.js +4 -4
- package/src/page/drag.js +5 -5
- package/src/page/editor.js +301 -296
- package/src/page/export-html.js +8 -8
- package/src/page/features/checklist.js +36 -36
- package/src/page/features/export-html.js +19 -19
- package/src/page/features/export-markdown.js +10 -10
- package/src/page/features/import-markdown.js +13 -13
- package/src/page/features/media.js +50 -50
- package/src/page/features/table.js +17 -17
- package/src/page/features/title-cover.js +17 -17
- package/src/page/features/title-icon.js +7 -7
- package/src/page/features/toc.js +1 -1
- package/src/page/features/tool.js +42 -18
- package/src/page/format-command.js +4 -4
- package/src/page/format-gate.js +6 -6
- package/src/page/format-host.js +6 -6
- package/src/page/format-level.js +3 -3
- package/src/page/format-native-commands.js +2 -2
- package/src/page/highlight-slot.js +1 -1
- package/src/page/highlight.js +4 -4
- package/src/page/history-intent.js +2 -2
- package/src/page/image-actions.js +4 -4
- package/src/page/link.js +10 -10
- package/src/page/media.js +3 -3
- package/src/page/mention-picker.js +7 -7
- package/src/page/merge.js +1 -1
- package/src/page/placeholder.js +3 -3
- package/src/page/projection.js +11 -11
- package/src/page/reader-patch.js +2 -2
- package/src/page/recover.js +26 -26
- package/src/page/recovery-ui.js +28 -28
- package/src/page/rich/chart.js +1 -1
- package/src/page/rich/page-tool.js +21 -6
- package/src/page/rich/tool-runtime.js +3 -2
- package/src/page/save-projection.js +2 -2
- package/src/page/save-states.js +9 -9
- package/src/page/schema.js +9 -9
- package/src/page/table-style.js +21 -21
- package/src/page/toc-link.js +1 -1
- package/src/page/tool-capability.js +8 -3
- package/src/page/tool-transport.js +52 -0
- package/src/page/tool-views.js +4 -0
- package/src/page/tools.js +6 -1
- package/src/page/view.js +6 -6
- package/src/page/ybind/binding.js +1 -1
- package/src/page/ybind/conversion.js +1 -1
- package/src/page/ybind/layout.js +4 -4
- package/src/page/ybind/migrate.js +1 -1
- package/src/page/ybind/origins.js +2 -2
- package/src/page/ybind/provider.js +2 -2
- package/src/page/ybind/recovery-proof.js +3 -3
- package/src/page/ybind/recovery-replay.js +2 -2
- package/src/plugins/ai-edit/picker.js +235 -0
- package/src/plugins/ai-edit.js +220 -34
- package/src/plugins/indicator-chip.js +39 -34
- package/src/plugins/indicator.js +13 -4
- package/src/plugins/live.js +21 -13
- package/src/plugins/menu/actions.js +89 -17
- package/src/plugins/menu/seo.js +32 -6
- package/src/plugins/menu/shell-style.js +26 -7
- package/src/plugins/menu/shell.js +12 -7
- package/src/plugins/menu/variants.js +6 -10
- package/src/plugins/menu/visitor.js +44 -34
- package/src/plugins/menu.js +3 -2
- package/src/plugins/page-view.js +2 -2
- package/src/plugins/page.js +257 -98
- package/src/plugins/sortable.js +7 -0
- package/src/plugins/upgrade.js +2 -1
- package/src/plugins/visitor-drafts/commit.js +303 -0
- package/src/plugins/visitor-drafts/idb.js +221 -0
- package/src/plugins/visitor-drafts/intro-style.js +1 -1
- package/src/plugins/visitor-drafts/intro.js +8 -25
- package/src/plugins/visitor-drafts/prompt.js +30 -4
- package/src/plugins/visitor-drafts/session.js +345 -0
- package/src/plugins/visitor-drafts/store.js +351 -32
- package/src/plugins/visitor-drafts.js +158 -27
- package/src/server/checkpoint/index.js +8 -8
- package/src/server/rooms/index.js +2 -2
- package/src/server/rooms/live-data-rooms.js +35 -35
- package/src/server/rooms/live-page-history.js +2 -2
- package/src/server/rooms/page-admission.js +34 -6
- package/src/server/rooms/page-conversion.js +1 -1
- package/src/server/rooms/page-lineage.js +4 -4
- package/src/server/rooms/page-rebase.js +4 -4
- package/src/server/rooms/page-room-conformance.js +14 -14
- package/src/server/rooms/page-state.js +2 -2
- package/src/server/rooms/page-write-admission.js +7 -7
- package/src/server/rooms/page-write-guard.js +3 -3
- package/src/sync/data-guard-notice.js +265 -0
- package/src/sync/live-sync.js +54 -11
- package/src/sync/page-relay.js +4 -4
- package/src/sync/presence-store.js +1 -1
- package/src/sync/presence-target.js +3 -3
- package/src/sync/presence.js +1 -1
- package/src/sync/stream.js +54 -13
- package/src/sync/wire-profile.js +8 -3
- package/src/ui/bevel.js +1 -1
- package/src/ui/index.js +9 -10
- package/src/ui/skins/cms.js +1 -1
- package/src/ui/skins/quickcrop.js +1 -1
- package/src/ui/skins/richclay.js +2 -2
- package/src/ui/toast-lazy.js +12 -3
- package/src/ui/toast.js +9 -3
- package/src/vendor/hyper-html-api-data.vendor.js +1 -1
- package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
- package/src/vendor/hypercms.vendor.js +16 -16
- package/src/vendor/richclay.vendor.js +48 -20
- package/src/vendor/sap-core.vendor.js +1 -1
- package/tool-generation/context.md +44 -0
- package/tool-generation/system.md +23 -0
- package/dist/m/c-24PMUJIV.js +0 -2
- package/dist/m/c-2AYVYEI4.js +0 -1
- package/dist/m/c-2AZDZWCK.js +0 -1
- package/dist/m/c-2L6O5PDS.js +0 -6
- package/dist/m/c-2RYOGUQM.js +0 -2
- package/dist/m/c-2ZVOEU4M.js +0 -1
- package/dist/m/c-37NAONZA.js +0 -1
- package/dist/m/c-3GJ4SDE2.js +0 -1
- package/dist/m/c-3O7OBDCM.js +0 -1
- package/dist/m/c-5OJ7YF2N.js +0 -1
- package/dist/m/c-5WMXEKFH.js +0 -135
- package/dist/m/c-6RDOKLN7.js +0 -1
- package/dist/m/c-A4IP6MBC.js +0 -1
- package/dist/m/c-A6L3FMUS.js +0 -1
- package/dist/m/c-ATKAOH23.js +0 -1
- package/dist/m/c-B6O7AJYG.js +0 -32
- package/dist/m/c-BCGWJYXW.js +0 -1
- package/dist/m/c-BGKAT2FL.js +0 -7
- package/dist/m/c-BYTKL6UX.js +0 -1
- package/dist/m/c-DHBRA6DL.js +0 -1
- package/dist/m/c-DTMZ3ZHI.js +0 -1
- package/dist/m/c-E3ZXARWA.js +0 -1
- package/dist/m/c-EK63G3CG.js +0 -1
- package/dist/m/c-ELYIIYRS.js +0 -1
- package/dist/m/c-EXKHPOVC.js +0 -3
- package/dist/m/c-FCSZ3DC5.js +0 -20
- package/dist/m/c-FTWGYI5E.js +0 -1
- package/dist/m/c-G4PWUDD5.js +0 -1
- package/dist/m/c-GBKB5WDL.js +0 -2
- package/dist/m/c-GBTVCJXC.js +0 -1
- package/dist/m/c-GC2HICFJ.js +0 -1
- package/dist/m/c-GRWMD6O5.js +0 -1
- package/dist/m/c-HCNWJE4A.js +0 -4
- package/dist/m/c-HG2C77BM.js +0 -4
- package/dist/m/c-JGHEACGK.js +0 -1
- package/dist/m/c-JGLX6TBK.js +0 -1
- package/dist/m/c-JNRKHYWO.js +0 -1
- package/dist/m/c-KBS3UV6B.js +0 -1
- package/dist/m/c-KQ7E3PYY.js +0 -1
- package/dist/m/c-L3F5ZLIV.js +0 -1
- package/dist/m/c-L4KMT7FO.js +0 -6
- package/dist/m/c-L5VFATT6.js +0 -1
- package/dist/m/c-LCYPMULG.js +0 -1
- package/dist/m/c-LIGQYZ7M.js +0 -6
- package/dist/m/c-LKIWEPAV.js +0 -1
- package/dist/m/c-MPSKIU2I.js +0 -1
- package/dist/m/c-N7JPUPGC.js +0 -1
- package/dist/m/c-NK33MMYF.js +0 -1
- package/dist/m/c-NQLWOHLH.js +0 -10
- package/dist/m/c-NTHUTABN.js +0 -1
- package/dist/m/c-NWX3MFT4.js +0 -1
- package/dist/m/c-OKXI52N7.js +0 -1
- package/dist/m/c-OPONJ2UK.js +0 -128
- package/dist/m/c-OWQWOGYI.js +0 -1
- package/dist/m/c-P6Q2ZTFQ.js +0 -1
- package/dist/m/c-QEN6HZCA.js +0 -1
- package/dist/m/c-QIXT3Q7C.js +0 -28
- package/dist/m/c-QM5LXRDT.js +0 -9
- package/dist/m/c-QYYUVLVG.js +0 -1
- package/dist/m/c-RQRMPZXD.js +0 -1
- package/dist/m/c-SBCBXKOZ.js +0 -26
- package/dist/m/c-SKF5HL4I.js +0 -4
- package/dist/m/c-SRPC3VBE.js +0 -1
- package/dist/m/c-TANBH7FI.js +0 -1
- package/dist/m/c-THGQQDYY.js +0 -1
- package/dist/m/c-UD5JZTDL.js +0 -1
- package/dist/m/c-UDGEFWNU.js +0 -1
- package/dist/m/c-UGNV5MFB.js +0 -1
- package/dist/m/c-VIRFF5HG.js +0 -8
- package/dist/m/c-VJYEVRYK.js +0 -1
- package/dist/m/c-VQCEOGKH.js +0 -13
- package/dist/m/c-VYJ7O4RI.js +0 -34
- package/dist/m/c-W7IPVCAA.js +0 -1
- package/dist/m/c-WBGWGOM7.js +0 -1
- package/dist/m/c-WJ5DRBHT.js +0 -72
- package/dist/m/c-X5WC4PX5.js +0 -1
- package/dist/m/c-XCFQEWW6.js +0 -3
- package/dist/m/c-XGH4GS2T.js +0 -1
- package/dist/m/c-XLQ3BDMM.js +0 -1
- package/dist/m/c-ZQXNHZZT.js +0 -72
- package/dist/m/core/conflict-notice-42H4ASLA.js +0 -1
- package/dist/m/core/draft-mode-WSQAT67S.js +0 -1
- package/dist/m/core/save-ESPSQPLV.js +0 -1
- package/dist/m/core/save-core-6SQHOR6W.js +0 -1
- package/dist/m/loader-FBDE2UAB.js +0 -1
- package/dist/m/manifest-1D2F5CA5.js +0 -1
- package/dist/m/manifest-edit-F7CC5CFD.js +0 -1
- package/dist/m/page/editor-OSKOW6RS.js +0 -304
- package/dist/m/plugins/ai-edit-VV4QTINH.js +0 -6
- package/dist/m/plugins/indicator-WVPGMOZ7.js +0 -1
- package/dist/m/plugins/menu-Q4MFFQ6E.js +0 -1
- package/dist/m/plugins/page-OAWUJQEL.js +0 -2
- package/dist/m/plugins/page-view-DZ26ZDDQ.js +0 -1
- package/dist/m/plugins/richclay-PGOOJ4OK.js +0 -517
- package/dist/m/plugins/sortable-266HY6TR.js +0 -1
- package/dist/m/plugins/upgrade-BNZVFHMZ.js +0 -1
- package/dist/m/plugins/visitor-drafts-2AUYKAIJ.js +0 -20
- package/dist/m/plugins/wire-W2EV36KZ.js +0 -1
- package/dist/m/sync/live-sync-XGUPHI3I.js +0 -1
- package/dist/m/ui/index-VGYAKAKI.js +0 -1
- package/dist/page/themes/light-1.css +0 -431
- package/src/page/themes/content.css +0 -70
- package/src/page/themes/light-1.css +0 -431
- package/src/page/themes/light-1.source.css +0 -270
- package/src/page/themes/light-2.css +0 -211
- package/src/page/themes/light-3.css +0 -130
- package/src/page/themes/light-4.css +0 -299
- /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
- /package/dist/m/plugins/{quickcrop-WWF5I422.js.LEGAL.txt → quickcrop-X5MRIBAP.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-PGOOJ4OK.js.LEGAL.txt → richclay-Y2NV44NA.js.LEGAL.txt} +0 -0
package/dist/m/c-QM5LXRDT.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{c as h}from"./c-GBKB5WDL.js";import{w as d}from"./c-LIGQYZ7M.js";import"./c-EXKHPOVC.js";import"./c-L5VFATT6.js";import"./c-6RDOKLN7.js";import"./c-DTMZ3ZHI.js";import"./c-W4JCVLAB.js";import"./c-7K4SCQB7.js";import"./c-WMRJKQ2V.js";import"./c-HCNWJE4A.js";import{m as p}from"./c-QIXT3Q7C.js";import{a as s}from"./c-BYTKL6UX.js";import"./c-LCYPMULG.js";import"./c-3LDGIBMN.js";import"./c-57XDY6HC.js";import"./c-VHNSBD2M.js";var c=`
|
|
2
|
-
.page-tool-block { position: relative; min-height: 48px; border: 1px solid var(--page-rule); border-radius: 8px; padding: 12px; }
|
|
3
|
-
.page-tool-settings { position: absolute; top: 4px; inset-inline-end: 4px; border: 0; border-radius: 5px; background: var(--page-pop-bg); color: var(--page-ink-soft); font: 12px var(--page-font); padding: 5px 8px; cursor: pointer; opacity: 0; }
|
|
4
|
-
.page-tool-block:hover .page-tool-settings, .page-tool-block:focus-within .page-tool-settings { opacity: 1; }
|
|
5
|
-
.page-ai-panel { position: relative; z-index: 5; width: min(520px, 100%); box-sizing: border-box; margin: 12px auto; padding: 14px; border: 1px solid var(--page-pop-line); border-radius: 10px; background: var(--page-pop-bg); color: var(--page-pop-ink); box-shadow: var(--page-pop-shadow); }
|
|
6
|
-
.page-ai-panel textarea { width: 100%; min-height: 88px; box-sizing: border-box; padding: 8px; border: 1px solid var(--page-pop-line); border-radius: 6px; background: var(--page-pop-bg); color: inherit; font: inherit; resize: vertical; }
|
|
7
|
-
.page-ai-actions { display: flex; gap: 8px; margin-top: 8px; }
|
|
8
|
-
.page-ai-actions button { border: 1px solid var(--page-pop-line); border-radius: 6px; background: var(--page-pop-bg); color: inherit; font: inherit; padding: 5px 10px; cursor: pointer; }
|
|
9
|
-
.page-ai-status, [data-tool-note], [data-tool-error] { color: var(--page-danger); font-size: 0.85em; }`,l=class{constructor(t,e,o,{host:n,revise:r=null}){this.node=t,this.view=e,this.getPos=o,this.host=n,this.revise=r,this.showingFallback=!1;let i=e.dom.ownerDocument;this.dom=i.createElement("section"),this.dom.className="page-tool-block",this.dom.dataset.type="tool",this.dom.dataset.id=t.attrs.id??"",this.dom.contentEditable="false",this.content=i.createElement("div"),this.content.className="page-tool-content",this.menu=i.createElement("button"),this.menu.type="button",this.menu.className="page-tool-settings",this.menu.textContent="Tool options",this.menu.setAttribute("aria-label","Tool options"),this.menu.addEventListener("click",()=>this.openMenu()),this.dom.append(this.content,this.menu),this.mount()}mount(){this.instance?.dispose(),this.instance=null,this.showingFallback?this.content.innerHTML=this.node.attrs.artifact?.fallbackHtml??"":this.instance=this.host.mount(this.content,{id:this.node.attrs.id,artifact:this.node.attrs.artifact,rev:this.node.attrs.rev,seed:this.node.attrs.state})}openMenu(){let t=[];this.revise&&t.push({label:"Revise\u2026",run:()=>this.revise(this.node.attrs.id,this.node.attrs.rev)}),t.push({label:this.showingFallback?"Show tool":"Show fallback",run:()=>{this.showingFallback=!this.showingFallback,this.mount()}}),t.push({label:"Delete",run:()=>{let e=this.getPos();e==null||this.view.state.doc.nodeAt(e)?.type!==p.nodes.tool||this.view.dispatch(this.view.state.tr.delete(e,e+this.node.nodeSize))}}),d(this.view,this.menu,t)}update(t){if(t.type!==p.nodes.tool||t.attrs.id!==this.node.attrs.id)return!1;let e=t.attrs.rev!==this.node.attrs.rev||JSON.stringify(t.attrs.artifact)!==JSON.stringify(this.node.attrs.artifact);return this.node=t,e&&this.mount(),!0}stopEvent(t){return this.dom.contains(t.target)}ignoreMutation(){return!0}destroy(){this.instance?.dispose(),this.instance=null}};function x({toolHost:a=null,revise:t=null,view:e=null}={}){let o=a??h({mode:"edit"});return e&&s.set(e,o),{id:"tool",nodeViews:{tool:(n,r,i)=>new l(n,r,i,{host:o,revise:t})},css:c,dispose(){e&&s.get(e)===o&&s.delete(e),a||o.dispose()}}}export{c as TOOL_CSS,l as ToolView,x as createFeature};
|
package/dist/m/c-QYYUVLVG.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as u}from"./c-AYVGD6A6.js";import{f as n}from"./c-RQRMPZXD.js";import{b as h,c as a}from"./c-WN3MXOLT.js";import"./c-N326R2JD.js";import{b as T,g as _}from"./c-BXYSDKAN.js";import{b as p}from"./c-UHUNXWKN.js";import{b}from"./c-W5E5P2TZ.js";import"./c-TWCXBWS3.js";import"./c-VKEDWYDF.js";import{A as v,B as g,J as k,L as E,P as w,q as f,r as m,x as y}from"./c-2ZVOEU4M.js";import"./c-4ASQPRQL.js";import"./c-GQ6F6IDK.js";import"./c-I2SCCUEW.js";import"./c-5VYOWDTI.js";import"./c-GSRLXYWL.js";import"./c-X5LNHET5.js";import"./c-WYFDLITL.js";import"./c-UGHH4MB3.js";import"./c-LA2BW7UY.js";import"./c-XCFQEWW6.js";import"./c-ATKAOH23.js";import"./c-EK63G3CG.js";import"./c-NQJRVJ56.js";import"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import"./c-3O7OBDCM.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-PWJSJEJU.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var x=250,A=2e3,c=["focusin","focusout","selectionchange","clay:sync-applied","clay:workspace-background","clay:workspace-foreground"],S=t=>n.setGeneric(t),o=class{constructor({send:e=S,now:i=()=>Date.now()}){this.send=e,this.now=i,this.others=!1,this.background=!1,this.sent=null,this.lastAt=-1/0,this.timer=null,this.poked=null,this.inflight=!1,this.retry=null,this.stopped=!1,this._onEvent=s=>{s.type==="clay:workspace-background"&&(this.background=!0),s.type==="clay:workspace-foreground"&&(this.background=!1),this.poke()}}start(){this.stopped=!1;for(let e of c)document.addEventListener(e,this._onEvent)}resume(){this.stopped&&(this.start(),this.sent=null,this.schedule())}stop(){this.stopped=!0;for(let e of c)document.removeEventListener(e,this._onEvent);clearTimeout(this.timer),clearTimeout(this.poked),clearTimeout(this.retry),this.timer=null,this.poked=null,this.retry=null}roster(e){let s=(e&&Array.isArray(e.people)?e.people:[]).some(r=>r&&r.you!==!0);s!==this.others&&(this.others=s,this.schedule())}reconnected(){this.sent=null,this.schedule()}wanted(){return!this.others||this.background?null:a(h(document.activeElement))}poke(){this.poked===null&&(this.poked=setTimeout(()=>{this.poked=null,this.schedule()},0))}schedule(){if(this.stopped||this.timer!==null||this.inflight||this.wanted()===this.sent)return;let e=Math.max(0,this.lastAt+x-this.now());this.timer=setTimeout(()=>{this.timer=null,this.flush()},e)}flush(){if(this.inflight)return;let e=this.wanted();if(e===this.sent)return;this.sent=e,this.lastAt=this.now(),this.inflight=!0;let i=s=>{if(this.inflight=!1,!this.stopped){if(s)clearTimeout(this.retry),this.retry=null;else if(this.sent===e){this.sent=void 0,this.retry===null&&(this.retry=setTimeout(()=>{this.retry=null,this.schedule()},A));return}this.schedule()}};Promise.resolve(this.send(e)).then(s=>i(!!s),()=>i(!1))}};function P(t){let e=()=>(t._presenceQuiesced=!0,t._editing?.stop(),n.setGeneric(null),n.releaseTarget(),typeof document<"u"&&document.dispatchEvent(new Event("clay:presence-quiesce")),t.lane==="live"&&t._morphInFlight?{ok:!1,code:"pending-input"}:{ok:!0}),i=()=>{t._presenceQuiesced=!1,t._editing?.resume(),typeof document<"u"&&document.dispatchEvent(new Event("clay:presence-resume"))},s=()=>{t._presenceQuiesced=!1,t.stop(),typeof document<"u"&&document.dispatchEvent(new Event("clay:presence-resume"))};return{id:"clay:sync",order:50,async prepare(r){if(await u(),r?.initial)return{quiesce:e,resume:i,dispose:s};let l=!1;return{quiesce:e,resume:i,enable(){let d=t.currentFile;t.stop(),t.start(d,{lane:"live"}),l=!0},dispose:()=>{t._presenceQuiesced=!1,l&&t.stop(),typeof document<"u"&&document.dispatchEvent(new Event("clay:presence-resume"))}}}}}export{o as EditingSender,k as baselineSettled,m as conflictResolvedBySync,_ as enableAdminInputs,p as enableAdminResources,b as enableContentEditable,T as enableOnClick,v as getLastSavedBytes,f as isSaveConflicted,w as savePageThrottled,E as schedulePaintHeal,g as setLastSavedBaselines,y as setUnsavedChanges,P as syncParticipant};
|
package/dist/m/c-RQRMPZXD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as O}from"./c-WN3MXOLT.js";import{d as A}from"./c-XGH4GS2T.js";var p=1,D=8*1024,B=256,L=1024,Y=128,X=128,G=Object.freeze(["title","description","labels","members","dates","checklist","comment","attachments"]),m=250,E=5e3,ie=15e3;var W=new Set(["kind","id","field"]),$=new Set(["kind","v","epoch","generation","selection"]),q=new Set(["kind","anchor","head"]),F=new Set(["kind","ids"]),J=new Set(["kind","block","row","col"]),V=new Set(["block","rel"]),H=/^[\x20-\x7e]+$/,U=/^[A-Za-z0-9+/]+={0,2}$/,Z=/[\u0000-\u001f\u007f]/,o=e=>({ok:!1,reason:e}),a=e=>({ok:!0,target:e}),g=e=>!!e&&typeof e=="object"&&!Array.isArray(e),d=(e,t)=>{for(let n of Object.keys(e))if(!t.has(n))return!1;return!0};function T(e){let t=0;for(let n of e){let s=n.codePointAt(0);t+=s<128?1:s<2048?2:s<65536?3:4}return t}function u(e){return typeof e=="string"&&e.length>0&&!Z.test(e)&&T(e)<=B}function Q(e){if(typeof e!="string"||!e.length||e.length%4!==0||!U.test(e))return!1;let t=e.endsWith("==")?2:e.endsWith("=")?1:0;return e.length/4*3-t<=L}function _(e){return!g(e)||!d(e,V)||!u(e.block)||!Q(e.rel)?null:{block:e.block,rel:e.rel}}function v(e){if(!g(e))return null;if(e.kind==="text"){if(!d(e,q))return null;let t=_(e.anchor),n=_(e.head);return t&&n?{kind:"text",anchor:t,head:n}:null}if(e.kind==="blocks"){if(!d(e,F)||!Array.isArray(e.ids)||!e.ids.length||e.ids.length>X)return null;for(let t of e.ids)if(!u(t))return null;return{kind:"blocks",ids:[...e.ids]}}return e.kind==="cell"?!d(e,J)||!u(e.block)||!u(e.row)||!u(e.col)?null:{kind:"cell",block:e.block,row:e.row,col:e.col}:null}function w(e){return T(JSON.stringify(e))<=D}function ee(e){if(!d(e,W))return o("key");let t=e.id;if(typeof t!="string"||!t.length||t.length>Y||!H.test(t))return o("id");if(e.field===void 0){let s={kind:"record",id:t};return w(s)?a(s):o("size")}if(typeof e.field!="string"||!G.includes(e.field))return o("field");let n={kind:"record",id:t,field:e.field};return w(n)?a(n):o("size")}function te(e){if(!d(e,$))return o("key");if(e.v!==p)return o("version");if(!u(e.epoch))return o("epoch");if(!Number.isSafeInteger(e.generation)||e.generation<0)return o("generation");let t=v(e.selection);if(!t)return o("selection");let n={kind:"page",v:p,epoch:e.epoch,generation:e.generation,selection:t};return w(n)?a(n):o("size")}function y(e){return e===null?a(null):typeof e=="string"?O.test(e)?a(e):o("path"):g(e)?e.kind==="record"?ee(e):e.kind==="page"?te(e):o("kind"):o("shape")}function R(e){let t=y(e===void 0?null:e);return!t.ok||t.target!==null&&typeof t.target=="object"&&t.target.kind!=="record"?null:t.target}function z(e){return e==null?"":typeof e=="string"?`path:${e}`:`target:${JSON.stringify(e)}`}function C(e,t=null){let n=Array.isArray(e)?e:[],s=[];for(let i of n){if(!g(i))continue;let r=u(i.id)?i.id:null;if(!r)continue;let h=Number.isSafeInteger(i.n)&&i.n>=0?i.n:0,c=t&&t.get(r);if(c&&h<c.n){s.push(c);continue}let f=y(i.editing===void 0?null:i.editing);s.push({id:r,you:i.you===!0,n:h,editing:f.ok?f.target:null})}return s}function I(e){if(!g(e))return null;let t=u(e.id)?e.id:null,n=typeof e.token=="string"&&e.token.length?e.token:null;return t&&n?{id:t,token:n}:null}function N({target:e=null,session:t=null,n=0}){if(e==null||typeof e=="string")return{editing:e??null};let s=t&&typeof t.token=="string"&&t.token.length?t.token:null;return s?!Number.isSafeInteger(n)||n<0?null:{v:p,session:s,n,editing:e}:e.kind==="record"?{editing:e}:null}var ne=()=>Object.freeze({supported:!1,recordAwareness:!1,pageAwareness:!1,people:Object.freeze([]),anonymous:0}),S=class{constructor(){this.supported=!1,this.recordAwareness=!1,this.pageAwareness=!1,this.people=[],this.anonymous=0,this.snapshot=ne(),this.listeners=new Set,this.sessions=new Map,this.session=null,this.target=null,this.heldKey="",this.owner=null,this.explicit=!1,this.connecting=null,this.n=0,this.sentKey=null,this.timer=null,this.timerKind=null,this.inflight=!1,this.inflightOwner=null,this.inflightKey=null}getSnapshot(){return this.snapshot}subscribe(t){if(typeof t!="function")throw new TypeError("clay.presence.subscribe needs a listener function");return this.listeners.add(t),t(this.snapshot),()=>{this.listeners.delete(t)}}setCapabilities({supported:t=!1,recordAwareness:n=!1,pageAwareness:s=!1}={}){let i=t===!0,r=n===!0,h=s===!0;return i===this.supported&&r===this.recordAwareness&&h===this.pageAwareness?this.snapshot:(this.supported=i,this.recordAwareness=r,this.pageAwareness=h,this.emit())}receive(t){let n=t&&typeof t=="object"?t:{},s=Array.isArray(n.people)?n.people:[],i=this.sessions,r=new Map,h=[];for(let l of s){if(!l||typeof l.id!="string"||!l.id)continue;let P=typeof l.name=="string"&&l.name.trim()?l.name.trim():"Someone",x=C(l.sessions,i);for(let K of x)r.set(K.id,K);let b={id:l.id,name:P,you:l.you===!0,editing:R(l.editing),sessions:x};typeof l.canEdit=="boolean"&&(b.canEdit=l.canEdit),h.push(b)}this.people=h,this.sessions=r;let c=n.anonymous;this.anonymous=typeof c=="number"&&Number.isFinite(c)&&c>0?Math.floor(c):0;let f=I(n.selfSession),M=!this.session||!this.session.token;f&&(this.session=f);let j=this.emit();return f&&M&&this.owner&&this.target!==null&&(this.sentKey=null,this.flush()),j}clear(){return this.people=[],this.anonymous=0,this.sessions=new Map,this.session=null,this.cancel(),this.sentKey=null,this.emit()}setTarget(t){let n=y(t===void 0?null:t);return n.ok?(this.explicit=!0,this.hold(n.target)):!1}setGeneric(t){if(this.explicit)return!1;let n=y(t===void 0?null:t);return n.ok?this.hold(n.target):!1}releaseTarget(){return this.explicit?(this.explicit=!1,this.hold(null)):!1}hold(t){let n=z(t);return n===this.heldKey?(this.owner&&this.sentKey!==n&&this.schedule(m),!0):(this.target=t,this.heldKey=n,t===null?(this.cancel(),this.flush(),!0):(this.schedule(m),!0))}attachTransport(t){if(!t||typeof t.send!="function")throw new TypeError("clay.presence.attachTransport needs a transport with a send function");let n=this,s={send:t.send,get active(){return n.owner===s},detach(){if(n.owner!==s)return;let i=n.heldKey===""&&typeof n.inflightKey=="string"&&n.inflightKey!=="";if(n.owner=null,n.session=null,n.n=0,n.sentKey=null,n.inflight=!1,n.inflightOwner=null,n.inflightKey=null,n.cancel(),n.target=null,n.heldKey="",n.explicit=!1,n.clear(),i)try{Promise.resolve(s.send({editing:null})).catch(()=>{})}catch{}}};return this.owner=s,this.session=null,this.n=0,this.sentKey=null,this.inflight=!1,this.inflightOwner=null,this.inflightKey=null,this.cancel(),this.target!==null&&this.flush(),s}connect({send:t=null}={}){return this.connecting?this.connecting:(this.connecting=A().then(n=>{let s=Array.isArray(n?.extensions)?n.extensions:[],i=n?.document&&typeof n.document=="object"?n.document.awareness:null;if(i&&i.transport==="broadcast"&&(s.includes("page-awareness-v1")||s.includes("record-awareness-v1"))){let r=typeof i.scope=="string"&&i.scope?i.scope:null;return import("./c-62HZW5DH.js").then(({localPresence:h})=>{let c=h({scope:r,store:this}),f=c.start();return f?Object.defineProperty(f,"stop",{value:()=>c.stop()}):null})}return typeof t=="function"&&s.includes("presence-editing")?this.attachTransport({send:t}):null}).finally(()=>{this.connecting=null}),this.connecting)}reconnect(){this.session=null,this.n=0,this.sentKey=null,this.cancel(),!(!this.owner||this.target===null)&&this.flush()}emit(){let t=this.people.map(n=>Object.freeze({...n,sessions:Object.freeze(n.sessions)}));this.snapshot=Object.freeze({supported:this.supported,recordAwareness:this.recordAwareness,pageAwareness:this.pageAwareness,people:Object.freeze(t),anonymous:this.anonymous});for(let n of[...this.listeners])n(this.snapshot);return this.snapshot}schedule(t,n="coalesce"){if(this.timer!==null){if(this.timerKind==="coalesce")return;clearTimeout(this.timer)}this.timerKind=n,this.timer=setTimeout(()=>{this.timer=null,this.timerKind=null,this.flush()},t)}cancel(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null,this.timerKind=null)}renew(){this.timer!==null||!this.owner||this.target===null||this.schedule(E,"renew")}flush(){if(this.inflight)return;let t=this.owner;if(!t)return;let n=this.n+1,s=N({target:this.target,session:this.session,n});if(!s)return;this.cancel(),this.sentKey=this.heldKey,this.inflight=!0,this.inflightOwner=t,this.inflightKey=this.sentKey,s.v===p&&(this.n=n);let i=r=>{if(this.inflightOwner===t&&(this.inflight=!1,this.inflightOwner=null,this.inflightKey=null,this.owner===t)){if(this.heldKey!==this.sentKey){this.flush();return}r?this.renew():this.schedule(E,"renew")}};Promise.resolve(t.send(s)).then(r=>i(!!r),()=>i(!1))}},k=new S,ce=k;if(typeof window<"u"&&(window.clay=window.clay||{},!window.clay.presence)){window.clay.presence=k;try{document.dispatchEvent(new CustomEvent("clay:presence-ready",{detail:{presence:k}}))}catch{}}export{p as a,E as b,ie as c,y as d,S as e,k as f,ce as g};
|
package/dist/m/c-SBCBXKOZ.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{b as d}from"./c-Y6F2FORL.js";import{b as m}from"./c-QY7F6EN6.js";import{a as p}from"./c-2YYDMLNZ.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var f=`html:has(> body > .clay-intro) { height: auto !important; overflow-y: auto !important; }
|
|
2
|
-
body:has(> .clay-intro) { height: auto !important; overflow: visible !important; }
|
|
3
|
-
.clay-intro {
|
|
4
|
-
position: relative;
|
|
5
|
-
display: block;
|
|
6
|
-
}
|
|
7
|
-
@media print { .clay-intro { display: none; } }
|
|
8
|
-
`,g=`:host { color: inherit !important; }
|
|
9
|
-
.clay-intro__close {
|
|
10
|
-
position: absolute; top: 10px; right: 10px; z-index: 1;
|
|
11
|
-
display: inline-flex; align-items: center; justify-content: center;
|
|
12
|
-
width: 28px; height: 28px; min-height: 0; margin: 0; padding: 0;
|
|
13
|
-
border: 0; border-radius: 4px; background: none; box-shadow: none;
|
|
14
|
-
color: inherit; opacity: .55; cursor: pointer; line-height: 1;
|
|
15
|
-
}
|
|
16
|
-
.clay-intro__close:hover { opacity: 1; background: none; color: inherit; }
|
|
17
|
-
.clay-intro__close:focus-visible { opacity: 1; outline: 2px solid currentColor; outline-offset: 2px; }
|
|
18
|
-
.clay-intro__close svg { display: block; width: 12px; height: 12px; fill: currentColor; stroke: none; }
|
|
19
|
-
@media (pointer: coarse) { .clay-intro__close { width: 44px; height: 44px; top: 4px; right: 4px; } }
|
|
20
|
-
.clay-intro__close[data-manual] {
|
|
21
|
-
width: auto; height: 36px; padding: 0 14px;
|
|
22
|
-
border-radius: 999px; font-size: 12px; font-weight: 500;
|
|
23
|
-
text-transform: uppercase; letter-spacing: .04em; white-space: nowrap;
|
|
24
|
-
}
|
|
25
|
-
@media (pointer: coarse), (max-width: 680px) { .clay-intro__close[data-manual] { height: 44px; } }
|
|
26
|
-
`;var h={close:"Hide this introduction",hide:"Hide intro",show:"Show intro",label:t=>`About ${t}`},v="a[href], button, input, select, textarea, [tabindex]:not([tabindex='-1'])",C="textarea, select",_=["checkbox","radio","button","submit","reset","file"];function E(t){return t.isContentEditable||t.closest(C)?!0:t.tagName!=="INPUT"?!1:_.indexOf(t.type)<0}function b(){try{return new URLSearchParams(window.location.search).get("intro")==="1"}catch{return!1}}function S(){if(document.getElementById("clay-intro-style"))return;let t=document.createElement("style");t.id="clay-intro-style",t.setAttribute("clay","editor-ui"),t.textContent=f,document.head.appendChild(t)}function y(){let t=[...document.querySelectorAll(v)].find(n=>!n.disabled&&!E(n)&&!n.closest("[clay~='editor-ui']")&&(typeof n.checkVisibility!="function"||n.checkVisibility()));t?t.focus({preventScroll:!0}):document.body.focus({preventScroll:!0})}function w({template:t,appName:n,labelText:r,onClose:i}){S();let o=document.createElement("section");o.className="clay-intro",o.setAttribute("clay","editor-ui"),o.setAttribute("sap-ignore",""),o.setAttribute("aria-label",h.label(n)),o.appendChild(t.content.cloneNode(!0));let e=document.createElement("button");return e.type="button",e.className="clay-intro__close",r?(e.textContent=r,e.setAttribute("data-manual","")):(e.setAttribute("aria-label",h.close),e.innerHTML='<svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor" aria-hidden="true"><path d="M1.4 0 6 4.6 10.6 0 12 1.4 7.4 6 12 10.6 10.6 12 6 7.4 1.4 12 0 10.6 4.6 6 0 1.4z"/></svg>'),e.addEventListener("click",()=>i()),m({name:"intro-close",content:e,css:[g],parent:o}),o.addEventListener("click",c=>{if(c.target.closest("[visitor-intro-dismiss]")){i();return}c.target.closest("[visitor-intro-start]")&&(c.preventDefault(),window.scrollTo({top:window.scrollY+o.getBoundingClientRect().bottom,behavior:"smooth"}))}),o}function H({memory:t,template:n,appName:r,hadDraft:i}){if(!n||!n.content.textContent.trim()&&!n.content.querySelector("img, svg, video, canvas"))return null;if(n.getAttribute("visitor-intro")==="manual"){let o=window.matchMedia&&window.matchMedia("print").matches,e=b()||!(t.get().intro.done||i||p.servedHash||o);return A({memory:t,template:n,appName:r,open:e})}return!b()&&(t.get().intro.done||i||p.servedHash||window.matchMedia&&window.matchMedia("print").matches)?null:T({memory:t,template:n,appName:r})}function T({memory:t,template:n,appName:r}){let i=w({template:n,appName:r,onClose:()=>c("closed")}),o=!1,e=0;function c(l){if(o)return;o=!0,removeEventListener("scroll",u),e&&cancelAnimationFrame(e);let s=i.getBoundingClientRect().height,a=window.scrollY;if(t.get().intro.done=l,t.save(),i.remove(),l==="scrolled"){let x=/hidden|clip/.test(getComputedStyle(document.body).overflowY+getComputedStyle(document.documentElement).overflowY);window.scrollTo(0,x?0:Math.max(0,a-s))}d(),l!=="scrolled"&&y()}function u(){e||(e=requestAnimationFrame(()=>{e=0;let l=i.getBoundingClientRect().bottom,s=scrollY>0&&scrollY+innerHeight>=document.documentElement.scrollHeight-1;(l<1||s&&l<innerHeight)&&c("scrolled")}))}return document.body.prepend(i),d(),addEventListener("scroll",u,{passive:!0}),i}function A({memory:t,template:n,appName:r,open:i}){let o=null,e=s=>{let a=window.clay?.menu;a&&(s?a.addItem({id:"clay.intro",label:h.show,run:l}):a.removeItem("clay.intro"))};function c(){o??=w({template:n,appName:r,labelText:h.hide,onClose:u}),document.body.prepend(o),d(),e(!1)}function u(){t.get().intro.done="closed",t.save(),o.remove(),d(),e(!0),y()}function l(){t.get().intro.done=null,t.save(),c(),window.scrollTo(0,0)}return document.addEventListener("clay:menu-ready",()=>e(!o?.isConnected)),i?c():e(!0),o}export{h as COPY,H as mountIntro};
|
package/dist/m/c-SKF5HL4I.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as G}from"./c-QEN6HZCA.js";import{b as Y}from"./c-3G2DGZUP.js";import{o as _,p as J}from"./c-XCFQEWW6.js";import"./c-ATKAOH23.js";import"./c-EK63G3CG.js";import{a as P,h as z}from"./c-NQJRVJ56.js";import"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import"./c-3O7OBDCM.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-PWJSJEJU.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var Le=Object.defineProperty,je=(e,t)=>{for(var r in t)Le(e,r,{get:t[r],enumerable:!0})},Me=["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"],Ue=new Set(Me),Ie=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Pe=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),X=new Set(["checked","selected","disabled","readOnly","paused"]);function De(e,t){return t==null?X.has(e)?!1:"":X.has(e)?t==="false"?!1:!!t:t}var Be={};je(Be,{EmptyListInsert:()=>R,MAX_RULE_DEPTH:()=>j,MaxRuleDepthExceeded:()=>F,NoRulesTag:()=>Ve,RuleTargetReadOnly:()=>de,RulesParseError:()=>ue,ShapeMismatch:()=>fe,UnknownRulesVersion:()=>ce,WriteNotRoundTripped:()=>We,WriteRefused:()=>He,WriteRejected:()=>Fe});var ue=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},ce=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},j=20,F=class extends Error{constructor(e){super(`rule depth exceeded ${j} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},fe=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},R=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}},de=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},He=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function qe(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var We=class extends Error{constructor(e){super(`write did not round-trip at "${qe(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},Ve=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},Fe=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 pe(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 he(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||!ze(e,l+1)?null:e.slice(0,l).trim()||null}function ze(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 _e=/^--[A-Za-z0-9_-]+$/;function me(e){return typeof e=="string"&&_e.test(e)}function ye(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 Je(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 ge(e){e=Je(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 we(e,t){if(e==null)return null;let r=null;for(let l of ye(String(e))){let n=ge(l);!n||n.name!==t||(!r||n.important||!r.important)&&(r=n)}return r?r.value:null}function Ye(e,t,r){let l=e==null?"":String(e),n=r==null||r==="",o=ye(l),i=o.map(ge),a=i.some(c=>c&&c.name===t&&c.important),s=[],u=!1;o.forEach((c,d)=>{let m=i[d];if(!m||m.name!==t){s.push(c);return}if(n||u)return;let h=/^\s*/.exec(c)[0];s.push(`${h}${t}: ${r}${a?" !important":""}`),u=!0});let f=s.join(";");if(!n&&!u){let c=f.trimEnd();f=c===""?`${t}: ${r}`:`${c}${c.endsWith(";")?" ":"; "}${t}: ${r}`}return f.trim()===""?null:f}function Ge(e,t,r,l){let n=e.attr(t,"style");if((we(n,r)??"")===l)return;let o=Ye(n,r,l);o==null?e.removeAttr(t,"style"):e.attr(t,"style",o)}function ve(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 D(e,t,r,{depth:0,path:[]},l)}function D(e,t,r,l,n){if(l.depth>j)throw new F(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 be(n,l,a),a.map((s,u)=>D(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]=D(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 be(n,l,s),s.map(u=>e.text(u))}if(r.startsWith("@"))return K(e,t,r.slice(1));let o=pe(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:K(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 be(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 K(e,t,r){if(me(r))return we(e.attr(t,"style"),r);if(Ue.has(r)){let n=e.prop(t,r);return n==null?null:String(n)}return e.attr(t,r)??null}function Ke(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 y=0;y<n;y++){let g=l[y];!(g>=0&&g<o)||p.has(g)||(i[y]=g,p.add(g))}}if(n===0||o===0)return i;let a=e.map(p=>Z(p,r)),s=t.map(p=>Z(p,r)),u=new Array(o).fill(!1);for(let p of i)p>=0&&(u[p]=!0);let f=new Map;s.forEach((p,y)=>{u[y]||f.set(p,f.has(p)?-1:y)});let c=new Map;a.forEach((p,y)=>{i[y]>=0||c.set(p,(c.get(p)||0)+1)}),a.forEach((p,y)=>{if(i[y]>=0||c.get(p)!==1)return;let g=f.get(p);g===void 0||g===-1||u[g]||(i[y]=g,u[g]=!0)});let d=[];for(let p=0;p<n;p++)i[p]<0&&d.push(p);let m=[];for(let p=0;p<o;p++)u[p]||m.push(p);if(d.length===0||m.length===0)return i;let h=n*o+1,w=Ze(e,t,r),v=(p,y)=>w(p,y)*h+Math.abs(p-y);for(let[p,y]of Qe(d,m,v))i[p]=y;return i}var xe=e=>typeof e=="object"&&e!==null;function Z(e,t){if(!xe(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 Ze(e,t,r){if(!xe(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],f=i[s],c=0;for(let d=0;d<l.length;d++)u[d]!==f[d]&&c++;return c}}function Qe(e,t,r){return e.length<=t.length?Q(e,t,r,!1):Q(t,e,(l,n)=>r(n,l),!0)}function Q(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 d=o-1;d>=0;d--){let m=r(e[c],t[d])+i[c+1][d+1],h=i[c][d+1];m<=h?(i[c][d]=m,a[c][d]=1):i[c][d]=h}let s=[],u=0,f=0;for(;u<n&&f<o;)a[u][f]&&(s.push(l?[t[f],e[u]]:[e[u],t[f]]),u++),f++;return s}function Ae(e,t,r,l,n,o,i,a={}){let s=e.find(t,r,a);if(n.length===0){s.forEach(b=>e.remove(b)),B(a,"onRowsApplied",o.path,[]);return}let u=n.length>s.length,f=s[0]||null;if(u&&!f&&(f=nt(e,t,r,a),!f))throw new R(o.path);let c=s.map(b=>rt(e,b,l,a)),d=null;if(u&&f){d=e.clone(f),a.templateAttr&&e.removeAttr(d,a.templateAttr);let b=e.stripIds(d);b>0&&console.warn(`[hyper-html-api] stripped ${b} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let m=Ke(n,c,l,et(e,s,n,o,a)),h=s.length>0?e.parent(s[0]):at(e,t,r,f,o,a),w=s.length>0?Te(e,h,s[0]):0,v=ct(e,s),p=new Set,y=[],g=n.map((b,E)=>{let N=m[E];if(N>=0)return p.add(N),y.push(!1),s[N];y.push(!0);let T=e.clone(d);return e.stripIds(T),T});s.forEach((b,E)=>{p.has(E)||e.remove(b)}),v?ut(e,h,w,g,y):ft(e,g,y,h,w),tt(e,g,l,n,o,i,a),B(a,"onRowsApplied",o.path,g)}function B(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 et(e,t,r,l,n){let o=B(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,f)=>[e.identity(u),f]));for(let u=0;u<r.length;u++){if(!o[u])continue;let f=s.get(e.identity(o[u]));f===void 0||a.has(f)||(i[u]=f,a.add(f))}return i}function tt(e,t,r,l,n,o,i){t.forEach((a,s)=>{if(r===null){let u=l[s],f=u==null?"":String(u);e.text(a)!==f&&e.text(a,f)}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 rt(e,t,r,l){return r===null?e.text(t):ve(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 nt(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?lt(i):0,s=he(i),u=t;for(;u;){let f=e.find(u,i,{includeRulesTag:!1,templateAttr:null});for(let c of f)if(e.attr(c,l.templateAttr)!=null&&!(n&&!it(e,t,c,a))&&!(s&&!e.matches(e.parent(c),s)))return c;u=e.parent(u)}return null}function lt(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(!ot(e,n))return null;for(;n+1<e.length&&/\s/.test(e[n+1]);)n++}}}return l}function ot(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 ee(l)||ee(n)}function ee(e){return e===">"||e==="+"||e==="~"}function it(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(te(e,n));return te(e,t).every(s=>a.has(s))}function te(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function at(e,t,r,l,n,o){let i=e.parent(l);if(i&&st(e,t,i)&&!ne(e,i,o))return i;let a=he(r);if(!a)throw new R(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=>!ne(e,u,o));if(s.length===0)throw new R(n.path,`no container matching "${a}" inside this context to hold the new rows`);if(s.length>1)throw new R(n.path,`"${a}" matches ${s.length} containers inside this context, so the new rows have no single destination`);return s[0]}function st(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 re=["no-data","editor-ui"];function ne(e,t,r){let l=t;for(;l;){if(r.templateAttr&&e.attr(l,r.templateAttr)!=null||re.some(o=>e.attr(l,o)!=null))return!0;let n=e.attr(l,"clay");if(n&&n.split(/\s+/).some(o=>re.includes(o)))return!0;l=e.parent(l)}return!1}function ut(e,t,r,l,n){let o=e.children(t),i=o.map(s=>e.identity(s)),a=!1;l.forEach((s,u)=>{let f=e.identity(s),c=r+u;if(i[c]===f)return;if(!n[u]){let m=i.indexOf(f);m!==-1&&(i.splice(m,1),o.splice(m,1))}let d=Math.min(c,o.length);d<o.length?e.insertBefore(o[d],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(d,0,f),o.splice(d,0,s)})}function ct(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 ft(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 dt(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(H(r,l,[],o),o.length)throw new fe(o);L(e,t,r,l,{depth:0,path:[]},n)}function L(e,t,r,l,n,o={}){if(n.depth>j)throw new F(n.path);if(l===void 0)return t;if(typeof r=="string")return pt(e,t,r,l,n,o);if(Array.isArray(r)){let[i,a]=r;return Ae(e,t,i,a,l,n,L,o),t}if(typeof r=="object"&&r!==null){for(let[i,a]of Object.entries(r)){let s=L(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 pt(e,t,r,l,n,o){if(r.endsWith("[]")){let s=r.slice(0,-2);return Ae(e,t,s,null,l,n,L,o),t}if(r.startsWith("@"))return oe(e,t,r.slice(1),l);let i=pe(r);if(i!==-1){let s=r.slice(0,i),u=r.slice(i+1),f=s?e.find(t,s,o):[t];return f.length===0||oe(e,f[0],u,l),t}if(r===".")return le(e,t,l),t;let a=e.find(t,r,o);return a.length===0||le(e,a[0],l),t}function le(e,t,r){let l=r==null?"":String(r);e.text(t)!==l&&e.text(t,l)}function ht(e,t,r,l){if(e.styleVar){e.styleVar(t,r,l);return}Ge(e,t,r,l)}function oe(e,t,r,l){if(me(r))return ht(e,t,r,l==null?"":String(l).trim()),t;if(Pe.has(r)){let n=e.prop(t,r);if(n===l||n!=null&&l!=null&&String(n)===String(l))return t;throw new de(r)}if(r==="outerHTML"){let n=l==null?"":String(l);return e.replaceWith(t,n)}if(Ie.has(r)){let n=De(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 H(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:S([...r,o]),expected:"scalar",got:k(n)})}):l.push({path:S(r),expected:"array",got:k(t)});return}t!==null&&typeof t=="object"&&l.push({path:S(r),expected:"scalar",got:k(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){l.push({path:S(r),expected:"array",got:k(t)});return}let n=e[1];t.forEach((o,i)=>H(n,o,[...r,i],l));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){l.push({path:S(r),expected:"object",got:k(t)});return}for(let[n,o]of Object.entries(e))H(o,t[n],[...r,n],l)}}}function k(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function S(e){return e.join(".")}function mt(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,d=i+1;for(;d<n.length&&/\s/.test(n[d]);)d++;if(d<n.length&&/[a-zA-Z_]/.test(n[d])&&(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,d=i+1;for(;d<n.length&&n[d]!==c;)n[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:n.substring(i+1,d),quoted:!0,sourceQuote:c}),i=d+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"],d=!1;for(let m of c){let h=m.substring(1);if(n.substring(s+1,s+1+h.length)===h){d=!0,s+=h.length;break}}if(!d)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 f=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?f=t.NUMBER:u==="true"||u==="false"||u==="null"?f=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(f=t.SELECTOR),o.push({type:f,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,f)=>f.length%2===0?f+'\\"':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 ue("Invalid extraction rules syntax: "+n.message,n)}}var yt="1";var ir=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"]})}),ar=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),gt=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);var sr=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",...gt],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 wt(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function vt(e){return e?(e.nodeType===9||e.nodeType,e):null}function ie(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 bt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function xt(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 At={semanticExclude:!0,find(e,t,r={}){let l=vt(e);if(!l||!l.querySelectorAll)return[];let n=Array.from(l.querySelectorAll(t));r.includeRulesTag||(n=n.filter(a=>!wt(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,bt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),ie(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),ie(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 xt(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 C=At;var Tt="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 ae(e){if(typeof e!="string")return null;let t=e.trim().replace(/^v/,"");return/^\d+(\.\d+)*$/.test(t)?t.split(".").map(Number):null}function Ot(e,t){let r=ae(e),l=ae(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 Et(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Nt(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function kt({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||(d=>fetch(d)),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=`${Tt}${s.href}:${a||"none"}`,f,c=e?null:Et(u);if(c&&typeof c.checkedAt=="number"&&n-c.checkedAt<o)f=c.sourceVersion;else{try{let d=await l(s.href);if(!d.ok)throw new Error(`HTTP ${d.status}`);let m=await d.text(),h=new DOMParser().parseFromString(m,"text/html");f=x(h,"hyper-version")}catch{f=null}Nt(u,{checkedAt:n,sourceVersion:f})}return f?{available:Ot(f,a||"0.0.0"),currentVersion:a,sourceVersion:f,sourceUrl:s.href}:null}var St="script[data-rules-name]";function Rt(e){return typeof e=="string"?e.trim().replace(/\s+/g," "):""}function Oe(e,t){let r=e.find(t,St,{includeRulesTag:!0}),l=new Set,n=[];for(let o of r){let i=Rt(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!==yt)throw new ce(a);l.add(i),n.push({name:i,rules:mt(e.text(o))})}return n}function Ee(e,t){let r={};for(let{name:l,rules:n}of Oe(e,t))r[l]=ve(e,t,n);return r}function $t(e){let t=e||document,r=t.nodeType===9?t:t.ownerDocument||t;return{dataByName:Ee(C,t),version:x(r,"hyper-version")}}var se=class extends Error{constructor(e,t){super(`could not fetch upgrade source: ${e}`),this.name="UpgradeSourceUnreachable",this.sourceUrl=e,this.cause=t}},Ct=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}},q=class extends Error{constructor(e,t){super(e),this.name="UpgradeTransformInvalid",this.cause=t}},Lt=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 Mt(e,t){let r=e.find(t,`script[type="${jt}"]`);if(r.length===0)return null;if(r.length>1)throw new Lt(r.length);return e.text(r[0])||null}var Ut=new Function("url","return import(url)");async function It(e){let t=new Blob([e],{type:"text/javascript"}),r=URL.createObjectURL(t),l;try{l=await Ut(r)}catch(n){throw new q(`transform failed to load: ${n&&n.message?n.message:n}`,n)}finally{URL.revokeObjectURL(r)}if(typeof l.default!="function")throw new q("transform must `export default` a function");return l.default}function Ne(e,t){let r={carriedOver:0,discarded:0,listItems:0},l=W(t,e,r);return V(t,e,r),{data:l,summary:r}}function W(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=>W(l,n,r))):void 0}if(typeof e=="object"&&e!==null){let l={};for(let[n,o]of Object.entries(e)){let i=W(o,t?.[n],r);i!==void 0&&(l[n]=i)}return l}}function V(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)?V(e[n],t[n],r):r.discarded+=$(t[n]);return}if(Array.isArray(e)&&Array.isArray(t)){let l=e[1];t.forEach(n=>V(l,n,r));return}typeof e=="string"&&!e.endsWith("[]")&&typeof t=="object"&&t!==null&&(r.discarded+=$(t))}}function $(e){return e==null?0:Array.isArray(e)?e.reduce((t,r)=>t+$(r),0):typeof e=="object"?Object.values(e).reduce((t,r)=>t+$(r),0):1}function Pt(e,t,r){let l=Oe(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:f}=Ne(r[a],s);dt(e,t,s,u),o[a]=f,n.carriedOver+=f.carriedOver,n.discarded+=f.discarded,n.listItems+=f.listItems}for(let a of Object.keys(r))i.has(a)||(n.discarded+=$(r[a]));return{totals:n,byName:o,rulesTagCount:l.length}}async function Dt({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||Ee(C,l);let a;try{a=await o(i.href)}catch(p){throw new se(i.href,p)}if(!a.ok)throw new se(i.href,new Error(`HTTP ${a.status}`));let s=await a.text(),u=new DOMParser().parseFromString(s,"text/html"),f=x(u,"hyper-version"),c=t,d=!1,m=Mt(C,u);if(m){let p=await(await It(m))(c,{fromVersion:r,toVersion:f});if(!p||typeof p!="object"||Array.isArray(p))throw new q("transform must return a plain object map of { rulesName: data }");c=p,d=!0}let{totals:h,byName:w,rulesTagCount:v}=Pt(C,u,c);if(v===0&&Object.keys(c).length>0)throw new Ct(i.href);return{html:Ht(u),fromVersion:r,toVersion:f,summary:{transformApplied:d,totals:h,byName:w}}}function Bt(e){for(let t of e.querySelectorAll("input")){let r=(t.getAttribute("type")||"").toLowerCase();r!=="file"&&(r==="checkbox"||r==="radio"?t.checked!==t.hasAttribute("checked")&&t.toggleAttribute("checked",t.checked):t.value!==(t.getAttribute("value")??"")&&t.setAttribute("value",t.value))}for(let t of e.querySelectorAll("textarea"))t.value!==t.textContent&&(t.textContent=t.value);for(let t of e.querySelectorAll("select")){let r=[...t.options];if(!t.multiple){let l=r.findIndex(n=>n.hasAttribute("selected"));if(t.selectedIndex===l||l===-1&&t.selectedIndex<=0)continue}for(let l of r)l.selected!==l.hasAttribute("selected")&&l.toggleAttribute("selected",l.selected)}}function Ht(e){return Bt(e),`<!DOCTYPE ${e.doctype&&e.doctype.name?e.doctype.name:"html"}>
|
|
2
|
-
`+e.documentElement.outerHTML}var M={checkForUpdate:kt,run:Dt,extractAll:$t,shapeMatch:Ne};var A="The new version could not be downloaded. Nothing was changed.",U="The upgrade could not be saved. Nothing was changed.",Re="This document changed somewhere else. Reload and try again.",qt="Something else is changing this document. Nothing was changed.",Wt="This document does not say which parts are its data, so it cannot be upgraded safely. Nothing was changed.",Vt="The new version has no place for this page's content. Nothing was changed.";async function Ft(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 ke(e,t){try{let r=await e(t,{credentials:"omit"});return!r||!r.ok?null:r}catch{return null}}function zt(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 _t(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 I(e,t="",r=[]){if(Array.isArray(e)){for(let l of e)I(l,`${t}[]`,r);return r}if(e&&typeof e=="object"){for(let[l,n]of Object.entries(e))I(n,t?`${t}.${l}`:l,r);return r}return e!=null&&r.push({path:t,value:e}),r}function Jt(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 Yt(e,t,r={}){let l=new Map;for(let{path:o,value:i}of I(t)){let a=`${o}\0${String(i)}`;l.set(a,(l.get(a)||0)+1)}let n=[];for(let{path:o,value:i}of I(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"&&Jt(t,s).some(u=>u===i)||n.push({path:o,value:i})}return n}async function Gt(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 Xt(e){let r=new DOMParser().parseFromString(e,"text/html").querySelector('script[type="text/hyper-upgrade"]');if(!r)return{};let l=await Gt(r.textContent||"");return l&&l.renames&&typeof l.renames=="object"?l.renames:{}}var Se='script[clay~="live"][merge]';function Kt(e,t,r){let l=t.querySelector("article[data-page]");if(!l)return null;l.replaceWith(t.importNode(r,!0));for(let o of e.querySelectorAll(Se)){let i=o.getAttribute("merge");if(i!=="page"&&!i.startsWith("page."))continue;let a=t.importNode(o,!0),s=[...t.querySelectorAll(Se)].find(u=>u.getAttribute("merge")===i);s?s.replaceWith(a):t.querySelector("article[data-page]").after(a)}return(t.doctype?`<!DOCTYPE ${t.doctype.name}>
|
|
3
|
-
`:"")+t.documentElement.outerHTML}async function $e(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:A};let o=zt(e,t,r);if(!o)return{ok:!1,code:"unavailable",message:A};let i=await ke(l,o);if(!i)return{ok:!1,code:"unavailable",message:A};let a;try{a=await i.json()}catch{return{ok:!1,code:"unavailable",message:A}}if(!a||typeof a!="object")return{ok:!1,code:"unavailable",message:A};let s=_t(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"||!Y(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:A};let f;try{f=new URL(a.html,o).href}catch{return{ok:!1,code:"unavailable",message:A}}if(!/^https:\/\/hyperclay\.com\/templates\//.test(f))return{ok:!1,code:"source",message:"This upgrade is not from the template host."};let c=await ke(l,f);if(!c)return{ok:!1,code:"unavailable",message:A};let d;try{d=await c.text()}catch{return{ok:!1,code:"unavailable",message:A}}let m=await Ft(new TextEncoder().encode(d));if(!m||m!==String(a.sha256||"").toLowerCase())return{ok:!1,code:"unavailable",message:A};let h,w;try{w=await Xt(d),h=await M.run({sourceUrl:f,doc:t,loc:r,fromVersion:u,fetchFn:async()=>({ok:!0,status:200,text:async()=>d})})}catch(T){return{ok:!1,code:"transform",message:T&&T.message?T.message:A}}let v=new DOMParser().parseFromString(h.html,"text/html"),p=M.extractAll(t).dataByName,y=t.querySelector("article[data-page]");if(!y&&!Object.keys(p||{}).length)return{ok:!1,code:"undeclared",message:Wt};let g=h.html;if(y){let T=Kt(t,v,y);if(!T)return{ok:!1,code:"lost",lost:[],discarded:0,message:Vt};g=T}let b=M.extractAll(v).dataByName,E=Yt(p,b,w),N=h.summary&&h.summary.totals&&h.summary.totals.discarded||0;return E.length||N>0?{ok:!1,code:"lost",lost:E,discarded:N,message:Zt(E,N)}:{ok:!0,html:g,version:h.toVersion||a.version}}function Zt(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 Qt(e){let t=e&&e.state;if(t==="conflict")return{ok:!1,code:"conflict",message:Re};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 Ce(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=_("upgrade");if(!u)return{ok:!1,code:"busy",message:qt};try{return await er(e,{doc:t,loc:r,fetchFn:l,clay:n,reload:o,replace:i,etag:a})}finally{J(u)}}async function er(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 h;try{h=await s.save.flush()}catch(w){return Qt(w)}if(h&&typeof h.state=="string"&&h.state!=="saved"&&h.state!=="clean"&&h.state!=="view")return{ok:!1,code:"flush",state:h.state,message:"This document has changes that could not be saved. Nothing was changed."}}if(a===void 0&&!P())try{await z()}catch{}let u=a!==void 0?a:P(),f=t;if(s.isEditMode&&typeof s.getHTML=="function")try{f=new DOMParser().parseFromString(await s.getHTML(),"text/html")}catch{return{ok:!1,code:"failed",message:U}}else f=new DOMParser().parseFromString(`<!DOCTYPE html>
|
|
4
|
-
`+t.documentElement.outerHTML,"text/html");let c=await $e(e,{doc:f,loc:r,fetchFn:l});if(!c.ok)return c;let d=typeof i=="function"?i:s.save&&typeof s.save.replace=="function"?s.save.replace:G,m;try{m=await d(c.html,{etag:u})}catch{return{ok:!1,code:"failed",message:U}}if(!m||!m.ok){let h=m&&m.code?m.code:"failed";return h==="conflict"?{ok:!1,code:h,message:Re}:h==="forbidden"?{ok:!1,code:h,message:"You are not allowed to save this document."}:h==="unsupported"?{ok:!1,code:h,message:"This host cannot save the upgrade."}:{ok:!1,code:h,message:U}}return o(),{ok:!0,html:c.html,version:c.version,etag:m.etag}}function O(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 tr(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`}async function rr(e,{loc:t=location,fetchFn:r=(l,n)=>fetch(l,n)}={}){if(typeof e.getHTML=="function")return e.getHTML();let l=await r(t.href,{cache:"no-store",credentials:"same-origin"});if(!l.ok)throw new Error(`copy fetch ${l.status}`);return l.text()}async function nr({clay:e,doc:t=document,loc:r=location,fetchFn:l}={}){if(typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;try{let n=await rr(e,{loc:r,fetchFn:l});if(typeof n=="string"&&/clay|data-paid-only/i.test(n)){let{stripCopyContent:a}=await import("./c-C4IIQZGJ.js");n=a(n)}let o=URL.createObjectURL(new Blob([n],{type:"text/html"})),i=t.createElement("a");return i.setAttribute("clay","editor-ui"),i.href=o,i.download=tr(r),i.style.setProperty("display","none","important"),t.body.appendChild(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(o),4e4),!0}catch{return!1}}async function lr(e){let t=e&&e.host;if(!t||!t.versions)return!1;try{return await t.versions===!0}catch{return!1}}async function or(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 lr(l),o=O(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=O(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=O(r,"h2",{text:`Upgrade to version ${e.version}`,style:"margin:0 0 8px;font-size:16px;"}),s=O(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=O(r,"p",{role:"status",style:"margin:0 0 12px;min-height:1.5em;"}),f=O(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;",d=O(r,"button",{type:"button",text:"Cancel",style:c}),m=n?null:O(r,"button",{type:"button",text:"Download a copy first",style:c}),h=O(r,"button",{type:"button",text:"Upgrade",style:`${c}border-color:transparent;background:#2f6fed;color:#fff;font-weight:600;`});n||(h.disabled=!0),m&&f.append(m),f.append(d,h),i.append(a,s,u,f),o.append(i),r.body.appendChild(o);let w=!1,v=()=>{w||(w=!0,o.remove())};m&&m.addEventListener("click",async()=>{await nr({clay:l,doc:r,loc:t.loc,fetchFn:t.fetchFn})?(h.disabled=!1,u.textContent="Your copy was downloaded."):u.textContent="The copy could not be downloaded. Nothing was changed."}),d.addEventListener("click",v);let p,y=new Promise(g=>{p=g});return h.addEventListener("click",async()=>{h.disabled=!0,m&&(m.disabled=!0),u.textContent=`Upgrading to version ${e.version}\u2026`;let g=await Ce(e,t);if(g.ok){v(),p(g);return}u.textContent=g.message||U,h.disabled=!1,m&&(m.disabled=!1),p(g)}),{root:o,title:a,body:s,status:u,cancel:d,download:m,upgrade:h,close:v,done:y}}export{Ce as apply,$e as prepare,or as start};
|
package/dist/m/c-SRPC3VBE.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ae}from"./c-LKSL4AUJ.js";import{i as ne,j as re}from"./c-LIGQYZ7M.js";import"./c-EXKHPOVC.js";import"./c-L5VFATT6.js";import"./c-6RDOKLN7.js";import"./c-DTMZ3ZHI.js";import"./c-W4JCVLAB.js";import"./c-7K4SCQB7.js";import"./c-WMRJKQ2V.js";import{B as se}from"./c-HCNWJE4A.js";import{A as J,H as D,I as Z,J as N,O as ee,b as Y,j as U,k as G,m as K,na as te,ra as oe,x as Q}from"./c-QIXT3Q7C.js";import"./c-LCYPMULG.js";import"./c-57XDY6HC.js";import{a as W}from"./c-I2SCCUEW.js";import"./c-EK63G3CG.js";import"./c-VHNSBD2M.js";var be="iframe, frame, frameset, object, embed, applet, meta, base, link, form, style, animate, set, animateMotion, animateTransform, portal",ye=/^(srcdoc|data|formaction|codebase|archive|ping|background|poster|lowsrc|dynsrc)$/i,we=/^\s*(javascript|vbscript|data):/i;function xe(o){let l=document.createElement("template");l.innerHTML=o;for(let a of l.content.querySelectorAll(be))a.remove();for(let a of l.content.querySelectorAll("*"))for(let{name:i,value:h}of[...a.attributes])(ye.test(i)||we.test(h.replace(/[\u0000-\u0020]/g,"")))&&a.removeAttribute(i);return l.innerHTML}var F=2*1024*1024,ce=32,le=1e4,P=class extends Error{constructor(l,a){super(a),this.name="MarkdownImportError",this.code=l}},pe="\uFFFC",de={type:"hard_break"},ue=new Set(["paragraph","heading","list","blockquote","code","table","hr","html","def","space"]),Me=new TextEncoder,ie=K.marks,fe=o=>o.slice().sort((l,a)=>l.type.rank-a.type.rank);function j(o,l,a){return o.some(i=>i.type===ie[l])?o:fe([...o,ie[l].create(a)])}function Se(o,{images:l=!0,refused:a=[],unsupported:i=[]}={}){let h=[],k="",z=[],S=()=>{k&&h.push({c:k,m:z}),k="",z=[]},O=(A,g)=>{let p=String(A??"");if(!p)return;let C=Q(fe(g));k+=p;for(let b=0;b<p.length;b++)z.push(C)},$=A=>{k+=pe,z.push("@"+JSON.stringify(A))},E=(A,g)=>{for(let p of A??[]){let C=p?.type;if(typeof C!="string")throw new P("malformed-input","A Markdown token has no type.");switch(C){case"text":Array.isArray(p.tokens)?E(p.tokens.filter(b=>typeof b?.type=="string"&&!ue.has(b.type)),g):O(p.text,g);break;case"escape":O(p.text,g);break;case"strong":E(p.tokens,j(g,"strong"));break;case"em":E(p.tokens,j(g,"em"));break;case"del":case"strike":E(p.tokens,j(g,"strike"));break;case"codespan":O(p.text,j(g,"code"));break;case"br":$(de);break;case"link":{let b=U(p.href);b?E(p.tokens,j(g,"link",{href:b})):(a.push({type:"link",href:String(p.href??"")}),E(p.tokens,g));break}case"image":{let b={src:String(p.href??""),alt:String(p.text??""),title:p.title??""};if(!l){O(b.alt,g);break}S(),h.push({image:b});break}case"html":O(p.text??p.raw,g);break;case"checkbox":break;default:i.push({type:C,text:String(p.raw??p.text??"")}),O(p.raw??p.text,g);break}}};return E(o,[]),S(),{parts:h}}function me(o){if(!Array.isArray(o))throw new P("malformed-input","Markdown import needs the lexer's token list.");let l=0;for(let e of o){if(!e||typeof e!="object"||typeof e.type!="string")throw new P("malformed-input","A Markdown token has no type.");l+=Me.encode(String(e.raw??"")).length}if(l>F)throw new P("input-too-large",`Markdown import is limited to ${F} bytes; this file is ${l}.`);let a=[],i=[],h=[],k=new Set,z=e=>{let t=N(e);for(;k.has(t);)t=N(e);return k.add(t),t},S=e=>{if(a.length+1>le)throw new P("too-many-blocks",`Markdown import is limited to ${le} blocks.`);a.push(e)},O=e=>{let t=e.depth+1;if(t>ce)throw new P("nesting-too-deep",`Markdown import is limited to ${ce} levels of nesting.`);return t},$=(e,t,{c:n,m:u})=>{let r={t:e,...t,c:n};return u.some(Boolean)&&(r.m=J(u)),r},E=e=>{let t=G(e.src);return t?{t:"image",src:t,...e.alt?{alt:e.alt}:{},...e.title?{caption:e.title}:{}}:(h.push({type:"image",href:e.src}),e.alt?$("paragraph",{},{c:e.alt,m:[]}):null)},A=(e,t,n)=>{for(let u of n.parts){if(!u.image){S($(e,t,u));continue}let r=E(u.image);r&&S(r)}},g=(e,t)=>A(t.quote?"quote":"paragraph",{},e),p=(e,t={})=>Se(e,{refused:h,unsupported:i,...t}),C=e=>{let t=String(e.raw??e.text??"");i.push({type:e.type,text:t}),S({t:"code_block",lang:"markdown",c:t})},b=(e,t)=>{for(let n of e??[]){let u=n?.type;if(typeof u!="string")throw new P("malformed-input","A Markdown token has no type.");switch(u){case"space":break;case"heading":{let r=Math.min(6,Math.max(1,Number.parseInt(n.depth,10)||1));A("heading",r===2?{}:{level:r},p(n.tokens,{images:!1}));break}case"paragraph":case"text":g(p(n.tokens??[n]),t);break;case"hr":S({t:"divider"});break;case"code":S({t:"code_block",...n.lang?{lang:String(n.lang)}:{},c:String(n.text??"")});break;case"html":{let r=String(n.text??n.raw??"");i.push({type:"HTML block cleaned",text:r}),S({t:"preserved",html:xe(oe(document).fallback(r))});break}case"blockquote":{let r=O(t);b(n.tokens,{...t,depth:r,quote:!0});break}case"list":{let r=O(t),s=t.indent??0,f=n.ordered?"ordered":"bullet";for(let c of n.items??[]){let m={c:"",m:[]},d=[];for(let y of c?.tokens??[]){let M=y?.type;if(!(M==="checkbox"||M==="space"))if(M==="text"||M==="paragraph"){m.c&&(m={c:m.c+pe,m:[...m.m,"@"+JSON.stringify(de)]});let v=M==="paragraph"?y.tokens??[]:[y];for(let x of p(v,{images:!1}).parts)m={c:m.c+x.c,m:[...m.m,...x.m]};d.push(...(y.tokens??[]).filter(x=>typeof x?.type=="string"&&ue.has(x.type)&&x.type!=="space"))}else d.push(y)}let w=c?.task?"check":f,B={...w==="bullet"?{}:{kind:w},...s?{indent:s}:{},...c?.task&&c.checked?{checked:!0}:{}};S($("list_item",B,m)),d.length&&b(d,{...t,depth:r,indent:s+1,quote:!1})}break}case"table":{let r=n.header??[];if(!r.length){C(n);break}let s=y=>p(y,{images:!1}).parts[0]??{c:"",m:[]},f=r.map(()=>z("c")),c=D(null,null,r.length),m=Object.fromEntries(f.map((y,M)=>[y,{pos:c[M],name:s(r[M]?.tokens).c}])),d=n.rows?.length?n.rows:[[]],w=D(null,null,d.length),B=d.map(y=>Object.fromEntries(f.map((M,v)=>{let x=s(y?.[v]?.tokens);return[M,x.m.some(Boolean)?{c:x.c,m:J(x.m)}:x.c]})));S({t:"table",cols:m,rows:Object.fromEntries(B.map((y,M)=>[z("r"),{pos:w[M],cells:y}]))});break}default:C(n);break}}};b(o,{depth:0,indent:0,quote:!1});let _=D(null,null,a.length),R={};return a.forEach((e,t)=>{R[z("b")]={...e,pos:_[t]}}),{blocks:R,unsupported:i,refused:h}}var Ee="markdown-import-preview",Te=new TextEncoder,Ae=o=>{let l=String(o??"").replace(/\s+/g," ").trim();return l.length>60?`${l.slice(0,60)}\u2026`:l},Oe=o=>typeof o.text=="function"?o.text():new Promise((l,a)=>{let i=new FileReader;i.onload=()=>l(i.result),i.onerror=()=>a(i.error),i.readAsText(o)}),ze=()=>globalThis.clay?.assets?.load?.("marked")??import("./c-XN6MBKI6.js"),$e=(o,l)=>{let a=-1;return o.forEach((i,h,k)=>{a<0&&i.attrs.id===l&&(a=k)}),a};function Ce(o){let l=o.selection.$from;if(l.depth>=1)return{node:l.node(1),at:l.before(1),textblock:l.parent.isTextblock};let a=Math.min(l.index(0),Math.max(0,o.doc.childCount-1)),i=0;for(let h=0;h<a;h++)i+=o.doc.child(h).nodeSize;return{node:o.doc.child(a),at:i,textblock:!1}}function ve(o){let{node:l,at:a,textblock:i}=Ce(o),h=o.selection,k=i?Math.max(0,h.from-a-1):0;return{id:l.attrs.id,textblock:i,size:l.isTextblock?l.content.size:0,fromOff:k,toOff:i?Math.max(k,h.to-a-1):0}}var Pe=o=>{try{return ae(te(o))>0}catch{return!0}},Be=o=>o?.code==="page-format-upgrade-required"?"This document needs a newer page format before Markdown can be added. The preview stays open.":o?.code==="page-format-unsupported"?"This host cannot record the newer page format this file needs. The preview stays open.":o?.code==="stale-target"?"The place this import was started from changed. The preview stays open.":o?.code==="empty-import"?"This file holds nothing that can be inserted.":"The Markdown could not be inserted. The preview stays open.";function Ue({view:o=null,load:l=ze}={}){if(!o)return{run:()=>Promise.resolve({ok:!1,code:"not-editing"}),dispose(){}};let a=o.dom.ownerDocument,i=null,h=null,k=!1,z=W({id:Ee,isPending:()=>i!==null}),S=()=>h??=Promise.resolve().then(l).catch(e=>{throw h=null,e});function O(){try{let e=o.dom.parentElement?.getBoundingClientRect?.()??{left:0,top:0},t=o.coordsAtPos(Math.min(o.state.selection.from,o.state.doc.content.size));return{x:Math.max(8,t.left-e.left),y:t.bottom+6-e.top}}catch{return null}}function $(){let e=i;if(!e)return!1;i=null;for(let[t,n,u,r]of e.listen)t.removeEventListener(n,u,r);return e.panel.remove(),!0}function E(){return $()?(o.focus?.(),{ok:!0,cancelled:!0}):{ok:!1,code:"cancelled"}}function A(e){let t=[],n=(c,m)=>{let d=a.createElement("div");return d.className=c,d.textContent=m,d};if(t.push(n("page-menu-title",e.error?"Couldn't read that Markdown":`Import ${e.name}`)),!e.error){let c=[`${e.count} block${e.count===1?"":"s"}`];e.unsupported.length&&c.push(`${e.unsupported.length} kept as written`),e.refused.length&&c.push(`${e.refused.length} address${e.refused.length===1?"":"es"} left out`),t.push(n("page-menu-title page-import-summary",c.join(" \xB7 ")))}let u=(c,m)=>{let d=a.createElement("div");return d.className=c,d.replaceChildren(...m.map(w=>n("page-import-row",w))),d};e.unsupported.length&&t.push(u("page-import-unsupported",e.unsupported.map(c=>`${c.type}: ${Ae(c.text)}`))),e.refused.length&&t.push(u("page-import-refused",e.refused.map(c=>`${c.type}: ${c.href}`)));let r=e.error??e.notice??null;if(r){let c=a.createElement("p");c.className="page-import-error",c.setAttribute("role","alert"),c.textContent=r,t.push(c)}let s=(c,m)=>{let d=a.createElement("button");return d.type="button",d.className="page-menu-item",d.dataset.import=c,d.textContent=m,d.addEventListener("mousedown",w=>w.preventDefault()),d.addEventListener("click",()=>c==="insert"?p():E()),d},f=s("insert","Insert at the selection");f.disabled=!!e.error,t.push(f,s("cancel","Cancel")),e.panel.replaceChildren(...t)}function g(e,t){let n=o.state,u=n.doc,r=$e(u,e.id);if(r<0)return{ok:!1,code:"stale-target"};let s=u.child(r);if(e.textblock?!s.isTextblock||s.content.size!==e.size:s.isTextblock)return{ok:!1,code:"stale-target"};let f=Z(t).map(T=>ee(K,T,{...t[T],pos:null,parent:null}));if(!f.length)return{ok:!1,code:"empty-import"};let c=0;for(let T=0;T<r;T++)c+=u.child(T).nodeSize;let m=u.maybeChild(r+1),d=s.type.name==="toggle",w=e.textblock&&!d&&s.content.size>0,B=w||e.textblock&&!d&&s.content.size===0,y=w?Math.min(e.fromOff,s.content.size):0,M=w?Math.min(Math.max(y,e.toOff),s.content.size):0,v=w&&y>0?s.type.create({...s.attrs},s.content.cut(0,y)):null,x=w?s.content.cut(M):null,I=x&&x.size?s.type.create({...s.attrs,id:N(),pos:null},x):null,he=w&&!v?r>0?u.child(r-1).attrs.pos:null:s.attrs.pos,V=D(he,m?.attrs.pos??null,f.length+(I?1:0)),ke=d?s.attrs.id:s.attrs.parent??null,L=f.map((T,ge)=>T.type.create({...T.attrs,pos:V[ge],parent:ke},T.content,T.marks)),H=I?I.type.create({...I.attrs,pos:V[f.length]},I.content,I.marks):null,q=n.tr;B?q.replaceWith(c,c+s.nodeSize,[...v?[v]:[],...L,...H?[H]:[]]):q.insert(c+s.nodeSize,L),d&&!s.attrs.open&&L.length>0&&q.setNodeMarkup(c,null,{...s.attrs,open:!0});let X=c+(B?v?v.nodeSize:0:s.nodeSize);for(let T of L)X+=T.nodeSize;return q.setSelection(Y.TextSelection.near(q.doc.resolve(H?X:Math.max(0,X-1)),H?1:-1)),o.dispatch(se(q).scrollIntoView()),o.focus?.(),{ok:!0,blocks:L.length}}async function p(){let e=i;if(!e||e.error)return e?{ok:!1,code:"no-import"}:{ok:!1,code:"not-editing"};e.notice&&(e.notice=null,A(e));let t=()=>g(e.target,e.blocks),n=e.floor?await ne(o,t):t();return n?.ok?($(),n):(i===e&&(e.notice=Be(n),A(e)),n??{ok:!1,code:"import-failed"})}function C(e){!i||re(e,o)||(e.key==="Escape"?(e.preventDefault(),e.stopPropagation(),E()):e.key==="Enter"&&!e.target?.closest?.("[data-import]")&&(e.preventDefault(),e.stopPropagation(),p()))}function b(){return new Promise(e=>{let t=a.createElement("input");t.type="file",t.accept=".md,.markdown,text/markdown,text/plain",t.hidden=!0,t.className="page-markdown-input";let n=u=>{t.remove(),e(u)};t.addEventListener("change",()=>n(t.files?.[0]??null)),t.addEventListener("cancel",()=>n(null)),(o.dom.parentElement??a.body).appendChild(t),t.click()})}async function _(e,t=null){e.error=t;let n=a.createElement("div");n.className="page-menu page-import-preview",n.setAttribute("role","dialog"),n.setAttribute("aria-label","Import Markdown"),e.panel=n,i=e;let u=(f,c,m,d)=>{f.addEventListener(c,m,d),e.listen.push([f,c,m,d])};u(a,"keydown",f=>C(f),!0),u(a,"mousedown",f=>{e.panel.contains(f.target)||E()},!0),(o.dom.parentElement??a.body).appendChild(n),A(e);let r=O();r&&(n.style.setProperty("--page-pop-x",`${r.x}px`),n.style.setProperty("--page-pop-y",`${r.y}px`));let s=n.querySelector('[data-import="insert"]');return s&&!s.disabled&&s.focus?.(),{ok:!0,preview:!0}}async function R(e={}){if(k||o.isDestroyed)return{ok:!1,code:"not-editing"};$();let t=ve(o.state),n=e?.file??await b();if(!n)return{ok:!1,code:"cancelled"};if(typeof n.size=="number"&&n.size>F)return{ok:!1,code:"input-too-large"};let u;try{u=await Oe(n)}catch(f){return{ok:!1,code:"unreadable",error:f}}if(k||o.isDestroyed)return{ok:!1,code:"not-editing"};if(Te.encode(u).length>F)return{ok:!1,code:"input-too-large"};let r={target:t,name:String(n.name??"Markdown"),blocks:{},count:0,unsupported:[],refused:[],floor:0,panel:null,error:null,notice:null,listen:[]},s;try{let f=await S();s=me(new f.Marked().lexer(u))}catch(f){return k||o.isDestroyed?{ok:!1,code:"not-editing"}:_(r,String(f?.message??"The Markdown could not be read."))}return k||o.isDestroyed?{ok:!1,code:"not-editing"}:(r.blocks=s.blocks,r.count=Object.keys(s.blocks).length,r.unsupported=s.unsupported,r.refused=s.refused,r.floor=Pe(s.blocks)?1:0,_(r))}return{async run(e){return R(e)},dispose(){k=!0,$(),z.dispose()}}}export{Ue as createFeature};
|
package/dist/m/c-TANBH7FI.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as $}from"./c-R2XUODVY.js";import{a as k,b as B,c as L}from"./c-GBKB5WDL.js";import{B as M}from"./c-HCNWJE4A.js";import{G as P,J as R,b as O,m as q}from"./c-QIXT3Q7C.js";import"./c-3GJ4SDE2.js";import{a as N}from"./c-3LDGIBMN.js";import"./c-VHNSBD2M.js";var K=16384,G=p=>new TextEncoder().encode(JSON.stringify(p)).length,I=class extends Error{constructor(s,n=s){super(n),this.name="ToolRequestError",this.code=s}};function V(p){let s=N(p);for(Array.isArray(s.tables)||(s.tables=[]),Array.isArray(s.outline)||(s.outline=[]);G(s)>K;){let n=[...s.tables].reverse().find(i=>Array.isArray(i.rows)&&i.rows.length);if(n)n.rows.pop();else if(s.outline.length)s.outline.pop();else break}if(G(s)>K)throw new I("context-too-large");return s}function J({transport:p,newId:s}){let n=null,i=a=>{!a||a.discarded||a.done||(a.discarded=!0,n===a&&(n=null),p.cancel(a.requestId),a.resolve({requestId:a.requestId,code:"discarded",message:"Candidate discarded"}))};return{request(a,r,t=null){let m=V(r);n&&i(n);let c=s(),l={requestId:c,discarded:!1,done:!1};l.promise=new Promise(o=>{l.resolve=o}),n=l;let y={protocol:"page-tool/1",requestId:c,prompt:a,context:m,target:t};l.request=y;let v=o=>{if(!(l.discarded||l.done||o?.requestId!==c))if(l.done=!0,n===l&&(n=null),o?.artifact!==void 0){let d=k(o.artifact),C=B(o.state),w=d.ok?C.ok?null:C:d;l.resolve(w?{requestId:c,code:w.code,message:w.code}:o)}else l.resolve(typeof o?.code=="string"?o:{requestId:c,code:"invalid-result",message:"invalid-result"})};try{Promise.resolve(p.request(y)).then(v,o=>v({requestId:c,code:"transport-error",message:String(o?.message??o)}))}catch(o){v({requestId:c,code:"transport-error",message:String(o?.message??o)})}return l},discard:i,async wait(a,{signal:r}={}){if(r?.aborted)throw new DOMException("Aborted","AbortError");let t,m=await(r?Promise.race([a.promise,new Promise((c,l)=>{t=()=>l(new DOMException("Aborted","AbortError")),r.addEventListener("abort",t,{once:!0})})]).finally(()=>r.removeEventListener("abort",t)):a.promise);if(m?.code)throw new I(m.code,m.message);return m}}}var{Selection:X}=O;function W(p,s){let n=null;return p.forEach((i,a,r)=>{i.attrs.id===s&&(n={node:i,at:a,index:r})}),n}function j(p,s,n){let i=p.state,a=W(i.doc,n?.hostId)??(()=>{let w=Math.min(i.selection.$head.index(0),i.doc.childCount-1),f=0;for(let g=0;g<w;g++)f+=i.doc.child(g).nodeSize;return{node:i.doc.child(w),at:f,index:w}})(),{node:r,at:t,index:m}=a,c=i.doc.maybeChild(m+1),l=r.isTextblock&&(r.content.size===0||n?.hostId===r.attrs.id&&r.textContent===n.slashText),y=l?r.attrs.pos:P(r.attrs.pos,c?.attrs.pos??null),v=q.nodes.tool.create({id:s.id,pos:y,parent:r.attrs.parent??null,artifact:s.artifact,rev:s.rev,state:s.state}),o=l?t:t+r.nodeSize,d=i.tr;if(!l&&n?.hostId===r.attrs.id&&n.slashText&&n.slashOffset>=0){let w=t+1+n.slashOffset,f=w+n.slashText.length;f<=t+r.nodeSize-1&&i.doc.textBetween(w,f)===n.slashText&&d.delete(w,f)}let C=d.mapping.map(o);d.replaceWith(C,l?d.mapping.map(t+r.nodeSize):C,v),d.setSelection(X.near(d.doc.resolve(Math.min(C+v.nodeSize,d.doc.content.size)))),p.dispatch(M(d).scrollIntoView())}function ie({getView:p,store:s,transport:n,acceptState:i=()=>globalThis.clay?.save?.flush?.(),newId:a=R}){let r=n?J({transport:n,newId:()=>a("request")}):null,t=null,m=0,c=()=>{m++,t&&(r?.discard(t.pending),t.preview?.dispose(),t.previewHost?.dispose(),t.element.remove(),t=null)};return{open:({target:y=null,remove:v=null}={})=>{c();let o=p();if(!o)return;let d=o.state.selection,w={hostId:o.state.doc.child(Math.min(d.$head.index(0),o.state.doc.childCount-1))?.attrs.id,slashText:v?o.state.doc.textBetween(v.from,v.to):null,slashOffset:v&&d.$head.depth?v.from-d.$head.before(1)-1:null},f=o.dom.ownerDocument,g=f.createElement("section");g.className="page-ai-panel",g.contentEditable="false",g.setAttribute("role","dialog"),g.setAttribute("aria-label",y?"Revise tool":"Make a tool with AI");let E=f.createElement("textarea");E.setAttribute("aria-label","Describe the tool"),E.placeholder=y?"What should change?":"Describe the tool you want";let A=f.createElement("p");A.className="page-ai-status";let S=f.createElement("div");S.className="page-ai-preview";let T=f.createElement("div");T.className="page-ai-actions",g.append(E,A,S,T),o.dom.parentElement.append(g),t={element:g,input:E,status:A,previewRoot:S,actions:T,target:y,bookmark:w,candidate:null,pending:null,preview:null,previewHost:null,kept:!1,busy:!1};let x=(e,u)=>{let h=f.createElement("button");h.type="button",h.textContent=e,h.addEventListener("click",u),T.append(h)},z=()=>{t&&(t.preview?.dispose(),t.previewHost?.dispose(),t.preview=null,t.previewHost=null,t.previewRoot.replaceChildren(),t.input.hidden=!1,t.actions.replaceChildren(),x("Generate",D),x("Cancel",c),t.input.focus())},_=()=>{let e=t;e.input.hidden=!0,e.status.textContent="",e.previewHost=L({mode:"view"}),e.preview=e.previewHost.mount(e.previewRoot,{id:"preview",rev:"preview",artifact:e.candidate.artifact,seed:e.candidate.state}),e.actions.replaceChildren(),x("Keep",H),x("Revise",z),x("Discard",c)},D=async()=>{let e=t;if(!e||e.busy||!e.input.value.trim())return;if(!r){e.status.textContent="Tool generation is unavailable";return}e.busy=!0,e.status.textContent="Making your tool\u2026",e.actions.replaceChildren(),x("Cancel",c);let u=++m,h=r.request(e.input.value.trim(),$(o.state.doc,f.title),e.target);e.pending=h;try{let b=await r.wait(h);if(t!==e||u!==m)return;e.candidate={artifact:b.artifact,state:b.state,id:null,rev:null},_()}catch(b){if(t!==e||u!==m)return;e.status.textContent=b.message,e.actions.replaceChildren(),x("Generate",D),x("Cancel",c)}finally{e.busy=!1}},H=async()=>{let e=t;if(!e?.candidate||e.busy||e.kept)return;e.busy=!0;let u=e.candidate;u.id??=e.target?.toolId??a("b"),u.rev??=a("rev");try{if(!s)throw new Error("This document can't save tool state");await s.set([u.id,u.rev],u.state);let h=await i();if(h?.ok!==!0&&!["saved","clean"].includes(h?.state))throw new Error(h?.msg??h?.message??"Tool state was not saved");if(t!==e||e.kept)return;if(e.target){let b=W(o.state.doc,e.target.toolId);if(b?.node.type!==q.nodes.tool||b.node.attrs.rev!==e.target.rev){e.status.textContent="This tool changed while you were revising. Keep as a new tool, or discard.",e.target=null,u.id=null,u.rev=null,e.actions.replaceChildren(),x("Keep as new tool",H),x("Discard",c);return}o.dispatch(M(o.state.tr.setNodeMarkup(b.at,null,{...b.node.attrs,artifact:u.artifact,rev:u.rev})))}else j(o,u,e.bookmark);e.kept=!0,c()}catch(h){t===e&&(e.status.textContent=h.message)}finally{e.busy=!1}};return z(),g},dispose:c}}export{ie as createAiTool};
|
package/dist/m/c-THGQQDYY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as p}from"./c-IHUWUKIU.js";import{a as s}from"./c-4JZDZFF6.js";import{b as l,e as n}from"./c-EUGJVHDD.js";import{b as u}from"./c-PKCCHJ5X.js";import{a as i}from"./c-2AZDZWCK.js";import{a as d,b as a}from"./c-NUHP2XDB.js";import"./c-VHNSBD2M.js";var f={saving:"Saving\u2026",saved:"Saved",error:"Couldn't save",offline:"Offline, not saved",retrying:"Saving\u2026",blocked:"Can't save here",pending:"Saving\u2026",acknowledged:"Saving\u2026",checkpointed:"Saved",unavailable:"Can't store changes: download a copy"},v=new Set(["saving","retrying","blocked","pending","acknowledged","unavailable"]),c=new Set(["error","offline","blocked","unavailable"]),g=[`background:${n.surface}`,`color:${n.ink}`,`border-color:${n["line-2"]}`],b=[`background:${n["ox-soft"]}`,`color:${n.ox}`,`border-color:color-mix(in srgb, ${n.ox} 28%, ${n["ox-soft"]})`],e=null,r=null;function x(){if(e&&e.isConnected)return e;let o=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;return e=p("div",["position:fixed","right:16px","bottom:16px","z-index:2147483000","padding:4px 12px",`font:500 13px/1.6 ${l}`,"opacity:0",`transition:${o?"none":"opacity .25s"}`,"pointer-events:none",`color-scheme:${s()}`]),e.setAttribute("data-clay-indicator",""),e.setAttribute("role","status"),document.body.appendChild(e),e}function T(o){if(!f[o])return;let m=o!=="blocked"&&(c.has(o)||o==="saved"&&i.savedToast);if(i.toasts&&m){clearTimeout(r),e&&(a(e,"opacity","0"),e.textContent="",delete e.dataset.state);return}let t=x();t.textContent=f[o],t.dataset.state=o,d(t,c.has(o)?b:g),u(t,{background:c.has(o)?null:n.surface}),a(t,"opacity","1"),clearTimeout(r),v.has(o)||(r=setTimeout(()=>{a(t,"opacity","0")},2200))}function $(){clearTimeout(r),r=null,e?.remove(),e=null}export{$ as remove,T as show};
|
package/dist/m/c-UD5JZTDL.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as t,e as o}from"./c-W7IPVCAA.js";import"./c-LIGQYZ7M.js";import"./c-EXKHPOVC.js";import"./c-L5VFATT6.js";import"./c-6RDOKLN7.js";import"./c-DTMZ3ZHI.js";import{c as e}from"./c-W4JCVLAB.js";import"./c-7K4SCQB7.js";import"./c-WMRJKQ2V.js";import"./c-HCNWJE4A.js";import"./c-QIXT3Q7C.js";import"./c-LCYPMULG.js";import"./c-57XDY6HC.js";import"./c-I2SCCUEW.js";import"./c-VHNSBD2M.js";function c({view:r=null}={}){let a=r?e(r,{update:o}):()=>{};return{id:"chart",nodeViews:{chart:(i,n,d)=>new t(i,n,d)},dispose(){a()}}}export{c as createFeature};
|
package/dist/m/c-UDGEFWNU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./c-KQ7E3PYY.js";import{d as h,h as p,v as g}from"./c-HCNWJE4A.js";import{N as u,b as l,ea as c,m,na as f}from"./c-QIXT3Q7C.js";import"./c-VHNSBD2M.js";var{TextSelection:b}=l;function T(r,t){let e=p(r.state.doc),n=e.findIndex(o=>o.node.attrs.id===t);if(n<0)return h(r,"That link's block is gone"),null;let s=[];for(let o=e[n].up;o>=0;o=e[o].up)e[o].node.type===m.nodes.toggle&&!e[o].open&&s.push(e[o].node.attrs.id);let i=r.state.tr.setSelection(b.create(r.state.doc,e[n].at+1)).setMeta("addToHistory",!1);return r.dispatch(g(i,s).scrollIntoView()),e[n]}var a=class{constructor(t,e){this.node=t,this.view=e,this.doc=e.state.doc;let n=e.dom.ownerDocument;this.dom=n.createElement("div"),this.dom.className="page-toc",this.dom.contentEditable="false",this.dom.setAttribute("role","group"),this.dom.setAttribute("aria-label","Table of contents"),this.dom.addEventListener("mousedown",s=>{s.target.closest?.("a")&&s.preventDefault()}),this.dom.addEventListener("click",s=>{let i=s.target.closest?.("a");if(!i)return;s.preventDefault();let o=d(i.getAttribute("href"));o!==null&&T(this.view,o)}),this.render()}update(t){return this.node=t,this.view.state.doc!==this.doc&&(this.doc=this.view.state.doc,this.render()),!0}render(){let t=c(this.node.attrs,f(u(this.doc)));this.dom.innerHTML!==t&&(this.dom.innerHTML=t)}stopEvent(t){return!!t.target.closest?.("a")}ignoreMutation(){return!0}};function I(){return{id:"toc",nodeViews:{toc:(r,t)=>new a(r,t)},css:null,dispose(){}}}export{a as TocView,I as createFeature,T as followTocLink};
|
package/dist/m/c-UGNV5MFB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var s={"lib/mutation.js":"neutral","core/preserve-authored.js":"neutral","core/edit-mode.js":"neutral","core/mode-key.js":"neutral","core/stale-host-notice.js":"neutral","core/page-data.js":"neutral","core/snapshot.js":"neutral","core/save-core.js":"neutral","core/recovery.js":"neutral","core/unsaved-warning.js":"neutral","attrs/onaftersave.js":"neutral","attrs/refetch-on-save.js":"neutral","lib/cache-bust.js":"neutral","attrs/save-freeze.js":"neutral","core/persist.js":"neutral","attrs/add-from.js":"neutral","core/etag.js":"neutral","core/save.js":"export","core/conflict-notice.js":"export","core/autosave.js":"export","core/admin-attrs.js":"export","plugins/indicator.js":"export","plugins/richclay.js":"export","plugins/sortable.js":"export","plugins/undo.js":"export","plugins/unsent.js":"export","plugins/upload.js":"export","plugins/people.js":"export","plugins/live.js":"export","plugins/page.js":"export","plugins/visitor-drafts-owner.js":"export","plugins/menu.js":"neutral","plugins/upgrade.js":"neutral","plugins/derive.js":"neutral","plugins/bind-text.js":"neutral","plugins/page-view.js":"reader","plugins/source.js":"export","sync/live-sync.js":e=>e.liveSync.editParticipant(),"plugins/wire.js":"export","plugins/ai-edit.js":"export","plugins/cms.js":"export"};var r=e=>Object.prototype.hasOwnProperty.call(s,e)?s[e]:null;export{r as a};
|
package/dist/m/c-VIRFF5HG.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{e as X,f as G,h as J,i as Q,j as P,k as U}from"./c-QIKT6SKM.js";import{a as C,f as L}from"./c-RQRMPZXD.js";import"./c-WN3MXOLT.js";import"./c-L5VFATT6.js";import{a as O,b as N,k as z,l as K,m as j,n as V,v as T}from"./c-WMRJKQ2V.js";import{o as w}from"./c-HCNWJE4A.js";import{b as k,d as H}from"./c-QIXT3Q7C.js";import{b as W}from"./c-RS77ODLY.js";import"./c-7SWMYKAI.js";import"./c-UGHH4MB3.js";import"./c-LA2BW7UY.js";import{d as q}from"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import"./c-3O7OBDCM.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var ie=128,D=r=>r.depth?r.node(1).attrs.id:null,Z=r=>!!r.depth&&r.node(1).type.name==="table",ce=(r,t,n,e,o)=>O(K(z(r.flow,J(t,n.holes,e,n.visible),o)));function te({pd:r,w:t,doc:n},e){if(!r||!t||!n||!e)return null;if(e instanceof k.TextSelection){let o=e.$anchor,s=e.$head;if(Z(o)||Z(s)){let c=P(n,o.pos),u=P(n,s.pos);return!c||!u||c.table!==u.table||c.row!==u.row||c.col!==u.col?null:{kind:"cell",block:c.table,row:c.row,col:c.col}}let a=Math.min(e.from,e.to),l=c=>{let u=D(c);return u===null?null:{block:u,rel:ce(r,n,t,c.pos,e.empty||c.pos===a?0:-1)}},i=l(o),d=l(s);return i&&d?{kind:"text",anchor:i,head:d}:null}if(e instanceof w||e instanceof k.NodeSelection){let o=[];if(e instanceof w){let{lo:s,hi:a}=e.span();n.forEach((l,i,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>ie){let s=D(e.$from);return s?{kind:"blocks",ids:[s]}:null}return{kind:"blocks",ids:o}}return null}var ue=(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=j(N(t.rel))}catch{return null}let e;try{e=V(n,r.ydoc)}catch{return null}return!e||e.type!==r.flow?null:e.index},fe=(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},pe=(r,t)=>{for(let n=r.flow._start;n;n=n.right)if(!n.deleted&&n.content instanceof T&&n.content.embed?.b===t)return!0;return!1},de=(r,t)=>{let n=0,e=null,o=0;for(let s=r.flow._start;s;s=s.right)if(s.content instanceof T&&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}},me=(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},ee=({pd:r,w:t,doc:n},e)=>{let o=ue(r,e);if(o===null)return null;let s=Q(n,t.holes,t.tokens,o,t.visible);if(D(n.resolve(s))===e.block)return s;let a=de(r,o);if(a&&a.id===e.block){let l=me(n,e.block,a.offset);if(l!==null)return l}return pe(r,e.block)||!fe(r,o)||t.holes.some(l=>o>=G(t.holes,l.at)&&o<X(t.holes,l.at))?null:n.resolve(s).parent.inlineContent?s:null};function ne({pd:r,w:t,doc:n},e){if(!r||!t||!n||!e||typeof e!="object")return null;if(e.kind==="text"){let o=ee({pd:r,w:t,doc:n},e.anchor),s=ee({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=U(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,i)=>{l.attrs.id!==a||o.includes(a)||(o.push(a),s.push({from:i,to:i+l.nodeSize}))});return s.length?{kind:"blocks",ids:o,ranges:s}:null}return null}var{Plugin:ge,PluginKey:he}=k,{Decoration:b,DecorationSet:x}=H,y=new he("page-awareness"),oe="page-awareness-style",be=`
|
|
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
|
-
`,re=["#2F5E9E","#8A3B6E","#3E6A28","#8A5A1E","#5E4596","#1F5A8A"],ye=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 re[n%re.length]},_=(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},ke=r=>typeof r.name=="string"&&r.name.trim()?r.name.trim():"Someone",F=!1;typeof document<"u"&&(document.addEventListener("clay:presence-quiesce",()=>{F=!0}),document.addEventListener("clay:presence-resume",()=>{F=!1}));function se({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 i=ye(l.id),d=ke(l);for(let c of l.sessions??[]){if(c.you)continue;let u=c.editing;if(!u||u.kind!=="page"||u.v!==C||u.epoch!==e||u.generation!==o)continue;let f=ne(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:${i}`})),a.push(b.widget(f.to,h=>_(h.dom.ownerDocument,d,i),{side:1,key:`caret:${l.id}:${c.id}`}));else if(f.kind==="cell")a.push(b.node(f.from,f.to,{class:"page-remote-cell",style:`--page-remote-color:${i}`})),a.push(b.widget(f.from+1,h=>_(h.dom.ownerDocument,d,i),{side:-1,key:`cell:${l.id}:${c.id}`}));else if(f.kind==="blocks"){let[h]=f.ranges;for(let m of f.ranges)a.push(b.node(m.from,m.to,{class:"page-remote-block",style:`--page-remote-color:${i}`}));a.push(b.widget(h.from+1,m=>_(m.dom.ownerDocument,d,i),{side:-1,key:`blocks:${l.id}:${c.id}`}))}}}}return a.length?x.create(t,a):x.empty}function Ee({binding:r,view:t,store:n=L,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;W(oe,be,oe,["editor-ui"]);let l=t.dom.ownerDocument,i=!1,d=F,c=typeof t.hasFocus=="function"?t.hasFocus()===!0:t.dom.contains(l.activeElement),u=null,f=()=>o?o()===!0:t.composing===!0,h=()=>n.getSnapshot().pageAwareness!==!1,m=(p=t.state)=>{if(i||d)return;if(!h()||!c||f()){n.setTarget(null);return}let g=te({...r.awareness.map(),doc:p.doc},p.selection);if(!g){n.setTarget(null);return}n.setTarget({kind:"page",v:C,epoch:e,generation:r.awareness.generation(),selection:g})},le=p=>f()?y.getState(t.state):se({binding:r,doc:p.doc,snapshot:n.getSnapshot(),epoch:e}),A=new ge({key:y,state:{init:(p,g)=>se({binding:r,doc:g.doc,snapshot:n.getSnapshot(),epoch:e}),apply:(p,g,xe,R)=>((p.docChanged||p.selectionSet)&&m(R),p.docChanged||p.getMeta(y)?le(R):g)},props:{decorations(p){return y.getState(p)??x.empty}}}),M=()=>{i||t.isDestroyed||t.dispatch(t.state.tr.setMeta(y,!0))},E=()=>{i||u!==null||t.isDestroyed||(u=s(()=>{u=null,M()}))},ae=n.subscribe(p=>{p.pageAwareness===!1&&n.setTarget(null),E()}),S=()=>{i||(d=!0,n.setTarget(null))},v=()=>{i||(d=!1,m())},Y=()=>{c=!0,m(),E()},$=()=>{c=!1,n.setTarget(null)},B=()=>{n.setTarget(null)},I=()=>{m(),E()};return t.dom.addEventListener("focus",Y),t.dom.addEventListener("blur",$),t.dom.addEventListener("compositionend",I),l.addEventListener("pagehide",B),l.addEventListener("clay:presence-quiesce",S),l.addEventListener("clay:presence-resume",v),t.updateState(t.state.reconfigure({plugins:[...t.state.plugins,A]})),m(),E(),{epoch:e,refresh:M,plugin:A,quiesce:S,resume:v,get decorations(){return y.getState(t.state)??x.empty},get target(){return n.target??null},dispose(){if(!i&&(i=!0,u!==null&&(a(u),u=null),ae(),t.dom.removeEventListener("focus",Y),t.dom.removeEventListener("blur",$),t.dom.removeEventListener("compositionend",I),l.removeEventListener("pagehide",B),l.removeEventListener("clay:presence-quiesce",S),l.removeEventListener("clay:presence-resume",v),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=L,meta:e=null}={}){if(!r?.awareness||!t)return null;let o=e??await q(),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:Ee({binding:r,view:t,store:n,epoch:a})}export{y as awarenessKey,ye as colorOf,Ee as createPageAwareness,se as decorationsFor,$e as installPageAwareness};
|
package/dist/m/c-VJYEVRYK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as i,d as n}from"./c-QIXT3Q7C.js";var{Plugin:g,PluginKey:c}=i,{DecorationSet:p}=n,e=new c("page-highlight");function h(){return new g({key:e,state:{init:()=>p.empty,apply(t,a){let o=t.getMeta(e);return o?p.create(t.doc,o):a.map(t.mapping,t.doc)}},props:{decorations:t=>e.getState(t)}})}export{e as a,h as b};
|
package/dist/m/c-VQCEOGKH.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{N as _,ea as A,ja as D,na as F,o as O,sa as T}from"./c-QIXT3Q7C.js";import{a as L,b as I}from"./c-RHMPKZZ7.js";import"./c-VHNSBD2M.js";var P="\uFFFC",R='@{"type":"hard_break"}',q={b:"strong",i:"em",s:"strike",c:"code"},z=new Set(["paragraph","heading","list_item","toggle","quote","callout","code_block"]),B=new Set(["paragraph","heading","list_item","quote","callout","code_block","toggle","divider","toc","image","file","table","chart","board","tool","preserved"]),X=new Set(["\\","`","*","_","[","]","(",")","#","!",">","|","<","&"]),U=new Set(["-","+","=","~"]);function E(n){let s=String(n??""),i="",u="";for(let c of s){let a=X.has(c);!a&&u===""&&U.has(c)&&(a=!0),!a&&c==="."&&u!==""&&/^\d+$/.test(u)&&(a=!0),i+=a?`\\${c}`:c,u=c===`
|
|
2
|
-
`?"":u+c}return i}function W(n){let s=String(n),i=(s.match(/`+/g)??[]).reduce((a,f)=>Math.max(a,f.length),0),u="`".repeat(i+1),c=/^[`\s]|[`\s]$/.test(s)?" ":"";return`${u}${c}${s}${c}${u}`}function Y(n,s=""){let i=String(n??"").replace(/\r\n?/g,`
|
|
3
|
-
`).replace(/\n$/,""),u=(i.match(/`+/g)??[]).reduce((f,k)=>Math.max(f,k.length),0),c="`".repeat(Math.max(3,u+1)),a=String(s??"").trim().split(/\s+/)[0].replace(/`/g,"");return`${c}${a}
|
|
4
|
-
${i}
|
|
5
|
-
${c}`}var N=n=>/[\s()<>]/.test(n)?`<${n.trim().replace(/</g,"%3C").replace(/>/g,"%3E")}>`:n;function G(n){let s={},i=null,u=[];for(let c of O(n)){if(c.name===void 0){c.code==="a"?i=String(c.attrs?.[0]??""):q[c.code]?s[q[c.code]]=!0:u.push(c.code);continue}if(c.name==="mention"){u.push("mention");continue}c.name!=="date"&&u.push(c.name)}return{codes:s,href:i,dropped:u}}function S(n,s){let i=typeof n.c=="string"?n.c:"",u=D(n.m,i.length)??[],c="";for(let a=0;a<i.length;){let f=u[a]??"";if(i[a]===P&&f[0]==="@"){f===R?c+=`\\
|
|
6
|
-
`:s("inline object"),a++;continue}let k=a+1;for(;k<i.length&&(u[k]??"")===f&&!(i[k]===P&&f[0]==="@");)k++;let h=i.slice(a,k),{codes:$,href:g,dropped:C}=G(f);for(let t of C)s(t);let w;if($.code){w=W(h);for(let t of["strong","em","strike"])$[t]&&s(t)}else{let t=E(h),r=t.slice(0,t.length-t.trimStart().length),e=t.slice(t.trimEnd().length),o=t.slice(r.length,t.length-e.length);o&&($.em&&(o=`*${o}*`),$.strong&&(o=`**${o}**`),$.strike&&(o=`~~${o}~~`)),w=r+o+e}g&&(w=`[${w}](${N(g)})`),c+=w,a=k}return c}var J=(n,s=2)=>Math.min(6,Math.max(1,Number.isInteger(n)?n:s));function M(n,s){if(n.t==="toc")return A(n,s);if(n.t==="chart"){let i=T([n,...s.filter(c=>c.t==="table")]),u=i.indexOf(`
|
|
7
|
-
<table`);return u<0?i:i.slice(0,u)}return T([n])}var Q=n=>{let s=[];return n.pageIcon!=null&&n.pageIcon!==""&&s.push("Page icon"),(n.pageCoverSrc!=null||n.pageCoverAlt!=null||n.pageCoverX!=null||n.pageCoverY!=null)&&s.push("Page cover"),s};function V(n,s){let i=[],u=n.indexOf(s),c=new Map(n.map(a=>[a.id,a]));for(let a=u+1;a<n.length;a++){let f=n[a].parent??null,k=!1;for(let h=0;f&&h<64;h++){if(f===s.id){k=!0;break}f=c.get(f)?.parent??null}if(!k)break;i.push(n[a])}return i}function H(n){let s=F(n??{}),i=s.filter(r=>r&&typeof r.t=="string"),u=i.find(r=>r.t==="heading"&&(r.level??2)===1&&(r.parent??null)===null)??null,c=[],a=[],f=(r,e)=>c.push({block:r.id??null,type:r.t,name:e}),k=r=>{let e=new Set;return o=>{e.has(o)||(e.add(o),a.push({block:r.id??null,type:r.t,name:o}))}},h=[],$=!1,g=r=>{h.length&&h[h.length-1]!==""&&h.push(""),h.push(...String(r).split(`
|
|
8
|
-
`)),$=!1},C=r=>{!$&&h.length&&h[h.length-1]!==""&&h.push(""),h.push(r),$=!0},w=new Set;for(let r of s){if(!r||typeof r.t!="string"||w.has(r.id))continue;let e=r,o=k(e),d=e.t;if(d==="opaque_block"||!B.has(d)){o(`opaque record (${String(e.raw?.t??d)})`);let l=z.has(d)?S(e,o):typeof e.c=="string"?E(e.c):"";l.trim()&&g(l);continue}if(d==="paragraph"){g(S(e,o));continue}if(d==="heading"){let l=e.id===u?.id?Q(e):[];if(l.length){for(let p of l)f(e,p);g(M(e,s));continue}e.pageIcon!=null&&e.pageIcon!==""&&o("heading icon"),g(`${"#".repeat(J(e.level))} ${S(e,o)}`.trimEnd());continue}if(d==="toggle"){let l=e.level===1||e.level===2||e.level===3?e.level:null;if(l){o("toggle collapse"),g(`${"#".repeat(l)} ${S(e,o)}`);continue}f(e,"Toggle");let p=V(i,e);for(let x of p)w.add(x.id);g(T([e,...p]));continue}if(d==="list_item"){e.owner!=null&&o("owner"),e.due!=null&&o("due date");let l=Math.max(0,Math.min(8,Number.isInteger(e.indent)?e.indent:0)),p=e.kind==="ordered"?"1.":"-",x=e.kind==="check"?e.checked?" [x]":" [ ]":"";C(`${" ".repeat(l)}${p}${x} ${S(e,o)}`.trimEnd());continue}if(d==="quote"){let l=S(e,o).split(`
|
|
9
|
-
`).map(p=>p?`> ${p}`:">").join(`
|
|
10
|
-
`);g(l);continue}if(d==="code_block"){g(Y(e.c,e.lang));continue}if(d==="divider"){g("---");continue}if(d==="image"){let l=String(e.src??"");if(e.width!=null&&o("image width"),e.align!=null&&o("image alignment"),!l){o("image address");let m=String(e.alt??"");m&&g(E(m));continue}let p=E(e.alt??""),x=e.caption?` "${String(e.caption).replace(/"/g,'\\"')}"`:"";g(`}${x})`);continue}if(d==="file"){e.size!=null&&o("file size"),e.mime!=null&&o("file type");let l=String(e.src??""),p=E(e.name||"file");g(l?`[${p}](${N(l)})`:p);continue}if(d==="table"){let l=Array.isArray(e.cols)?e.cols:[],p=Array.isArray(e.rows)?e.rows:[];for(let b of l)b.kind!=null&&o("column kind"),b.width!=null&&o("column width");if(e.sort!=null&&o("sort"),!l.length){o("empty table");continue}let x=b=>(typeof b=="string"?E(b):b&&typeof b=="object"?S(b,o):"").replace(/\n/g," ").trim(),m=l.map(b=>E(b.name??"")).join(" | "),y=l.map(()=>"---").join(" | "),v=p.map(b=>`| ${l.map(j=>x(b.cells?.[j.id])).join(" | ")} |`);g([`| ${m} |`,`| ${y} |`,...v].join(`
|
|
11
|
-
`));continue}if(d==="toc"){f(e,"Table of contents"),g(A(e,s));continue}if(d==="chart"){f(e,"Chart"),g(M(e,s));continue}if(d==="board"){f(e,"Board"),g(M(e,s));continue}if(d==="tool"){f(e,"Tool"),g(M(e,s));continue}if(d==="preserved"){f(e,"Raw HTML"),g(M(e,s));continue}d==="callout"&&(f(e,"Callout"),g(M(e,s)))}let t=h.join(`
|
|
12
|
-
`).replace(/^\n+/,"").replace(/\n+$/,"");return{text:t?`${t}
|
|
13
|
-
`:"",extensions:c,losses:a,blocks:i.length}}function K(n="page"){return`${String(n??"").replace(/[\\/:*?"<>|\u0000-\u001f]+/g,"-").replace(/^[.\s]+/,"").replace(/[.\s]+$/,"")||"page"}.md`}function se({view:n=null,download:s=I}={}){if(!n)return{run:()=>Promise.resolve({ok:!1,code:"not-editing"}),dispose(){}};let i=n.dom.ownerDocument,u=null,c=!1;function a(){let t=u;if(!t)return!1;u=null;for(let[r,e,o,d]of t.listen)r.removeEventListener(e,o,d);return t.panel.remove(),!0}function f(){return a()?(n.focus?.(),{ok:!0,cancelled:!0}):{ok:!1,code:"cancelled"}}function k(t){let r=[],e=(p,x)=>{let m=i.createElement("div");return m.className=p,m.textContent=x,m};r.push(e("page-menu-title","Export as Markdown"));let o=[`${t.report.blocks} block${t.report.blocks===1?"":"s"}`];t.report.extensions.length&&o.push(`${t.report.extensions.length} kept as HTML`),t.report.losses.length&&o.push(`${t.report.losses.length} lost`),r.push(e("page-menu-title page-export-summary",o.join(" \xB7 ")));let d=(p,x,m)=>{if(!m.length)return;let y=i.createElement("div");y.className=p,y.append(e("page-menu-title",x));for(let v of m){let b=e("page-export-row",v.name);b.dataset.block=v.block??"",b.dataset.type=v.type??"",y.append(b)}r.push(y)};if(d("page-export-extensions","Kept as HTML",t.report.extensions),d("page-export-losses","Not kept in Markdown",t.report.losses),!t.report.extensions.length&&!t.report.losses.length&&r.push(e("page-export-row","Everything here is written as Markdown.")),t.notice){let p=i.createElement("p");p.className="page-export-error",p.setAttribute("role","alert"),p.textContent=t.notice,r.push(p)}let l=(p,x)=>{let m=i.createElement("button");return m.type="button",m.className="page-menu-item",m.dataset.export=p,m.textContent=x,m.addEventListener("mousedown",y=>y.preventDefault()),m.addEventListener("click",()=>p==="download"?h():f()),m};r.push(l("download",`Download ${t.name}`),l("cancel","Cancel")),t.panel.replaceChildren(...r)}async function h(){let t=u;return t?await s({html:t.report.text,name:t.name,type:"text/markdown"})?(a(),n.focus?.(),{ok:!0,downloaded:!0}):(t.notice="That download could not be made.",k(t),{ok:!1,code:"download-failed"}):{ok:!1,code:"no-export"}}function $(t){!u||t.isComposing||t.keyCode===229||(t.key==="Escape"?(t.preventDefault(),t.stopPropagation(),f()):t.key==="Enter"&&!t.target?.closest?.("[data-export]")&&(t.preventDefault(),t.stopPropagation(),h()))}function g(t,r){let e=i.createElement("div");e.className="page-menu page-export-preview",e.setAttribute("role","dialog"),e.setAttribute("aria-label","Export Markdown");let o={report:t,name:r,panel:e,notice:null,listen:[]};u=o;let d=(l,p,x,m)=>{l.addEventListener(p,x,m),o.listen.push([l,p,x,m])};return d(i,"keydown",l=>$(l),!0),d(i,"mousedown",l=>{o.panel.contains(l.target)||f()},!0),(n.dom.parentElement??i.body).appendChild(e),k(o),e.querySelector('[data-export="download"]')?.focus?.(),{ok:!0,preview:!0}}function C(){return n.composing?new Promise(t=>{let r=()=>{n.dom.removeEventListener("compositionend",r),t()};n.dom.addEventListener("compositionend",r)}):Promise.resolve()}async function w(){if(c||n.isDestroyed)return{ok:!1,code:"not-editing"};if(a(),await C(),c||n.isDestroyed)return{ok:!1,code:"not-editing"};let t=_(n.state.doc),r;try{r=H(t)}catch(e){return{ok:!1,code:"export-failed",error:e}}return g(r,K(L()))}return{async run(t){return w(t)},dispose(){c=!0,a()}}}export{se as createFeature};
|
package/dist/m/c-VYJ7O4RI.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{a as L,c as f,d as c,e as C,g as D,h as B,i as l,j as S,k as $,l as b,m as P}from"./c-6RDOKLN7.js";import{c as R}from"./c-W4JCVLAB.js";import{B as m,d as N}from"./c-HCNWJE4A.js";import{d as y,j as M,m as A}from"./c-QIXT3Q7C.js";import"./c-VHNSBD2M.js";var d=new WeakMap;var{Decoration:U,DecorationSet:F}=y,re=A.nodes,H=new Set(["timeout","network","error","bad-response"]),I=`
|
|
2
|
-
.page-editor .page-image { margin-inline: 0; }
|
|
3
|
-
.page-image-frame { position: relative; margin: 0 auto; max-width: 100%; }
|
|
4
|
-
.page-image-frame img { display: block; width: 100%; height: auto; border-radius: var(--page-image-radius, 6px); }
|
|
5
|
-
.page-image[data-broken] .page-image-frame { min-height: 80px; background: var(--page-code-bg); border-radius: var(--page-image-radius, 6px); }
|
|
6
|
-
.page-image-handle { position: absolute; top: 50%; inset-inline-end: 6px; width: 6px; height: 36px; margin-top: -18px; border-radius: 3px; background: var(--page-chrome-ink-moved); opacity: 0; cursor: ew-resize; touch-action: none; transition: opacity var(--page-fade); }
|
|
7
|
-
.page-image:hover .page-image-handle, .page-image.is-selected .page-image-handle { opacity: 1; }
|
|
8
|
-
.page-editor .page-image.page-block-selected { background: none; box-shadow: none; }
|
|
9
|
-
.page-editor .page-image.page-block-selected .page-image-frame { box-shadow: 0 0 0 6px var(--page-block-selected, rgba(88, 120, 170, 0.12)); border-radius: var(--page-image-radius, 6px); }
|
|
10
|
-
.page-image[data-align="left"] .page-image-frame { margin-left: 0; margin-right: auto; }
|
|
11
|
-
.page-image[data-align="right"] .page-image-frame { margin-left: auto; margin-right: 0; }
|
|
12
|
-
.page-image[data-align="left"] .page-image-caption { text-align: left; }
|
|
13
|
-
.page-image[data-align="right"] .page-image-caption { text-align: right; }
|
|
14
|
-
.page-image-align { position: absolute; top: 8px; inset-inline-end: 8px; display: none; gap: 1px; padding: 2px; background: var(--page-pop-bg); color: var(--page-pop-ink); border: 1px solid var(--page-pop-line); box-shadow: var(--page-pop-shadow); border-radius: 7px; }
|
|
15
|
-
.page-image.is-selected .page-image-align, .page-image.page-block-selected .page-image-align { display: flex; }
|
|
16
|
-
.page-image-align button { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 5px; background: none; color: inherit; cursor: pointer; }
|
|
17
|
-
.page-image-align button:hover, .page-image-align button[aria-pressed="true"] { background: var(--page-pop-hover); }
|
|
18
|
-
.page-image.is-selected .page-image-frame img { outline: 2px solid var(--page-selection); outline-offset: 2px; }
|
|
19
|
-
.page-image-caption { margin-top: 6px; color: var(--page-ink-soft); font-size: 0.88em; text-align: center; outline: none; }
|
|
20
|
-
.page-image-caption[data-empty]::before { content: attr(data-placeholder); color: var(--page-ink-faint); }
|
|
21
|
-
.page-image:not(.is-selected) .page-image-caption[data-empty]:not(:focus) { display: none; }
|
|
22
|
-
.page-file-link { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--page-rule); border-radius: 8px; color: var(--page-ink); text-decoration: none; }
|
|
23
|
-
.page-file-icon { color: var(--page-link, var(--page-accent)); }
|
|
24
|
-
.page-file-name { color: var(--page-link, var(--page-accent)); min-width: 0; overflow-wrap: anywhere; }
|
|
25
|
-
.page-file-meta { margin-inline-start: auto; color: var(--page-ink-faint); font-size: 0.88em; }
|
|
26
|
-
.page-upload { display: flex; align-items: center; gap: 10px; margin: var(--page-block-gap) 0; padding: 8px 12px; border: 1px dashed var(--page-rule); border-radius: 8px; color: var(--page-ink-soft); font-size: 0.88em; }
|
|
27
|
-
.page-upload-preview { width: 40px; height: 40px; object-fit: cover; border-radius: 4px; opacity: 0.6; }
|
|
28
|
-
.page-upload-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
29
|
-
.page-upload-bar { flex: 1; height: 2px; border-radius: 1px; background: var(--page-rule); overflow: hidden; }
|
|
30
|
-
.page-upload-bar > span { display: block; height: 100%; background: var(--page-progress, var(--page-ink-soft)); transition: width 200ms; }
|
|
31
|
-
.page-upload[data-state="error"] .page-upload-msg, .page-upload[data-state="embed-choice"] .page-upload-msg { flex: 1; }
|
|
32
|
-
.page-upload[data-state="error"] .page-upload-msg { color: var(--page-danger, #9E3B2F); }
|
|
33
|
-
.page-upload-btn { border: 0; padding: 4px 8px; border-radius: 6px; background: none; color: inherit; font: inherit; cursor: pointer; }
|
|
34
|
-
.page-upload-btn:hover { background: var(--page-pop-hover); }`;function h(t,e,a,n){let i=t.createElement("button");return i.type="button",i.className="page-upload-btn",i.dataset.act=e,i.dataset.upload=n,i.textContent=a,i}function z(t,e){let a=t.createElement("div");if(a.className="page-upload",a.dataset.state=e.state,a.dataset.kind=e.kind,a.contentEditable="false",a.setAttribute("role",e.state==="uploading"?"status":"alert"),e.preview){let r=t.createElement("img");r.className="page-upload-preview",r.src=e.preview,r.alt="",a.append(r)}let n=t.createElement("span");if(n.className="page-upload-name",n.textContent=e.name,a.append(n),e.state==="uploading"){let r=t.createElement("span");r.className="page-upload-bar",r.setAttribute("role","progressbar"),r.setAttribute("aria-label",`Uploading ${e.name}`),r.setAttribute("aria-valuemin","0"),r.setAttribute("aria-valuemax","100"),r.setAttribute("aria-valuenow",String(e.percent));let s=t.createElement("span");return s.style.width=`${e.percent}%`,r.append(s),a.append(r,h(t,"cancel","Cancel",e.id)),a}let i=t.createElement("span");return i.className="page-upload-msg",i.textContent=e.message,a.append(i),e.state==="embed-choice"&&a.append(h(t,"embed","Keep this image inside the document",e.id)),H.has(e.code)&&a.append(h(t,"retry","Retry",e.id)),a.append(h(t,"remove","Remove",e.id)),a}var T=48,V=[["left","Align left",'<path d="M2.5 3.5h11M2.5 6.5h6M2.5 9.5h11M2.5 12.5h6"/>'],["center","Centre",'<path d="M2.5 3.5h11M5 6.5h6M2.5 9.5h11M5 12.5h6"/>'],["right","Align right",'<path d="M2.5 3.5h11M7.5 6.5h6M2.5 9.5h11M7.5 12.5h6"/>']],x=class{constructor(e,a,n){this.node=e,this.view=a,this.getPos=n;let i=a.dom.ownerDocument;this.dom=i.createElement("figure"),this.dom.className="page-image",this.dom.addEventListener("dragstart",r=>{r.preventDefault(),r.stopPropagation()}),this.dom.draggable=!1,this.frame=i.createElement("div"),this.frame.className="page-image-frame",this.img=i.createElement("img"),this.img.draggable=!1,this.img.addEventListener("error",()=>this.dom.toggleAttribute("data-broken",!0)),this.img.addEventListener("load",()=>this.dom.removeAttribute("data-broken")),this.handle=i.createElement("span"),this.handle.className="page-image-handle",this.handle.setAttribute("aria-hidden","true"),this.handle.addEventListener("pointerdown",r=>this.resize(r)),this.alignBar=i.createElement("div"),this.alignBar.className="page-image-align",this.alignBar.setAttribute("role","toolbar"),this.alignBar.setAttribute("aria-label","Image alignment");for(let[r,s,p]of V){let o=i.createElement("button");o.type="button",o.dataset.align=r,o.setAttribute("aria-label",s),o.title=s,o.innerHTML=`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true">${p}</svg>`,this.alignBar.append(o)}this.alignBar.addEventListener("mousedown",r=>r.preventDefault()),this.alignBar.addEventListener("click",r=>{let s=r.target.closest("[data-align]");s&&this.setAlign(s.dataset.align==="center"?null:s.dataset.align)}),this.frame.append(this.img,this.handle,this.alignBar),this.caption=i.createElement("figcaption"),this.caption.className="page-image-caption",this.caption.contentEditable="plaintext-only",this.caption.setAttribute("aria-label","Caption"),this.caption.dataset.placeholder="Add a caption",this.caption.addEventListener("keydown",r=>{r.isComposing||this.view.composing||(r.key==="Enter"&&(r.preventDefault(),this.commitCaption(),this.view.focus()),r.key==="Escape"&&(r.preventDefault(),this.caption.textContent=this.node.attrs.caption,this.view.focus()))}),this.caption.addEventListener("blur",()=>this.commitCaption()),this.caption.addEventListener("input",()=>this.caption.toggleAttribute("data-empty",!this.caption.textContent)),this.dom.append(this.frame,this.caption),this.render(e)}render(e){this.node=e,this.dom.dataset.id=e.attrs.id??"",this.img.getAttribute("src")!==e.attrs.src&&(this.img.src=e.attrs.src),this.img.alt=e.attrs.alt||"",this.frame.style.width=e.attrs.width?`${e.attrs.width}px`:"",e.attrs.align?this.dom.dataset.align=e.attrs.align:delete this.dom.dataset.align;for(let a of this.alignBar.children)a.setAttribute("aria-pressed",String((e.attrs.align??"center")===a.dataset.align));this.dom.ownerDocument.activeElement!==this.caption&&(this.caption.textContent=e.attrs.caption||""),this.caption.toggleAttribute("data-empty",!e.attrs.caption)}update(e){return e.type!==this.node.type?!1:(this.render(e),!0)}setAlign(e){let a=this.getPos();a==null||e===(this.node.attrs.align??null)||this.view.dispatch(m(this.view.state.tr.setNodeMarkup(a,null,{...this.node.attrs,align:e})))}commitCaption(){let e=this.caption.textContent.replace(/\s+/g," ").trim(),a=this.getPos();a==null||e===(this.node.attrs.caption||"")||this.view.dispatch(m(this.view.state.tr.setNodeMarkup(a,null,{...this.node.attrs,caption:e})))}resize(e){e.preventDefault(),e.stopPropagation();let a=this.view.dom.getBoundingClientRect().width,n=this.frame.getBoundingClientRect().width,i=this.dom.ownerDocument.defaultView.getComputedStyle(this.dom).direction==="rtl",r=e.clientX,s=e.currentTarget;s.setPointerCapture?.(e.pointerId);let p=this.node.attrs.width,o=u=>{let g=(u.clientX-r)*(i?-1:1);p=Math.max(T,Math.min(Math.floor(a)||T,Math.round(n+g))),this.frame.style.width=`${p}px`},k=u=>{s.removeEventListener("pointermove",o),s.removeEventListener("pointerup",w),s.removeEventListener("pointercancel",E);let g=this.getPos();u&&g!=null&&p!==this.node.attrs.width?this.view.dispatch(m(this.view.state.tr.setNodeMarkup(g,null,{...this.node.attrs,width:p}))):this.frame.style.width=this.node.attrs.width?`${this.node.attrs.width}px`:""},w=()=>k(!0),E=()=>k(!1);s.addEventListener("pointermove",o),s.addEventListener("pointerup",w),s.addEventListener("pointercancel",E)}selectNode(){this.dom.classList.add("is-selected")}deselectNode(){this.dom.classList.remove("is-selected")}stopEvent(e){return this.caption.contains(e.target)||this.alignBar.contains(e.target)||e.target.classList?.contains("page-image-handle")}ignoreMutation(){return!0}},K=t=>t==null?"":t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,v=class{constructor(e,a){this.node=e;let n=a.dom.ownerDocument;this.dom=n.createElement("div"),this.dom.className="page-file",this.dom.addEventListener("dragstart",i=>{i.preventDefault(),i.stopPropagation()}),this.link=n.createElement("a"),this.link.className="page-file-link",this.link.target="_blank",this.link.rel="noopener noreferrer",this.icon=n.createElement("span"),this.icon.className="page-file-icon",this.icon.textContent="\u2398",this.name=n.createElement("span"),this.name.className="page-file-name",this.meta=n.createElement("span"),this.meta.className="page-file-meta",this.link.append(this.icon,this.name,this.meta),this.dom.append(this.link),this.render(e)}render(e){this.node=e,this.dom.dataset.id=e.attrs.id??"";let a=M(e.attrs.src);a?this.link.setAttribute("href",a):this.link.removeAttribute("href"),this.name.textContent=e.attrs.name||"file",this.meta.textContent=K(e.attrs.size)}update(e){return e.type!==this.node.type?!1:(this.render(e),!0)}selectNode(){this.dom.classList.add("is-selected")}deselectNode(){this.dom.classList.remove("is-selected")}stopEvent(e){return this.link.contains(e.target)}ignoreMutation(){return!0}},_=t=>new Promise((e,a)=>{let n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>a(n.error),n.readAsDataURL(t)});async function W(t,e){let a=l(t,e);if(!a||a.state!=="embed-choice")return;let n=await _(a.file);!f.has(t)||!l(t,e)||(b(a,t,D(t.state,e,$(a,n))),N(t,"Saved inside the document"))}function X(t,e){l(t,e)&&(S(t,e,{state:"uploading",percent:0,code:null,message:null}),P(t,l(t,e)))}function j(t,e){let a=f.get(t),n=a?.aborts.get(e),i=l(t,e);i&&b(i,t,B(t.state,e)),a?.aborts.delete(e),n?.abort()}function G(t,e){let{items:a}=L.getState(e),n=d.get(t)??null;return!a.length||!n?null:F.create(e.doc,a.map(i=>U.widget(C(e.doc,i.pos),r=>n(r.dom.ownerDocument,i),{side:-1e3+i.order,key:`${i.id}:${i.state}:${i.percent}`,stopEvent:()=>!0,ignoreSelection:!0})))}function ne({view:t=null}={}){t&&d.set(t,z);let e={retryUpload:X,embedUpload:W,cancelUpload:j};t&&c.set(t,e);let a=t?R(t,{decorations:n=>G(t,n)}):()=>{};return{id:"media",nodeViews:{image:(n,i,r)=>new x(n,i,r),file:(n,i)=>new v(n,i)},css:I,dispose(){a(),t&&d.get(t)===z&&d.delete(t),t&&c.get(t)===e&&c.delete(t)}}}export{v as FileView,x as ImageView,I as MEDIA_CSS,j as cancelUpload,ne as createFeature,W as embedUpload,X as retryUpload};
|
package/dist/m/c-W7IPVCAA.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as M,g as _,h as A,w as q}from"./c-LIGQYZ7M.js";import{B as G}from"./c-HCNWJE4A.js";import{D as O,G as $,I as y,J as B,M as R,Z as j,_ as U,b as z,m as p,na as F}from"./c-QIXT3Q7C.js";import{a as x}from"./c-LCYPMULG.js";import{a as K}from"./c-I2SCCUEW.js";var{TextSelection:J}=z,S=new WeakMap,D=new Set;function g(n,t){let e=null;return n.forEach(s=>{s.type===p.nodes.table&&s.attrs.id===t&&(e=s)}),e}function N(n){return n?F({[n.attrs.id]:R(n)})[0]:null}function Q(n,t,e){let s=y(n.attrs.cols);if(!s.length)return null;let i=M(n),a=s.filter(r=>r!==s[0]&&i[r]==="number");return a.length?{id:B(),pos:t,parent:e,source:n.attrs.id,kind:"bar",x:s[0],series:a,title:"",highlight:null}:null}function wt(n,t){let e=n.state.doc,s=e.nodeAt(t);if(s?.type!==p.nodes.table)return!1;let i=t+s.nodeSize,a=e.maybeChild(e.resolve(i).index(0)),r=Q(s,$(s.attrs.pos,a?.attrs.pos??null),s.attrs.parent);return r?(D.add(r.id),n.dispatch(n.state.tr.insert(i,p.nodes.chart.create(r))),!0):(x("This table has no number column to chart yet."),!0)}function W(n,t,e,s){let i=n.state.tr;if(s&&i.delete(s.from,s.to),!g(i.doc,e.attrs.id)||t>=i.doc.childCount)return!1;let a=0;for(let m=0;m<t;m++)a+=i.doc.child(m).nodeSize;let r=i.doc.child(t),c=r.isTextblock&&r.content.size===0,h=i.doc.maybeChild(t+1),f=c?r.attrs.pos:$(r.attrs.pos,h?.attrs.pos??null),d=Q(e,f,r.attrs.parent??null);if(!d)return s&&n.dispatch(n.state.tr.delete(s.from,s.to)),x("This table has no number column to chart yet."),!0;let w=p.nodes.chart.create(d);return i=c?i.replaceWith(a,a+r.nodeSize,w):i.insert(a+r.nodeSize,w),D.add(d.id),n.dispatch(i.scrollIntoView()),!0}var X=n=>y(n.attrs.cols).map(t=>n.attrs.cols[t].name||"Untitled").join(", ");function kt(n,t,e=null){let s=_(n.state.doc);if(!s.length)return e&&n.dispatch(n.state.tr.delete(e.from,e.to)),x("Add a table first: a chart plots the numbers in a table on this page."),!0;if(s.length===1)return W(n,t,s[0],e);let i=n.state.doc,a=n.nodeDOM(i.resolve(n.state.selection.head).before(1))??n.dom;return q(n,a,s.map(r=>({label:A(i,r.attrs.id)??"",description:`${r.childCount} ${r.childCount===1?"row":"rows"} \xB7 ${X(r)}`,icon:"\u25A6",run:()=>W(n,t,r,e)})))}var V=n=>`<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${n}</svg>`,Z=V('<rect x="2.5" y="3" width="11" height="10" rx="1.5"/><path d="M2.5 6.5h11M6 6.5V13"/>'),tt=V('<g transform="scale(0.6667)" stroke-width="2.25"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/></g>'),et=V('<path d="M2.75 4.5h10.5M6.25 4.5V2.75h3.5V4.5M4.25 4.5l.6 8.75h6.3l.6-8.75"/>'),st=[["bar","Bar"],["line","Line"],["pie","Pie"]],it="Untitled chart";function nt(n,t){let e=null;return n.forEach((s,i)=>{e===null&&s.type===p.nodes.table&&s.attrs.id===t&&(e=i)}),e}function E(n){let t=[];return n.forEach(e=>{e.type===p.nodes.table&&y(e.attrs.cols).length>1&&t.push(e)}),t.map(e=>({id:e.attrs.id,name:A(n,e.attrs.id),rows:e.childCount}))}function at(n){let t=y(n.attrs.cols);if(!t.length)return null;let e=M(n),s=t.find(a=>e[a]!=="number")??t[0],i=t.filter(a=>a!==s&&e[a]==="number");return{x:s,series:i.length?i:t.filter(a=>a!==s).slice(0,1)}}function l(n,t,e,s=null){let i=n.createElement(t);return e&&(i.className=e),s!==null&&(i.textContent=s),i}function C(n,t,e,s=!1){let i=l(n,"option","",e);return i.value=t,i.selected=s,i}function T(n,t,e){let s=l(n,"select","page-chart-select");return s.dataset.field=t,s.setAttribute("aria-label",e),s}var Y=class{constructor(t,e,s){this.node=t,this.view=e,this.getPos=s,this.source=void 0,this.tables=null,this.frame=null,this.unsaved=null,this.titleInput=null;let i=e.dom.ownerDocument;this.doc=i,this.dom=i.createElement("figure"),this.dom.className="page-chart",this.dom.dataset.id=t.attrs.id??"",this.dom.dataset.type="chart",this.head=l(i,"div","page-chart-head"),this.head.contentEditable="false",this.title=l(i,"span","page-chart-title"),this.chip=l(i,"button","page-chart-source"),this.chip.type="button",this.chip.contentEditable="false",this.chip.setAttribute("aria-label","Go to source table"),this.chip.innerHTML=Z,this.chipName=l(i,"span","page-chart-source-name"),this.chip.append(this.chipName),this.chip.addEventListener("click",()=>this.goToSource()),this.edit=l(i,"button","page-chart-edit"),this.edit.type="button",this.edit.contentEditable="false",this.edit.setAttribute("aria-haspopup","dialog"),this.edit.setAttribute("aria-expanded","false"),this.edit.innerHTML=tt,this.edit.append("Edit chart"),this.edit.addEventListener("click",()=>this.panel.isConnected?this.closePanel(!0):this.openPanel()),this.head.append(this.title,this.chip,this.edit),this.plot=l(i,"div","page-chart-plot"),this.broken=l(i,"div","page-chart-broken"),this.broken.hidden=!0,this.broken.contentEditable="false",this.brokenKey=null,this.brokenSelect=null,this.broken.addEventListener("click",a=>this.brokenClick(a)),this.panel=l(i,"div","page-chart-panel"),this.panel.tabIndex=-1,this.panel.contentEditable="false",this.panel.setAttribute("role","dialog"),this.panel.setAttribute("aria-label","Chart settings"),this.panel.addEventListener("click",a=>this.panelClick(a)),this.panel.addEventListener("change",a=>this.panelChange(a)),this.panel.addEventListener("mousedown",a=>{a.target.closest?.("button")&&a.preventDefault()}),this.outside=a=>{!this.panel.isConnected||this.dom.contains(a.target)||(this.commitTitle(),this.closePanel())},this.escape=a=>{!this.panel.isConnected||a.key!=="Escape"||(a.preventDefault(),a.stopPropagation(),this.closePanel(!0))},i.addEventListener("mousedown",this.outside,!0),i.addEventListener("keydown",this.escape,!0),this.dom.append(this.head,this.plot,this.broken),S.has(e)||S.set(e,new Set),S.get(e).add(this),this.refresh(),D.delete(t.attrs.id)&&this.openSoon()}refresh(){this.renderHead(),this.panel.isConnected&&this.panelKey()!==this.renderedKey&&this.redrawPanel();let t=this.view.state.doc,e=g(t,this.node.attrs.source),s=E(t).map(i=>`${i.id}:${i.name}:${i.rows}`).join("|");e===this.source&&s===this.tables||(this.source=e,this.tables=s,this.schedule())}schedule(){if(this.frame!==null)return;let t=this.dom.ownerDocument.defaultView,e=t.requestAnimationFrame?.bind(t)??(s=>t.setTimeout(s,0));this.frame=e(()=>{this.frame=null,this.draw()})}draw(){let t=this.node.attrs,e=j({id:t.id,type:t.kind,x:t.x,series:t.series,title:t.title,highlight:t.highlight},N(this.source));this.plot.innerHTML=U(e,{width:640,height:320,narrow:this.dom.getBoundingClientRect().width<480}),this.renderBroken(e)}renderBroken(t){let e=t.state==="missing"&&t.reason==="table";if(this.plot.hidden=e,this.broken.hidden=!e,!e){this.brokenKey!==null&&(this.broken.textContent="",this.brokenKey=null,this.brokenSelect=null);return}let s=E(this.view.state.doc),i=s.map(h=>`${h.id}:${h.name}:${h.rows}`).join("|");if(this.brokenKey===i)return;this.brokenKey=i,this.brokenSelect=null;let a=this.doc;this.broken.textContent="",this.broken.append(l(a,"div","page-chart-broken-head","This chart's table was deleted"),l(a,"p","page-chart-broken-text","Pick another table in this document, or delete the chart. Undo brings the table back."));let r=l(a,"div","page-chart-broken-actions");if(s.length){let h=T(a,"rescue","Source table");for(let d of s)h.append(C(a,d.id,`${d.name} (${d.rows} ${d.rows===1?"row":"rows"})`));this.brokenSelect=h;let f=l(a,"button","page-chart-use","Use this table");f.type="button",f.dataset.action="use",r.append(h,f)}let c=l(a,"button","page-chart-delete","Delete chart");c.type="button",c.dataset.action="delete",r.append(c),this.broken.append(r)}brokenClick(t){let e=t.target.closest?.("button[data-action]");e&&(e.dataset.action==="delete"?this.removeChart():e.dataset.action==="use"&&this.switchSource(this.brokenSelect?.value??""))}openSoon(){let t=this.dom.ownerDocument.defaultView;(t.requestAnimationFrame?.bind(t)??(s=>t.setTimeout(s,0)))(()=>{!this.view.isDestroyed&&this.dom.isConnected&&this.openPanel()})}renderHead(){let t=this.node.attrs,e=A(this.view.state.doc,t.source),s=!g(this.view.state.doc,t.source);this.title.textContent=t.title||it,this.title.classList.toggle("is-empty",!t.title),this.chipName.textContent=s?"No table":e??"",this.chip.disabled=s}setAttrs(t){let e=this.getPos();if(e==null)return;let s=this.view.state.doc.nodeAt(e);s?.type===p.nodes.chart&&this.view.dispatch(this.view.state.tr.setNodeMarkup(e,null,{...s.attrs,...t}))}row(t,...e){let s=l(this.doc,"div","page-chart-row");return t&&s.append(l(this.doc,"span","page-chart-label",t)),s.append(...e),s}panelKey(){let t=this.view.state.doc,e=E(t).map(s=>`${s.id}:${s.name}:${s.rows}`).join("|");return JSON.stringify([this.node.attrs,e,N(g(t,this.node.attrs.source))])}redrawPanel(){let t=this.doc.activeElement,e=t&&this.panel.contains(t)?t.dataset??{}:null,s=this.titleInput,i=s&&s.value!==this.renderedTitle?{value:s.value,start:s.selectionStart,end:s.selectionEnd}:null;if(this.renderPanel(),i&&this.titleInput&&(this.titleInput.value=i.value),!e)return;let a=[...this.panel.querySelectorAll("button, input, select")].find(r=>["field","kind","col","action"].every(c=>r.dataset[c]===e[c]));if(!a)return this.panel.focus();a.focus(),i&&a===this.titleInput&&a.setSelectionRange?.(i.start,i.end)}renderPanel(){let t=this.doc;this.renderedKey=this.panelKey(),this.renderedTitle=this.node.attrs.title??"";let e=this.node.attrs,s=N(this.source),i=s?.cols??[],a=s?.rows??[],r=e.kind==="pie";this.unsaved?.dispose(),this.unsaved=null,this.titleInput=null,this.panel.textContent="";let c=l(t,"div","page-chart-types");for(let[o,P]of st){let b=l(t,"button","page-chart-type",P);b.type="button",b.dataset.kind=o,b.setAttribute("aria-pressed",String(e.kind===o)),c.append(b)}this.panel.append(this.row("Chart type",c));let h=T(t,"source","Source table");for(let o of E(this.view.state.doc))h.append(C(t,o.id,`${o.name} (${o.rows} ${o.rows===1?"row":"rows"})`,o.id===e.source));this.panel.append(this.row("Source table",h));let f=T(t,"labels","Labels column");for(let o of i)f.append(C(t,o.id,o.name||o.id,o.id===e.x));this.panel.append(this.row("Labels column",f));let d=l(t,"div","page-chart-values");i.filter(o=>o.id!==e.x).forEach((o,P)=>{let b=l(t,"label","page-chart-value"),v=l(t,"input");v.type="checkbox",v.dataset.field="series",v.dataset.col=o.id,v.checked=e.series.includes(o.id);let I=l(t,"span","page-chart-swatch");I.style.background=`var(--chart-${P%6+1})`,I.setAttribute("aria-hidden","true"),b.append(v,I,l(t,"span","page-chart-value-name",o.name||o.id)),d.append(b)});let w=this.row(r?"Value column":"Value columns",d);r&&w.append(l(t,"span","page-chart-hint","Pie charts plot the first value column across rows.")),this.panel.append(w);let m=T(t,"highlight","Highlight row");m.append(C(t,"","None",!e.highlight));for(let o of a)m.append(C(t,o.id,O(o.cells?.[e.x])||o.id,o.id===e.highlight));this.panel.append(this.row("Highlight row",m));let u=l(t,"input","page-chart-title-input");u.type="text",u.dataset.field="title",u.setAttribute("aria-label","Chart title"),u.value=e.title??"",u.addEventListener("keydown",o=>{o.isComposing||o.keyCode===229||o.key==="Enter"&&(o.preventDefault(),o.stopPropagation(),this.commitTitle())}),u.addEventListener("change",()=>this.commitTitle()),u.addEventListener("blur",()=>this.commitTitle()),this.titleInput=u,this.panel.append(this.row("Chart title",u));let H=l(t,"div","page-chart-foot"),k=l(t,"button","page-chart-remove");k.type="button",k.dataset.action="remove",k.innerHTML=et,k.append("Remove");let L=l(t,"button","page-chart-done","Done");L.type="button",L.dataset.action="done",H.append(k,L),this.panel.append(H),this.unsaved=K({id:"chart-title",isPending:()=>u.isConnected&&u.value!==(this.node.attrs.title??"")})}openPanel(){this.panel.isConnected||(this.renderPanel(),this.dom.append(this.panel),this.edit.setAttribute("aria-expanded","true"),this.panel.focus())}closePanel(t=!1){this.panel.isConnected&&(this.unsaved?.dispose(),this.unsaved=null,this.titleInput=null,this.panel.remove(),this.edit.setAttribute("aria-expanded","false"),t&&this.edit.focus())}panelClick(t){let e=t.target.closest?.("button");e&&(e.dataset.action==="done"?(this.commitTitle(),this.closePanel(!0)):e.dataset.action==="remove"?this.removeChart():e.dataset.kind&&this.setAttrs({kind:e.dataset.kind}))}panelChange(t){let e=t.target;if(e?.dataset){if(e.dataset.field==="source")this.switchSource(e.value);else if(e.dataset.field==="labels")this.setAttrs({x:e.value,series:this.node.attrs.series.filter(s=>s!==e.value)});else if(e.dataset.field==="highlight")this.setAttrs({highlight:e.value||null});else if(e.dataset.field==="series"){let s=this.node.attrs.series.filter(i=>i!==e.dataset.col);this.setAttrs({series:e.checked?[...s,e.dataset.col]:s})}}}switchSource(t){let e=g(this.view.state.doc,t),s=e?at(e):null;s&&this.setAttrs({source:t,x:s.x,series:s.series})}commitTitle(){let t=this.titleInput;!t||t.value===(this.node.attrs.title??"")||this.setAttrs({title:t.value})}goToSource(){let t=this.view.state.doc,e=nt(t,this.node.attrs.source),s=e===null?null:t.nodeAt(e);if(!s?.childCount||!s.child(0).childCount)return;let i=e+3;this.view.dispatch(this.view.state.tr.setSelection(J.create(t,i)).scrollIntoView()),this.view.focus?.()}removeChart(){let t=this.getPos();if(t==null)return;let e=this.view.state.doc.nodeAt(t);if(e?.type!==p.nodes.chart)return;this.closePanel();let s=this.view.state.tr.delete(t,t+e.nodeSize);s.setSelection(J.near(s.doc.resolve(Math.min(t,s.doc.content.size)),-1)),this.view.dispatch(G(s).scrollIntoView())}update(t){if(t.type!==p.nodes.chart)return!1;let e=!t.sameMarkup(this.node);return this.node=t,this.dom.dataset.id=t.attrs.id??"",e&&(this.source=g(this.view.state.doc,t.attrs.source),this.renderHead(),this.schedule()),!0}stopEvent(t){return!!t.target.closest?.(".page-chart-head, .page-chart-panel")}destroy(){if(this.unsaved?.dispose(),this.unsaved=null,this.doc.removeEventListener("mousedown",this.outside,!0),this.doc.removeEventListener("keydown",this.escape,!0),S.get(this.view)?.delete(this),this.frame!==null){let t=this.dom.ownerDocument.defaultView;t.cancelAnimationFrame?t.cancelAnimationFrame(this.frame):t.clearTimeout(this.frame)}}};function vt(n){for(let t of S.get(n)??[])t.refresh()}export{wt as a,X as b,kt as c,Y as d,vt as e};
|
package/dist/m/c-WBGWGOM7.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./c-KQ7E3PYY.js";import"./c-VHNSBD2M.js";export{b as followTocLink,a as idFromHref};
|