@panphora/clayjs 1.25.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +1 -1
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +5570 -4173
- package/dist/m/attrs/{save-freeze-MH3AOD56.js → save-freeze-PUYX32AK.js} +1 -1
- package/dist/m/{c-BOMQIQ3V.js → c-2EFMJYGJ.js} +1 -1
- package/dist/m/c-2EPHRF47.js +1 -0
- package/dist/m/{c-JD2VFAYG.js → c-2SUFMUZX.js} +2 -2
- package/dist/m/{c-CITLTVQ4.js → c-2TJCFPX4.js} +1 -1
- package/dist/m/c-33SS5A4Y.js +1 -0
- package/dist/m/{c-V2FPBRO6.js → c-34J5HC7N.js} +1 -1
- package/dist/m/c-3F3AADKG.js +1 -0
- package/dist/m/{c-TCFVG3I4.js → c-3S3647J6.js} +1 -1
- package/dist/m/{c-GY4BREDT.js → c-3S5TNRZA.js} +1 -1
- package/dist/m/{c-GDNZEOOZ.js → c-3WX5FABT.js} +1 -1
- package/dist/m/{c-AI3H6ETU.js → c-3XGLJAS7.js} +2 -2
- package/dist/m/c-42WBOKFM.js +1 -0
- package/dist/m/c-47M4QHCK.js +1 -0
- package/dist/m/{c-UOUUI265.js → c-4M2T676V.js} +1 -1
- package/dist/m/{c-GEAG5XAK.js → c-4TP3UXBT.js} +1 -1
- package/dist/m/{c-IESDKFO6.js → c-5ELELG2F.js} +1 -1
- package/dist/m/{c-X3V4RWMA.js → c-5ZYLTN3Q.js} +1 -1
- package/dist/m/{c-5PZYDWTW.js → c-67TBU56I.js} +1 -1
- package/dist/m/{c-WNOLMHI2.js → c-6BGJAJ67.js} +1 -1
- package/dist/m/{c-4Q6QIODW.js → c-755ZOHOM.js} +1 -1
- package/dist/m/c-7Q4XYDF4.js +1 -0
- package/dist/m/c-7RHOMAMR.js +1 -0
- package/dist/m/c-A5LASUEZ.js +1 -0
- package/dist/m/{c-IL5IVTOG.js → c-ABOBD7F3.js} +1 -1
- package/dist/m/c-AQVQKFKB.js +1 -0
- package/dist/m/{c-QDVG4NAZ.js → c-ARO6CPMA.js} +1 -1
- package/dist/m/{c-ORLPQFNU.js → c-AZM34SPO.js} +1 -1
- package/dist/m/{c-XUZMRQ7O.js → c-BCS3AZQZ.js} +1 -1
- package/dist/m/c-BOS7GONO.js +1 -0
- package/dist/m/{c-SUAC5RSG.js → c-C5UGNOC2.js} +1 -1
- package/dist/m/c-C6DXZIXD.js +1 -0
- package/dist/m/{c-WSTUCBHV.js → c-CPRGR2II.js} +1 -1
- package/dist/m/{c-NICICT4P.js → c-DEYHCYJB.js} +1 -1
- package/dist/m/{c-WGQVSKKC.js → c-DYTBSJBI.js} +1 -1
- package/dist/m/{c-DT7E76Z2.js → c-DZT6W2NG.js} +1 -1
- package/dist/m/{c-O2QZDVZ2.js → c-EEWPNUM2.js} +1 -1
- package/dist/m/{c-MFB74XVN.js → c-EHAR4RJJ.js} +2 -2
- package/dist/m/c-EHJWIGWN.js +1 -0
- package/dist/m/c-EIDZHQHZ.js +1 -0
- package/dist/m/{c-V2V5FKXX.js → c-EIUKME3W.js} +1 -1
- package/dist/m/c-ELXMSEN5.js +1 -0
- package/dist/m/c-EXZOA6XY.js +7 -0
- package/dist/m/{c-FKTALXNV.js → c-EYFMAR3M.js} +1 -1
- package/dist/m/c-FC5RUFPR.js +1 -0
- package/dist/m/{c-FBOO2UY3.js → c-FUN6AKFE.js} +1 -1
- package/dist/m/{c-V4B3RUWB.js → c-GFASNR55.js} +1 -1
- package/dist/m/{c-XMIDHEKF.js → c-GY36NO7C.js} +1 -1
- package/dist/m/{c-UD4VDBGJ.js → c-H3M6UDNV.js} +1 -1
- package/dist/m/{c-SFZRY6RT.js → c-H47C6PJZ.js} +1 -1
- package/dist/m/{c-MUM53J5J.js → c-H4M2T4A6.js} +1 -1
- package/dist/m/{c-U7F66I64.js → c-HYNM5U6B.js} +1 -1
- package/dist/m/c-J2YYLEVM.js +1 -0
- package/dist/m/c-J2ZW4HMR.js +1 -0
- package/dist/m/{c-WCG6AKA7.js → c-JC4RZW4E.js} +1 -1
- package/dist/m/c-K2ZHQMPF.js +1 -0
- package/dist/m/c-KD2ME5UN.js +2 -0
- package/dist/m/{c-Z2OZFX3N.js → c-L6KVXPBO.js} +1 -1
- package/dist/m/{c-GO635CRU.js → c-LAKBBJOU.js} +2 -2
- package/dist/m/{c-4AE2A2LK.js → c-LETPPG2F.js} +1 -1
- package/dist/m/{c-SFYTKRU7.js → c-MKAUC6DB.js} +1 -1
- package/dist/m/{c-WDFQ7PBU.js → c-MMEVDN6D.js} +1 -1
- package/dist/m/{c-LS7IVQVW.js → c-MMV5JULA.js} +1 -1
- package/dist/m/{c-NEQRFC4O.js → c-MVVEIJUU.js} +1 -1
- package/dist/m/{c-SXZYVXD6.js → c-N362HNGO.js} +1 -1
- package/dist/m/{c-7K4SCQB7.js → c-ND3W7D5U.js} +1 -1
- package/dist/m/{c-3E2IK5HU.js → c-NNHNXD6M.js} +1 -1
- package/dist/m/{c-D62HRSZK.js → c-NYJ577NL.js} +1 -1
- package/dist/m/{c-YFO6ZJLQ.js → c-O3DPFZCE.js} +1 -1
- package/dist/m/c-OZOACVUD.js +1 -0
- package/dist/m/{c-MV7TEUTD.js → c-OZVK3TFI.js} +1 -1
- package/dist/m/{c-ZEA3DCG3.js → c-PWILUN4T.js} +1 -1
- package/dist/m/{c-BCWYEG6P.js → c-QA3Q3MDI.js} +1 -1
- package/dist/m/{c-XHZIKRCV.js → c-QKOKMQXA.js} +1 -1
- package/dist/m/{c-TGIMBAWE.js → c-RBWVF4N5.js} +1 -1
- package/dist/m/c-RES2S5Q3.js +1 -0
- package/dist/m/c-RFGELYEU.js +2 -0
- package/dist/m/c-RGFPLQGV.js +1 -0
- package/dist/m/{c-RGAALCDU.js → c-SPOEDIMP.js} +1 -1
- package/dist/m/{c-YX2MC7YL.js → c-SRW5OBCF.js} +1 -1
- package/dist/m/{c-C6YZNU6E.js → c-SYOA4T7V.js} +1 -1
- package/dist/m/c-SYVF6ZMF.js +1 -0
- package/dist/m/{c-NADLYVAH.js → c-TJ5PFOJ2.js} +1 -1
- package/dist/m/{c-KYTVZT4D.js → c-TKV273YU.js} +1 -1
- package/dist/m/c-U35T5NAY.js +1 -0
- package/dist/m/{c-PRZNJUYZ.js → c-UEKJWXCB.js} +2 -2
- package/dist/m/c-UW6MMZ4V.js +1 -0
- package/dist/m/{c-XQTERKQA.js → c-V4DBV5ZV.js} +1 -1
- package/dist/m/c-VGG3UR7I.js +1 -0
- package/dist/m/c-VU4WEWPH.js +4 -0
- package/dist/m/{c-5Q5XBN56.js → c-W7LWCJHD.js} +1 -1
- package/dist/m/c-WHMZCRQD.js +6 -0
- package/dist/m/{c-WMRJKQ2V.js → c-WHQUZM2V.js} +1 -1
- package/dist/m/c-WOJ2RTV4.js +1 -0
- package/dist/m/{c-ZJG6C2WL.js → c-WOWGGNCJ.js} +1 -1
- package/dist/m/{c-ZORVIXUR.js → c-XHD7XJTE.js} +1 -1
- package/dist/m/c-XONFK3WC.js +1 -0
- package/dist/m/{c-HGG7M2S3.js → c-Y3J5LDKB.js} +1 -1
- package/dist/m/{c-JB5YU57S.js → c-Y3MPVURA.js} +1 -1
- package/dist/m/c-Y6HH7LTM.js +1 -0
- package/dist/m/{c-52OC3OH3.js → c-YRDKVEGR.js} +1 -1
- package/dist/m/c-YYIN4NAF.js +30 -0
- package/dist/m/{c-WVCT3ITX.js → c-YZGWSCMT.js} +1 -1
- package/dist/m/c-ZFAPQQIB.js +1 -0
- package/dist/m/core/{admin-attrs-ZI6K6UGM.js → admin-attrs-43JBA6JB.js} +1 -1
- package/dist/m/core/{autosave-BSM2ABJL.js → autosave-HD7Y7UNV.js} +1 -1
- package/dist/m/core/{conflict-notice-7EQLDYPA.js → conflict-notice-UNDOD4BL.js} +1 -1
- package/dist/m/core/{persist-2SZO3PCE.js → persist-MX3VYVBN.js} +1 -1
- package/dist/m/core/{save-K6Q47J2X.js → save-JZ7R4ET2.js} +1 -1
- package/dist/m/core/{save-core-U3Z44XBO.js → save-core-I4N6S4ED.js} +1 -1
- package/dist/m/core/site-edits-C22O53GS.js +1 -0
- package/dist/m/core/{snapshot-PWCHYFL6.js → snapshot-N5MKDGNI.js} +1 -1
- package/dist/m/core/{unsaved-warning-2WRZLJH5.js → unsaved-warning-BP6ZY3PG.js} +1 -1
- package/dist/m/internals/{index-FSLC4M7J.js → index-3LAVREAU.js} +1 -1
- package/dist/m/loader-DCKCZKY6.js +1 -0
- package/dist/m/manifest-7954CBE3.js +1 -0
- package/dist/m/manifest-edit-93AA79D7.js +1 -0
- package/dist/m/manifest.json +1240 -1179
- package/dist/m/page/{editor-PKSPJ2XJ.js → editor-UF3CIA6V.js} +5 -5
- package/dist/m/plugins/{ai-edit-3LG6MGS3.js → ai-edit-WDV2GLDU.js} +2 -2
- package/dist/m/plugins/{cms-T2HLI7JG.js → cms-KG6TCTR3.js} +9 -9
- package/dist/m/plugins/{derive-7DR5TUDH.js → derive-R4USHZ7P.js} +1 -1
- package/dist/m/plugins/{indicator-CTKX4EY7.js → indicator-OLPZ4WFI.js} +1 -1
- package/dist/m/plugins/{live-IFLL6YN5.js → live-DF5YS5AH.js} +1 -1
- package/dist/m/plugins/{menu-YJZ3JWBC.js → menu-ESEFQARM.js} +1 -1
- package/dist/m/plugins/page-GZSU77JS.js +2 -0
- package/dist/m/plugins/{page-view-NMCCU6MF.js → page-view-7MM3FEAR.js} +1 -1
- package/dist/m/plugins/{people-6WIWCZEG.js → people-EBWE337I.js} +1 -1
- package/dist/m/plugins/quickcrop-UHURKA2F.js +26 -0
- package/dist/m/plugins/richclay-MXH2GFAZ.js +549 -0
- package/dist/m/plugins/sortable-BAG3MSWS.js +1 -0
- package/dist/m/plugins/{source-7LSGOV46.js → source-OYHDXKTB.js} +1 -1
- package/dist/m/plugins/undo-KLHAGV75.js +1 -0
- package/dist/m/plugins/{upgrade-MMPZUCDM.js → upgrade-SZQJYEQQ.js} +1 -1
- package/dist/m/plugins/{visitor-drafts-V5YB7XDH.js → visitor-drafts-ZE6PCAFP.js} +2 -2
- package/dist/m/plugins/{visitor-menu-QDV2MYJN.js → visitor-menu-5XY57JQA.js} +1 -1
- package/dist/m/plugins/{wire-3YGUO3GE.js → wire-S5ATC4QI.js} +1 -1
- package/dist/m/reader-core-AHOAP5DH.js +77 -0
- package/dist/m/sync/{live-sync-XMXXZS3G.js → live-sync-RZQSDMZW.js} +1 -1
- package/dist/m/ui/index-G7ZJXNMG.js +1 -0
- package/dist/m/vendor/{sap-core.vendor-JANUQULT.js → sap-core.vendor-5TWOJYVM.js} +4 -4
- package/dist/offline-manifest.json +780 -750
- package/dist/server/core.cjs +4245 -2614
- package/dist/server/markdown.cjs +1 -0
- package/dist/server/markdown.mjs +7 -0
- package/docs/guide.md +26 -37
- package/entries/clay-data.js +1 -1
- package/entries/sap.js +5 -5
- package/package.json +6 -2
- package/packed-contract.json +3 -0
- package/src/attrs/save-freeze.js +1 -1
- package/src/core/admin-contenteditable.js +1 -1
- package/src/core/admin-inputs.js +1 -1
- package/src/core/admin-onclick.js +1 -1
- package/src/core/admin-resources.js +5 -2
- package/src/core/conflict-notice-ui.js +59 -34
- package/src/core/save.js +9 -9
- package/src/core/site-edits.js +1 -1
- package/src/core/snapshot.js +56 -43
- package/src/core/stale-host-notice.js +20 -7
- package/src/loader-logic.js +0 -13
- package/src/page/boot-pack.js +1 -0
- package/src/page/editor.js +10 -4
- package/src/page/history-intent.js +111 -4
- package/src/page/import-markdown.js +22 -8
- package/src/page/save-projection.js +1 -1
- package/src/page/ybind/bridge.js +14 -7
- package/src/page/ybind/moves.js +437 -3
- package/src/page/ybind/origins.js +1 -1
- package/src/page/ybind/recovery.js +1 -1
- package/src/plugins/page.js +48 -4
- package/src/plugins/quickcrop.js +128 -69
- package/src/plugins/richclay.js +136 -0
- package/src/plugins/sortable.js +25 -9
- package/src/plugins/undo.js +169 -7
- package/src/recovery/undo.js +14 -7
- package/src/server/markdown/index.js +23 -0
- package/src/sync/conflicts.js +3 -1
- package/src/sync/data-guard-notice.js +137 -18
- package/src/sync/live-sync.js +24 -0
- package/src/ui/bevel-controls.js +4 -1
- package/src/ui/dialogs.js +11 -7
- package/src/ui/modal.js +9 -7
- package/src/ui/toast.js +67 -32
- package/src/ui/vendor-skin.js +9 -4
- package/src/vendor/hyper-html-api-data.vendor.js +1 -1
- package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
- package/src/vendor/hyper-undo.vendor.js +1 -1
- package/src/vendor/hypercms.vendor.js +7 -7
- package/src/vendor/richclay.vendor.js +16 -16
- package/src/vendor/sap-core.vendor.js +4 -4
- package/tool-generation/context.md +69 -0
- package/tool-generation/system.md +1 -1
- package/dist/m/c-277QP5ET.js +0 -1
- package/dist/m/c-5SZ6KFR5.js +0 -1
- package/dist/m/c-CU33V6RW.js +0 -4
- package/dist/m/c-CVSWLX3X.js +0 -1
- package/dist/m/c-DXPOFLEJ.js +0 -1
- package/dist/m/c-EODTTNVA.js +0 -1
- package/dist/m/c-ESK4S67I.js +0 -1
- package/dist/m/c-FDWR3FL7.js +0 -1
- package/dist/m/c-FJDTDGDA.js +0 -1
- package/dist/m/c-FYDKYW6E.js +0 -1
- package/dist/m/c-HKSLOVU4.js +0 -1
- package/dist/m/c-IJHF4IO6.js +0 -1
- package/dist/m/c-IUL7PU4P.js +0 -1
- package/dist/m/c-JWW6BHWD.js +0 -6
- package/dist/m/c-K4M76VPM.js +0 -7
- package/dist/m/c-M7ITYKMF.js +0 -1
- package/dist/m/c-MR75YPRT.js +0 -1
- package/dist/m/c-NFQFV7OP.js +0 -2
- package/dist/m/c-NHXOBD6A.js +0 -1
- package/dist/m/c-NVU3DORS.js +0 -1
- package/dist/m/c-PNZIJFG7.js +0 -1
- package/dist/m/c-QWB53KRW.js +0 -1
- package/dist/m/c-RHPHMTF2.js +0 -2
- package/dist/m/c-RWJ3OSCP.js +0 -1
- package/dist/m/c-SEVOS4UE.js +0 -1
- package/dist/m/c-SGG6MUXW.js +0 -1
- package/dist/m/c-SXNSSHPP.js +0 -1
- package/dist/m/c-TFLRT5JX.js +0 -1
- package/dist/m/c-TLQINES7.js +0 -30
- package/dist/m/c-U65PREMC.js +0 -1
- package/dist/m/c-V5L6HWVL.js +0 -1
- package/dist/m/c-VMXCX52Q.js +0 -1
- package/dist/m/c-YYGUHSZR.js +0 -1
- package/dist/m/core/site-edits-CFMF6GHD.js +0 -1
- package/dist/m/loader-RC54UV7H.js +0 -1
- package/dist/m/manifest-3B84C829.js +0 -1
- package/dist/m/manifest-edit-1CB79AD4.js +0 -1
- package/dist/m/plugins/page-GTDPYGE4.js +0 -2
- package/dist/m/plugins/quickcrop-X5MRIBAP.js +0 -26
- package/dist/m/plugins/richclay-L3BZMX4I.js +0 -549
- package/dist/m/plugins/sortable-365SRRL3.js +0 -1
- package/dist/m/plugins/undo-UES4KS7B.js +0 -1
- package/dist/m/reader-core-VR7EL4WV.js +0 -77
- package/dist/m/ui/index-MGTWOW2C.js +0 -1
- /package/dist/m/{c-QTTJYJMA.js → c-FILLTJA7.js} +0 -0
- /package/dist/m/plugins/{quickcrop-X5MRIBAP.js.LEGAL.txt → quickcrop-UHURKA2F.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-L3BZMX4I.js.LEGAL.txt → richclay-MXH2GFAZ.js.LEGAL.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as h}from"./c-Q6BG3ZLO.js";import{i as k,j as y}from"./c-
|
|
1
|
+
import{c as h}from"./c-Q6BG3ZLO.js";import{i as k,j as y}from"./c-WHMZCRQD.js";import"./c-LAKBBJOU.js";import"./c-EIUKME3W.js";import"./c-DZT6W2NG.js";import"./c-SYOA4T7V.js";import"./c-ND3W7D5U.js";import"./c-WHQUZM2V.js";import{C as g}from"./c-3XGLJAS7.js";import{d}from"./c-OH2FPYSY.js";import"./c-FSQXFG5T.js";import{b as m}from"./c-RETTCOWO.js";import"./c-JC4RZW4E.js";import"./c-57XDY6HC.js";import"./c-VHNSBD2M.js";var b=e=>String(e).padStart(2,"0");function A(e){if(typeof e!="string"||!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;let s=new Date(`${e}T12:00:00Z`);return Number.isFinite(s.valueOf())&&s.toISOString().slice(0,10)===e}var $=(e=new Date)=>`${e.getFullYear()}-${b(e.getMonth()+1)}-${b(e.getDate())}`,E=(e,s)=>{let a=new Date(`${e}T12:00:00Z`);return a.setUTCDate(a.getUTCDate()+s),a.toISOString().slice(0,10)},I=e=>{let s=E(e,1);return[{id:"today",name:`Today (${e})`,date:e},{id:"tomorrow",name:`Tomorrow (${s})`,date:s}]};function L({view:e=null}={}){if(!e)return{run:()=>({ok:!1,code:"not-editing"}),dispose(){}};let s=e.dom.ownerDocument,a=null;function l(t){let o=e.state;if(!o.selection.empty||o.selection.from!==t.from||t.from<0||t.from>o.doc.content.size)return null;let r=o.doc.resolve(t.from);return!r.parent.isTextblock||r.parent.type.spec.code||!r.parent.type.allowsMarkType(d.marks.date)?null:t.from}function D(t){try{let o=e.dom.parentElement?.getBoundingClientRect?.()??{left:0,top:0},r=e.coordsAtPos(t.from);return{x:Math.max(8,r.left-o.left),y:r.bottom+6-o.top}}catch{return null}}function u(t){let o=t.picker.activeId();o?e.dom.setAttribute("aria-activedescendant",o):e.dom.getAttribute("aria-activedescendant")?.startsWith(t.picker.el.id)&&e.dom.removeAttribute("aria-activedescendant")}function c(){let t=a;if(t){a=null;for(let[o,r,n,i]of t.listen)o.removeEventListener(r,n,i);e.dom.getAttribute("aria-activedescendant")?.startsWith(`${t.picker.el.id}-`)&&e.dom.removeAttribute("aria-activedescendant"),t.picker.destroy()}}function x(t,o){let r=String(o),n=e.state.tr.insertText(r,t,t);return n.addMark(t,t+r.length,d.marks.date.create({date:r})),n.insertText(" ",t+r.length),n.setSelection(m.TextSelection.create(n.doc,t+r.length+1)),e.dispatch(g(n)),e.focus(),{ok:!0,date:r}}async function f(t){let o=a;if(!o)return{ok:!1,code:"not-editing"};let r=o.picker.personAt(t),n=l(o);return n===null||!r||!A(r.date)?(c(),r?n===null?{ok:!1,code:"stale-target"}:{ok:!1,code:"invalid-date"}:{ok:!1,code:"no-date"}):(c(),k(e,()=>{let i=l(o);return i===null?{ok:!1,code:"stale-target"}:x(i,r.date)}))}function S(t){let o=a;if(!o||y(t,e))return;let r=()=>{t.preventDefault(),t.stopPropagation()};t.key==="ArrowDown"||t.key==="ArrowUp"?(r(),o.picker.move(t.key==="ArrowDown"?1:-1),u(o)):t.key==="Enter"?(r(),f(o.picker.index())):(t.key==="Escape"||t.key==="Tab")&&(r(),c())}function T(){c();let t={from:e.state.selection.from,days:I($()),picker:null,listen:[]};t.picker=h({document:s,label:"Insert a date",empty:"No date to insert",onPick:r=>f(r)}),a=t;let o=(r,n,i,p)=>{r.addEventListener(n,i,p),t.listen.push([r,n,i,p])};return o(s,"keydown",r=>S(r),!0),o(e.dom,"input",()=>c()),o(s,"mousedown",r=>{t.picker.el.contains(r.target)||c()},!0),(e.dom.parentElement??s.body).appendChild(t.picker.el),l(t)===null?(c(),{ok:!1,code:"stale-target"}):(t.picker.show(t.days,D(t)),u(t),{ok:!0,picker:!0})}return{async run(){return T()},dispose(){c()}}}export{L as createFeature,I as earlyDays,A as isISODate,$ as localISODate};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as h}from"./c-
|
|
1
|
+
import{C as h}from"./c-3XGLJAS7.js";import"./c-OH2FPYSY.js";import"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var u=(t,s)=>{let l=-1;return t.forEach((n,a,c)=>{n.attrs.id===s&&(l=c)}),l};function k(t,s,l){let n=t.state,a=u(n.doc,s);if(a<0)return!1;let c=0;for(let e=0;e<a;e++)c+=n.doc.child(e).nodeSize;let r=n.doc.child(a);return t.dispatch(h(n.tr.setNodeMarkup(c,null,{...r.attrs,...l}))),!0}function E(t,s){let l=u(t.state.doc,s);if(l<0)return!1;let n=t.dom.parentElement,a=n.ownerDocument,c=0;for(let o=0;o<l;o++)c+=t.state.doc.child(o).nodeSize;let r=a.createElement("div");r.className="blockeditor-link",r.dataset.mode="alt";let e=a.createElement("input");e.className="blockeditor-link-input",e.type="text",e.value=t.state.doc.child(l).attrs.alt||"",e.placeholder="Describe the image",e.setAttribute("aria-label","Alt text"),r.append(e);let d=t.nodeDOM(c)?.getBoundingClientRect?.(),p=n.getBoundingClientRect();d&&(r.style.setProperty("--blockeditor-pop-x",`${d.left-p.left}px`),r.style.setProperty("--blockeditor-pop-y",`${d.bottom-p.top+6}px`)),n.append(r);let f=!1,i=(o,b=!0)=>{if(f)return;f=!0;let m=e.value.trim();r.remove();let x=u(t.state.doc,s);o&&x>=0&&m!==t.state.doc.child(x).attrs.alt&&k(t,s,{alt:m}),b&&t.focus()};return e.addEventListener("keydown",o=>{o.key==="Enter"?(o.preventDefault(),i(!0)):o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),i(!1))}),e.addEventListener("blur",()=>i(!0,!1)),e.focus(),!0}export{E as openAltEditor,k as setImageAttrs};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{y as O}from"./c-
|
|
1
|
+
import{y as O}from"./c-3XGLJAS7.js";import{A as $,d as N,y as x,z as C}from"./c-OH2FPYSY.js";import{a as A}from"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var g=N.nodes,H=e=>e.attrs.parent??null,_=e=>{let a=new Set;return e.forEach(t=>t.forEach(o=>a.add(o.attrs.col))),C(e.attrs.cols).filter(t=>a.has(t))};function S(e,a){let t=a.ownerDocument,o=t.createElement("thead").appendChild(t.createElement("tr"));for(let s of _(e)){let p=e.attrs.cols[s],r=o.appendChild(t.createElement("th"));r.setAttribute("data-col",s),r.setAttribute("scope","col"),p.kind&&r.setAttribute("data-kind",p.kind),p.width&&(r.setAttribute("data-width",String(p.width)),r.style.width=`${p.width}px`),r.textContent=p.name??""}a.prepend(o.parentNode),e.attrs.sort&&a.setAttribute("data-sort",JSON.stringify(e.attrs.sort))}function v(e,a){let t=[];e.forEach((o,s,p)=>{let r=a[p];if(!r||r.nodeType!==1)return;if(o.type===g.table&&S(o,r),o.type!==g.list_item||H(o)!==null){t=[];return}let f=r.ownerDocument,{indent:d,kind:i}=o.attrs,l=i==="ordered"?"OL":"UL";for(;t.length&&t.at(-1).indent>d;)t.pop();if(t.at(-1)?.indent===d&&t.at(-1).list.tagName!==l&&t.pop(),!t.length||t.at(-1).indent<d){let c=f.createElement(l);t.length?t.at(-1).li.append(c):r.before(c),t.push({indent:d,list:c,li:null})}let u=f.createElement("li");i==="check"&&(u.innerHTML=`<input type="checkbox" disabled${o.attrs.checked?" checked":""}>`),u.append(...r.childNodes),t.at(-1).list.append(u),t.at(-1).li=u,r.remove()})}var T=e=>/[\t\n\r"]/.test(e)?`"${e.replace(/"/g,'""')}"`:e;function q(e){if(!e.content.firstChild?.type.spec.group?.includes("block"))return null;let a="",t=[],o=!1;return e.content.forEach((s,p,r)=>{let f=s.type===g.list_item,d=s.textBetween(0,s.content.size,`
|
|
2
2
|
|
|
3
3
|
`);if(f){let{indent:i,kind:l}=s.attrs;for(;t.length&&t.at(-1).indent>i;)t.pop();t.at(-1)?.indent===i&&t.at(-1).kind!==l&&t.pop(),(!t.length||t.at(-1).indent<i)&&t.push({indent:i,kind:l,n:0});let u=t.at(-1),c=l==="ordered"?`${++u.n}.`:l==="check"?`- [${s.attrs.checked?"x":" "}]`:"-";d=`${" ".repeat(t.length-1)}${c} ${d}`}else t=[];if(s.type===g.table){let i=[_(s).map(l=>T(s.attrs.cols[l].name??""))];s.forEach(l=>{let u=[];l.forEach(c=>u.push(T(c.textContent))),i.push(u)}),d=i.map(l=>l.join(" ")).join(`
|
|
4
4
|
`)}a+=(r?o&&f?`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{e as X,f as G,h as J,i as Q,j as P,k as U}from"./c-
|
|
1
|
+
import{e as X,f as G,h as J,i as Q,j as P,k as U}from"./c-DEYHCYJB.js";import{a as C,f as L}from"./c-VO6RSFCO.js";import"./c-WN3MXOLT.js";import"./c-EIUKME3W.js";import{a as O,b as N,n as z,o as K,p as j,q as V,z as T}from"./c-WHQUZM2V.js";import{p as w}from"./c-3XGLJAS7.js";import"./c-OH2FPYSY.js";import{b as y,d as H}from"./c-RETTCOWO.js";import{b as W}from"./c-NL4I4KNG.js";import"./c-7SWMYKAI.js";import"./c-UGHH4MB3.js";import"./c-MZCOGNZL.js";import{d as q}from"./c-EQ5NBOGA.js";import"./c-IJUK2GPW.js";import"./c-C7SUMNMI.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var ce=128,D=r=>r.depth?r.node(1).attrs.id:null,Z=r=>!!r.depth&&r.node(1).type.name==="table",ae=(r,t,o,e,n)=>O(K(z(r.flow,J(t,o.holes,e,o.visible),n)));function te({pd:r,w:t,doc:o},e){if(!r||!t||!o||!e)return null;if(e instanceof y.TextSelection){let n=e.$anchor,s=e.$head;if(Z(n)||Z(s)){let a=P(o,n.pos),u=P(o,s.pos);return!a||!u||a.table!==u.table||a.row!==u.row||a.col!==u.col?null:{kind:"cell",block:a.table,row:a.row,col:a.col}}let i=Math.min(e.from,e.to),l=a=>{let u=D(a);return u===null?null:{block:u,rel:ae(r,o,t,a.pos,e.empty||a.pos===i?0:-1)}},c=l(n),m=l(s);return c&&m?{kind:"text",anchor:c,head:m}:null}if(e instanceof w||e instanceof y.NodeSelection){let n=[];if(e instanceof w){let{lo:s,hi:i}=e.span();o.forEach((l,c,m)=>{m>=s&&m<=i&&n.push(l.attrs.id)})}else{let s=o.nodeAt(e.from);s&&n.push(s.attrs.id)}if(!n.length)return null;if(n.length>ce){let s=D(e.$from);return s?{kind:"blocks",ids:[s]}:null}return{kind:"blocks",ids:n}}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 o;try{o=j(N(t.rel))}catch{return null}let e;try{e=V(o,r.ydoc)}catch{return null}return!e||e.type!==r.flow?null:e.index},fe=(r,t)=>{let o=0;for(let e=r.flow._start;e;e=e.right){let n=o+e.length;if(t<n)return!e.deleted;o=n}return!1},de=(r,t)=>{for(let o=r.flow._start;o;o=o.right)if(!o.deleted&&o.content instanceof T&&o.content.embed?.b===t)return!0;return!1},me=(r,t)=>{let o=0,e=null,n=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,n=o+s.length),o+=s.length,o>t&&e!==null)return{id:e,offset:t-n};return e===null?null:{id:e,offset:t-n}},pe=(r,t,o)=>{let e=null;return r.forEach((n,s)=>{e===null&&n.attrs.id===t&&n.isTextblock&&(e=s+1+Math.min(Math.max(o,0),n.content.size))}),e},ee=({pd:r,w:t,doc:o},e)=>{let n=ue(r,e);if(n===null)return null;let s=Q(o,t.holes,t.tokens,n,t.visible);if(D(o.resolve(s))===e.block)return s;let i=me(r,n);if(i&&i.id===e.block){let l=pe(o,e.block,i.offset);if(l!==null)return l}return de(r,e.block)||!fe(r,n)||t.holes.some(l=>n>=G(t.holes,l.at)&&n<X(t.holes,l.at))?null:o.resolve(s).parent.inlineContent?s:null};function oe({pd:r,w:t,doc:o},e){if(!r||!t||!o||!e||typeof e!="object")return null;if(e.kind==="text"){let n=ee({pd:r,w:t,doc:o},e.anchor),s=ee({pd:r,w:t,doc:o},e.head);return n===null||s===null?null:{kind:"text",from:Math.min(n,s),to:Math.max(n,s)}}if(e.kind==="cell"){let n=U(o,{table:e.block,row:e.row,col:e.col,offset:0});return n?{kind:"cell",from:n.from,to:n.to,block:n.block,row:n.row,col:n.col}:null}if(e.kind==="blocks"){let n=[],s=[];for(let i of Array.isArray(e.ids)?e.ids:[])o.forEach((l,c)=>{l.attrs.id!==i||n.includes(i)||(n.push(i),s.push({from:c,to:c+l.nodeSize}))});return s.length?{kind:"blocks",ids:n,ranges:s}:null}return null}var{Plugin:be,PluginKey:ge}=y,{Decoration:h,DecorationSet:x}=H,k=new ge("blockeditor-awareness"),ne="blockeditor-awareness-style",he=`
|
|
2
2
|
.blockeditor-remote-selection { background-color: color-mix(in srgb, var(--blockeditor-remote-color, currentColor) 22%, transparent); }
|
|
3
3
|
.blockeditor-remote-caret { position: relative; display: inline-block; width: 0; height: 1.1em; vertical-align: text-bottom; }
|
|
4
4
|
.blockeditor-remote-caret::before { content: ""; position: absolute; inset-inline-start: -1px; top: 0; bottom: 0; width: 2px; background: var(--blockeditor-remote-color, currentColor); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as X}from"./c-
|
|
1
|
+
import{c as X}from"./c-MMV5JULA.js";import{a as Q}from"./c-MVVEIJUU.js";import{j as G,l as j,v as h}from"./c-LAKBBJOU.js";import{c as z,g as J,h as _,p as L,t as N}from"./c-EIUKME3W.js";import{i as M,k as K,y as V}from"./c-WHQUZM2V.js";import{F as D,S as P,T as S,W as R,Y as T,aa as U,ba as I,ca as C,d as w,fa as u,ga as H,na as W,o as Y,p as F,q}from"./c-OH2FPYSY.js";var O=class extends Error{constructor(t){super(t),this.name="YMigrationError",this.code="invalid-source"}},i=e=>{throw new O(e)},$=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),g=e=>JSON.parse(u(e));function ot(e){(!Array.isArray(e)||!e.length)&&i("Expected at least one hybrid page value");for(let t of e){(!$(t)||!$(t.blocks)||Object.keys(t).some(o=>o!=="blocks"&&o!=="deleted"))&&i("Expected a hybrid page value with blocks and optional deleted ids"),t.deleted!=null&&!$(t.deleted)&&i("Invalid hybrid page tombstones");for(let[o,r]of Object.entries(t.blocks))!t.deleted?.[o]&&(!o||o==="__proto__"||!$(r))&&i(`Invalid hybrid page block: ${o}`),!t.deleted?.[o]&&/^~|~\d+$/.test(o)&&i(`Reserved hybrid page block id: ${o}`)}return C(e)}var rt=(e,t)=>{let o;try{o=F(w,e)}catch{return i(`Invalid mark key on block: ${t}`)}return Y([...o].sort((r,n)=>r.type.rank-n.type.rank))},Z=(e,t)=>{let o=U(e.m,e.c.length);o||i(`Invalid mark runs on block: ${t}`);for(let r=0;r<o.length;r++){let n=o[r];typeof n!="string"&&i(`Invalid mark key on block: ${t}`),n.startsWith("@")&&(n!==S||e.c[r]!==P)&&i(`Unsupported inline atom on block: ${t}`),e.t==="code_block"&&n&&i(`Unsupported formatting in code block: ${t}`),n.startsWith("@")||(o[r]=rt(n,t))}return o};function nt(e,t,o){let r={t:t.t,pos:o};for(let n of Object.keys(t))n==="t"||n==="pos"||n==="c"||n==="m"||(r[n]=g(t[n]));if(t.c!=null&&typeof t.c!="string"&&i(`Invalid text on block: ${e}`),r.c=t.c??"",typeof t.c=="string"&&t.m!=null){let n=Z(t,e);n.some(Boolean)&&(r.m=I(n))}else t.m!=null&&i(`Mark runs require flat text on block: ${e}`);return r}function st(e,t,o){let r=Object.hasOwn(R,t.t);!r&&(typeof t.t!="string"||!t.t||t.t==="opaque_block")&&i(`Unsupported hybrid block type: ${t.t}`);let n=String(o+1).padStart(8,"0");if(!r)return nt(e,t,n);let d=w.nodes[t.t],c=J(d),k=new Set(["t","pos","c","m",...c,...t.t==="table"?["rows"]:[]]),f={t:t.t,pos:n};for(let s of Object.keys(t))k.has(s)||(f[s]=g(t[s]));for(let s of c){let a=t[s]===void 0?_(d,s):t[s];u(a)!==u(_(d,s))&&(f[s]=g(a))}if(t.t==="table"&&(t.rows!==void 0&&!$(t.rows)&&i(`Invalid table rows: ${e}`),f.rows=g(t.rows??{})),!d.isTextblock)return t.c!=null&&t.c!==""&&!(Array.isArray(t.c)&&!t.c.length)&&i(`Unexpected text on block: ${e}`),t.m!=null&&!(Array.isArray(t.m)&&!t.m.length)&&i(`Unexpected marks on block: ${e}`),f;t.c!=null&&typeof t.c!="string"&&!Array.isArray(t.c)&&i(`Invalid text on block: ${e}`),typeof t.c=="string"&&t.m!=null?Z(t,e):t.m!=null&&i(`Mark runs require flat text on block: ${e}`);let y=D(w,e,t);y.check();let{c:B,m:b}=q(y.content);return f.c=B,b.some(Boolean)&&(f.m=I(b)),f}function it(e,t){let o;try{let r=ot(e),n=T(r),d=Object.fromEntries(n.map((s,a)=>[s,st(s,r[s],a)]));o=new M,o.clientID=t;let c=L(o),k=0;o.transact(()=>{for(let s of n){let a=d[s],{pos:at,c:A,m:tt,...E}=a;if(a.t==="board"&&(delete E.columns,delete E.cards),c.attrs.set(s,new V(Object.entries(g(E)))),a.t==="board"){for(let[m,p]of Object.entries(a.columns??{})){c.boardFields.set(h(s,"column",m,"alive"),!0);for(let l of["name","pos"])c.boardFields.set(h(s,"column",m,l),p[l]??"")}for(let[m,p]of Object.entries(a.cards??{})){c.boardFields.set(h(s,"card",m,"alive"),!0);for(let l of["title","owner","due"])p[l]!==void 0&&c.boardFields.set(h(s,"card",m,l),p[l]);c.boardFields.set(h(s,"card",m,"placement"),{columnId:p.col??"",pos:p.pos??""})}}if(c.flow.insertEmbed(c.flow.length,{b:s},{}),!A)continue;let v=0;for(let[m,p]of I(U(tt,A.length)??Array(A.length).fill(""))){if(p===S)for(let l=0;l<m;l++)c.flow.insertEmbed(c.flow.length,{br:1},{});else{let l=Object.fromEntries(Object.entries(N(F(w,p))).map(([et,x])=>[`${et}~${t}-m${(k++).toString(36)}`,x&&typeof x=="object"?g(x):x]));c.flow.insert(c.flow.length,A.slice(v,v+m),l)}v+=m}}},z);let f=G(K(o)),y=Math.ceil(f.length/j),b={v:1,g:0,y:y<=1?{seed:f}:Object.fromEntries(Array.from({length:y},(s,a)=>[`seed.${a}.${y}`,f.slice(a*j,(a+1)*j)]))};return u(Q(b))!==u(d)&&i("Hybrid page data cannot be represented without loss"),b}catch(r){throw r instanceof O?r:new O(`Cannot migrate hybrid page: ${r.message}`)}finally{o?.destroy()}}function ct(e){let t=parseInt(H(`blockeditor-seed:v1:${u(e)}`).slice(0,8),16)>>>0;return t<2?t+2:t}function $t(e){let t=W(e,{seed:e.getAttribute("data-rev")??""}),o={};return t.forEach((r,n)=>{let d=X(r,null);d.pos=String(n+1).padStart(8,"0"),o[r.id]=d}),it([{blocks:o}],ct(o))}export{$t as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as g,s as k}from"./c-
|
|
1
|
+
import{n as g,s as k}from"./c-EHAR4RJJ.js";import{a as u,b as r,c as d,h as p}from"./c-KU3PX7LL.js";var v=3e4;function a(){return{ok:!1,code:"failed"}}async function x(n,{etag:o}={}){if(typeof n!="string"||n==="")return a();let m=o!==void 0,y=typeof o=="string"&&o?o:null;if(r()||await p(),!r())return{ok:!1,code:"unsupported"};let s=m?y:u();if(!s)return{ok:!1,code:"conflict"};let i=new AbortController,S=setTimeout(()=>i.abort(),v);try{let{url:c,options:b}=k(n,!0,i.signal,g(),s,!1,null,!1),t=await fetch(c,b),f=await t.text(),e={};if(f)try{e=JSON.parse(f)}catch{e={}}if(!t.ok)return t.status===412?{ok:!1,code:"conflict"}:t.status===401||t.status===403?{ok:!1,code:"forbidden"}:a();let l=typeof e.etag=="string"&&e.etag?e.etag:null;return d(l),{ok:!0,etag:l}}catch{return a()}finally{clearTimeout(S)}}export{x as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as y,f as L,h as $,j as B,m}from"./c-J2ZW4HMR.js";import"./c-A5LASUEZ.js";import{a as _}from"./c-4JZDZFF6.js";import{b as R,c as T,d as N,e as S}from"./c-5RZNFTWD.js";import{b as F}from"./c-PKCCHJ5X.js";import{b}from"./c-NUHP2XDB.js";import{h as P}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var D="p,h1,h2,h3,h4,h5,h6,li,dt,dd,blockquote,pre,figcaption,td,th",K="section,article,aside,header,footer,nav,main,div,ul,ol,dl,table,figure,form",v=4,C=()=>typeof matchMedia=="function"&&!!matchMedia("(pointer: coarse)").matches;function w(l,d,f){return l.setAttribute(d,f),l}function H(l=document){let d=n=>n instanceof l.defaultView.Element&&n!==l.body&&n!==l.documentElement&&!n.closest("[data-clay-ai-edit]")&&!n.closest(P),f=n=>{if(!n||!d(n))return null;let r=n.closest(D)||n.closest(K);return r&&r!==l.body?r:null};return{targetAt(n,r){let a=typeof l.elementsFromPoint=="function"?l.elementsFromPoint(n,r):[];for(let s of a||[]){let t=f(s);if(t)return t}return null},between(n,r){if(!n)return r||null;if(!r||n===r)return n;let a=n.compareDocumentPosition(r)&4?n:r,s=a===n?r:n,t=a;for(;t&&!t.contains(s);)t=t.parentElement;return t?t===l.body||t.matches(D)||t.matches(K)?t:f(t)||t:null},rectOf(n){return n.getBoundingClientRect()}}}function U({coarse:l}){let d=`color-scheme:${_()}`,f=(u,i)=>w(u,"data-clay-ai-edit-part",i),n=w(L("div",["position:fixed","inset:0","z-index:99997","background:transparent","touch-action:pan-y","cursor:crosshair",d]),"data-clay-ai-edit","picker"),r=w(L("div",["box-sizing:content-box","position:fixed","z-index:99998","pointer-events:none",`border:2px solid ${S.brass}`,"border-radius:0",d]),"data-clay-ai-edit","picker-ring");m(r,!1);let a=w($("div",["position:fixed","left:50%","bottom:16px","transform:translateX(-50%)","z-index:99999","width:min(35rem, calc(100vw - 32px))","padding:8px 10px","border-radius:12px","gap:8px","align-items:center",`box-shadow:${N}`,`font:13px/1.5 ${R}`,d]),"data-clay-ai-edit","picker-bar");m(a,!1,"flex");let s=f(B("div",["display:block","flex:1","min-width:0","overflow:hidden","text-overflow:ellipsis","white-space:nowrap",`color:${S.muted}`,`font:12.5px/1.5 ${T}`]),"picker-hint");s.textContent="Click or drag blocks";let t=f(y("Whole page",{extra:["flex:none"]}),"picker-whole"),h=f(y("Cancel",{variant:"quiet",extra:["flex:none"]}),"picker-cancel"),c=l?f(y("Continue",{variant:"primary",extra:["flex:none"]}),"picker-continue"):null;c&&m(c,!1,"inline-flex"),a.append(s,t,...c?[c]:[],h),document.body.append(n,r,a);for(let u of[n,r,a])F(u);return{overlay:n,ring:r,bar:a,hint:s,whole:t,more:c,cancel:h}}function ee({surface:l,onPicked:d,onWholePage:f,onCancel:n,build:r}={}){let a=document,s=l||H(a),t=null,h=null,c=!1,u=null,i=null,M=e=>e&&(typeof s.rectOf=="function"?s.rectOf(e):e.getBoundingClientRect())||null,k=e=>s.targetAt(e.clientX,e.clientY)||null;function E(e){if(!t)return;let o=M(e);if(!o){m(t.ring,!1);return}b(t.ring,"left",o.left-5+"px"),b(t.ring,"top",o.top-5+"px"),b(t.ring,"width",o.width+6+"px"),b(t.ring,"height",o.height+6+"px"),m(t.ring,!0)}function X(e,o){if(!e)return;let p=u&&(o||C())&&s.between(u,e)||e;u=p,E(p),t.more&&m(t.more,!0,"inline-flex"),!C()&&d?.(p)}function z(e){!c||e.button>0||(e.preventDefault(),i={x:e.clientX,y:e.clientY,from:k(e),moved:!1,shift:!!e.shiftKey})}function Y(e){if(!c)return;let o=k(e);if(i){let p=e.clientX-i.x,x=e.clientY-i.y;if(!i.moved&&p*p+x*x>v*v&&(i.moved=!0),i.moved){E(i.from&&o?s.between(i.from,o)||o:o||i.from);return}}E(o)}function q(e){if(!c||!i)return;let o=i;i=null;let p=e.clientX-o.x,x=e.clientY-o.y,G=o.moved||p*p+x*x>v*v,g=k(e),A=G&&o.from&&g?s.between(o.from,g)||g:g||o.from;A&&X(A,!!(o.shift||e.shiftKey))}function I(e){!c||e.key!=="Escape"||(O(),n?.())}function V(){if(c)return;c=!0,u=null,i=null,t=(r||U)({coarse:C()}),h=new AbortController;let{signal:e}=h,{overlay:o}=t;o.addEventListener("pointerdown",z,{signal:e}),o.addEventListener("pointermove",Y,{signal:e}),o.addEventListener("pointerup",q,{signal:e}),o.addEventListener("pointercancel",()=>{i=null},{signal:e}),t.whole.addEventListener("click",()=>{c&&f?.()},{signal:e}),t.more?.addEventListener("click",()=>{c&&u&&d?.(u)},{signal:e}),t.cancel.addEventListener("click",()=>{O(),n?.()},{signal:e}),a.addEventListener("keydown",I,{signal:e}),m(t.bar,!0,"flex"),t.whole.focus({preventScroll:!0})}function O(){if(!(!c&&!t)){if(c=!1,u=null,i=null,h?.abort(),h=null,t)for(let e of[t.overlay,t.ring,t.bar])e.remove();t=null}}function W(e){return!t||!e?!1:t.overlay.contains(e)||t.bar.contains(e)}return{open:V,close:O,contains:W,get picking(){return c}}}export{ee as createPicker,H as genericSurface};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as k}from"./c-N326R2JD.js";import{a as w}from"./c-I2SCCUEW.js";import{f as v}from"./c-C7SUMNMI.js";var j=new Set(["accepted","reverted","reconciled"]),T=Math.random().toString(36).slice(2,8),z=0,l=new Map,f=new Map,p=new Set,h=new Set,x=null,O=20,y=null,b=null,u=[];function E(){b??=import("./c-AZM34SPO.js").then(e=>{for(y=e;u.length;)y.keep(u.shift())},e=>{b=null,console.error("clayjs: the conflict recovery module could not be downloaded; conflicts stay in this tab only",e)})}v&&E();function S(e=""){return`${T}:${e}${++z}`}function m(){return x||=w({id:"live-sync-conflicts",isPending:()=>l.size>0||p.size>0}),x}function g(e){m().changed(),document.dispatchEvent(new CustomEvent("clay:sync-conflicts-changed",{detail:{open:[...l.keys()],added:[],removedIds:[],updatedIds:[],...e}}))}function $(e){if(e.kind==="structure"&&e.detail==="remote-wins")return!1;let t=e.recovery;return t?t.applied===!1&&t.unavailable==="hook-veto"?!1:t.localLost!==!1:!0}var C=["kind","id","label","field"];function I(e){if(!e||typeof e!="object")return null;let t={};for(let n of C){let o=e[n];typeof o=="string"&&o?t[n]=o:typeof o=="number"&&Number.isFinite(o)&&(t[n]=String(o))}return Object.keys(t).length?t:null}function F(e){let t=I(e);return t?(typeof e.open=="function"&&(t.open=e.open),t):null}function A(e,t){for(let n of[...h].reverse()){let o;try{o=n(e,t)}catch(r){console.error("clayjs: a conflict context resolver threw; the conflict stays generic",r);continue}let i=F(o);if(i)return i}return null}function L(e){if(typeof e!="function")throw new TypeError("clay.conflicts.registerContext needs a resolver function");return h.add(e),()=>h.delete(e)}function B(e,t){let n=S(),o=Object.assign(t[0],{id:n,applyId:e.id,source:e.source,ticket:e.ticket,rawReports:t,claimedBy:null});return o.context=A(o,e),l.set(n,o),e.ids.add(n),n}function D({source:e,seq:t=null,etag:n=null,domain:o,root:i,recoveryRoot:r=null}){let c=S("a");return f.set(c,{id:c,source:e,seq:t,etag:n,ticket:0,domain:o,root:i,recoveryRoot:r,ids:new Set}),p.add(c),m().changed(),c}function N(e){if(!e.every(n=>n.kind==="structure"&&n.detail==="insert-collision"&&n.recovery?.applied===!0&&!n.recovery.unavailable&&n.recovery.structure?.localAction==="inserted"&&n.recovery.structure.fragmentKind==="element"))return null;let t=e[0].recovery.subject;return t?.local?.length!==1||t.merged?.length!==1||t.live?.length!==1?null:{local:t.local[0],merged:t.merged[0],live:t.live[0]}}function P(e){let t=new Map(e.map(r=>[r,N(r)])),n=(r,c)=>r.length<c.length&&r.every((s,d)=>s===c[d]),o=(r,c)=>c.reduce((s,d)=>d==="content"?s?.content:s?.childNodes[d],r),i=new Map;for(let r of e){let c=t.get(r),s=r;if(c)for(let d of e){let a=t.get(d);a&&a.local.length<t.get(s).local.length&&n(a.local,c.local)&&n(a.merged,c.merged)&&(a.live.contains(c.live)||o(a.live,c.merged.slice(a.merged.length))===c.live)&&(s=d)}i.has(s)||i.set(s,[...s]),r!==s&&i.get(s).push(...r)}return[...i.values()]}function M(e,t){let n=t.map(i=>l.get(i)).filter(Boolean);if(!n.length)return;let o={apply:e,records:n.map(i=>({rec:i,context:I(i.context)}))};if(y)return y.keep(o);u.push(o),u.length>O&&u.shift(),E()}function Q(e,t,{ticket:n}){let o=f.get(e);if(!o)return[];o.ticket=n;let i=new Map;for(let c of t){if(!$(c))continue;let s=c.recovery?.key??Symbol();i.has(s)||i.set(s,[]),i.get(s).push(c)}let r=P([...i.values()]).map(c=>B(o,c));return r.length&&M(o,r),p.delete(e),r.length||f.delete(e),r.length?g({added:r.map(c=>l.get(c))}):m().changed(),r}function X(e,t,{ticket:n=0}={}){let o=f.get(e);if(!o)return[];o.ticket=n,p.delete(e);let i=B(o,[{kind:"apply-incomplete",detail:null,error:String(t)}]);return l.get(i).rawReports=[],M(o,[i]),g({added:[l.get(i)]}),[i]}var q={get size(){return l.size},list(){return[...l.values()]},get(e){return l.get(e)||null},acknowledge(e,{reason:t}={}){if(!Array.isArray(e))throw new TypeError("clay.conflicts.acknowledge needs an array of ids");if(!j.has(t))throw new TypeError(`clay.conflicts.acknowledge: unknown reason "${t}"`);let n=[];for(let o of e){let i=l.get(o);if(!i)continue;k(i),l.delete(o),n.push(o);let r=f.get(i.applyId);r&&(r.ids.delete(o),r.ids.size||f.delete(i.applyId))}return n.length&&(g({removedIds:n,reason:t}),import("./c-AZM34SPO.js").then(o=>o.dismiss(n),()=>{})),{removedIds:n,remainingIds:[...l.keys()]}},claim(e,{owner:t}){if(!t)throw new TypeError("clay.conflicts.claim needs an owner");for(let i of e){let r=l.get(i);if(r&&r.claimedBy&&r.claimedBy!==t)throw new Error(`conflict ${i} is already claimed by ${r.claimedBy}`)}let n=[];for(let i of e){let r=l.get(i);r&&!r.claimedBy&&(r.claimedBy=t,n.push(i))}n.length&&g({updatedIds:n,reason:"claimed"});let o=!1;return{release(){if(o)return;o=!0;let i=n.filter(r=>l.get(r)?.claimedBy===t);for(let r of i)l.get(r).claimedBy=null;i.length&&g({updatedIds:i,reason:"released"})}}},registerContext:L,contextFor:A,recoveryOf(e){let t=l.get(e);return t&&f.get(t.applyId)||null},hasPendingApply(){return p.size>0}};export{E as a,L as b,D as c,Q as d,X as e,q as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=o=>!!o&&!o.bevel,f=(o,r,n)=>`color-mix(in srgb, ${o}, ${r} ${n}%)`,e=(o,r)=>r?[`${o}:${r}`]:[];function b({hover:o=!1,active:r=!1,focus:n=!1,disabled:c=!1}={}){let u=["base"];return!c&&o&&u.push("hover"),!c&&r&&u.push("active"),n&&u.push("focus"),c&&u.push("disabled"),u}function a(o,r){return o.background&&o.background!==o.surface?r>8?f(o.background,o.text||"currentColor",6):o.background:o.surface?f(o.surface,o.text||"currentColor",r):o.background}function p(o,r,n){let c=[],u={primary:["accent","accentText"],danger:["danger","dangerText"]}[r];if(n==="base"&&c.push(...e("font-family",o.font),...e("border-radius",o.radius)),n==="base"&&o.buttonHeight&&c.push("height:auto","block-size:auto",`min-height:${o.buttonHeight}`),u){let i=o[u[0]],s=o[u[1]];n==="base"&&c.push(...e("background",i),...e("border-color",i),...e("color",s)),n==="hover"&&i&&s&&c.push(`background:${f(i,s,12)}`),n==="active"&&i&&c.push(`border-color:${i}`,...s?[`background:${f(i,s,20)}`]:[]),n==="disabled"&&i&&c.push("opacity:.55")}else r==="quiet"?(n==="base"&&c.push(...e("color",o.text)),n==="hover"&&c.push(...e("background",a(o,7))),n==="active"&&c.push(...e("background",a(o,12))),n==="disabled"&&c.push(...e("color",o.mutedText))):(n==="base"&&c.push(...e("background",o.surface),...e("color",o.text),...e("border-color",o.border)),n==="hover"&&c.push(...e("background",a(o,7))),n==="active"&&c.push(...e("background",a(o,12)),...e("border-color",o.border)),n==="disabled"&&c.push(...e("color",o.mutedText)));return n==="focus"&&o.accent&&c.push(`outline:2px solid ${o.accent}`),c}var d={input:(o,r)=>r==="base"?[...e("font-family",o.font),...e("color",o.text),...e("background",o.surface),...e("border-color",o.border),...e("border-radius",o.radius)]:r==="hover"?e("border-color",o.mutedText):r==="focus"&&o.accent?[`outline:2px solid ${o.accent}`,`border-color:${o.accent}`]:[],surface:(o,r)=>r==="base"?[...e("background",o.surface),...e("color",o.text),...e("border-color",o.border),...e("box-shadow",o.shadow),...e("border-radius",o.radius),...e("font-family",o.font)]:[],text:(o,r)=>r==="base"?[...e("color",o.text),...e("font-family",o.font)]:[],mutedText:(o,r)=>r==="base"?[...e("color",o.mutedText),...e("font-family",o.font)]:[],heading:(o,r)=>r==="base"?[...e("font-family",o.headingFont||o.font),...e("color",o.text)]:[],code:(o,r)=>r==="base"?e("color",o.text):[],well:(o,r)=>r==="base"?[...e("background",o.background),...o.border?[`border:1px solid ${o.border}`]:[],...e("border-radius",o.radius)]:[],overlay:(o,r)=>r==="base"?e("background",o.overlay):[],close:(o,r)=>r==="base"?[...e("background",o.surface),...e("color",o.mutedText),...e("border-color",o.border)]:r==="hover"?e("background",a(o,7)):r==="focus"&&o.accent?[`outline:2px solid ${o.accent}`]:[]};function x(o,r,n="base"){return t(o)?r.startsWith("button.")?p(o.tokens,r.slice(7),n):d[r]?d[r](o.tokens,n):[]:[]}function $(o,r,n){return b(n).flatMap(c=>x(o,r,c))}function m(o,r,n){if(!t(o)||!r?.length)return[];let c=b(n),u=[];for(let i of r){let s=o.parts[i];if(s)for(let l of c)for(let[h,g]of Object.entries(s[l]||{}))u.push(`${h}:${g}`)}return u}function v(o,r,n){t(r)&&n?.length&&o.setAttribute("data-clay-part",n.join(" "))}function k(o,r,n){if(!n)return[];let c=[...o].reverse().find(s=>s.startsWith(`${r}:`)),u=c?c.slice(r.length+1).trim():"",i=[`${r}:${n}px`];return u&&u!==`${n}px`&&i.push(`${r}:max(${n}px, ${u})`),i}function y(o,r){return r?k(o,"min-height",44):[]}export{t as a,b,x as c,$ as d,m as e,v as f,k as g,y as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as E,b as S,c as P}from"./c-Q6BG3ZLO.js";import{i as A,j as q}from"./c-
|
|
1
|
+
import{a as E,b as S,c as P}from"./c-Q6BG3ZLO.js";import{i as A,j as q}from"./c-WHMZCRQD.js";import"./c-LAKBBJOU.js";import"./c-EIUKME3W.js";import"./c-DZT6W2NG.js";import"./c-SYOA4T7V.js";import"./c-ND3W7D5U.js";import"./c-WHQUZM2V.js";import{C as T}from"./c-3XGLJAS7.js";import{d as x}from"./c-OH2FPYSY.js";import"./c-FSQXFG5T.js";import{b as k}from"./c-RETTCOWO.js";import"./c-JC4RZW4E.js";import"./c-57XDY6HC.js";import"./c-VHNSBD2M.js";var R=/^[A-Za-z0-9_-]{8,64}$/,D="@",F=100;function _({view:o=null}={}){if(!o)return{run:()=>({ok:!1,code:"not-editing"}),dispose(){}};let f=o.dom.ownerDocument,y=()=>globalThis.clay?.people??null,l=null;function d(t){let e=o.state;if(!e.selection.empty)return null;let r=e.selection.head;if(r<=t.from||r-t.from>F+1||r>e.doc.content.size)return null;let n=e.doc.resolve(t.from);return!n.parent.isTextblock||n.parent.type.spec.code||r>n.end()||r<n.start()||n.parentOffset&&!/\s/.test(e.doc.textBetween(t.from-1,t.from,"",`
|
|
2
2
|
`))||e.doc.textBetween(t.from,t.from+1)!==D?null:{head:r,query:e.doc.textBetween(t.from+1,r)}}function $(t){try{let e=o.dom.parentElement?.getBoundingClientRect?.()??{left:0,top:0},r=o.coordsAtPos(t.from);return{x:Math.max(8,r.left-e.left),y:r.bottom+6-e.top}}catch{return null}}function h(t){let e=t.picker.activeId();e?o.dom.setAttribute("aria-activedescendant",e):o.dom.getAttribute("aria-activedescendant")?.startsWith(t.picker.el.id)&&o.dom.removeAttribute("aria-activedescendant")}function m(t){t.picker.show(S(E(t.saved,t.allowed),t.query),$(t)),h(t)}function i(){let t=l;if(t){l=null;for(let[e,r,n,s]of t.listen)e.removeEventListener(r,n,s);o.dom.getAttribute("aria-activedescendant")?.startsWith(`${t.picker.el.id}-`)&&o.dom.removeAttribute("aria-activedescendant"),t.picker.destroy()}}function p(){let t=l;if(!t||o.composing)return;let e=d(t);if(!e)return i();t.query=e.query,m(t)}async function g(t){let e=l;if(!e)return{ok:!1,code:"not-editing"};let r=e.picker.personAt(t),n=d(e);if(!(r&&n&&n.query===e.query&&R.test(String(r.id??""))&&String(r.name??"").trim()))return i(),{ok:!1,code:r?"stale-target":"no-person"};let c=String(r.name).trim();return i(),A(o,()=>{let u=d(e);if(!u||u.query!==e.query)return{ok:!1,code:"stale-target"};let a=o.state.tr.insertText(c,e.from,u.head);return a.addMark(e.from,e.from+c.length,x.marks.mention.create({id:r.id})),a.insertText(" ",e.from+c.length),a.setSelection(k.TextSelection.create(a.doc,e.from+c.length+1)),o.dispatch(T(a)),o.focus(),{ok:!0,id:r.id,label:c}})}function B(t){let e=l;if(!e||q(t,o))return;let r=()=>{t.preventDefault(),t.stopPropagation()};t.key==="ArrowDown"||t.key==="ArrowUp"?(r(),e.picker.move(t.key==="ArrowDown"?1:-1),h(e)):t.key==="Enter"?(r(),g(e.picker.index())):(t.key==="Escape"||t.key==="Tab")&&(r(),i())}function I(t){let e=y()?.available;e&&Promise.resolve().then(()=>e()).then(r=>{l===t&&(t.allowed=Array.isArray(r)?r:null,m(t))}).catch(()=>{})}function M(t){i();let e=P({document:f,onPick:c=>g(c)}),r={from:t,picker:e,query:"",allowed:null,saved:[],listen:[]};try{r.saved=y()?.list?.()??[]}catch{r.saved=[]}l=r;let n=(c,u,a,b)=>{c.addEventListener(u,a,b),r.listen.push([c,u,a,b])};n(f,"keydown",c=>B(c),!0),n(o.dom,"input",()=>p()),n(o.dom,"keyup",()=>p()),n(o.dom,"compositionend",()=>p()),n(f,"mousedown",c=>{r.picker.el.contains(c.target)||i()},!0),(o.dom.parentElement??f.body).appendChild(e.el);let s=d(r);return s?(r.query=s.query,m(r),I(r),{ok:!0,picker:!0}):(i(),{ok:!1,code:"stale-target"})}return{async run(t={}){let e=Number.isInteger(t?.from)?t.from:null;if(e===null){let r=o.state,n=r.selection.$from;if(!r.selection.empty||!n.parent.isTextblock||n.parent.type.spec.code)return{ok:!1,code:"stale-target"};e=r.selection.from;let s=o.state.tr.insertText(D);s.setSelection(k.TextSelection.create(s.doc,e+1)),o.dispatch(s)}return M(e)},dispose(){i()}}}export{_ as createFeature};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as $}from"./c-EHAR4RJJ.js";import"./c-LD6UVV5R.js";import"./c-PGSBXHUE.js";import"./c-KU3PX7LL.js";import"./c-EQ5NBOGA.js";import"./c-IJUK2GPW.js";import"./c-C7SUMNMI.js";import{c as k}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import{b as u}from"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-UW6MMZ4V.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var O="Some saved data was removed",W={recent:"A change from outside this page removed something you typed","all-typed":"A change from outside this page removed everything you typed",emptied:"A change from outside this page emptied this page's data",unreadable:"A change from outside this page left its data unreadable"},B=3,V=36e5,T="data-guard-done",K=6e3,Y=1500,G=5e3,H=3e4,J=1e4,q=6e3,X=["clay:save-error","clay:save-offline","clay:save-conflict"],I="Could not reach the server. Try again.",z="That did not go through. Try again.",Q="Save your changes first, then try again.",Z="Reload the page, then try again.",n=null,d=null,m=(e,t)=>`${e} ${t}${e===1?"":"s"}`,D=e=>!!e&&typeof e.id=="string"&&e.status==="pending",E=(e,t,i,s)=>s===!0&&!e.refused.has(`${t.id}:${i}`),A=(e,t)=>E(e,t,"restore",t.restorable),f=(e,t)=>E(e,t,"revert",t.canRevert),L=(e,t)=>E(e,t,"put-back",t.canPutBack),p=e=>Array.isArray(e.typed)?e.typed:[],C=e=>!!e.reason,ee=e=>W[e.reason]??O,P=e=>e.reason==="recent"||e.reason==="all-typed",te=e=>P(e)?"info":"warning",M=()=>k()?"omit":"same-origin",N=e=>$()||e.lastExternal>0&&Date.now()-e.lastExternal<J,U=(e={})=>({"Document-URL":location.href,...e});function b(){for(let e of document.querySelectorAll("[data-htmlclay-guard]"))e.remove()}function l(e,t){import("./c-C6DXZIXD.js").then(i=>{d=i,i.default(e,t)},()=>{})}function y(e){let t=e.lossSummary||{},i=t.provenance==="external"?"A change from outside this page":"A save from this page",s=t.removedItems>0?`removed ${m(t.removedItems,"item")}`:t.destroyedAtoms>0?`erased ${m(t.destroyedAtoms,"value")}`:"changed saved data",a=Array.isArray(e.preview)?e.preview[0]:null,o=[`${i} ${s}.`];return a&&o.push(`${a.key}: ${a.yours} before, ${a.now} now.`),o}function ie(e){let t=String(e??"").split(".").filter(s=>s&&!/^\[[^\]]*\]$/.test(s));return(t[t.length-1]??"").replace(/\[[^\]]*\]/g,"").trim().replace(/[_-]+/g," ")||"value"}function ae(e){let t=p(e);if(!t.length)return"";let i=t.slice(0,B).map(a=>`${ie(a.path)}: "${a.yours}"`),s=t.length-i.length;return`${i.join("; ")}${s>0?` and ${s} more.`:"."}`}function se(e){if(e.reason==="all-typed")return"";let t=p(e)[0],i=typeof t?.at=="number"?t.at:Date.parse(t?.at);if(!Number.isFinite(i))return"";let s=Date.now()-i;if(s<0||s>=V)return"";let a=Math.max(1,Math.floor(s/6e4));return`You typed ${p(e).length===1?"it":"them"} ${m(a,"minute")} ago.`}function oe(e,t){if(!C(t)){let s=y(t);return A(e,t)?t.droppedAdditions>0&&s.push(`Restoring removes ${m(t.droppedAdditions,"item")} added or changed since.`):f(e,t)?s.push("This data no longer fits the page, but the whole change can be undone."):s.push("It cannot be restored from here."),f(e,t)&&s.push("Undo the change also removes edits made since."),s.join(" ")}let i=[];if(P(t)){i.push(ae(t)||y(t).join(" "));let s=se(t);s&&i.push(s)}else i.push(y(t).join(" "));return f(e,t)&&i.push("Undo the change also removes edits made since."),i.join(" ")}function ne(e,t){let i=[];return C(t)?(L(e,t)&&i.push({label:"Put it back",onClick:()=>r(e,t,"put-back")}),f(e,t)&&i.push({label:"Undo the change",onClick:()=>r(e,t,"revert")}),i.push({label:"Keep the change",onClick:()=>r(e,t,"dismiss")}),i):(A(e,t)&&i.push({label:"Restore",onClick:()=>r(e,t,"restore")}),f(e,t)&&i.push({label:"Undo the change",onClick:()=>r(e,t,"revert")}),i.push({label:"Keep as is",onClick:()=>r(e,t,"dismiss")}),i)}async function v(e,t){let i=ee(t),s=oe(e,t),a=[t.id,i,t.reason??"",JSON.stringify(p(t)),A(e,t),L(e,t),f(e,t),t.lastWriteAt,s].join("|");if(e.drawn===a)return!0;e.drawn=a,e.eventId=t.id;try{d??=await import("./c-C6DXZIXD.js")}catch{return e.drawn===a&&(e.drawn=null,e.eventId=null),!1}if(n!==e||e.drawn!==a)return!1;let o=e.title;return e.title=i,o&&o!==i&&d.dismissPersistent(o,{now:!0}),d.dismissPersistent(i,{now:!0}),d.toastPersistent(i,te(t),{detail:s,actions:ne(e,t)}),!0}function g(e){let t=e.title;e.drawn=null,e.eventId=null,e.title=null,t&&d?.dismissPersistent(t,{now:!0})}async function h(e){let t=++e.turn;e.lastRead=Date.now();let i=new AbortController,s=setTimeout(()=>i.abort(),K),a;try{let o=await fetch(e.url,{method:"GET",credentials:M(),headers:U(),cache:"no-store",redirect:"manual",signal:i.signal});if(!o.ok)return;a=await o.json()}catch{return}finally{clearTimeout(s)}if(!(n!==e||t!==e.turn)&&!(!a||typeof a!="object"||!("event"in a))){if(D(a.event)){if(e.resolved.has(a.event.id)||e.waiting===a.event.id)return;if(!e.waited.has(a.event.id)&&N(e)){x(e,a.event.id);return}await v(e,a.event)&&b();return}g(e),b()}}function F(e,t){e.resolved.add(t.id),e.eventId===t.id&&g(e)}function le(e,t,i){if(F(e,t),i==="dismiss"){l("Kept the page as it is.","info");return}u.session.set(T,i),e.reload()}function re(e,t,i,s,a){n===e&&(s===200&&a?.ok===!0?le(e,t,i):s===404?(F(e,t),l("This was already taken care of somewhere else. Reload to see the current page.","info")):s===409?(e.drawn=null,l("This page changed after the notice appeared. Check the notice and try again.","warning"),h(e)):s===422?(e.refused.add(`${t.id}:${i}`),e.eventId===t.id&&!e.resolved.has(t.id)&&v(e,t),l(i==="restore"||i==="put-back"?"That data no longer fits this page, so it could not be restored.":"That earlier version is no longer available.","warning")):l(s===401||s===403?Z:s===400?z:I,"error"))}async function de(){let e=window.clay;if(!e?.hasUnsavedChanges?.())return!0;if(typeof e.save?.flush!="function")return!1;try{await e.save.flush()}catch{return!1}return!e.hasUnsavedChanges()}async function r(e,t,i){if(!(e.busy||n!==e)){e.busy=!0;try{if(i!=="dismiss"&&!await de()){n===e&&l(Q,"warning");return}if(n!==e)return;let s=await fetch(e.url,{method:"POST",credentials:M(),headers:U({"Content-Type":"application/json"}),redirect:"manual",body:JSON.stringify({id:t.id,choice:i})}),a=await s.json().catch(()=>null);re(e,t,i,s.status,a)}catch{n===e&&l(I,"error")}finally{e.busy=!1}}}function fe(e,t){let{msgType:i,action:s,data:a}=t.detail||{};if(i==="data-loss"){if(s==="resolved"){if(typeof a?.id!="string")return;e.turn++,e.resolved.add(a.id),e.waiting===a.id&&j(e),e.eventId===a.id&&g(e);return}if(s==="raised"&&D(a)&&!e.resolved.has(a.id)){if(e.turn++,e.waiting===a.id)return;if(!e.waited.has(a.id)&&N(e)){x(e,a.id);return}v(e,a).then(o=>{o&&b()},()=>{})}}}var _=e=>Math.max(e.lastSave+Y,e.lastRead+G);function j(e){return e.waiting?(e.waiting=null,clearTimeout(e.waitTimer),e.waitTimer=null,!0):!1}function S(e,{now:t=!1}={}){!j(e)||n!==e||(t?h(e):R(e))}function x(e,t){e.waited.add(t),e.waiting=t,clearTimeout(e.waitTimer),e.waitTimer=setTimeout(()=>S(e,{now:!0}),q)}function R(e){e.timer||(e.timer=setTimeout(()=>{e.timer=null,n===e&&(_(e)>Date.now()?R(e):h(e))},Math.max(_(e)-Date.now(),0)))}function me({href:e,reload:t=()=>window.location.reload()}){if(n)return;let i;try{i=new URL(e,location.href)}catch{return}if(i.origin!==location.origin)return;let s=new AbortController,a={url:i.href,reload:t,listeners:s,turn:0,lastRead:0,lastSave:0,timer:null,lastExternal:0,waiting:null,waitTimer:null,waited:new Set,busy:!1,drawn:null,eventId:null,title:null,resolved:new Set,refused:new Set};n=a;let{signal:o}=s;document.addEventListener("clay:notification",c=>fe(a,c),{signal:o}),document.addEventListener("clay:sync-applied",c=>{c.detail?.source==="disk"&&(a.lastExternal=Date.now())},{signal:o}),document.addEventListener("clay:save-saved",()=>{a.lastSave=Date.now(),a.waiting?S(a):R(a)},{signal:o});for(let c of X)document.addEventListener(c,()=>S(a,{now:!0}),{signal:o});document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&Date.now()-a.lastRead>=H&&h(a)},{signal:o});let w=u.session.get(T);w&&(u.session.remove(T),l(w==="restore"||w==="put-back"?"Your saved data is back.":"The earlier version is back.","success")),h(a)}function pe(){let e=n;e&&(n=null,e.listeners.abort(),clearTimeout(e.timer),clearTimeout(e.waitTimer),g(e))}export{me as start,pe as stop};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as m}from"./c-EQ5NBOGA.js";import{f as l}from"./c-C7SUMNMI.js";var _=window.__clayWorkspaceBackground===!0;document.addEventListener("clay:workspace-background",()=>{_=!0});document.addEventListener("clay:workspace-foreground",()=>{_=!1});var c=()=>document.hidden||_,y=class extends EventTarget{constructor(e,{shared:s=!1,sharedData:r=!1,documentURL:n,lane:o,clientId:h,startupCheck:t=!1,keepAliveWhenHidden:a=!1,workerFeatures:d=["live-data"]}={}){super(),this.url=e,this.readyState=0,this.onopen=null,this.onmessage=null,this.onerror=null,this._shared=s&&typeof SharedWorker=="function"&&(!r||o==="live"),this._sharedData=r,this._documentURL=n,this._lane=o,this._clientId=h,this._keepAliveWhenHidden=a,this._workerFeatures=d,this._since=0,this._closed=!1,this._suspended=!1,this._repair=!1,this._startup=t,this._worker=null,this._source=null,this._visibility=()=>{clearTimeout(this._hiddenTimer),c()?(this._worker&&this._postWorker(this._worker,"hidden"),this._keepHidden()||(this._hiddenTimer=setTimeout(()=>this._suspend(),5e3))):this._suspended?this._resume():this._worker&&this._postWorker(this._worker,"visible")},this._pagehide=()=>this._suspend(!0),this._pageshow=()=>{(!c()||this._keepHidden())&&this._resume()},document.addEventListener("visibilitychange",this._visibility),document.addEventListener("clay:workspace-background",this._visibility),document.addEventListener("clay:workspace-foreground",this._visibility),window.addEventListener("pagehide",this._pagehide),window.addEventListener("pageshow",this._pageshow),this._open(),c()&&this._visibility()}_emit(e,s){if(this._closed)return;let r=s===void 0?new Event(e):new MessageEvent(e,{data:s});this.dispatchEvent(r),this[`on${e}`]?.(r)}_postWorker(e,s,r={}){e.port.postMessage({v:this._sharedData?2:1,type:s,...r})}_open(){if(!(this._closed||this._suspended)){if(this.readyState=0,!this._shared)return this._openDirect();try{let e=new SharedWorker(new URL(this._sharedData?"/_/sync/data-worker.js":"/_/sync/worker.js",window.location.origin).href,this._sharedData?"clay-sync-data":"clay-sync");this._worker=e;let s=Date.now(),r=!1;e.onerror=()=>{this._worker===e&&(this._shared=!1,this._repair=!0,this._reopen(),c()&&this._visibility())},this._startTimer=setTimeout(e.onerror,5e3),e.port.onmessage=({data:t})=>{if(!(this._worker!==e||t?.v!==(this._sharedData?2:1))){if(this._sharedData){if(t.type==="unsupported"||t.type==="capacity"){e.onerror();return}if(t.type==="gone"){this.readyState=2,this._emit("error"),this.close();return}if(!r){if(t.type!=="hello")return;if(!Array.isArray(t.features)||!this._workerFeatures.every(a=>t.features.includes(a))){e.onerror();return}r=!0,clearTimeout(this._startTimer),s=Date.now();return}if(t.type==="hello")return}if(s=Date.now(),!this._sharedData&&["status","pong","cursor","frame","gone"].includes(t.type)&&clearTimeout(this._startTimer),t.type==="status")t.state==="open"?(!this._sharedData||this.readyState!==1)&&(this.readyState=1,this._emit("open")):t.state==="connecting"&&(this.readyState=0,this._emit("error"));else if(t.type==="cursor"){clearTimeout(this._startTimer),Number.isSafeInteger(t.seq)&&(this._since=Math.max(this._since,t.seq));let a=t.resync===!0||this._repair,d=this._startup;this._repair=!1,this._startup=!1,this._emit("cursor",JSON.stringify({...t,resync:a,startup:d}))}else if(t.type==="frame"&&typeof t.data=="string")this._remember(t.data),this._emit("message",t.data);else if(this._sharedData&&t.type==="event"&&["data","data-state","data-writer","presence"].includes(t.event)&&t.data!==null&&typeof t.data=="object"&&!Array.isArray(t.data))try{this._emit(t.event,JSON.stringify(t.data))}catch{}else t.type==="gone"&&(this.readyState=2,this._emit("error"),this.close())}},e.port.start(),this._postWorker(e,c()?"hidden":"visible");let n={document:this._documentURL,lane:this._lane,since:this._since};this._sharedData&&this._lane==="live"&&(n.clientId=this._clientId),this._postWorker(e,"subscribe",n);let o=0,h=Date.now();this._pingTimer=setInterval(()=>{if(this._worker!==e)return;let t=Date.now(),a=t-h>15e3*6;if(h=t,s>=o&&(o=0),a||o&&t-o>=15e3*3){this._repair=!0,this._reopen();return}o||(o=t),this._postWorker(e,"ping")},15e3)}catch{this._shared=!1,this._reopen(),c()&&this._visibility()}}}_openDirect(){let e=new EventSource(this.url);this._source=e;let s=!1,r=!1;e.onopen=()=>{if(this._source===e&&(s&&!r&&(this._repair=!0),s=!0,this.readyState=1,this._emit("open"),this._repair||this._startup)){let n=this._repair,o=this._startup;this._repair=!1,this._startup=!1,this._emit("cursor",JSON.stringify({resync:n,startup:o}))}},e.onerror=()=>{this._source===e&&(this.readyState=e.readyState,this._emit("error"))},e.onmessage=n=>{this._source===e&&(this._remember(n.data),this._emit("message",n.data))};for(let n of["cursor","presence","data","data-state","data-writer"])e.addEventListener(n,o=>{this._source===e&&(n==="cursor"&&(r=!0),this._emit(n,o.data))})}_remember(e){try{let{seq:s}=JSON.parse(e);Number.isSafeInteger(s)&&(this._since=Math.max(this._since,s))}catch{}}_disconnect(){if(clearTimeout(this._startTimer),clearInterval(this._pingTimer),this._worker){let e=this._worker;this._worker=null,e.onerror=null,e.port.onmessage=null;try{this._postWorker(e,"unsubscribe")}catch{}e.port.close()}this._source&&(this._source.close(),this._source=null)}_keepHidden(){return this._keepAliveWhenHidden===!0||this._keepAliveWhenHidden==="shared"&&this._shared}_reopen(){let e=(this._sharedData||this._keepAliveWhenHidden===!0)&&this.readyState===1;this.readyState=0,e&&this._emit("error"),this._disconnect(),this._open()}_suspend(e=!1){clearTimeout(this._hiddenTimer),!(this._closed||this._suspended)&&(this._suspended=!0,this._repair=!0,this.readyState=0,e&&this._keepAliveWhenHidden===!0&&this._emit("error"),this._disconnect())}_resume(){clearTimeout(this._hiddenTimer),!(this._closed||!this._suspended)&&(this._suspended=!1,this._open())}close(){this._closed=!0,this.readyState=2,clearTimeout(this._hiddenTimer),this._disconnect(),document.removeEventListener("visibilitychange",this._visibility),document.removeEventListener("clay:workspace-background",this._visibility),document.removeEventListener("clay:workspace-foreground",this._visibility),window.removeEventListener("pagehide",this._pagehide),window.removeEventListener("pageshow",this._pageshow)}};var v="This document was upgraded.",u=!1;function p(i,e){let s=i.querySelector(`meta[name="${e}"]`),r=s?s.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function k(i=document){return p(i,"hyper-version")}function T(i){return typeof i!="string"||!i.includes("hyper-version")?null:p(new DOMParser().parseFromString(i,"text/html"),"hyper-version")}function w(i){let e=k();return!!e&&!!i&&i!==e}function D(i){return u?!0:w(T(i))}function b(i){return u?!0:!i||typeof i.querySelector!="function"?!1:w(p(i,"hyper-version"))}function L(){if(u)return Promise.resolve();u=!0;let i=l?import("./core/save-
|
|
1
|
+
import{d as m}from"./c-EQ5NBOGA.js";import{f as l}from"./c-C7SUMNMI.js";var _=window.__clayWorkspaceBackground===!0;document.addEventListener("clay:workspace-background",()=>{_=!0});document.addEventListener("clay:workspace-foreground",()=>{_=!1});var c=()=>document.hidden||_,y=class extends EventTarget{constructor(e,{shared:s=!1,sharedData:r=!1,documentURL:n,lane:o,clientId:h,startupCheck:t=!1,keepAliveWhenHidden:a=!1,workerFeatures:d=["live-data"]}={}){super(),this.url=e,this.readyState=0,this.onopen=null,this.onmessage=null,this.onerror=null,this._shared=s&&typeof SharedWorker=="function"&&(!r||o==="live"),this._sharedData=r,this._documentURL=n,this._lane=o,this._clientId=h,this._keepAliveWhenHidden=a,this._workerFeatures=d,this._since=0,this._closed=!1,this._suspended=!1,this._repair=!1,this._startup=t,this._worker=null,this._source=null,this._visibility=()=>{clearTimeout(this._hiddenTimer),c()?(this._worker&&this._postWorker(this._worker,"hidden"),this._keepHidden()||(this._hiddenTimer=setTimeout(()=>this._suspend(),5e3))):this._suspended?this._resume():this._worker&&this._postWorker(this._worker,"visible")},this._pagehide=()=>this._suspend(!0),this._pageshow=()=>{(!c()||this._keepHidden())&&this._resume()},document.addEventListener("visibilitychange",this._visibility),document.addEventListener("clay:workspace-background",this._visibility),document.addEventListener("clay:workspace-foreground",this._visibility),window.addEventListener("pagehide",this._pagehide),window.addEventListener("pageshow",this._pageshow),this._open(),c()&&this._visibility()}_emit(e,s){if(this._closed)return;let r=s===void 0?new Event(e):new MessageEvent(e,{data:s});this.dispatchEvent(r),this[`on${e}`]?.(r)}_postWorker(e,s,r={}){e.port.postMessage({v:this._sharedData?2:1,type:s,...r})}_open(){if(!(this._closed||this._suspended)){if(this.readyState=0,!this._shared)return this._openDirect();try{let e=new SharedWorker(new URL(this._sharedData?"/_/sync/data-worker.js":"/_/sync/worker.js",window.location.origin).href,this._sharedData?"clay-sync-data":"clay-sync");this._worker=e;let s=Date.now(),r=!1;e.onerror=()=>{this._worker===e&&(this._shared=!1,this._repair=!0,this._reopen(),c()&&this._visibility())},this._startTimer=setTimeout(e.onerror,5e3),e.port.onmessage=({data:t})=>{if(!(this._worker!==e||t?.v!==(this._sharedData?2:1))){if(this._sharedData){if(t.type==="unsupported"||t.type==="capacity"){e.onerror();return}if(t.type==="gone"){this.readyState=2,this._emit("error"),this.close();return}if(!r){if(t.type!=="hello")return;if(!Array.isArray(t.features)||!this._workerFeatures.every(a=>t.features.includes(a))){e.onerror();return}r=!0,clearTimeout(this._startTimer),s=Date.now();return}if(t.type==="hello")return}if(s=Date.now(),!this._sharedData&&["status","pong","cursor","frame","gone"].includes(t.type)&&clearTimeout(this._startTimer),t.type==="status")t.state==="open"?(!this._sharedData||this.readyState!==1)&&(this.readyState=1,this._emit("open")):t.state==="connecting"&&(this.readyState=0,this._emit("error"));else if(t.type==="cursor"){clearTimeout(this._startTimer),Number.isSafeInteger(t.seq)&&(this._since=Math.max(this._since,t.seq));let a=t.resync===!0||this._repair,d=this._startup;this._repair=!1,this._startup=!1,this._emit("cursor",JSON.stringify({...t,resync:a,startup:d}))}else if(t.type==="frame"&&typeof t.data=="string")this._remember(t.data),this._emit("message",t.data);else if(this._sharedData&&t.type==="event"&&["data","data-state","data-writer","presence"].includes(t.event)&&t.data!==null&&typeof t.data=="object"&&!Array.isArray(t.data))try{this._emit(t.event,JSON.stringify(t.data))}catch{}else t.type==="gone"&&(this.readyState=2,this._emit("error"),this.close())}},e.port.start(),this._postWorker(e,c()?"hidden":"visible");let n={document:this._documentURL,lane:this._lane,since:this._since};this._sharedData&&this._lane==="live"&&(n.clientId=this._clientId),this._postWorker(e,"subscribe",n);let o=0,h=Date.now();this._pingTimer=setInterval(()=>{if(this._worker!==e)return;let t=Date.now(),a=t-h>15e3*6;if(h=t,s>=o&&(o=0),a||o&&t-o>=15e3*3){this._repair=!0,this._reopen();return}o||(o=t),this._postWorker(e,"ping")},15e3)}catch{this._shared=!1,this._reopen(),c()&&this._visibility()}}}_openDirect(){let e=new EventSource(this.url);this._source=e;let s=!1,r=!1;e.onopen=()=>{if(this._source===e&&(s&&!r&&(this._repair=!0),s=!0,this.readyState=1,this._emit("open"),this._repair||this._startup)){let n=this._repair,o=this._startup;this._repair=!1,this._startup=!1,this._emit("cursor",JSON.stringify({resync:n,startup:o}))}},e.onerror=()=>{this._source===e&&(this.readyState=e.readyState,this._emit("error"))},e.onmessage=n=>{this._source===e&&(this._remember(n.data),this._emit("message",n.data))};for(let n of["cursor","presence","data","data-state","data-writer"])e.addEventListener(n,o=>{this._source===e&&(n==="cursor"&&(r=!0),this._emit(n,o.data))})}_remember(e){try{let{seq:s}=JSON.parse(e);Number.isSafeInteger(s)&&(this._since=Math.max(this._since,s))}catch{}}_disconnect(){if(clearTimeout(this._startTimer),clearInterval(this._pingTimer),this._worker){let e=this._worker;this._worker=null,e.onerror=null,e.port.onmessage=null;try{this._postWorker(e,"unsubscribe")}catch{}e.port.close()}this._source&&(this._source.close(),this._source=null)}_keepHidden(){return this._keepAliveWhenHidden===!0||this._keepAliveWhenHidden==="shared"&&this._shared}_reopen(){let e=(this._sharedData||this._keepAliveWhenHidden===!0)&&this.readyState===1;this.readyState=0,e&&this._emit("error"),this._disconnect(),this._open()}_suspend(e=!1){clearTimeout(this._hiddenTimer),!(this._closed||this._suspended)&&(this._suspended=!0,this._repair=!0,this.readyState=0,e&&this._keepAliveWhenHidden===!0&&this._emit("error"),this._disconnect())}_resume(){clearTimeout(this._hiddenTimer),!(this._closed||!this._suspended)&&(this._suspended=!1,this._open())}close(){this._closed=!0,this.readyState=2,clearTimeout(this._hiddenTimer),this._disconnect(),document.removeEventListener("visibilitychange",this._visibility),document.removeEventListener("clay:workspace-background",this._visibility),document.removeEventListener("clay:workspace-foreground",this._visibility),window.removeEventListener("pagehide",this._pagehide),window.removeEventListener("pageshow",this._pageshow)}};var v="This document was upgraded.",u=!1;function p(i,e){let s=i.querySelector(`meta[name="${e}"]`),r=s?s.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function k(i=document){return p(i,"hyper-version")}function T(i){return typeof i!="string"||!i.includes("hyper-version")?null:p(new DOMParser().parseFromString(i,"text/html"),"hyper-version")}function w(i){let e=k();return!!e&&!!i&&i!==e}function D(i){return u?!0:w(T(i))}function b(i){return u?!0:!i||typeof i.querySelector!="function"?!1:w(p(i,"hyper-version"))}function L(){if(u)return Promise.resolve();u=!0;let i=l?import("./core/save-JZ7R4ET2.js").then(r=>r.holdAllSaves(v),()=>{}):Promise.resolve(),e=new CustomEvent("clay:document-upgraded",{detail:{message:v}}),s=l?Promise.resolve():import("./c-EXZOA6XY.js").then(r=>r.start(e),()=>{});return document.dispatchEvent(e),Promise.all([i,s]).then(()=>{})}var g=i=>i==null?"":`&blockeditor-format=${i}`,f={spec:{name:"spec",relayPath:"/_/sync",documentHeader:"Document-URL",snapshotKey:"snapshot",streamPath:(i,e,s,r,n)=>`/_/sync?document-url=${encodeURIComponent(i)}&lane=${e}&resume-id=${s}&client-id=${encodeURIComponent(r)}${g(n)}`},legacy:{name:"legacy",relayPath:"/_/live-sync/save",documentHeader:"Page-URL",snapshotKey:"html",streamPath:(i,e,s,r,n)=>`/_/live-sync/stream?page-url=${encodeURIComponent(i)}&lane=${e}&resume-id=${s}&client-id=${encodeURIComponent(r)}${g(n)}`}};function R(){return m().then(i=>{let e=i?.extensions||[],s=e.includes("sync"),r=e.includes("live-data"),n=e.includes("presence"),o=s&&r&&e.includes("sync-worker-data"),h=s&&(o||e.includes("sync-worker")&&!r&&!n);return{profile:s?f.spec:f.legacy,sharedSync:h,sharedData:o,liveData:r,workerFeatures:n?["live-data","presence"]:["live-data"]}}).catch(()=>({profile:f.legacy,sharedSync:!1,sharedData:!1,liveData:!1,workerFeatures:["live-data"]}))}export{c as a,y as b,D as c,b as d,L as e,f,R as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a}from"./c-PZ4XEPUP.js";import{L as u}from"./c-
|
|
1
|
+
import{b as a}from"./c-PZ4XEPUP.js";import{L as u}from"./c-UW6MMZ4V.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import{i as s}from"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var d=20,i=null,l=!1,c=[];function h(){i||l||(l=!0,import("./c-OIDRZKAF.js").then(e=>{i=e,l=!1,f()},e=>{l=!1,console.error("clayjs: the conflict recovery module could not be downloaded; conflicts stay in this tab only",e)}))}function f(){if(!i){h();return}for(;c.length;){let e=c.shift();try{i.recordConflicts(e)}catch(o){console.error("clayjs: the conflict could not be stored for a later reload; it is still here",o)}}}function m(e,o){let t=null;try{t=a(e)}catch{}let n=r=>r?(r.cutBefore?"\u2026":"")+r.before+r.hit+r.after+(r.cutAfter?"\u2026":""):"";return{id:String(e.id),kind:String(e.kind??""),key:e.recovery?.key==null?"":String(e.recovery.key),name:t?.name?String(t.name):"",sentence:t?.sentence?String(t.sentence):"",yours:n(t?.yours),now:n(t?.now),context:o}}function y(e){try{let t=(e.recoveryRoot??e.root)?.cloneNode?.(!0);if(!t)return null;for(let n of s)t.removeAttribute(n);return u(t,{prepared:e.domain==="save"})}catch(o){return console.error("clayjs: the conflict recovery page could not be serialized; the conflict text is still stored",o),null}}function k({apply:e,records:o}){try{c.push({apply:{id:e.id,source:e.source,domain:e.domain,seq:e.seq,etag:e.etag,ticket:e.ticket},root:y(e),conflicts:o.map(({rec:t,context:n})=>m(t,n))}),c.length>d&&c.shift(),f()}catch(t){console.error("clayjs: the conflict could not be stored for a later reload; it is still here",t)}}function A(e){import("./c-OIDRZKAF.js").then(o=>o.dismissConflicts(e),()=>{}).catch(()=>{})}export{A as dismiss,k as keep};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as pe}from"./c-A7LS5UZW.js";import{a as I,b as Le,c as U,d as ve}from"./c-
|
|
1
|
+
import{b as pe}from"./c-A7LS5UZW.js";import{a as I,b as Le,c as U,d as ve}from"./c-ND3W7D5U.js";import{a as Z,b as L,i as ye,j as ge,k as Ye,w as qe}from"./c-WHQUZM2V.js";import{a as he}from"./c-TCCA5BZN.js";import{a as C,b as V,c as Te,d as Ce,f as Ne,g as Pe,k as $,m as H,p as _e}from"./c-3LDGIBMN.js";import{a as X,b as $e,c as Y}from"./c-57XDY6HC.js";import"./c-VHNSBD2M.js";function Ue(a,y){return!y||!Number.isInteger(y.seq)?null:y.seq>=(a.last??0)?[]:y.seq<(a.floor??0)?null:a.log.filter(d=>d.seq>y.seq).map(d=>({seq:d.seq,ops:d.ops}))}var k=Object.freeze({version:1,loose:32,soft:16,activeBytes:3840*1024,deleteReserve:64*1024,newPerFrame:4,tailFloor:64*1024,leaseMs:60*1e3,retired:8192}),Ke=Object.freeze({"checkpoint-required":503,"blockeditor-full":409,"compaction-failed":409,"blockeditor-immutable":409,"blockeditor-batch":409,"blockeditor-update-invalid":422,"blockeditor-upgrade":404}),me=/^[ur][0-9a-z]+(-[0-9a-z]+){2}$/,je=/^[ctf][0-9a-z]{8}-[0-9a-z]+(-[0-9a-z]+)?$/,ht=/^(seed|c[0-9a-z]{8}-[0-9a-z]+)$/,be=a=>ht.test(a);function ee(a,y=k){let d=0,f=0,u=0,c=0;for(let p of Object.keys(a)){if(X.test(p)){u++;continue}be(p)?d++:f++,!me.test(p)&&!je.test(p)&&p!=="seed"&&c++}return{checkpoints:d,loose:f,parts:u,legacy:c,normal:u===0&&d<=1&&f<=y.loose}}function ze(a,{overflow:y=!1}={},d=k){let f=ee(a,d),u=Y(a),c=u.filter(([b])=>be(b)),p=u.filter(([b])=>!be(b)),w=p.reduce((b,[,m])=>b+m.length,0),g=c.reduce((b,[,m])=>b+m.length,0);return!f.normal||y||w>Math.max(d.tailFloor,g/4)?{kind:"full",sources:u}:p.length<2||f.loose<d.soft?null:{kind:"tail",sources:p}}function De({kind:a,sources:y,encode:d=Ye}){let f=y.map(([,c])=>L(c));if(a==="tail"){let c=qe(f),p=I(c);for(let w of f)if(!U(p,I(w)))return{failure:"not-covered"};return{update:Z(c)}}let u=new ye({gc:!0});try{for(let g of f)ge(u,g);if(u.store.pendingStructs||u.store.pendingDs){let g=qe(f),v=I(g);for(let b of f)if(!U(v,I(b)))return{failure:"not-covered"};return{update:Z(g),pending:!0}}let c=ve(u);for(let g of f)if(!U(c,I(g)))return{failure:"not-covered"};let p=Z(d(u)),w=new ye({gc:!0});try{ge(w,L(p));let g=ve(w);if(!g.complete)return{failure:"not-covered"};for(let v of f)if(!U(g,I(v)))return{failure:"not-covered"}}finally{w.destroy()}return{update:p}}catch(c){return{failure:"invalid-update",message:c?.message||String(c)}}finally{u.destroy()}}function we(a){if(typeof a!="string"||!$e(a))return null;try{let{items:y,deletes:d}=I(L(a)),f=0;for(let u of d.values())for(let[c,p]of u)f+=p-c;return{deleted:f,inserts:y.size>0}}catch{return null}}function Ve({y:a,ops:y,state:d,limits:f}){if(d.compaction!==f.version)return{error:"blockeditor-upgrade"};let u=0,c=0,p=!1;for(let g of y){let v=g.path?.[1];if(g.op!=="set"||typeof v!="string"||!me.test(v))return{error:"blockeditor-immutable"};if(Object.hasOwn(a,v)){if(a[v]!==g.value)return{error:"blockeditor-immutable"};continue}if(d.retired.has(v))return{error:"blockeditor-immutable"};let b=we(g.value);if(!b)return{error:"blockeditor-update-invalid"};u+=1,c+=b.deleted,p||=b.inserts}if(u>f.newPerFrame)return{error:"blockeditor-batch"};if(d.failed)return{added:u,deleted:c,inserts:p,limit:f.activeBytes+(p?0:f.deleteReserve),shape:null,failed:!0};let w=ee(a,f);return!w.normal||w.loose+u>f.loose?{error:"checkpoint-required",retryAfter:0}:{added:u,deleted:c,inserts:p,limit:f.activeBytes+(p?0:f.deleteReserve),shape:w}}var yt=a=>me.test(a)||je.test(a);function He(a=256){let y=new Map;return(d,f)=>{let u=y.get(d);if(u&&u.value===f)return u.ranges;let c=I(L(f));return y.delete(d),y.set(d,{value:f,ranges:c}),y.size>a&&y.delete(y.keys().next().value),c}}function Je({y:a,fileY:y,retired:d,rangesFor:f,keyFor:u=(c,p)=>p}){let c=Y(a),p=new Map(c),w=null,g=[];for(let[v,b]of Y(y??{})){if(p.get(v)===b||d.has(v)&&yt(v))continue;let m;try{m=I(L(b))}catch{continue}w??=Le(c.map(([r,O])=>f(r,O))),U(w,m)||g.push([v,b])}return g.map(([v,b],m)=>[u(m,v),b])}var Ge=5,gt=2e3,qt=500,vt=1024,bt=256*1024;function te(a,y){let d=[],f=()=>{for(let u=d.length-1;u>=0;u--)Pe(d[u])};try{for(let u of y){let c=Ne(a,u);c&&(d.push(c),a=c.root)}}catch(u){throw f(),u}return{value:a,undo:f}}var Qe=new TextEncoder,Xe="blockeditor-format:1",Ze="blockeditor-rooms:2";function Tt(a=0,y=window.location.pathname){let d="clay-live:"+y;return`${a>=1?`${d}:${Xe}`:d}:${Ze}`}function mt(a){typeof requestIdleCallback=="function"?requestIdleCallback(a,{timeout:1e3}):setTimeout(a,0)}var J=a=>!!a&&typeof a=="object"&&typeof a.y=="object"&&a.y!==null&&!Array.isArray(a.y);function Ct(){return typeof BroadcastChannel=="function"&&typeof navigator<"u"&&typeof navigator.locks?.request=="function"}function We(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2)+Date.now().toString(36)}function Nt({seed:a,key:y="clay-live:"+window.location.pathname,channel:d=null,floor:f=0,rooms:u=!1}){let c=We(),p=f>=1?1:0,w=e=>`${y}${e>=1?`:${Xe}`:""}${u?`:${Ze}`:""}`,g=w(p),v=null,b=null,m=null,r=null,O=!1,oe=null,K=!1,R=null,et=0,j=0,N=new Map,G=new Map,Q=new Set,P=new Map,s={epoch:null,seq:0,sequencer:null,closedBy:null,stale:!1,seen:new Map,stores:new Map};function A(e){v?.post({...e,version:Ge})}function ne(e,t){for(t.bytes=Qe.encode(JSON.stringify(t.ops)).length,e.log.push(t),e.logBytes+=t.bytes;e.log.length>vt||e.logBytes>bt;){let n=e.log.shift();e.logBytes-=n.bytes,e.floor=n.seq}}function re(e){let t=s.stores.get(e.name);t&&(t.value=te(t.value,e.ops).value,t.last=e.seq,t.ephemeral||ne(t,{seq:e.seq,ops:e.ops})),s.seq=e.seq;let n=e.name+`
|
|
2
2
|
`+e.from;(s.seen.get(n)??0)<e.n&&s.seen.set(n,e.n)}function tt(e){let t={};for(let[n,l]of s.seen){let o=n.indexOf(`
|
|
3
3
|
`);n.slice(0,o)===e&&(t[n.slice(o+1)]=l)}return t}let ke=e=>e.behind||e.landed===null?-1:e.landed;function z(e){let t={},n={};for(let[o,i]of s.stores)t[o]={value:C(i.value),ephemeral:i.ephemeral,seen:tt(o),last:i.last,landed:ke(i)},o==="blockeditor"&&J(i.value)&&(t[o].compaction={v:k.version,loose:k.loose,activeBytes:k.activeBytes}),n[o]={log:i.log,last:i.last,landed:i.landed,floor:i.floor,behind:i.behind,file:i.file,inFile:i.inFile};let l={epoch:r.epoch,seq:r.seq,writer:c,stores:t,mirror:{seen:[...s.seen],stores:n}};if(e!==void 0){let o=e&&e.epoch===s.epoch&&Number.isInteger(e.seq)?e.seq:0,i={};for(let[q,h]of s.stores)i[q]=Ue(h,{seq:o});l.moves=i}return l}function Oe(e,t){return e?.file?t.seq!=null&&e.file.seq!=null?t.seq<=e.file.seq:e.file.hash===H($(he(t.text))):!1}function ot(){for(let[e,t]of P)try{Oe(s.stores.get(e),t)&&P.delete(e)}catch{P.delete(e)}}function se(e){if(r||!e||typeof e.epoch!="string"||!Number.isInteger(e.seq)||!e.mirror||Q.has(e.epoch)||e.epoch===s.epoch&&e.seq<s.seq)return!1;s.epoch!==null&&e.epoch!==s.epoch&&Q.add(s.epoch);let t=new Map;for(let[n,l]of Object.entries(e.stores||{})){let o=e.mirror.stores?.[n]||{},i=Array.isArray(o.log)?o.log:[];t.set(n,{value:C(l.value),ephemeral:l.ephemeral===!0,log:i,logBytes:i.reduce((q,h)=>q+(h.bytes||0),0),last:Number.isInteger(o.last)?o.last:0,landed:Number.isInteger(o.landed)?o.landed:null,floor:Number.isInteger(o.floor)?o.floor:0,behind:o.behind===!0,file:o.file||null,inFile:Array.isArray(o.inFile)?[...o.inFile]:[]})}return s={epoch:e.epoch,seq:e.seq,sequencer:e.writer??null,closedBy:null,stale:!1,seen:new Map(e.mirror.seen||[]),stores:t},ot(),j+=1,!0}function le(){let e=z();A({type:"data-state",state:e}),m.state(e)}function ie(){s.epoch!==null&&Q.add(s.epoch),s.epoch=We(),s.seq=0;for(let e of s.stores.values())e.log=[],e.logBytes=0,e.last=0,e.landed=null,e.floor=0,e.behind=!0,e.file=null,e.inFile=[]}function nt({fresh:e}){let t=s.epoch===null;t&&ie();for(let[l,o]of a())s.stores.has(l)||s.stores.set(l,{value:C(o.value),ephemeral:o.ephemeral,log:[],logBytes:0,last:0,landed:0,floor:0,behind:!1,file:null,inFile:[]});s.stale=!1,s.sequencer=c,s.closedBy=null;let n=new Map;for(let[l,o]of s.seen)n.set(l,{n:o,seq:0});r={epoch:s.epoch,seq:s.seq,lastN:n,host:st()};for(let[l,o]of P){let i=s.stores.get(l);if(!(!i||i.ephemeral)){try{if(Oe(i,o))continue}catch{continue}Ae(l,o)}}P.clear(),e&&!t&&(ie(),r.epoch=s.epoch,r.seq=0),j+=1,le()}function Se(){ie(),r.epoch=s.epoch,r.seq=0,j+=1,le()}function ce(){r&&(A({type:"closed",from:c,state:z()}),r=null,oe?.(),oe=null)}function rt(e){return s.closedBy!==null&&(e===null||s.closedBy===e)?Promise.resolve(!0):new Promise(t=>{let n=setTimeout(()=>{R=null,t(!1)},qt);R={sequencer:e,resolve(l){clearTimeout(n),R=null,t(l)}}})}function ae(){K||O||(K=!0,navigator.locks.request(g,async()=>{if(O)return;let e=await rt(s.sequencer);if(!O)return nt({fresh:s.epoch===null||!e}),new Promise(t=>{oe=t})}).catch(()=>{}).finally(()=>{K=!1}))}let st=()=>({retired:new Set,lastFull:null,deletesSince:0,failed:null,ranges:He(),task:null,overflow:!1}),lt=()=>{let e=s.stores.get("blockeditor");return e&&!e.ephemeral&&J(e.value)?e:null},ue=e=>Qe.encode($(e)).length,fe=(e,t=0)=>({status:Ke[e]??409,body:{code:e},retryAfter:t});function _(e=!1){if(!r)return;let t=r.host;if(t.overflow||=e,t.task)return;let n=r;t.task=mt(()=>{t.task=null;let l=t.overflow;t.overflow=!1,!(O||r!==n||t.failed)&&it(t,{overflow:l})})}function it(e,{overflow:t}){let n=lt();if(!n)return;let l=ze(n.value.y,{overflow:t},k);if(!l)return;let o=De({kind:l.kind,sources:l.sources});if(typeof o.update!="string"){e.failed={reason:o.failure};return}ct(e,n,l,o.update)}function ct(e,t,n,l){let o=t.value.y,i=new Map(n.sources),q=Object.keys(o).filter(F=>{let D=X.exec(F);return i.has(D?D[1]:F)||D&&n.kind==="full"}),h=new Map(Y(Object.fromEntries(q.map(F=>[F,o[F]]))));for(let[F,D]of i)if(h.get(F)!==D)return;if(!we(l))return;let x=`${n.kind==="full"?"c":"t"}${H(r.epoch).slice(0,8)}-${(r.seq+1).toString(36)}`;if(Object.hasOwn(o,x))return;let B=[...q.map(F=>V({op:"del",path:["y",F]})),V({op:"set",path:["y",x],value:l})],M=ue(t.value),E;try{E=te(t.value,B)}catch{return}let S=ue(E.value);if(E.undo(),S>k.activeBytes&&S>M){n.kind==="full"&&q.length===Object.keys(o).length&&(e.lastFull={bytes:M,seq:r.seq},e.deletesSince=0);return}let T=!t.behind&&t.landed===t.last;for(let[F]of n.sources)e.retired.add(F),e.retired.size>k.retired&&e.retired.delete(e.retired.values().next().value);r.seq+=1,n.kind==="full"&&(e.lastFull={bytes:S,seq:r.seq},e.deletesSince=0);let de={epoch:r.epoch,seq:r.seq,name:"blockeditor",ops:B,from:"compactor",n:0,kind:n.kind};re(de),T&&(t.landed=r.seq),A({type:"data",data:de}),m.frame(C(de)),T&&(W(["blockeditor"]),A({type:"landed",name:"blockeditor",at:{epoch:r.epoch,seq:r.seq}}));let Re=ee(t.value.y,k);(Re.loose>=k.soft||!Re.normal)&&_()}function xe(e,t){if(!t||typeof t.name!="string"||!Number.isInteger(t.n)||t.n<1||!Array.isArray(t.ops)||!t.ops.length)return{status:400,body:{error:"bad-frame"},retryAfter:0};let n=s.stores.get(t.name);if(!n)return{status:404,body:{error:"unknown-store"},retryAfter:0};let l=t.name+`
|
|
4
4
|
`+e,o=r.lastN.get(l);if(o&&t.n<=o.n)return{status:200,body:{duplicate:!0,seq:o.seq,epoch:r.epoch},retryAfter:0};let i;try{i=t.ops.map(V)}catch(E){return{status:422,body:{error:E.message},retryAfter:0}}let q=r.host,h=t.name==="blockeditor"&&J(n.value)?Ve({y:n.value.y,ops:i,state:{...q,compaction:t.compaction},limits:k}):null;if(h?.error)return h.error==="checkpoint-required"&&_(),fe(h.error,h.retryAfter);let x;try{x=te(n.value,i)}catch(E){return{status:422,body:{error:E.message},retryAfter:0}}let B=h?ue(x.value):0;if(x.undo(),h&&B>h.limit)return h.failed||q.lastFull&&q.deletesSince===0?fe("blockeditor-full"):(_(!0),fe("checkpoint-required"));r.seq+=1,r.lastN.set(l,{n:t.n,seq:r.seq});let M={epoch:r.epoch,seq:r.seq,name:t.name,ops:i,from:e,n:t.n};return re(M),A({type:"data",data:M}),m.frame(C(M)),h&&(q.deletesSince+=h.deleted,!h.failed&&B>k.activeBytes?_(!0):!h.failed&&h.shape.loose+h.added>=k.soft&&_()),{status:200,body:{seq:r.seq,epoch:r.epoch},retryAfter:0}}function W(e){if(!r||!e.length)return;let t={};for(let n of e){let l=s.stores.get(n);l&&(t[n]=ke(l))}m.writer({epoch:r.epoch,writer:c,landed:t})}function Fe(e,t){let n=s.stores.get(e);return!n||n.ephemeral||!t||t.epoch!==s.epoch||!Number.isInteger(t.seq)||!n.behind&&n.landed!==null&&t.seq<=n.landed?!1:(n.landed=t.seq,n.behind=!1,!0)}function Ae(e,{text:t,at:n,seq:l}){let o=s.stores.get(e);if(!o||o.ephemeral)return null;let i;try{i=C(he(t))}catch{return null}if(i===null||typeof i!="object"||Array.isArray(i)!==Array.isArray(o.value))return null;let q={seq:l??null,hash:H($(i))};if(e==="blockeditor"&&J(o.value)&&J(i))return at(o,i,q);let h=!!n&&n.epoch===s.epoch&&n.seq<=r.seq,x=h&&n.hash===q.hash,B=h?n.seq:o.behind?null:o.landed;if(B===null||B<o.floor){let S=!o.behind;return o.behind=!0,o.file=q,{changed:!1,moved:S}}let M=o.log.filter(S=>S.seq>B&&(x||!o.inFile.includes(S.seq)));x&&(o.inFile=[]);for(let S of M)for(let T of S.ops)try{Te(i,T),i=Ce(i,T)}catch{}let E=!1;if($(i)!==$(o.value)){let S=_e(o.value,i);o.value=i,r.seq+=1,s.seq=r.seq,o.last=r.seq,ne(o,{seq:r.seq,ops:S}),o.inFile=[...o.inFile.filter(T=>T>o.floor),r.seq],E=!0}return o.landed=M.length?B:o.last,o.behind=!1,o.file=q,{changed:E,moved:!0}}function at(e,t,n){if(t.g!==e.value.g)return null;let l=r.host,o=Je({y:e.value.y,fileY:t.y,retired:l.retired,rangesFor:l.ranges,keyFor:h=>`f${H(r.epoch).slice(0,8)}-${(r.seq+1).toString(36)}-${h.toString(36)}`});e.file=n;let i=new Set,q=[];for(let[h,x]of o)Object.hasOwn(e.value.y,h)||i.has(h)||(i.add(h),q.push(V({op:"set",path:["y",h],value:x})));return q.length?(e.value=te(e.value,q).value,r.seq+=1,s.seq=r.seq,e.last=r.seq,ne(e,{seq:r.seq,ops:q}),e.inFile=[...e.inFile.filter(h=>h>e.floor),r.seq],l.lastFull=null,_(),{changed:!0,moved:!0}):{changed:!1,moved:!1}}function ut(e){let t=!1,n=[];for(let[l,o]of e){let i=s.stores.get(l);if(!i||i.ephemeral)continue;if(!r){P.set(l,o);continue}let q=Ae(l,o);q&&(q.changed?t=!0:q.moved&&n.push(l))}t?le():W(n)}function Be(e){return new Promise(t=>{let n=++et,l=setTimeout(()=>{N.delete(n),G.delete(n),t(null)},gt);e.type==="post"&&G.set(n,s.sequencer),N.set(n,o=>{clearTimeout(l),N.delete(n),G.delete(n),t(o)}),A({...e,from:c,rid:n})})}function ft(e){if(!(!e||typeof e.name!="string"||typeof e.epoch!="string"||!Number.isInteger(e.seq))&&!(r||Q.has(e.epoch))){if(e.epoch!==s.epoch)s.stale=!0;else if(!s.stale&&e.seq===s.seq+1)try{re(e)}catch{s.stale=!0}else e.seq>s.seq&&(s.stale=!0);m.frame(e)}}function dt(e,t){if(!(typeof e!="string"||!t)){se(t)&&(s.closedBy=e,m.state(t));for(let[n,l]of G)l===e&&N.get(n)?.(null);R&&(R.sequencer===null||R.sequencer===e)&&R.resolve(s.closedBy===e)}}function Ee({data:e}){if(!(O||!e||e.version!==Ge)){if(r&&(e.type==="data"&&e.data?.epoch===r.epoch||(e.type==="data-state"||e.type==="closed")&&e.state?.epoch===r.epoch&&e.state.writer!==c)){Se();return}if(!r&&e.type==="data-state"&&e.state?.epoch===s.epoch&&e.state.writer!==s.sequencer&&Number.isInteger(e.state.seq)&&e.state.seq<s.seq){A({type:"forked",epoch:s.epoch,to:e.state.writer});return}if(e.type==="forked"){r&&e.epoch===r.epoch&&e.to===c&&Se();return}e.type==="data"?ft(e.data):e.type==="data-state"?se(e.state)&&m.state(e.state):e.type==="closed"?dt(e.from,e.state):e.type==="landed"?typeof e.name=="string"&&Fe(e.name,e.at)&&W([e.name]):e.type==="answer"?e.to===c&&N.get(e.rid)?.(e.result):r&&e.type==="post"?e.epoch===r.epoch&&A({type:"answer",to:e.from,rid:e.rid,result:xe(e.from,e.frame)}):r&&e.type==="state-request"&&A({type:"answer",to:e.from,rid:e.rid,result:z(e.since)})}}function Ie(){ce()}function Me(e){!e.persisted||O||r||K||(s.sequencer=null,s.closedBy=null,ae(),m.close(),m.open({clientId:c,lane:"live"}))}function pt(e,{covered:t=!1}={}){let n=e>=1?1:0,l={floor:p,scope:g};return n<=p?{status:"already",...l}:O||!v?{status:"refused",code:"lane-stopped",...l}:d?{status:"refused",code:"shared-channel",...l}:t?(ce(),b?.(),g=w(n),p=n,v=pe(g),b=v.subscribe("durable",o=>Ee({data:o})),s.sequencer=s.closedBy=null,K=!1,ae(),m.close(),m.open({clientId:c,lane:"live"}),{status:"switched",floor:p,scope:g}):{status:"refused",code:"uncovered",...l}}return{clientId:c,get scope(){return g},get floor(){return p},switchScope:pt,start(e){return m=e,v=d??pe(g),b=v.subscribe("durable",t=>Ee({data:t})),window.addEventListener("pagehide",Ie),window.addEventListener("pageshow",Me),ae(),m.open({clientId:c,lane:"live"}),()=>{ce(),O=!0,R?.resolve(!1),window.removeEventListener("pagehide",Ie),window.removeEventListener("pageshow",Me);for(let t of N.values())t(null);b?.(),b=null,v=null}},async send(e,t){return r?xe(c,t):await Be({type:"post",frame:t,epoch:s.epoch})||{status:0,body:null,retryAfter:0}},async fetchState(e,t=null){if(r)return z(t);let n=j,l=await Be({type:"state-request",since:t});return r?z(t):n!==j||!se(l)?null:l},fileFrame(e){O||ut(e)},landed(e,t){O||!t||(Fe(e,t)&&W([e]),A({type:"landed",name:e,at:{epoch:t.epoch,seq:t.seq}}))},get isSequencer(){return r!==null}}}export{qt as CLOSE_WAIT_MS,Xe as FORMAT_SCOPE,bt as LOG_BYTES,vt as LOG_ENTRIES,gt as REQUEST_MS,Ze as ROOM_SCOPE,Tt as localLaneKey,Ct as localLaneSupported,Nt as localTransport};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as b,b as c,c as d,d as e,e as f}from"./c-TKV273YU.js";import{g as a}from"./c-WHMZCRQD.js";import"./c-LAKBBJOU.js";import"./c-EIUKME3W.js";import"./c-DZT6W2NG.js";import"./c-SYOA4T7V.js";import"./c-ND3W7D5U.js";import"./c-WHQUZM2V.js";import"./c-3XGLJAS7.js";import"./c-OH2FPYSY.js";import"./c-FSQXFG5T.js";import"./c-RETTCOWO.js";import"./c-JC4RZW4E.js";import"./c-57XDY6HC.js";import"./c-I2SCCUEW.js";import"./c-VHNSBD2M.js";export{e as ChartView,d as chartFromSlash,a as chartTables,b as insertChartAfterTable,f as refreshCharts,c as tableLabel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as A,e as I}from"./c-EQ5NBOGA.js";import{f as b,j as T}from"./c-C7SUMNMI.js";import{c as M}from"./c-BPF2NSPV.js";var B=15e3,P=12e4,K=15e3,V=4e3,W=5e3,U=50,y=new Set(["sent","acked"]),R=new Set(["done","error","cancelled"]),j="wire",a=new Map,k=new Set,f=null,g=null,D=0,h=null;function Q(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`page-${Date.now()}-${Math.random().toString(16).slice(2)}`}function H(e){return new URL(e,window.location.origin).href}function N(){let e=M();return typeof e=="string"&&e!==""?e:null}function w(e){return{id:e.id,type:e.type,state:e.state,helper:e.helper,text:e.text,result:e.result,error:e.error,errorCode:e.errorCode,errorDetails:e.errorDetails,errorSource:e.errorSource,startedAt:e.startedAt}}function m(e,t){let n=w(e);for(let r of k)try{r(n,t||null)}catch(s){console.error("clay.wire: a listener threw",s)}document.dispatchEvent(new CustomEvent("clay:wire-state",{detail:n}))}function Y(e,t){e.state!==t&&(e.state=t,m(e))}function v(e,t,n,{cancelFirst:r=!1,errorCode:s=null}={}){clearTimeout(e.timer),e.timer=setTimeout(()=>{e.timer=null,r&&z(e),l(e,"error",n,{errorCode:s,errorSource:"client"})},t)}function q(e){clearTimeout(e.timer),e.timer=null}function Z(){if(!(a.size<=U))for(let[e,t]of a){if(a.size<=U)break;!y.has(t.state)&&t.state!=="landing"&&a.delete(e)}}function ee(){if(g)return g;let e=N(),t=`/_/wire/subscribe?page-url=${encodeURIComponent(window.location.href)}`+(e?`&token=${encodeURIComponent(e)}`:"");return f=new EventSource(H(t)),f.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}te(r)},f.onerror=()=>{},g=new Promise(n=>{let r=!1,s=()=>{r||(r=!0,n())};f.onopen=s,setTimeout(s,2e3)}),g}function L(){for(let e of a.values())if(y.has(e.state))return;f&&(f.close(),f=null,g=null)}function te(e){if(!e||typeof e.id!="string")return;let t=a.get(e.id);if(!(!t||!y.has(t.state)))switch(e.type){case"wire/ack":e.payload?.mode==="jsonl"&&Number.isFinite(e.payload.budgetMs)&&e.payload.budgetMs>0?(t.structured=!0,v(t,e.payload.budgetMs+K,"the helper did not finish within its execution budget",{cancelFirst:!0,errorCode:"helper_timeout"})):v(t,P,"the agent stopped responding"),Y(t,"acked");break;case"wire/status":t.structured||v(t,P,"the agent stopped responding"),t.text=typeof e.text=="string"?e.text:"",t.state="acked",ne(t,e),m(t,e);break;case"wire/done":t.result=Object.prototype.hasOwnProperty.call(e,"payload")?e.payload:null,t.document==="edit"?ie(t):l(t,"done",null);break;case"wire/error":re(t,e);break;default:break}}function ne(e,t){if(!e.onStatus||typeof t.text!="string")return;let n={text:t.text};t.payload&&typeof t.payload=="object"&&Object.prototype.hasOwnProperty.call(t.payload,"progress")&&(n.progress=t.payload.progress);try{e.onStatus(n)}catch(r){console.error("clay.wire: an onStatus listener threw",r)}}function re(e,t){let n=t.payload,r=n&&typeof n=="object"&&!Array.isArray(n)&&(n.source==="application"||n.source==="host")&&typeof n.code=="string"&&n.code,s=typeof t.text=="string"&&t.text?t.text:"the handler reported an error";if(!r){l(e,"error",s);return}let i=n.source==="host"&&n.code==="helper_cancelled"?"cancelled":"error";l(e,i,s,{errorCode:n.code,errorDetails:Object.prototype.hasOwnProperty.call(n,"details")?n.details:null,errorSource:n.source})}function oe(){h||(h=e=>{if(e.detail?.source!=="peer"){for(let t of a.values())if(t.state==="landing"){l(t,"done",null);return}}},document.addEventListener("clay:sync-applied",h))}function se(){D>0||!h||(document.removeEventListener("clay:sync-applied",h),h=null)}function ie(e){R.has(e.state)||e.state==="landing"||(q(e),e.state="landing",D++,oe(),e.landingTimer=setTimeout(()=>{l(e,"done",null)},V),m(e),L())}function l(e,t,n,r={}){if(R.has(e.state))return;let s=e.state==="landing";if(q(e),clearTimeout(e.landingTimer),e.landingTimer=null,e.abort?.abort(),s&&(D--,se()),e.error=n,Object.prototype.hasOwnProperty.call(r,"errorCode")&&(e.errorCode=r.errorCode),Object.prototype.hasOwnProperty.call(r,"errorDetails")&&(e.errorDetails=r.errorDetails),Object.prototype.hasOwnProperty.call(r,"errorSource")&&(e.errorSource=r.errorSource),e.state=t,e.signal&&e.signalHandler&&(e.signal.removeEventListener("abort",e.signalHandler),e.signalHandler=null),ue(e),m(e),L(),Z(),e.settle){let i=e.settle;e.settle=null,i(w(e))}}var C=0,$=null,E=null;function ae(){return E||(E=import("./core/save-
|
|
1
|
+
import{d as A,e as I}from"./c-EQ5NBOGA.js";import{f as b,j as T}from"./c-C7SUMNMI.js";import{c as M}from"./c-BPF2NSPV.js";var B=15e3,P=12e4,K=15e3,V=4e3,W=5e3,U=50,y=new Set(["sent","acked"]),R=new Set(["done","error","cancelled"]),j="wire",a=new Map,k=new Set,f=null,g=null,D=0,h=null;function Q(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`page-${Date.now()}-${Math.random().toString(16).slice(2)}`}function H(e){return new URL(e,window.location.origin).href}function N(){let e=M();return typeof e=="string"&&e!==""?e:null}function w(e){return{id:e.id,type:e.type,state:e.state,helper:e.helper,text:e.text,result:e.result,error:e.error,errorCode:e.errorCode,errorDetails:e.errorDetails,errorSource:e.errorSource,startedAt:e.startedAt}}function m(e,t){let n=w(e);for(let r of k)try{r(n,t||null)}catch(s){console.error("clay.wire: a listener threw",s)}document.dispatchEvent(new CustomEvent("clay:wire-state",{detail:n}))}function Y(e,t){e.state!==t&&(e.state=t,m(e))}function v(e,t,n,{cancelFirst:r=!1,errorCode:s=null}={}){clearTimeout(e.timer),e.timer=setTimeout(()=>{e.timer=null,r&&z(e),l(e,"error",n,{errorCode:s,errorSource:"client"})},t)}function q(e){clearTimeout(e.timer),e.timer=null}function Z(){if(!(a.size<=U))for(let[e,t]of a){if(a.size<=U)break;!y.has(t.state)&&t.state!=="landing"&&a.delete(e)}}function ee(){if(g)return g;let e=N(),t=`/_/wire/subscribe?page-url=${encodeURIComponent(window.location.href)}`+(e?`&token=${encodeURIComponent(e)}`:"");return f=new EventSource(H(t)),f.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}te(r)},f.onerror=()=>{},g=new Promise(n=>{let r=!1,s=()=>{r||(r=!0,n())};f.onopen=s,setTimeout(s,2e3)}),g}function L(){for(let e of a.values())if(y.has(e.state))return;f&&(f.close(),f=null,g=null)}function te(e){if(!e||typeof e.id!="string")return;let t=a.get(e.id);if(!(!t||!y.has(t.state)))switch(e.type){case"wire/ack":e.payload?.mode==="jsonl"&&Number.isFinite(e.payload.budgetMs)&&e.payload.budgetMs>0?(t.structured=!0,v(t,e.payload.budgetMs+K,"the helper did not finish within its execution budget",{cancelFirst:!0,errorCode:"helper_timeout"})):v(t,P,"the agent stopped responding"),Y(t,"acked");break;case"wire/status":t.structured||v(t,P,"the agent stopped responding"),t.text=typeof e.text=="string"?e.text:"",t.state="acked",ne(t,e),m(t,e);break;case"wire/done":t.result=Object.prototype.hasOwnProperty.call(e,"payload")?e.payload:null,t.document==="edit"?ie(t):l(t,"done",null);break;case"wire/error":re(t,e);break;default:break}}function ne(e,t){if(!e.onStatus||typeof t.text!="string")return;let n={text:t.text};t.payload&&typeof t.payload=="object"&&Object.prototype.hasOwnProperty.call(t.payload,"progress")&&(n.progress=t.payload.progress);try{e.onStatus(n)}catch(r){console.error("clay.wire: an onStatus listener threw",r)}}function re(e,t){let n=t.payload,r=n&&typeof n=="object"&&!Array.isArray(n)&&(n.source==="application"||n.source==="host")&&typeof n.code=="string"&&n.code,s=typeof t.text=="string"&&t.text?t.text:"the handler reported an error";if(!r){l(e,"error",s);return}let i=n.source==="host"&&n.code==="helper_cancelled"?"cancelled":"error";l(e,i,s,{errorCode:n.code,errorDetails:Object.prototype.hasOwnProperty.call(n,"details")?n.details:null,errorSource:n.source})}function oe(){h||(h=e=>{if(e.detail?.source!=="peer"){for(let t of a.values())if(t.state==="landing"){l(t,"done",null);return}}},document.addEventListener("clay:sync-applied",h))}function se(){D>0||!h||(document.removeEventListener("clay:sync-applied",h),h=null)}function ie(e){R.has(e.state)||e.state==="landing"||(q(e),e.state="landing",D++,oe(),e.landingTimer=setTimeout(()=>{l(e,"done",null)},V),m(e),L())}function l(e,t,n,r={}){if(R.has(e.state))return;let s=e.state==="landing";if(q(e),clearTimeout(e.landingTimer),e.landingTimer=null,e.abort?.abort(),s&&(D--,se()),e.error=n,Object.prototype.hasOwnProperty.call(r,"errorCode")&&(e.errorCode=r.errorCode),Object.prototype.hasOwnProperty.call(r,"errorDetails")&&(e.errorDetails=r.errorDetails),Object.prototype.hasOwnProperty.call(r,"errorSource")&&(e.errorSource=r.errorSource),e.state=t,e.signal&&e.signalHandler&&(e.signal.removeEventListener("abort",e.signalHandler),e.signalHandler=null),ue(e),m(e),L(),Z(),e.settle){let i=e.settle;e.settle=null,i(w(e))}}var C=0,$=null,E=null;function ae(){return E||(E=import("./core/save-JZ7R4ET2.js")),E}async function le(e){if(!b||e.holdsSave)return;let t=await ae();e.state==="sent"&&($=t,e.holdsSave=!0,!(C++>0)&&t.suspendAutosave())}function ue(e){e.holdsSave&&(e.holdsSave=!1,!(--C>0)&&(C=0,$?.resumeAutosave()))}var c=null,de=()=>!c||c.admitted,ce=(e,t,n)=>Object.assign(new Error(`clay.wire: ${e}`),{code:t,pending:n});function O(e){return e.document!=="edit"||e.generation===T().generation&&de()?!0:(l(e,"error","the page changed mode before this request went out",{errorCode:"stale-document",errorSource:"client"}),!1)}function _e(){return{id:"clay:wire",order:900,prepare(e={}){let t={admitted:e.initial===!0};return c=t,{enable(){c===t&&(t.admitted=!0)},quiesce(){if(c!==t)return;t.admitted=!1;let n=[...a.values()].filter(r=>r.document==="edit"&&(r.holdsSave||y.has(r.state))).map(r=>r.id);if(n.length)throw ce("a request on this page has not settled","pending-input",n)},resume(){c===t&&(t.admitted=!0)},dispose(){c===t&&(c=null)}}}}}function fe(e,t){return new Promise(n=>{let r=!1,s=()=>{r||(r=!0,document.removeEventListener(e,s),n())};document.addEventListener(e,s),setTimeout(s,t)})}async function pe(){if(!b)return;let e=window.clay;if(!e||typeof e.save!="function")return;let{isSaveInProgress:t}=await import("./core/save-core-I4N6S4ED.js"),{savesHeld:n,saveHoldReason:r}=await import("./core/save-JZ7R4ET2.js");if(n())throw new Error(r());let s=Date.now()+W;for(let i=0;i<3;i++){t()&&await fe("clay:save-saved",Math.max(0,s-Date.now()));let u=await e.save();if(u?.ok||u?.msgType==="skipped"&&!t())return;if(u?.msgType==="error"||u?.msgType==="unknown")throw new Error(`could not save this page first: ${u.msg||u.msgType}`);if(Date.now()>=s)break}throw new Error("could not save this page before sending")}async function F(e,t){let n={"Content-Type":"application/json","Page-URL":window.location.href},r=N();r&&(n["Save-Token"]=r);let s=await fetch(H("/_/wire/send"),{method:"POST",headers:n,body:JSON.stringify(e),signal:t}),i=null;try{i=await s.json()}catch{i=null}return{ok:s.ok,status:s.status,reply:i}}function he(e,t={}){let n=typeof t.id=="string"&&t.id?t.id:Q(),r=typeof t.type=="string"&&t.type?t.type:"wire/request",s=Object.prototype.hasOwnProperty.call(t,"helper"),i=s&&typeof t.helper=="string"&&t.helper?t.helper:null,u=t.document===void 0?i?"none":"edit":t.document;if(s&&!i)return _(n,r,null,"helper must be a nonempty string","invalid_helper");if(u!=="edit"&&u!=="none")return _(n,r,i,'document must be "edit" or "none"',"invalid_document");if(a.has(n))return _(n,r,i,"a request with this id is already on the wire","duplicate_request");let o={id:n,type:r,state:"sent",helper:i,document:u,structured:!1,onStatus:typeof t.onStatus=="function"?t.onStatus:null,text:"",result:null,error:null,errorCode:null,errorDetails:null,errorSource:null,startedAt:Date.now(),timer:null,landingTimer:null,abort:typeof AbortController=="function"?new AbortController:null,holdsSave:!1,generation:T().generation,settle:null,signal:t.signal&&typeof t.signal.addEventListener=="function"?t.signal:null,signalHandler:null};return o.done=new Promise(d=>{o.settle=d}),a.set(n,o),m(o),o.signal&&(o.signalHandler=()=>x(n),o.signal.addEventListener("abort",o.signalHandler,{once:!0}),o.signal.aborted&&o.signalHandler()),(async()=>{if(o.state!=="sent")return;if(o.helper){let X=await I(j);if(o.state!=="sent")return;if(!X){l(o,"error","this host does not support named wire helpers",{errorCode:"helper_protocol_unsupported",errorSource:"client"});return}}if(!O(o)||o.document==="edit"&&(await le(o),o.state!=="sent"||!O(o)||(await pe(),o.state!=="sent")||!O(o)))return;if(await ee(),o.state!=="sent"){L();return}v(o,B,"the agent never answered",o.helper?{cancelFirst:!0,errorCode:"ack_timeout"}:void 0);let d={type:o.type,id:o.id,text:t.text,payload:e};o.helper&&(d.helper=o.helper),(o.helper||t.document!==void 0)&&(d.document=o.document);let{ok:G,status:J,reply:S}=await F(d,o.abort?.signal);if(o.state!=="sent")return;if(!G){l(o,"error",`the wire refused this request (${J})`);return}let p=S&&S.refused;if(p&&typeof p.code=="string"&&p.code){l(o,"error",p.message||"the handler refused this request",{errorCode:p.code,errorSource:p.source==="application"?"application":"host",errorDetails:null});return}(!S||S.delivered===0)&&l(o,"error",o.helper?`The local program "${o.helper}" is not connected to this file.`:"No program is connected to this file.")})().catch(d=>{l(o,"error",d&&d.message?d.message:String(d))}),{id:n,get state(){return o.state},done:o.done,cancel:()=>x(n)}}function _(e,t,n,r,s){let i={id:e,type:t,state:"error",helper:n,text:"",result:null,error:r,errorCode:s,errorDetails:null,errorSource:"client",startedAt:Date.now()};return{id:e,get state(){return i.state},done:Promise.resolve(w(i)),cancel:()=>!1}}function x(e){let t=a.get(e);return!t||!y.has(t.state)?!1:(z(t),l(t,"cancelled",null),!0)}function z(e){F({type:"wire/cancel",id:e.id}).catch(()=>{})}function ye(e){let t=a.get(e);return t?w(t):void 0}function ge(){return[...a.values()].map(w)}function we(){for(let e of a.values())if(y.has(e.state))return!0;return!1}function me(e){return typeof e!="function"?()=>{}:(k.add(e),()=>k.delete(e))}async function Se(){let e=await A({fresh:!0});if(!e.extensions.includes(j))return[];let t=e.document?.helpers;return Array.isArray(t)?t.filter(n=>n&&typeof n.name=="string"&&["ready","denied","unavailable"].includes(n.state)).map(({name:n,state:r})=>({name:n,state:r})):[]}var ve={send:he,cancel:x,get:ye,list:ge,isBusy:we,on:me,helpers:Se},ke=ve;export{_e as a,ve as b,ke as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"./c-EIDZHQHZ.js";import"./c-QY7F6EN6.js";import"./c-QHWJ5ZIJ.js";import"./c-J2ZW4HMR.js";import"./c-A5LASUEZ.js";import"./c-4JZDZFF6.js";import"./c-5RZNFTWD.js";import"./c-PKCCHJ5X.js";import"./c-46XYM55L.js";import"./c-NUHP2XDB.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";export{c as default,b as dismissPersistent,a as toastPersistent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./c-
|
|
1
|
+
import{a,b}from"./c-2TJCFPX4.js";import"./c-Y6HH7LTM.js";import"./c-RHMPKZZ7.js";import"./c-VHNSBD2M.js";export{a as COPY,b as createRecovery};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as T,i as O,t as d,u as g,w as _}from"./c-
|
|
1
|
+
import{g as T,i as O,t as d,u as g,w as _}from"./c-EIUKME3W.js";import{D as z}from"./c-OH2FPYSY.js";var b=(t,n)=>{let e=new Map,r=[];for(let o of n??[]){let s=e.get(o.id)??[];s.push(o.implicit),e.set(o.id,s)}let c=new Map;return t.forEach(o=>{let s=o.attrs.id,i=c.get(s)??0;r.push(e.get(s)?.[i]??!1),c.set(s,i+1)}),r},A=t=>t.attrs.raw??null,j=t=>{let n=A(t);if(n){let r={...n};return delete r.t,delete r.pos,r}let e={};for(let r of T(t.type))e[r]=t.attrs[r];return t.type.name==="table"&&(e.rows=z(t).rows),e},y=t=>A(t)?.t??t.type.name;function K(t,n=new Map,e=null){let r=[],c=b(t,e);return t.forEach((o,s,i)=>{let a=c[i]&&!n.has(o.attrs.id),f=e?e[i]?.brk??null:null;a||r.push({k:"b",id:c[i]&&n.has(o.attrs.id)?n.get(o.attrs.id):o.attrs.id,t:y(o),attrs:j(o),brk:f}),o.isTextblock&&o.content.forEach(l=>{if(l.isText){let u=y(o)==="code_block"?[]:l.marks,m=g(u),p=d(u);for(let h=0;h<l.text.length;h++)r.push({k:"c",ch:l.text[h],mk:m,ma:p})}else l.type.name==="hard_break"&&r.push({k:"h"})})}),r}function w(t,n=new Map,e=null){let r=new Int32Array(t.content.size+1),c=0,o=b(t,e);return t.forEach((s,i,a)=>{let l=o[a]&&!n.has(s.attrs.id)?0:1;if(s.isTextblock){let u=s.content.size;r[i]=c;for(let m=0;m<=u;m++)r[i+1+m]=c+l+m;r[i+2+u]=c+l+u,c+=l+u}else r[i]=c,r[i+s.nodeSize]=c+l,c+=l}),r}function P(t,n,e){let r=t.resolve(n),c=t.resolve(e);if(r.depth!==1||c.depth!==1||r.index(0)!==c.index(0)||!r.parent.isTextblock)throw new RangeError("token range must stay inside one text block");let o=r.index(0),s=0,i=0,a=null;t.forEach((p,h,x)=>{x<o?s+=p.isTextblock?p.content.size+1:1:x===o&&(a=p,i=h)});let f=n-i-1,l=e-i-1,u=[],m=0;return a.content.forEach(p=>{let h=Math.max(0,f-m),x=Math.min(p.nodeSize,l-m);if(h<x)if(p.isText){let M=y(a)==="code_block"?[]:p.marks,I=g(M),S=d(M);for(let k=h;k<x;k++)u.push({k:"c",ch:p.text[k],mk:I,ma:S})}else p.type.name==="hard_break"&&u.push({k:"h"});m+=p.nodeSize}),{start:s+1+f,end:s+1+l,tokens:u}}var q=(t,n)=>t.k===n.k&&(t.k==="b"?t.id===n.id&&t.t===n.t&&O(t.attrs,n.attrs):t.k==="h"||t.ch===n.ch&&t.mk===n.mk),C=(t,n)=>{let e=n;for(let r of t)r.at<=n&&(e+=r.len);return e},E=(t,n)=>{let e=n;for(let r of t)r.at<n&&(e+=r.len);return e},N=(t,n,e)=>_({tokens:t,holes:n},e);var D=(t,n,e,r)=>E(n,w(t,new Map,r)[e]);function G(t,n,e,r,c=null){let o=0,s=e;for(;o<s;){let f=o+s+1>>1;E(n,f)<=r?o=f:s=f-1}let i=w(t,new Map,c),a=-1;for(let f=0;f<i.length;f++)if(!(i[f]<o)){if(i[f]>o)break;if(a<0&&(a=f),t.resolve(f).parent.inlineContent)return f}return a<0?t.content.size:a}var H=(t,n)=>{let e=t.resolve(n);return e.depth!==3||e.parent.type.name!=="table_cell"?null:{table:e.node(1).attrs.id,row:e.node(2).attrs.id,col:e.parent.attrs.col,offset:e.parentOffset}},R=(t,n)=>{let e=null;return t.forEach((r,c)=>{e!==null||r.type.name!=="table"||r.attrs.id!==n.table||r.forEach((o,s)=>{e!==null||o.attrs.id!==n.row||o.forEach((i,a)=>{e===null&&i.attrs.col===n.col&&(e={from:c+2+s+a,to:c+2+s+a+i.nodeSize,block:n.table,row:n.row,col:n.col})})})}),e},L=(t,n)=>{let e=R(t,n);if(!e)return null;let r=t.nodeAt(e.from);return e.from+1+Math.min(n.offset??0,r?r.content.size:0)};export{K as a,w as b,P as c,q as d,C as e,E as f,N as g,D as h,G as i,H as j,R as k,L as l};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as y,c as S}from"./c-6DNRCPNM.js";import{b as C,c as s}from"./c-
|
|
1
|
+
import{b as y,c as S}from"./c-6DNRCPNM.js";import{b as C,c as s}from"./c-YRDKVEGR.js";import{A as d,B as f,C as m,D as p,q as i}from"./c-UW6MMZ4V.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";function b(e={}){let t=d({...e,sliced:!0});return Object.freeze({captureId:t.captureId,steps:()=>h(t),drop:()=>p(t)})}function v(e,t){let r=e.querySelector("head");if(!r)return;let n=e.querySelector(`meta[name="${t.name}"]`);if(n){n.getAttribute("content")!==t.content&&n.setAttribute("content",t.content);return}let o=e.ownerDocument.createElement("meta");o.setAttribute("name",t.name),o.setAttribute("content",t.content),r.appendChild(o)}function*g(e,t,r){if(!r.renderer)return t;let n=null;for(;;){let o;try{o=i(r.context,()=>(n||=r.rendererSteps?r.rendererSteps(e,t):!1,n?n.next():{done:!0,value:r.renderer(e,t)}))}catch(c){return console.error("clayjs: save renderer failed, sending the full serialization",c),t}if(o.done)return o.value;yield}}function*h(e){f(e);let t=yield*C(e.clone);yield;let r=e.compareClone?yield*s(e.compareClone):null;yield;let n=e.dirtyClone?yield*s(e.dirtyClone):r;yield,e.pageFormatMarker&&v(e.clone,e.pageFormatMarker);let o=yield*g(e.clone,t,e);return m(e,{forSave:o,forComparison:r,forDirty:n})}var l=()=>globalThis.performance?globalThis.performance.now():Date.now();async function F(e,{budgetMs:t=4,signal:r=null}={}){let n=0,o=l(),c=async()=>{n+=l()-o,await y(),o=l()},a;try{a=await S(e,{budgetMs:t,signal:r,yieldTask:c})}finally{n+=l()-o}let u=a!==null&&typeof a=="object"&&a.aborted===!0;return{result:u?null:a,aborted:u,activeMs:n}}export{b as beginSaveCapture,F as runPreparedSteps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as h,d as f,h as x}from"./c-
|
|
1
|
+
import{C as h,d as f,h as x}from"./c-3XGLJAS7.js";import{A as g,c as I,d as $}from"./c-OH2FPYSY.js";import{b as E}from"./c-RETTCOWO.js";var{Plugin:B,PluginKey:j}=E,k=$.nodes,m=new j("blockeditor-media"),L=1.5*1024*1024,u=new WeakMap,C=new WeakMap,U=(t,o)=>{let s=t.resolve(Math.max(0,Math.min(o,t.content.size)));return s.depth===0?s.pos:s.after(1)};function b(t,o){let s=x(t.doc),e=s[Math.min(o,s.length-1)],a=e.node.type===k.paragraph&&e.node.content.size===0;return{hostId:e.node.attrs.id,at:a?e.at:s[e.subEnd].end,parent:e.node.attrs.parent??null,replaceId:a?e.node.attrs.id:null}}var O={init:()=>({items:[],placed:{},picker:null}),apply(t,o){let{items:s,placed:e,picker:a}=o;if(t.docChanged&&(s=s.map(r=>({...r,pos:U(t.doc,t.mapping.map(r.pos,-1))}))),a&&t.docChanged&&(a={...a,place:{...a.place,at:U(t.doc,t.mapping.map(a.place.at,-1))}},a.remove)){let r=t.mapping.map(a.remove.from,1),c=t.mapping.map(a.remove.to,-1);a=r<=c&&t.doc.textBetween(r,c)===a.remove.text?{...a,remove:{...a.remove,from:r,to:c}}:null}let n=t.getMeta(m);if(n?.picker!==void 0&&(a=n.picker),n?.add&&(s=[...s,...n.add]),n?.update&&(s=s.map(r=>r.id===n.update.id?{...r,...n.update}:r)),n?.placed){let{id:r,at:c,size:d,blockId:p}=n.placed,i=o.items.find(l=>l.id===r);s=s.filter(l=>l.id!==r).map(l=>i&&l.pos===c&&l.group===i.group&&l.order>i.order?{...l,pos:l.pos+d}:l),i&&(e={...e,[i.group]:[...e[i.group]||[],p]})}n?.remove&&(s=s.filter(r=>r.id!==n.remove));for(let r of Object.keys(e))s.some(c=>c.group===r)||(e={...e},delete e[r]);return{items:s,placed:e,picker:a}}};function R(t,o,s){if(!o)return;let e=null,a=null;t.doc.forEach((n,r)=>{n.attrs.id===o&&e&&s.includes(e.attrs.id)&&(a={n,off:r}),e=n}),a&&a.n.type===k.paragraph&&a.n.content.size===0&&t.delete(a.off,a.off+a.n.nodeSize)}function P(t,o,s){let{items:e,placed:a}=m.getState(t),n=e.find(i=>i.id===o);if(!n)return null;let r=U(t.doc,n.pos),c=g(),d=(n.kind==="image"?k.image:k.file).create({...s,id:c,pos:null,parent:n.parent}),p=t.tr.insert(r,d);return e.some(i=>i.group===n.group&&i.id!==o)||R(p,n.replaceId,[...a[n.group]||[],c]),h(p).setMeta(m,{placed:{id:o,at:r,size:d.nodeSize,blockId:c}})}function F(t,o){let{items:s,placed:e}=m.getState(t),a=s.find(r=>r.id===o);if(!a)return null;let n=t.tr;return s.some(r=>r.group===a.group&&r.id!==o)||R(n,a.replaceId,e[a.group]||[]),n.docChanged&&h(n),n.setMeta(m,{remove:o})}function y(t,o,s=b(t.state,t.state.selection.$head.index(0))){if(o=[...o].filter(Boolean),!o.length)return!1;let e=g("g"),a=o.map((n,r)=>{let c=/^image\//.test(n.type||"")?"image":"file";return{id:g("u"),pos:s.at,group:e,order:r,file:n,kind:c,name:n.name||(c==="image"?"image":"file"),parent:s.parent,replaceId:s.replaceId,state:"uploading",percent:0,preview:c==="image"&&globalThis.URL?.createObjectURL?URL.createObjectURL(n):null}});t.dispatch(t.state.tr.setMeta(m,{add:a}));for(let n of a)H(t,n);return f(t,o.length===1?`Uploading ${a[0].name}`:`Uploading ${o.length} files`),!0}var z=(t,o)=>m.getState(t.state).items.find(s=>s.id===o),M=(t,o,s)=>t.dispatch(t.state.tr.setMeta(m,{update:{id:o,...s}})),A=(t,o)=>t.kind==="image"?{src:o,alt:"",caption:""}:{src:o,name:t.name,size:t.file.size??null,mime:t.file.type||null};function T(t,o,s){t.preview&&URL.revokeObjectURL?.(t.preview),s&&o.dispatch(s)}async function H(t,o){let s=u.get(t),e=new AbortController;s.aborts.set(o.id,e);let a=-5,n=({percent:d})=>{d-a<5&&d!==100||(a=d,u.has(t)&&z(t,o.id)&&M(t,o.id,{percent:d}))},r;try{r=await s.upload(o.file,{onProgress:n,signal:e.signal})}catch{r={code:"network",msg:"Upload failed"}}if(s.aborts.delete(o.id),!u.has(t)||!z(t,o.id))return;if(r?.ok){let d=I(r.uploads?.[0]?.url);if(d){T(o,t,P(t.state,o.id,A(o,d))),f(t,`${o.name} added`);return}r={code:"bad-response",msg:"The upload returned an invalid address"}}if((!r||typeof r!="object")&&(r={code:"bad-response",msg:"The upload returned an invalid response"}),r.code==="aborted")return T(o,t,F(t.state,o.id));if(r.code==="unsupported"){let d=/^image\/(png|jpeg|gif|webp)$/i.test(o.file.type)&&o.file.size<=L,p=d?"This host doesn't store files. You can keep this image inside the document, which makes the document larger.":o.kind==="image"&&o.file.size>L?"This host doesn't store files, and this image is over 1.5 MB, too large to keep inside the document.":"This host doesn't store files.";M(t,o.id,{state:d?"embed-choice":"error",code:r.code,message:p}),f(t,`${o.name}: ${p}`);return}let c=r.code==="timeout"?"The upload timed out. It may have arrived; trying again is safe.":r.msg||"Upload failed";M(t,o.id,{state:"error",code:r.code,message:c}),f(t,`${o.name}: ${c}`)}var Y=t=>t.replace(/<(meta|style|img)\b[^>]*>/gi,"").replace(/<[^>]+>/g,"").trim()!=="";function Q({upload:t,features:o=null}){let s=e=>{!o||o.has("media")||!u.has(e)||o.ensure("media").catch(()=>{})};return new B({key:m,state:O,view(e){let n=e.dom.ownerDocument.createElement("input");n.type="file",n.multiple=!0,n.hidden=!0,n.className="blockeditor-file-input",e.dom.parentElement.append(n),u.set(e,{upload:t,aborts:new Map,input:n}),n.addEventListener("change",()=>{let c=[...n.files??[]],d=m.getState(e.state).picker;if(e.dispatch(e.state.tr.setMeta(m,{picker:null})),c.length&&d){let{remove:p}=d;p&&e.state.doc.textBetween(p.from,p.to)===p.text&&e.dispatch(h(e.state.tr.delete(p.from,p.to)));let i=_(e.state.doc,d.place.hostId);(!d.place.hostId||i>=0)&&(y(e,c,i>=0?b(e.state,i):d.place),s(e))}n.value="",e.focus()}),n.addEventListener("cancel",()=>e.dispatch(e.state.tr.setMeta(m,{picker:null})));let r=c=>{let d=c.target.closest?.(".blockeditor-upload-btn");if(!d)return;c.preventDefault();let p=C.get(e),i=d.dataset.upload;d.dataset.act==="retry"?p?.retryUpload(e,i):d.dataset.act==="embed"?p?.embedUpload(e,i):p?.cancelUpload(e,i)};return e.dom.addEventListener("click",r),{destroy(){e.dom.removeEventListener("click",r);let c=u.get(e);u.delete(e);for(let d of m.getState(e.state).items)d.preview&&URL.revokeObjectURL?.(d.preview);for(let d of c.aborts.values())d.abort();n.remove()}}},props:{handlePaste(e,a){let n=a.clipboardData,r=[...n?.files??[]];if(!r.length||e.state.selection.$from.parent.type.spec.code||Y(n.getData("text/html")||""))return!1;let c=b(e.state,e.state.selection.$head.index(0));return a.preventDefault(),y(e,r,c),s(e),!0},handleDrop(e,a,n,r){let c=[...a.dataTransfer?.files??[]];if(r||!c.length)return!1;let d=e.posAtCoords({left:a.clientX,top:a.clientY});if(!d)return!1;let p=x(e.state.doc),i=Math.min(e.state.doc.resolve(d.pos).index(0),p.length-1),l=e.nodeDOM(p[i].at)?.getBoundingClientRect?.(),D=l&&a.clientY<l.top+l.height/2;a.preventDefault();let S={at:D?p[i].at:p[p[i].subEnd].end,parent:p[i].node.attrs.parent??null,replaceId:null};return y(e,c,S),s(e),!0}}})}var _=(t,o)=>{let s=-1;return t.forEach((e,a,n)=>{e.attrs.id===o&&(s=n)}),s};function V(t,o,s=b(t.state,t.state.selection.$head.index(0)),e=null){let a=u.get(t);if(!a)return!1;let n={place:s,remove:e&&{...e,text:t.state.doc.textBetween(e.from,e.to)}};return t.dispatch(t.state.tr.setMeta(m,{picker:n})),a.input.accept=o,a.input.click(),!0}export{m as a,L as b,u as c,C as d,U as e,b as f,P as g,F as h,z as i,M as j,A as k,T as l,H as m,Q as n,V as o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _,d as v}from"./c-WN3MXOLT.js";import{b as c}from"./c-RVMWGXEJ.js";import{b as u,c as s}from"./c-NUHP2XDB.js";import{e as b}from"./c-EQ5NBOGA.js";import"./c-C7SUMNMI.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var d="#FFFCF6",l=["all:initial","color-scheme:inherit","direction:ltr","unicode-bidi:isolate"],y=18,h=3,p=null,f=null;function C(){return f??=Promise.all([import("./c-
|
|
1
|
+
import{a as _,d as v}from"./c-WN3MXOLT.js";import{b as c}from"./c-RVMWGXEJ.js";import{b as u,c as s}from"./c-NUHP2XDB.js";import{e as b}from"./c-EQ5NBOGA.js";import"./c-C7SUMNMI.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var d="#FFFCF6",l=["all:initial","color-scheme:inherit","direction:ltr","unicode-bidi:isolate"],y=18,h=3,p=null,f=null;function C(){return f??=Promise.all([import("./c-33SS5A4Y.js"),import("./c-46LJAZZJ.js")]).then(([i,e])=>p={RUNTIME_ONLY:i.RUNTIME_ONLY,CHIP_FONT:`600 11px/16px ${e.FONT_MONO}`}).catch(i=>{throw f=null,i}),f}var $=()=>C().then(()=>!0,()=>!1);function a(i){return i.setAttribute("clay",p.RUNTIME_ONLY),i}function A(i){let e=i&&Array.isArray(i.people)?i.people:[],o=[];for(let t of e){if(!t||t.you===!0||typeof t.id!="string"||!t.id||typeof t.editing!="string"||!_.test(t.editing))continue;let n=typeof t.name=="string"&&t.name.trim()?t.name.trim():"Someone";o.push({id:t.id,name:n,path:t.editing})}return o}var m=class{constructor(){this.editors=[],this.root=null,this._gate=null,this._frame=0,this._following=!1,this._onMove=()=>this.schedule()}supported(){return this._gate||(this._gate=b("presence").then(e=>e===!0,()=>!1)),this._gate}async update(e){this.editors=A(e),await this.supported()&&await this.render()}clear(){this.editors=[],this.follow(!1),this._frame&&cancelAnimationFrame(this._frame),this._frame=0,this.root&&this.root.remove(),this.root=null}schedule(){this._frame||(this._frame=requestAnimationFrame(()=>{this._frame=0,this.render()}))}render(){return p?(this.paint(),Promise.resolve()):$().then(e=>{e&&this.paint()})}paint(){let e=new Map;for(let t of this.editors){let n=v(t.path);n&&(e.has(n)||e.set(n,[]),e.get(n).push(t))}let o=[];for(let[t,n]of e){let r=this.box(t,n);r&&o.push(r)}if(!o.length){this.root&&(this.root.textContent="",u(this.root,"display","none")),this.follow(this.editors.length>0);return}this.build()&&(this.root.textContent="",this.root.append(...o),u(this.root,"display","block"),this.follow(!0))}box(e,o){let t=e.getBoundingClientRect();if(!(t.width||t.height))return null;let n=c(o[0].id),r=a(s("div",[...l,"position:fixed","box-sizing:border-box","pointer-events:none",`top:${Math.round(t.top-h)}px`,`left:${Math.round(t.left-h)}px`,`width:${Math.round(t.width+h*2)}px`,`height:${Math.round(t.height+h*2)}px`,`border:2px solid ${n}`,`box-shadow:0 0 0 1px ${d}, inset 0 0 0 1px ${d}`]));r.setAttribute("data-clay-editing-marker","");let M=t.top-h>=y+2,x=a(s("div",[...l,"position:absolute","left:-2px",M?"bottom:100%":"top:100%","display:flex","gap:2px","pointer-events:none"]));for(let g of o){let w=a(s("span",[...l,"box-sizing:border-box",`height:${y}px`,"padding:1px 6px",`font:${p.CHIP_FONT}`,"letter-spacing:.02em","white-space:nowrap","max-width:180px","overflow:hidden","text-overflow:ellipsis",`background-color:${c(g.id)}`,`color:${d}`,`box-shadow:0 0 0 1px ${d}`],g.name));w.setAttribute("data-clay-editing-chip",""),x.appendChild(w)}return r.appendChild(x),r}build(){return this.root&&this.root.isConnected?!0:typeof document>"u"||!document.body?!1:(this.root=a(s("div",[...l,"position:fixed","top:0","left:0","width:0","height:0","overflow:visible","z-index:2147482999","pointer-events:none","display:none"])),this.root.setAttribute("data-clay-editing",""),document.body.appendChild(this.root),!0)}follow(e){if(typeof window>"u"||!!e===this._following)return;this._following=!!e;let o=e?"addEventListener":"removeEventListener";window[o]("scroll",this._onMove,{capture:!0,passive:!0}),window[o]("resize",this._onMove,{passive:!0}),document[o]("input",this._onMove),document[o]("clay:sync-applied",this._onMove)}},N=new m;var O=N;export{m as EditingMarker,O as default,N as editingMarker};
|