@panphora/clayjs 1.25.1 → 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 +1141 -345
- package/dist/m/c-2EPHRF47.js +1 -0
- package/dist/m/{c-2GB34XL4.js → c-2SUFMUZX.js} +2 -2
- package/dist/m/{c-BHLYQGTA.js → c-3S3647J6.js} +1 -1
- package/dist/m/{c-QL4NYM2L.js → c-3S5TNRZA.js} +1 -1
- package/dist/m/{c-3Y234AUB.js → c-3XGLJAS7.js} +2 -2
- package/dist/m/{c-O4YIDULY.js → c-42WBOKFM.js} +1 -1
- package/dist/m/{c-42RLKGEY.js → c-4TP3UXBT.js} +1 -1
- package/dist/m/{c-ASGHHLFX.js → c-5ELELG2F.js} +1 -1
- package/dist/m/{c-T5IWJOMW.js → c-5ZYLTN3Q.js} +1 -1
- package/dist/m/{c-DDCYVLGG.js → c-67TBU56I.js} +1 -1
- package/dist/m/{c-WNOLMHI2.js → c-6BGJAJ67.js} +1 -1
- package/dist/m/{c-XS7G6U3Z.js → c-ABOBD7F3.js} +1 -1
- package/dist/m/{c-5IIEOPIV.js → c-ARO6CPMA.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-NICICT4P.js → c-DEYHCYJB.js} +1 -1
- package/dist/m/{c-T7LOTEWO.js → c-DZT6W2NG.js} +1 -1
- package/dist/m/c-EHJWIGWN.js +1 -0
- package/dist/m/{c-V2V5FKXX.js → c-EIUKME3W.js} +1 -1
- package/dist/m/{c-ASMLERFA.js → c-EXZOA6XY.js} +1 -1
- package/dist/m/{c-STAPQ2X6.js → c-EYFMAR3M.js} +1 -1
- package/dist/m/{c-DVMDYRAE.js → c-FUN6AKFE.js} +1 -1
- package/dist/m/{c-XMIDHEKF.js → c-GY36NO7C.js} +1 -1
- package/dist/m/{c-TWB5ZQU4.js → c-H47C6PJZ.js} +1 -1
- package/dist/m/c-KD2ME5UN.js +2 -0
- package/dist/m/{c-GO635CRU.js → c-LAKBBJOU.js} +2 -2
- package/dist/m/{c-GNFDX6SU.js → c-LETPPG2F.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-XCOQNISP.js → c-N362HNGO.js} +1 -1
- package/dist/m/{c-7K4SCQB7.js → c-ND3W7D5U.js} +1 -1
- package/dist/m/{c-4NAYDOWH.js → c-NNHNXD6M.js} +1 -1
- package/dist/m/{c-DAUQ6JZ3.js → c-NYJ577NL.js} +1 -1
- package/dist/m/{c-3AAQJAKJ.js → c-PWILUN4T.js} +1 -1
- package/dist/m/{c-7Z2625LX.js → c-QA3Q3MDI.js} +1 -1
- package/dist/m/{c-2A2ATCIH.js → c-QKOKMQXA.js} +1 -1
- package/dist/m/{c-TGIMBAWE.js → c-RBWVF4N5.js} +1 -1
- package/dist/m/{c-A5IYL7JI.js → c-SPOEDIMP.js} +1 -1
- package/dist/m/{c-ZJ7726FO.js → c-SRW5OBCF.js} +1 -1
- package/dist/m/{c-A3OKSYRI.js → c-SYOA4T7V.js} +1 -1
- package/dist/m/{c-MHTO3QAD.js → c-TJ5PFOJ2.js} +1 -1
- package/dist/m/{c-NW4ZFKCY.js → c-TKV273YU.js} +1 -1
- package/dist/m/{c-D4N4UJCQ.js → c-UEKJWXCB.js} +2 -2
- package/dist/m/{c-44WITKWQ.js → c-V4DBV5ZV.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-C27EVUQ6.js → c-XHD7XJTE.js} +1 -1
- package/dist/m/{c-PP3CUF3U.js → c-XONFK3WC.js} +1 -1
- package/dist/m/c-YYIN4NAF.js +30 -0
- package/dist/m/c-ZFAPQQIB.js +1 -0
- package/dist/m/core/{conflict-notice-Y2NTMDGJ.js → conflict-notice-UNDOD4BL.js} +1 -1
- package/dist/m/core/site-edits-C22O53GS.js +1 -0
- package/dist/m/loader-DCKCZKY6.js +1 -0
- package/dist/m/{manifest-A27A4278.js → manifest-7954CBE3.js} +1 -1
- package/dist/m/{manifest-edit-E8A61EB4.js → manifest-edit-93AA79D7.js} +1 -1
- package/dist/m/manifest.json +442 -441
- package/dist/m/page/{editor-HS2CAV3W.js → editor-UF3CIA6V.js} +2 -2
- package/dist/m/plugins/{cms-4KET6RZT.js → cms-KG6TCTR3.js} +1 -1
- package/dist/m/plugins/{live-CO4VJS46.js → live-DF5YS5AH.js} +1 -1
- package/dist/m/plugins/page-GZSU77JS.js +2 -0
- package/dist/m/plugins/{page-view-6KNTXABH.js → page-view-7MM3FEAR.js} +1 -1
- package/dist/m/plugins/{quickcrop-VNRXGRPC.js → quickcrop-UHURKA2F.js} +2 -2
- package/dist/m/plugins/richclay-MXH2GFAZ.js +549 -0
- package/dist/m/plugins/undo-KLHAGV75.js +1 -0
- package/dist/m/sync/{live-sync-DX4K5GDB.js → live-sync-RZQSDMZW.js} +1 -1
- package/dist/offline-manifest.json +360 -360
- package/package.json +1 -1
- package/src/core/site-edits.js +1 -1
- package/src/loader-logic.js +0 -13
- package/src/page/boot-pack.js +1 -0
- package/src/page/history-intent.js +111 -4
- 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/richclay.js +136 -0
- package/src/plugins/undo.js +169 -7
- package/src/recovery/undo.js +14 -7
- package/src/sync/live-sync.js +24 -0
- package/src/ui/vendor-skin.js +9 -4
- package/dist/m/c-3XNTQQEJ.js +0 -1
- package/dist/m/c-4OZZ7ENT.js +0 -30
- package/dist/m/c-D2OPWOWO.js +0 -2
- package/dist/m/c-LUBZU4AZ.js +0 -6
- package/dist/m/c-LYNLY3MR.js +0 -1
- package/dist/m/c-MLMJUNRV.js +0 -1
- package/dist/m/c-V5L6HWVL.js +0 -1
- package/dist/m/core/site-edits-TIJDPG6H.js +0 -1
- package/dist/m/loader-7ORQVRCK.js +0 -1
- package/dist/m/plugins/page-L3VKIQU2.js +0 -2
- package/dist/m/plugins/richclay-V6WKJTUF.js +0 -549
- package/dist/m/plugins/undo-WUK2NLBA.js +0 -1
- /package/dist/m/plugins/{quickcrop-VNRXGRPC.js.LEGAL.txt → quickcrop-UHURKA2F.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-V6WKJTUF.js.LEGAL.txt → richclay-MXH2GFAZ.js.LEGAL.txt} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as Ae,g as nt,h as ot,i as Ue,j as de,k as ze,s as sn,u as rn,v as st,w as cn}from"./c-V2V5FKXX.js";import{a as Wt,b as Xt,c as Ht,d as Qt,e as At,f as Zt}from"./c-7K4SCQB7.js";import{a as Lt,b as Pt,c as Gt,d as It,e as qt,f as xt,g as He,h as Je,i as Qe,j as Ze,o as Ve,s as Ke,u as et,v as re,w as St,x as ve,y as tt}from"./c-WMRJKQ2V.js";import{S as tn,T as nn,Y as Ct,aa as on,d as se,fa as Oe,p as en}from"./c-OH2FPYSY.js";import{a as Fe,b as zt,c as oe,d as Xe}from"./c-57XDY6HC.js";var Le="blockeditor-origins",no="blockeditor-undo-overlap-repair",ln=(e,t)=>JSON.stringify(["span",e,t]),jt=(e,t)=>JSON.stringify(["alias",e,t]),an=(e,t)=>JSON.stringify(["boundary",e,t]),oo=["copy","removed","restore"],fn=/^(?:0|[1-9]\d*)$/,me=(e,t)=>`${e}.${t}`,q=e=>Number.isSafeInteger(e)&&e>=0,so=e=>Number.isSafeInteger(e)&&e>0,ro=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),rt=e=>new Error(`Conflicting immutable origin record: ${e}`),co=e=>{if(typeof e!="string")return!1;let t=e.indexOf(".");if(t<1||t===e.length-1)return!1;let n=e.slice(0,t),s=e.slice(t+1);return fn.test(n)&&fn.test(s)&&q(Number(n))&&q(Number(s))},Mt=e=>{if(!ro(e))return null;for(let t of Object.keys(e))if(t!=="blockId"&&t!=="kind"&&t!=="recoveryOf")return null;return typeof e.blockId!="string"||!e.blockId||!oo.includes(e.kind)||e.recoveryOf!==void 0&&!co(e.recoveryOf)?null:e.recoveryOf===void 0?{blockId:e.blockId,kind:e.kind}:{blockId:e.blockId,kind:e.kind,recoveryOf:e.recoveryOf}},io=(e,t)=>e.blockId===t.blockId&&e.kind===t.kind&&e.recoveryOf===t.recoveryOf,lo=e=>{let t;try{t=JSON.parse(e)}catch{return null}return!Array.isArray(t)||t.length!==3||t[0]!=="boundary"&&t[0]!=="alias"?null:q(t[1])&&q(t[2])?t:null},ao=e=>{if(typeof e!="string"||e.charCodeAt(0)!==91)return null;let t;try{t=JSON.parse(e)}catch{return null}return!Array.isArray(t)||t.length!==3||t[0]!=="span"&&t[0]!=="alias"&&t[0]!=="boundary"?null:q(t[1])&&q(t[2])?t:null};function Ne(e){let t=new Map,n=new Map,s=new Map,c=new Map,r=(y,k)=>{let b=0,A=y.length;for(;b<A;){let w=b+A>>1;y[w].clock<k?b=w+1:A=w}return b},l=(y,k)=>{let b=0,A=y.length;for(;b<A;){let w=b+A>>1;y[w]<k?b=w+1:A=w}return b},a=(y,k,b)=>{let A=s.get(y)??[],w=l(A,k),$=A[w]===k;b&&!$?A.splice(w,0,k):!b&&$&&A.splice(w,1),A.length?s.set(y,A):s.delete(y)},u=[],f=new Map,g=new Map,I=new Map,h=(y,k)=>{let b=f.get(y);if(b===void 0){let x=lo(y);b=x?{kind:x[0],client:x[1],clock:x[2],live:!1}:null,f.set(y,b),b&&u.push(b)}if(!b||b.live===k)return;b.live=k;let A=g.get(b.client)??g.set(b.client,new Map).get(b.client),w=I.get(b.client)??I.set(b.client,[]).get(b.client),$=(A.get(b.clock)??0)+(k?1:-1);$?A.set(b.clock,$):A.delete(b.clock);let B=l(w,b.clock);k&&$===1?w.splice(B,0,b.clock):!k&&$===0&&w.splice(B,1),w.length||(I.delete(b.client),g.delete(b.client))},S=(y,k)=>{h(y,k!==void 0);let b=ao(y);if(!b)return;let[A,w,$]=b;if(A==="alias"){let P=!!(k&&q(k.sourceClient)&&q(k.sourceClock));P?n.set(me(w,$),{client:k.sourceClient,clock:k.sourceClock}):n.delete(me(w,$)),a(w,$,P);return}if(A==="boundary"){let P=Mt(k);P?c.set(me(w,$),P):c.delete(me(w,$));return}let B=t.get(w)??[],x=r(B,$);B[x]?.clock===$&&B.splice(x,1),k&&so(k.length)&&q(k.sourceClient)&&q(k.sourceClock)&&B.splice(r(B,$),0,{client:w,clock:$,length:k.length,sourceClient:k.sourceClient,sourceClock:k.sourceClock}),B.length?t.set(w,B):t.delete(w)};for(let y of e._map.keys())S(y,e.get(y));let j=y=>{for(let k of y.keysChanged)S(k,e.get(k))};e.observe(j);let N=(y,k)=>{let b=s.get(y);return b!==void 0&&b[l(b,k)]===k},T=y=>{let k=N(y.client,y.clock)?n.get(me(y.client,y.clock)):void 0;if(k)return{client:k.client,clock:k.clock};let b=t.get(y.client);if(!b)return{client:y.client,clock:y.clock};let A=0,w=b.length-1,$=-1;for(;A<=w;){let P=A+w>>1;b[P].clock<=y.clock?($=P,A=P+1):w=P-1}if($<0)return{client:y.client,clock:y.clock};let B=b[$],x=y.clock-B.clock;return x>=B.length?{client:y.client,clock:y.clock}:{client:B.sourceClient,clock:B.sourceClock+x}},F=(y,k,b)=>{let A=[],w=(V,X,be)=>{let pe=A[A.length-1];pe&&pe.client===V&&pe.clock+pe.length===X?pe.length+=be:A.push({client:V,clock:X,length:be})},$=t.get(y)??[],B=s.get(y)??[],x=k+b,P=r($,k+1)-1,D=l(B,k),H=k;for(;H<x;){if(D<B.length&&B[D]===H){let V=n.get(me(y,H));w(V.client,V.clock,1),H+=1,D+=1}else{let V=x;D<B.length&&B[D]<V&&(V=B[D]),P+1<$.length&&$[P+1].clock<V&&(V=$[P+1].clock);let X=P>=0?$[P]:null;X&&H<X.clock+X.length?(V=Math.min(V,X.clock+X.length),w(X.sourceClient,X.sourceClock+H-X.clock,V-H)):w(y,H,V-H),H=V}for(;P+1<$.length&&$[P+1].clock<=H;)P+=1}return A},J=y=>{if(!y||!q(y.client)||!q(y.clock))return null;if(!N(y.client,y.clock)){let w=c.get(me(y.client,y.clock));return w?{...w}:null}let k=me(y.client,y.clock),b=new Set;for(;!b.has(k);){b.add(k);let w=n.get(k);if(!w)break;k=me(w.client,w.clock)}if(b.has(k)&&n.has(k))return null;let A=c.get(k);return A?{...A}:null},W=(y,k,b)=>{let A=ln(y,k),w=e.get(A);if(w!==void 0&&(w.length!==b.length||w.sourceClient!==b.sourceClient||w.sourceClock!==b.sourceClock))throw rt(A);let $=t.get(y)??[],B=r($,k);for(let x of[$[B-1],$[B]])if(x&&x.clock!==k&&x.clock<k+b.length&&k<x.clock+x.length)throw rt(A);w===void 0&&e.set(A,b)};return{origins:e,resolve:T,resolveRange:F,recordSpans:y=>{let k=[],b=()=>{if(!k.length)return;let A=k[0],w={length:k.length,sourceClient:A.source.client,sourceClock:A.source.clock};if(!q(w.sourceClock+w.length-1))throw new Error(`Unsafe origin span: ${ln(A.dest.client,A.dest.clock)}`);W(A.dest.client,A.dest.clock,w),k.length=0};for(let A of y){if(!A?.dest||!A?.source)throw new Error("Invalid origin destination");let w=A.dest,$=A.source;if(!q(w.client)||!q(w.clock)||!q($.client)||!q($.clock))throw new Error("Invalid origin destination");let B=T($),x=k[k.length-1];x&&x.dest.client===w.client&&x.dest.clock+1===w.clock&&x.source.client===B.client&&x.source.clock+1===B.clock?k.push({dest:w,source:B}):(b(),k.push({dest:w,source:B}))}b()},recordAlias:(y,k)=>{if(!y||!k||!q(y.client)||!q(y.clock)||!q(k.client)||!q(k.clock))throw new Error("Invalid origin destination");let b=T(k),A=jt(y.client,y.clock),w=e.get(A);if(w!==void 0&&(w.sourceClient!==b.client||w.sourceClock!==b.clock))throw rt(A);w===void 0&&e.set(A,{sourceClient:b.client,sourceClock:b.clock})},recordBoundary:(y,k)=>{if(!y||!q(y.client)||!q(y.clock))throw new Error("Invalid origin destination");let b=Mt(k);if(!b)throw new Error(`Invalid boundary record: ${an(y.client,y.clock)}`);let A=an(y.client,y.clock),w=e.get(A);if(w===void 0){e.set(A,b);return}let $=Mt(w);if(!$||!io($,b))throw rt(A)},boundaryOf:J,markers:()=>{for(let y of e.doc?._transactionCleanups??[])if(y.changed.has(e))return null;return{records:u,clocks:I}},get size(){return e.size},dispose(){e.unobserve(j)}}}function es(e,t,n){let s=[],c=0;for(let r=e._start;r&&c<n;r=r.right){if(r.deleted||!r.countable)continue;let l=c;if(c+=r.length,c<=t)continue;let a=Math.max(0,t-l),u=Math.min(r.length,n-l);for(let f=a;f<u;f++)s.push({client:r.id.client,clock:r.id.clock+f})}return s}var fo=(e,t,n)=>e.some(s=>s.actor===t||s.client!==n.client||n.clock<s.clock||n.clock>=s.clock+s.length?!1:s.sv.some(([c,r])=>c===n.client&&r>n.clock)),uo=(e,t)=>{let n=0;for(let s=e._start;s;s=s.right)if(!(s.deleted||!s.countable)){if(s.id.client===t.client&&s.id.clock<=t.clock&&t.clock<s.id.clock+s.length)return n+t.clock-s.id.clock;n+=s.length}return null},po=(e,t)=>{let n=[];for(let c of t){let r=uo(e.flow,c);r!==null&&n.push(r)}n.sort((c,r)=>c-r);let s=[];for(let c of n){let r=s[s.length-1];r&&c<=r[1]?r[1]=Math.max(r[1],c+1):s.push([c,c+1])}for(let c=s.length-1;c>=0;c--){let[r,l]=s[c];l>r&&e.flow.delete(r,l-r)}};function ts(e,t,n=Ne(e.origins),s=()=>[]){let c=r=>{if(r.origin!==t||!t.currStackItem)return;let l=[],a=[],u=[],f=s(e.gone);Gt(r,t.currStackItem.deletions,g=>{if(!(g instanceof tt)||g.parent!==e.flow||!g.countable||!g.redone)return;let I=g.content instanceof re&&g.content.embed?.b!==void 0;for(let h=0;h<g.length;h++){let S={client:g.id.client,clock:g.id.clock+h},j=n.resolve(S),N={client:g.redone.client,clock:g.redone.clock+h},T=Ve(e.ydoc.store,N);for(;T instanceof tt&&T.redone;)N={client:T.redone.client,clock:T.redone.clock+N.clock-T.id.clock},T=Ve(e.ydoc.store,N);if(!(!(T instanceof tt)||T.deleted)&&!(N.clock<(r.beforeState.get(N.client)??0))){if(!I&&fo(f,e.ydoc.clientID,S)){u.push(N);continue}(I?a:l).push({dest:N,source:j})}}}),(l.length||a.length)&&e.ydoc.transact(()=>{l.length&&n.recordSpans(l);for(let g of a)n.recordAlias(g.dest,g.source)},Le),u.length&&e.ydoc.transact(()=>po(e,u),no)};return e.ydoc.on("beforeObserverCalls",c),()=>e.ydoc.off("beforeObserverCalls",c)}var at=e=>Lt(e),Ie=e=>Pt(e),it=12*1024,go="blockeditor-recovery",lt=e=>Fe.exec(e)?.[1]??e;function as(e){return{v:1,g:0,y:{seed:at(Je(e))}}}var te=class extends Error{constructor(t,n){super(n),this.name="YDecodeError",this.code=t}};function ho(e){if(e?.v!==1||!e.y||typeof e.y!="object"||Array.isArray(e.y))throw new te("invalid-value","Expected a version 1 Yjs page value");let t=new Map,n=new Set;for(let[s,c]of Object.entries(e.y)){if(typeof c!="string")throw new te("invalid-update",`Invalid Yjs update: ${s}`);let r=Fe.exec(s);if(!r){n.add(s);continue}let l=Number(r[2]),a=Number(r[3]);if(!Number.isSafeInteger(l)||!Number.isSafeInteger(a)||a<1||l>=a)throw new te("invalid-update",`Invalid Yjs update part: ${s}`);let u=t.get(r[1])??{count:a,indices:new Set};if(u.count!==a||u.indices.has(l))throw new te("invalid-update",`Conflicting Yjs update parts: ${r[1]}`);u.indices.add(l),t.set(r[1],u)}for(let[s,c]of t){if(n.has(s))throw new te("invalid-update",`Conflicting Yjs update forms: ${s}`);if(c.indices.size!==c.count)throw new te("incomplete-update",`Incomplete Yjs update: ${s}`)}return oe(e.y)}function dn(e,{strict:t=!1}={}){let n=t?ho(e):oe(e.y),s=new xt;try{for(let[c,r]of n){let l=t?r.replace(/[\t\n\f\r ]/g,""):r;if(t&&!zt(l))throw new te("invalid-update",`Invalid base64 in Yjs update: ${c}`);He(s,Ie(l),Ae)}if(t&&(s.store.pendingStructs||s.store.pendingDs))throw new te("unresolved-update","Yjs page updates have missing prerequisites");return s}catch(c){throw s.destroy(),t&&!(c instanceof te)?new te("invalid-update",`Invalid Yjs page update: ${c.message}`):c}}var un=typeof TextEncoder=="function"?new TextEncoder:null,yo=e=>un?un.encode(e).length:e.length*2,mo=(e,t)=>qt(It(e.store),It(t.store)),ko=(e,t)=>{if(e.size!==t.size)return!1;for(let[n,s]of e)if(t.get(n)!==s)return!1;return!0};function fs({store:e,ydoc:t,compact:n={},setTimer:s=setTimeout,clearTimer:c=clearTimeout,onStopped:r=()=>{},stats:l={applied:0,offered:0,compactions:0},journal:a=null,onLocalUpdate:u=()=>{}}){let f=oe(e.value.y),g=new Set,I=null,h=i=>{I||(I=i,r(i))},S=!f.some(([i])=>i[0]==="m"),j=0,N=t.clientID.toString(36),T=Math.floor(Math.random()*36**6).toString(36),F=e.room?.compaction?.v===1?"host":"legacy",J=i=>F==="host"?`${i}${N}-${T}-${(j++).toString(36)}`:`${i}${N}-${(j++).toString(36)}`,W=null,U=[],Y=!1,R=e.value.g,z=new Set,y=(i,p)=>{if(p.length<=it)return[[i,p]];let C=Math.ceil(p.length/it);return Array.from({length:C},(O,E)=>[`${i}.${E}.${C}`,p.slice(E*it,(E+1)*it)])},k=(i,p)=>{S=!0,g.add(i),z.add(i);let C=y(i,at(p));e.handle.update(O=>{for(let[E,_]of C)O.y[E]=_})},b=(i,p)=>{g.add(i),z.add(i);let C=at(p);e.handle.update(O=>{O.y[i]=C})},A=i=>{let p=i.path;return!Array.isArray(p)||p.length!==2||p[0]!=="y"?!0:z.has(p[1])},w=()=>e.pending.some(i=>A(i)),$=()=>F==="host"&&e.handle.status?.mode!=="file",B=()=>{if(!U.length)return;let i=U.length===1?U[0]:Ke(U);U=[],b(J("u"),i)},x=()=>{if(!$()||I||w()||Y&&(Y=!1,ge())||!U.length)return;let i=U.length===1?U[0]:Ke(U);U=[],b(J("u"),i)};for(let[i]of f)g.add(i);let P=(i,p)=>{p!==Ae&&p!==Le&&u(i),p!==Ae&&p!==Le&&p!==go&&a?.local(i),!(I||p===Ae||p===Le)&&($()?(U.push(i),x()):F==="host"?(U.push(i),B()):k(J("u"),i))};t.on("updateV2",P);let D=(i,p)=>{if(I||g.has(i))return;S=!0,g.add(i),l.applied++;let C=Ie(p);He(t,C,Ae),a?.dependency(C)},H=!1,V=!1,X=(i,p)=>{H||=i,V||=p,!W&&(W=s(()=>{W=null,H&&ge(),F==="legacy"&&he()},0))},be=()=>{ge(),F==="legacy"&&he()},pe=i=>{let p=Qt(t);return p.complete&&Ht(Xt(oe(i??{}).map(([C,O])=>qe(C,O))),p)};function ge(){if(I||$()&&w())return!1;let i=e.value.y;if(pe(i))return H=!1,V=!1,!1;let p=new xt;for(let[,ue]of oe(i))He(p,Ie(ue),Ae);let C=Ze(p),O=Qe(Ze(t)),E=Qe(C);if(ko(O,E)&&mo(t,p))return p.destroy(),H=!1,V=!1,!1;let _=Je(t,C);return p.destroy(),l.offered++,F==="host"?(U=[],b(J("r"),_)):k(J("r"),_),H=!1,V=!1,!0}let we={keys:32,room:3840*1024,...n},ee=null,Se=0,Re=256,ie=new Map,vt=256,fe=new Map,De=i=>e.handle.update(p=>{for(let C of i)delete p.y[C]}),je=(i,p)=>Object.keys(i).filter(C=>p.has(lt(C))),ne=(i,p)=>{let C=e.value.y??{};De(p.filter(O=>O in C&&C[O]===i[O]))},qe=(i,p)=>{let C=fe.get(i);if(C&&C.value===p)return C.ranges;fe.size>=vt&&fe.delete(fe.keys().next().value);let O=Wt(Ie(p));return fe.set(i,{value:p,ranges:O}),O};function le(){let i=e.authoritative.y??{},p=e.value.y??{};for(let _ of z)_ in p||z.delete(_);let C=new Map(oe(i)),O=ee?[ee.key,...ee.parts.map(([_])=>_),...ee.inputs.keys()]:[],E=new Set([...Object.keys(i),...C.keys(),...z,...O]);for(let _ of g)E.has(_)||g.delete(_);for(let[_,ue]of ie)(!E.has(_)||C.get(_)!==ue.value)&&ie.delete(_);for(let[_,ue]of fe)(!E.has(_)||C.has(_)&&C.get(_)!==ue.value)&&fe.delete(_)}function Ee(i,p,C,O){let E=ie.get(i);return E&&E.value!==p&&(ie.delete(i),E=null),E||(ie.size>=Re&&ie.delete(ie.keys().next().value),E={value:p,folds:new Map},ie.set(i,E)),E.folds.has(C)||E.folds.set(C,Et(O,Ie(p))),E.folds.get(C)}let _e=(i,p)=>{for(let[C,O]of p.held)if(i[C]!==void 0&&i[C]!==O)return!1;return!0},Te=i=>{let p=Ie(i.merged);for(let[C,O]of i.inputs)if(O!==null&&!Ee(C,O,i.key,p))return!1;return!0};function We(i){let p=ee,C=Xe({v:1,y:i}).y,O=p.parts.filter(([E,_])=>i[E]===_&&C[E]===_);return O.length!==p.parts.length?e.pending.length?!1:(ee=null,O.length&&ne(i,O.map(([E])=>E)),Se=oe(i).length+we.keys,le(),!0):e.pending.length?!1:!_e(i,p)||!Te(p)?(ee=null,O.length&&ne(i,O.map(([E])=>E)),Se=oe(i).length+we.keys,le(),!0):(ee=null,ne(i,je(i,p.inputs)),le(),!0)}function Ye(i,p,C){let O=p.filter(([Q])=>Q[0]==="m"),E=new Map(p),_=new Map(O),ue=Q=>{let ye=_.get(Q);return typeof ye=="string"&&_.set(Q,Ke([Ie(ye)])),_.get(Q)},Be=(Q,ye,L)=>Ee(Q,ye,L,ue(L)),$e=new Set;for(let[Q,ye]of p)if(!(!C&&Q[0]!=="m")){for(let[L]of O)if(!(L===Q||$e.has(L)||!Be(Q,ye,L))&&!(Q[0]==="m"&&Q<L&&Be(L,E.get(L),Q))){$e.add(Q);break}}return $e.size?(ne(i,je(i,$e)),!0):!1}function he(){if(I||!S||e.value.g!==R)return!1;let i=e.authoritative.y;if(ee)return We(i);let p=oe(i),C=p.length>Math.max(we.keys,Se);if(!C&&p.filter(([L])=>L[0]==="m").length<2)return!1;if(Ye(i,p,C))return le(),!0;if(!C)return!1;let O=at(Ke(p.map(([,L])=>Ie(L)))),E=J("m"),_=y(E,O),ue={...e.value,y:{...e.value.y}};for(let[L,Ot]of _)ue.y[L]=Ot;if(yo(JSON.stringify(ue))>we.room)return Se=p.length+we.keys,!1;let Be=Xe({v:1,y:i}).y,$e=Object.keys(i).filter(L=>!(L in Be)).map(lt).filter(L=>L[0]==="m"),Q=new Map(p);for(let L of $e)Q.set(L,null);let ye=new Map;for(let L of je(i,Q))Q.get(lt(L))!==null&&ye.set(L,Be[L]??i[L]);return ee={key:E,parts:_,merged:O,inputs:Q,held:ye},g.add(E),e.handle.update(L=>{for(let[Ot,to]of _)L.y[Ot]=to}),l.compactions++,!0}let o=i=>{let p=new Set;for(let[C,O]of oe(i??{}))for(let[E,_]of qe(C,O).items)_[0][0]===0&&p.add(E);return p},m=new Map(f),d=i=>{let p=o(i),C=[...Qe(Ze(t)).keys()];return!p.size||!C.length||C.some(O=>p.has(O))?!0:oe(i??{}).some(([O,E])=>m.get(O)===E)},v=e.onRebase(i=>{if(I)return;if(i.room){let O=F;F=i.room.compaction?.v===1?"host":"legacy",O==="host"&&F==="legacy"&&U.length&&s(()=>{if(I||F!=="legacy"||!U.length)return;let E=U.length===1?U[0]:Ke(U);U=[],k(J("u"),E)},0)}let p=i.source==="remote"&&i.frame?i.frame.ops:null,C=p&&p.every(O=>O.path[0]==="y"&&O.path.length===2&&!Fe.test(O.path[1]));if(!C&&i.cause!=="refused"&&!d(i.next.y)){h("lineage");return}if(C)for(let O of p)O.op==="set"&&D(O.path[1],O.value);else for(let[O,E]of oe(i.next.y??{}))D(O,E);le(),X(i.source!=="remote"||!p,i.source!=="remote"),x()}),M=e.onDelivery(i=>{if(i.phase!=="refused")return;if(F==="host"){if(i.code==="blockeditor-full"||i.code==="compaction-failed"){h(i.code);return}Y=!0,X(!0,!1);return}if(i.code!=="too-large"||I){le();return}h("too-large");let p=e.authoritative.y??{},C=Xe({v:1,y:p}).y,O=Object.keys(e.value.y??{}).filter(_=>!(_ in p)),E=Object.keys(p).filter(_=>Fe.test(_)&&!(_ in C)&<(_).slice(1).startsWith(`${N}-`));(O.length||E.length)&&De([...O,...E]),le()}),K=e.onConfirm(()=>{x()});return{known:g,stats:l,settle:be,reconcile:ge,get reconcilePending(){return V},get stopped(){return I},get pending(){return U.length>0},_diagnostics:()=>({known:g.size,cover:ie.size,fold:ee?ee.parts.length:0,generation:R}),compact:he,dispose(){v(),M(),K(),t.off("updateV2",P),W&&c(W)}}}var Yt=class extends Error{constructor(t,n){super(n),this.name="PageProofError",this.code=t}},Z=(e,t)=>{throw new Yt(e,t)},pn=/^[0-9a-f]{64}$/,gn=typeof TextEncoder=="function"?new TextEncoder:null,$t=e=>e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null,hn=e=>typeof e=="string"?e:JSON.stringify(e),bo=e=>Array.isArray(e)?[...e]:e,wo=e=>({v:e.v,g:e.g,y:{...e.y??{}}});function Et(e,t){return Zt(At(e),t)}async function ut(e){let t=await globalThis.crypto.subtle.digest("SHA-256",e);return[...new Uint8Array(t)].map(n=>n.toString(16).padStart(2,"0")).join("")}var vo=4,ft=[],Oo=(e,t)=>{if(e.v!==t.v||e.g!==t.g)return!1;let n=Object.keys(t.y??{});if(n.length!==e.y.size)return!1;for(let s of n)if(e.y.get(s)!==t.y[s])return!1;return!0};function yn(e){let t=e&&typeof e=="object"&&e.y&&typeof e.y=="object"?ft.find(c=>Oo(c,e)):null;if(t)return t.bytes;let n;try{n=dn(e,{strict:!0})}catch(c){Z("invalid-state",`The accepted page state does not decode: ${c.message}`)}let s;try{s=Je(n),At(s,n)}finally{n.destroy()}return ft.length>=vo&&ft.shift(),ft.push({v:e.v,g:e.g,y:new Map(Object.entries(e.y)),bytes:s}),s}var Io=(e,t)=>!!(e&&t)&&!!(e.host&&e.documentId&&e.principalId)&&e.host===t.host&&e.documentId===t.documentId&&e.principalId===t.principalId,xo=(e,t)=>!!(e&&t)&&typeof e.generation=="string"&&!!e.generation&&e.generation===t.generation;async function ys({capture:e,records:t=[],accepted:n,article:s,state:c,receipt:r,saved:l=!0}={}){let a=[];for(let f of t){(!f||f.id===void 0||typeof f.revision!="number")&&Z("invalid-record","A proof names each record by id and revision");let g=$t(f.update);(!g||!g.length)&&Z("invalid-record","A proof needs the bytes each record owns"),a.push({id:bo(f.id),revision:f.revision,update:g.slice(),context:f.context??null})}typeof s!="string"&&Z("missing-article","A proof names the final outgoing article");let u=yn(c);return{saved:l===!0,capture:e,accepted:n,article:s,state:wo(c),stateDigest:await ut(u),articleDigest:await ut(gn.encode(s)),receipt:r,records:a}}async function So(e){(!e||typeof e!="object"||Array.isArray(e))&&Z("missing-proof","A page checkpoint needs a proof"),e.saved!==!0&&Z("not-saved","Only a save that succeeded under admission makes a proof"),(typeof e.capture!="string"||!e.capture)&&Z("missing-capture","A proof belongs to the capture it saved");let t=e.receipt;(!t||typeof t.file!="string"||!t.file||typeof t.blockeditorState!="string"||!t.blockeditorState)&&Z("missing-receipt","A proof names the persisted file and blockeditor-state pair");let n=e.accepted;(!n||!n.authority||!n.lineage||typeof n.lineage.generation!="string"||!n.lineage.generation)&&Z("missing-identity","A proof names the authority and generation it was saved under"),typeof e.article!="string"&&Z("missing-article","A proof names the final outgoing article"),Array.isArray(e.records)||Z("missing-records","A proof names the records it covers"),(typeof e.stateDigest!="string"||!pn.test(e.stateDigest))&&Z("missing-digest","A proof carries the accepted state digest"),(typeof e.articleDigest!="string"||!pn.test(e.articleDigest))&&Z("missing-digest","A proof carries the final article digest");let s=yn(e.state);await ut(s)!==e.stateDigest&&Z("state-digest-mismatch","The page state is not the one the proof was made over"),await ut(gn.encode(e.article))!==e.articleDigest&&Z("article-digest-mismatch","The article is not the one the proof was made over");let c=new Map;for(let r of e.records){(!r||r.id===void 0||typeof r.revision!="number")&&Z("invalid-record","A proof names each record by id and revision");let l=$t(r.update);(!l||!l.length)&&Z("invalid-record","A proof needs the bytes each record owns"),c.set(hn(r.id),r)}return{stateBytes:s,entries:c,accepted:n}}function Ao(e,t){let n=t.context;if(!n||!Io(n.authority,e.accepted.authority)||!xo(n.lineage,e.accepted.lineage))return!1;let s=$t(t.update);return!!s&&s.length>0&&Et(e.stateBytes,s)}async function ms(e,t=[]){let n=await So(e);return(t||[]).filter(s=>{if(!s||s.id===void 0||typeof s.revision!="number")return!1;let c=n.entries.get(hn(s.id));return!!c&&c.revision===s.revision&&Ao(n,c)})}var pt=Object.freeze({row:Object.freeze(["alive","pos"]),col:Object.freeze(["alive","name","kind","width","pos"])}),bn=["name","kind","width","pos"],Co=new Set(["kind","width"]),Ce=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Me=e=>typeof e=="string"&&e.length>0&&!["__proto__","constructor","prototype"].includes(e),Pe=e=>{throw new te("unsupported-content",`Unsupported table field: ${e}`)},wn=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),ke=(e,t,n,s)=>JSON.stringify([e,t,n,s]);function vn(e){if(typeof e=="string")return!0;if(!Ce(e)||Object.keys(e).sort().join(",")!=="c,m"||typeof e.c!="string"||!Array.isArray(e.m)||!e.m.every(Array.isArray))return!1;let t=on(e.m,e.c.length);return t?t.every((n,s)=>{if(typeof n!="string")return!1;if(n.startsWith("@"))return n===nn&&e.c[s]===tn;try{return en(se,n),!0}catch{return!1}}):!1}var On=(e,t)=>e==="alive"?typeof t=="boolean":e==="width"?t===null||typeof t=="number"&&Number.isFinite(t)&&t>0:e==="kind"&&t===null||typeof t=="string";function mn(e,t){if(Object.keys(e).length)return;let[n]=Object.keys(t).sort((s,c)=>{let r=t[s].pos??"",l=t[c].pos??"";return r!==l?r<l?-1:1:s<c?-1:s>c?1:0});n&&(e[n]=t[n])}function Mo(e,t){let n;try{n=JSON.parse(e)}catch{return null}if(!Array.isArray(n)||n.length!==4)return null;let[s,c,r,l]=n;return!Me(s)||!Me(r)?null:c==="cell"?Me(l)&&vn(t)?s:null:Object.hasOwn(pt,c)&&pt[c].includes(l)&&On(l,t)?s:null}var kn=new WeakMap,jo=e=>{let t=kn.get(e);if(t)return t;let n=new Map,s=new Map,c=new Set,r=a=>{let u=n.get(a);if(!u){let f=null;try{f=JSON.parse(a)}catch{f=null}let g=Array.isArray(f)&&f.length===4&&Me(f[0])?f[0]:null;u={key:a,tuple:f,live:!1,value:void 0},n.set(a,u),g!==null&&(s.get(g)??s.set(g,[]).get(g)).push(u)}u.live=e.has(a),u.value=u.live?e.get(a):void 0,u.live&&Mo(a,u.value)===null?c.add(a):c.delete(a)};for(let a of e._map.keys())r(a);e.observe(a=>{for(let u of a.keysChanged)r(u)});let l={owned(a){for(let u of e.doc._transactionCleanups)for(let f of u.changed.get(e)??[])r(f);return c.size?null:s.get(a)??[]}};return kn.set(e,l),l},Eo=(e,t)=>t!==null&&e instanceof et&&e.doc?jo(e).owned(t):null;function In(e,t=null,n=null){let s=new Map,c=new Map,r=new Map,l=(h,S,j,N)=>{if(h==="cell"){let J=r.get(S)??new Map;J.set(j,N),r.set(S,J);return}let T=h==="row"?s:c,F=T.get(S)??{};F[j]=N,T.set(S,F)},a=Eo(e,t);if(a)for(let h of a)h.live&&l(h.tuple[1],h.tuple[2],h.tuple[3],h.value);else for(let[h,S]of e){let j;try{j=JSON.parse(h)}catch{Pe(h)}(!Array.isArray(j)||j.length!==4)&&Pe(h);let[N,T,F,J]=j;(!Me(N)||!Me(F))&&Pe(h),T==="cell"?(!Me(J)||!vn(S))&&Pe(h):(!Object.hasOwn(pt,T)||!pt[T].includes(J)||!On(J,S))&&Pe(h),N===t&&l(T,F,J,S)}let u={...Ce(n?.cols)?n.cols:{}},f={...Ce(n?.rows)?n.rows:{}},g={},I={};for(let[h,S]of c){let j=Ce(u[h])?{...u[h]}:{};Object.hasOwn(j,"pos")||(j.pos=""),Object.hasOwn(j,"name")||(j.name="");for(let N of bn)Object.hasOwn(S,N)&&(S[N]===null?delete j[N]:j[N]=S[N]);if(S.alive===!1||!Object.hasOwn(u,h)&&S.alive!==!0){S.alive===!1&&(g[h]=j),delete u[h];continue}u[h]=j}for(let h of new Set([...s.keys(),...r.keys()])){let S=s.get(h)??{},j={pos:"",cells:{},...Ce(f[h])?f[h]:{}};Object.hasOwn(S,"pos")&&(j.pos=S.pos);let N=r.get(h);if(N&&(j.cells={...Ce(j.cells)?j.cells:{},...Object.fromEntries([...N].map(([T,F])=>[T,wn(F)]))}),S.alive===!1||!Object.hasOwn(f,h)&&S.alive!==!0){S.alive===!1&&(I[h]=j),delete f[h];continue}f[h]=j}return mn(u,g),mn(f,I),{cols:u,rows:f}}var dt=(e,t)=>e?.[t]??(Co.has(t)?null:"");function Yo(e,t,n,s,c){let r=[],l=(h,S)=>t.has(h)?t.get(h):S,a=(h,S)=>r.push([h,wn(S)]),u=s?.cols??{},f=c?.cols??{},g=s?.rows??{},I=c?.rows??{};for(let h of new Set([...Object.keys(u),...Object.keys(f)])){let S=u[h],j=f[h];if(!j){S&&a(ke(e,"col",h,"alive"),!1);continue}(!S||l(ke(e,"col",h,"alive"),!0)===!1)&&a(ke(e,"col",h,"alive"),!0);for(let N of bn){let T=ke(e,"col",h,N),F=S?dt(S,N):l(T,dt(n?.cols?.[h],N));Oe(F)!==Oe(dt(j,N))&&a(T,dt(j,N))}}for(let h of new Set([...Object.keys(g),...Object.keys(I)])){let S=g[h],j=I[h];if(!j){S&&a(ke(e,"row",h,"alive"),!1);continue}(!S||l(ke(e,"row",h,"alive"),!0)===!1)&&a(ke(e,"row",h,"alive"),!0);let N=ke(e,"row",h,"pos"),T=j.pos??"";l(N,n?.rows?.[h]?.pos??"")!==T&&a(N,T);let F=Ce(j.cells)?j.cells:{};for(let J of Object.keys(f)){let W=ke(e,"cell",h,J),U=F[J]??"",Y=S&&u[J]?S.cells?.[J]??"":l(W,n?.rows?.[h]?.cells?.[J]??"");Oe(Y)!==Oe(U)&&a(W,U)}}return r}function $o(e,t){let n=e.attrs.get(t);return{cols:n?.get("cols")??{},rows:n?.get("rows")??{}}}function Ss(e,t,n,s){let c=$o(e,t);for(let[r,l]of Yo(t,e.tableFields,c,n,s))e.tableFields.set(r,l)}var Nt=Object.freeze({column:Object.freeze(["alive","name","pos"]),card:Object.freeze(["alive","title","owner","due","placement"])}),xn={column:new Set(Nt.column),card:new Set(Nt.card)},Ko=[["column","columns"],["card","cards"]],Rt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Sn=e=>typeof e=="string"&&e.length>0&&!["__proto__","constructor","prototype"].includes(e),gt=e=>{throw new te("unsupported-content",`Unsupported board field: ${e}`)},No=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),Kt=(e,t,n,s)=>JSON.stringify([e,t,n,s]);function Cn(e,t){let n=new Map;for(let[s,c]of e){let r;try{r=JSON.parse(s)}catch{gt(s)}(!Array.isArray(r)||r.length!==4)&>(s);let[l,a,u,f]=r;if((!Sn(l)||!Sn(u)||!Object.hasOwn(xn,a)||!xn[a].has(f))&>(s),(f==="alive"?typeof c!="boolean":f==="placement"?!Rt(c)||Object.keys(c).sort().join(",")!=="columnId,pos"||typeof c.columnId!="string"||typeof c.pos!="string":f==="owner"||f==="due"?c!==null&&typeof c!="string":typeof c!="string")&>(s),l!==t)continue;let g=n.get(a)??new Map,I=g.get(u)??{};I[f]=c,g.set(u,I),n.set(a,g)}return n}var Mn=e=>({pos:e.pos??"",name:e.name??""}),jn=e=>({pos:e.placement?.pos??"",col:e.placement?.columnId??"",title:e.title??"",...e.owner!=null?{owner:e.owner}:{},...e.due!=null?{due:e.due}:{}}),ht=(e,t,n,s)=>Object.fromEntries([...e.get(t)??[]].filter(([,c])=>c.alive!==!1===s).map(([c,r])=>[c,n(r)]));function En(e,t=null){let n=Cn(e,t),s=ht(n,"column",Mn,!0),c=ht(n,"card",jn,!0),r=Ct(s),l=[...new Set(Object.values(c).map(u=>u.col))].filter(u=>!Object.hasOwn(s,u)).sort(),a=[...r,...l].flatMap(u=>Ct(Object.fromEntries(Object.entries(c).filter(([,f])=>f.col===u))));return{columns:Object.fromEntries(r.map(u=>[u,s[u]])),cards:Object.fromEntries(a.map(u=>[u,c[u]]))}}function js(e,t){let n=Cn(e,t);return{columns:ht(n,"column",Mn,!1),cards:ht(n,"card",jn,!1)}}var Yn={name:"",pos:"",title:"",owner:null,due:null,placement:{columnId:"",pos:""}},An=(e,t,n)=>e==="card"&&n==="placement"?{columnId:t.col??"",pos:t.pos??""}:t[n]??Yn[n];function Ro(e,t,n,s){let c=[];for(let[r,l]of Ko){let a=Rt(n?.[l])?n[l]:{},u=Rt(s?.[l])?s[l]:{};for(let f of new Set([...Object.keys(a),...Object.keys(u)])){let g=a[f],I=u[f];if(!I){g&&c.push([Kt(e,r,f,"alive"),!1]);continue}g||c.push([Kt(e,r,f,"alive"),!0]);for(let h of Nt[r]){if(h==="alive")continue;let S=Kt(e,r,f,h),j=An(r,I,h),N=g?An(r,g,h):t.has(S)?t.get(S):Yn[h];Oe(N)!==Oe(j)&&c.push([S,No(j)])}}}return c}function Es(e,t,n,s){for(let[c,r]of Ro(t,e.boardFields,n,s))e.boardFields.set(c,r)}var $n=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},Kn=(e,t)=>e.id.client===t.client&&t.clock>=e.id.clock&&t.clock<e.id.clock+e.length,Do=e=>{if(typeof e!="string"||e.charCodeAt(0)!==91)return null;let t;try{t=JSON.parse(e)}catch{return null}return Array.isArray(t)&&t.length===2&&t[0]===yt&&typeof t[1]=="string"?t[1]:null},_o=e=>e.reduce((t,n)=>n.brk.client<t.brk.client||n.brk.client===t.brk.client&&n.brk.clock<t.brk.clock?n:t);function _n(e,t=null){let n=t?null:Ne(e.origins);try{return To(e,n??t)}finally{n&&n.dispose()}}function To(e,t){let n=e.ydoc.store,s=Dt(e.gone),c=new Map,r=new Map;for(let o=e.flow._start;o;o=o.right){if(o.deleted||!(o.content instanceof re)||o.content.embed.b===void 0)continue;r.set(o.content.embed.b,(r.get(o.content.embed.b)??0)+1);let m=de(t.resolve(o.id)),d=c.get(m);(!d||o.id.client<d.id.client||o.id.client===d.id.client&&o.id.clock<d.id.clock)&&c.set(m,o)}let l=new Set(c.keys()),a=new Set,u=[],f=(o,m)=>{let d=`${o}.${m}`,v=t.boundaryOf({client:o,clock:m});!v||v.kind!=="copy"||(s.copyActive.has(d)?v.recoveryOf&&a.add(v.recoveryOf):l.has(d)&&u.push({key:Nn(d),sourceKey:d,source:{client:o,clock:m},operationId:null,blockId:v.blockId,end:null,sv:[],legacy:!1,implicit:!0}))},g=t.markers?.()??null,I=new Map;if(g)for(let o of g.records)o.live&&o.kind==="boundary"&&f(o.client,o.clock);else for(let o of e.origins.keys()){let m;try{m=JSON.parse(o)}catch{continue}if(!Array.isArray(m)||m.length!==3||m[0]!=="boundary"&&m[0]!=="alias")continue;let[,d,v]=m;if(!Number.isSafeInteger(d)||d<0||!Number.isSafeInteger(v)||v<0)continue;m[0]==="boundary"&&f(d,v),(I.get(d)??I.set(d,new Set).get(d)).add(v)}let h=[],S=new Set(u.map(o=>o.key));for(let o of s.restores)for(let m of o.covers){let d=Do(m);d===null||S.has(m)||!c.has(d)||(S.add(m),h.push({key:m,sourceKey:d,source:ze(d),operationId:null,blockId:c.get(d).content.embed.b,end:null,sv:[],legacy:!1,implicit:!0}))}let j=u.length||h.length?[...s.removals,...u,...h]:s.removals,N=new Map,T=new Map,F=new Map;for(let o of j){(F.get(o.sourceKey)??F.set(o.sourceKey,[]).get(o.sourceKey)).push(o);let d=null;if(o.implicit)d=c.get(o.sourceKey);else try{d=Ve(n,o.source)}catch{d=null}let v=de(t.resolve(o.source)),M=c.get(v);if((!d||d.deleted)&&M?.content.embed.b===o.blockId&&(d=M),!d)continue;if(o.legacy){!d.deleted&&d.content instanceof re&&d.content.embed.b===o.blockId&&de(t.resolve(d.id))===v&&N.set(d,{key:o.key,blockId:o.blockId,end:o.end?ze(o.end):null});continue}(T.get(d)??T.set(d,[]).get(d)).push(o)}let J=new Map,W=new Set(s.restores.map(o=>o.sourceKey)),U=(o,m)=>{let d=Dn(m);if(d===null)return null;let v=t.boundaryOf({client:o.id.client,clock:o.id.clock});return v&&v.blockId===m&&v.recoveryOf===d?v:null},Y=(o,m)=>{let d=U(o,m);return d&&d.kind==="restore"?d.recoveryOf:null},R=(o,m)=>{let d=U(o,m);return d&&d.kind==="copy"?d.recoveryOf:null},z=(o,m)=>{let d=Y(o,m);return d!==null&&W.has(d)&&F.has(d)?d:null};for(let o of s.restores){let m=J.get(o.sourceKey)??J.set(o.sourceKey,new Set).get(o.sourceKey);for(let d of o.covers)m.add(d)}let y=new Map;if(W.size)for(let o=e.flow._start;o;o=o.right){if(o.deleted)continue;let m=o.content instanceof re?z(o,o.content.embed&&o.content.embed.b):null;if(m===null)continue;(y.get(m)??y.set(m,[]).get(m)).push(o)}let k=o=>{let m=F.get(o);if(!m||!m.length)return!1;let d=J.get(o);if(!d)return!1;for(let v of m)if(!d.has(v.key))return!1;return(y.get(o)?.length??0)>0||a.has(o)},b=[],A=[],w=[],$=[],B=[],x=null,P="start",D=null,H=0,V={},X=null,be=()=>{for(let o in V)return{...V};return null},pe=o=>{let m=e.attrs.get(o);return m&&m.get("t")||"paragraph"},ge=o=>{o&&(x&&!x.atom?x.runs.push({hole:o}):b.push({kind:"h",len:o,key:null}))},we=(o,m,d=!1)=>{let v=_t(o,F.get(o)??[],s),M=`recovered:${o}`,K=v?v.type:"paragraph",i=!Object.hasOwn(se.nodes,K),p=be();x&&(x.fmtOut=p),x={kind:"b",id:M,baseId:M,brk:{client:m.id.client,clock:m.id.clock},implicit:!1,runs:[],len:1,atom:!i&&!se.nodes[K]?.isTextblock,opaque:i,recovered:!0,restored:!d,sourceKey:o,t:K,fields:v?v.attrs:null,fmtIn:p,fmtOut:null},b.push(x),P=M},ee=(o,m,d)=>{let v=be();x&&(x.fmtOut=v),x={kind:"b",id:o,baseId:o,brk:m,implicit:d,runs:[],len:d?0:1,atom:!1,items:!d&&(r.get(o)??0)>1?[]:null,fmtIn:v,fmtOut:null},d?x.t="paragraph":(x.t=pe(o),x.opaque=!Object.hasOwn(se.nodes,x.t),x.atom=!x.opaque&&!se.nodes[x.t]?.isTextblock),b.push(x),P=o},Se=()=>{D&&(D.len&&(D.resume?D.resume.runs.push({hole:D.len}):b.push({kind:"h",len:D.len,key:D.active[0]?.key})),x=D.resume,D=null)},Re=o=>{o.legacy&&o.text&&A.push({key:o.key,id:o.blockId,text:o.text,h:$n(o.text)}),w.push({key:o.key,sourceKey:o.sourceKey,blockId:o.blockId,end:o.end,sv:o.sv,at:o.at,live:o.live,items:o.items})},ie=(o,m,d=-1)=>Kn(o,m)&&m.clock>d?!0:fe(o).some(v=>{if(v.clock<=d||!e.origins.has(jt(v.client,v.clock)))return!1;let M=t.resolve(v);return M.client===m.client&&M.clock===m.clock}),vt=g?g.clocks:new Map([...I].map(([o,m])=>[o,[...m].sort((d,v)=>d-v)])),fe=o=>{let m=vt.get(o.id.client)??[],d=0,v=m.length;for(;d<v;){let K=d+v>>1;m[K]<o.id.clock?d=K+1:v=K}let M=[];for(let K=d;K<m.length&&m[K]<o.id.clock+o.length;K++)M.push({client:o.id.client,clock:m[K]});return M},De=(o,m=-1)=>o.deleted?fe(o).flatMap(d=>{if(d.clock<=m)return[];let v=de(t.resolve(d)),M=t.boundaryOf(d);return!M||M.kind!=="removed"&&M.kind!=="copy"||l.has(v)?[]:[{blockId:M.blockId,sourceKey:v}]}):[],je=(o,m,{deletedEdges:d,boundary:v=!1,edge:M,after:K=-1})=>m.end?ie(o,m.end,K):m.implicit?v||d.some(i=>i.sourceKey!==m.sourceKey):v&&M!==m.blockId||d.some(i=>i.blockId!==m.blockId),ne=[],qe=o=>({blockId:o.blockId,end:o.end?ze(o.end):null,implicit:o.implicit===!0,sourceKey:o.sourceKey});for(let o=e.flow._start;o;o=o.right){let m=H;if(!o.deleted&&o.countable&&(H+=o.length),D||ne.length){let K=!o.deleted&&o.content instanceof re?o.content.embed.b:void 0,i=K!==void 0&&Y(o,K)===null,p=De(o),C=O=>je(o,O,{deletedEdges:p,boundary:i,edge:K});if(D){let O=[];for(let E of D.active)C(E)?Re(E):O.push(E);D.active=O,O.length||Se()}for(let O=ne.length-1;O>=0;O--)ne[O].active=ne[O].active.filter(E=>!C(E)),ne[O].active.length||ne.splice(O,1)}let d=T.get(o);if(d){if(o.deleted&&B.push({client:o.id.client,clock:o.id.clock,len:o.length}),!D&&k(d[0].sourceKey)){o.deleted||ge(o.length),ne.push({active:d.map(qe),sourceKey:d[0].sourceKey,root:null});continue}!D&&o.deleted&&$.push({client:o.id.client,clock:o.id.clock});for(let K of d){let i={legacy:!1,implicit:K.implicit===!0,key:K.key,sourceKey:K.sourceKey,blockId:K.blockId,end:K.end?ze(K.end):null,sv:K.sv,at:m,live:!o.deleted,items:[]},p=o.deleted&&Kn(o,K.source)?K.source.clock:null;if(p!==null&&je(o,i,{deletedEdges:De(o,p),after:p})){Re(i);continue}D?D.active.push(i):D={active:[i],len:0,resume:x}}D&&!o.deleted&&(D.len+=o.length);continue}let v=N.get(o);if(v){if(o.deleted&&B.push({client:o.id.client,clock:o.id.clock,len:o.length}),!D&&k(v.key)){o.deleted||ge(o.length),ne.push({active:[{blockId:v.blockId,end:v.end}],sourceKey:v.key,root:null});continue}let K={legacy:!0,key:v.key,sourceKey:v.key,blockId:v.blockId,end:v.end,sv:[],at:m,live:!0,items:[],text:""};D?D.active.push(K):D={active:[K],len:0,resume:x},D.len+=1;continue}if(o.deleted)continue;let M=o.content;if(M instanceof St){M.value===null?delete V[M.key]:V[M.key]=M.value,X=null;continue}if(D){if(M instanceof ve||M instanceof re){let K=M instanceof ve?M.str:M.embed.b!==void 0?"\xB6":`
|
|
1
|
+
import{b as Ae,g as nt,h as ot,i as Ue,j as de,k as ze,s as sn,u as rn,v as st,w as cn}from"./c-EIUKME3W.js";import{a as Wt,b as Xt,c as Ht,d as Qt,e as At,f as Zt}from"./c-ND3W7D5U.js";import{A as St,B as ve,C as tt,a as Lt,b as Pt,c as Gt,g as It,h as qt,i as xt,j as He,k as Je,l as Qe,m as Ze,s as Ve,w as Ke,y as et,z as re}from"./c-WHQUZM2V.js";import{S as tn,T as nn,Y as Ct,aa as on,d as se,fa as Oe,p as en}from"./c-OH2FPYSY.js";import{a as Fe,b as zt,c as oe,d as Xe}from"./c-57XDY6HC.js";var Le="blockeditor-origins",no="blockeditor-undo-overlap-repair",ln=(e,t)=>JSON.stringify(["span",e,t]),jt=(e,t)=>JSON.stringify(["alias",e,t]),an=(e,t)=>JSON.stringify(["boundary",e,t]),oo=["copy","removed","restore"],fn=/^(?:0|[1-9]\d*)$/,me=(e,t)=>`${e}.${t}`,q=e=>Number.isSafeInteger(e)&&e>=0,so=e=>Number.isSafeInteger(e)&&e>0,ro=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),rt=e=>new Error(`Conflicting immutable origin record: ${e}`),co=e=>{if(typeof e!="string")return!1;let t=e.indexOf(".");if(t<1||t===e.length-1)return!1;let n=e.slice(0,t),s=e.slice(t+1);return fn.test(n)&&fn.test(s)&&q(Number(n))&&q(Number(s))},Mt=e=>{if(!ro(e))return null;for(let t of Object.keys(e))if(t!=="blockId"&&t!=="kind"&&t!=="recoveryOf")return null;return typeof e.blockId!="string"||!e.blockId||!oo.includes(e.kind)||e.recoveryOf!==void 0&&!co(e.recoveryOf)?null:e.recoveryOf===void 0?{blockId:e.blockId,kind:e.kind}:{blockId:e.blockId,kind:e.kind,recoveryOf:e.recoveryOf}},io=(e,t)=>e.blockId===t.blockId&&e.kind===t.kind&&e.recoveryOf===t.recoveryOf,lo=e=>{let t;try{t=JSON.parse(e)}catch{return null}return!Array.isArray(t)||t.length!==3||t[0]!=="boundary"&&t[0]!=="alias"?null:q(t[1])&&q(t[2])?t:null},ao=e=>{if(typeof e!="string"||e.charCodeAt(0)!==91)return null;let t;try{t=JSON.parse(e)}catch{return null}return!Array.isArray(t)||t.length!==3||t[0]!=="span"&&t[0]!=="alias"&&t[0]!=="boundary"?null:q(t[1])&&q(t[2])?t:null};function Ne(e){let t=new Map,n=new Map,s=new Map,c=new Map,r=(y,k)=>{let b=0,A=y.length;for(;b<A;){let w=b+A>>1;y[w].clock<k?b=w+1:A=w}return b},l=(y,k)=>{let b=0,A=y.length;for(;b<A;){let w=b+A>>1;y[w]<k?b=w+1:A=w}return b},a=(y,k,b)=>{let A=s.get(y)??[],w=l(A,k),$=A[w]===k;b&&!$?A.splice(w,0,k):!b&&$&&A.splice(w,1),A.length?s.set(y,A):s.delete(y)},u=[],f=new Map,g=new Map,I=new Map,h=(y,k)=>{let b=f.get(y);if(b===void 0){let x=lo(y);b=x?{kind:x[0],client:x[1],clock:x[2],live:!1}:null,f.set(y,b),b&&u.push(b)}if(!b||b.live===k)return;b.live=k;let A=g.get(b.client)??g.set(b.client,new Map).get(b.client),w=I.get(b.client)??I.set(b.client,[]).get(b.client),$=(A.get(b.clock)??0)+(k?1:-1);$?A.set(b.clock,$):A.delete(b.clock);let B=l(w,b.clock);k&&$===1?w.splice(B,0,b.clock):!k&&$===0&&w.splice(B,1),w.length||(I.delete(b.client),g.delete(b.client))},S=(y,k)=>{h(y,k!==void 0);let b=ao(y);if(!b)return;let[A,w,$]=b;if(A==="alias"){let P=!!(k&&q(k.sourceClient)&&q(k.sourceClock));P?n.set(me(w,$),{client:k.sourceClient,clock:k.sourceClock}):n.delete(me(w,$)),a(w,$,P);return}if(A==="boundary"){let P=Mt(k);P?c.set(me(w,$),P):c.delete(me(w,$));return}let B=t.get(w)??[],x=r(B,$);B[x]?.clock===$&&B.splice(x,1),k&&so(k.length)&&q(k.sourceClient)&&q(k.sourceClock)&&B.splice(r(B,$),0,{client:w,clock:$,length:k.length,sourceClient:k.sourceClient,sourceClock:k.sourceClock}),B.length?t.set(w,B):t.delete(w)};for(let y of e._map.keys())S(y,e.get(y));let j=y=>{for(let k of y.keysChanged)S(k,e.get(k))};e.observe(j);let N=(y,k)=>{let b=s.get(y);return b!==void 0&&b[l(b,k)]===k},T=y=>{let k=N(y.client,y.clock)?n.get(me(y.client,y.clock)):void 0;if(k)return{client:k.client,clock:k.clock};let b=t.get(y.client);if(!b)return{client:y.client,clock:y.clock};let A=0,w=b.length-1,$=-1;for(;A<=w;){let P=A+w>>1;b[P].clock<=y.clock?($=P,A=P+1):w=P-1}if($<0)return{client:y.client,clock:y.clock};let B=b[$],x=y.clock-B.clock;return x>=B.length?{client:y.client,clock:y.clock}:{client:B.sourceClient,clock:B.sourceClock+x}},F=(y,k,b)=>{let A=[],w=(V,X,be)=>{let pe=A[A.length-1];pe&&pe.client===V&&pe.clock+pe.length===X?pe.length+=be:A.push({client:V,clock:X,length:be})},$=t.get(y)??[],B=s.get(y)??[],x=k+b,P=r($,k+1)-1,D=l(B,k),H=k;for(;H<x;){if(D<B.length&&B[D]===H){let V=n.get(me(y,H));w(V.client,V.clock,1),H+=1,D+=1}else{let V=x;D<B.length&&B[D]<V&&(V=B[D]),P+1<$.length&&$[P+1].clock<V&&(V=$[P+1].clock);let X=P>=0?$[P]:null;X&&H<X.clock+X.length?(V=Math.min(V,X.clock+X.length),w(X.sourceClient,X.sourceClock+H-X.clock,V-H)):w(y,H,V-H),H=V}for(;P+1<$.length&&$[P+1].clock<=H;)P+=1}return A},J=y=>{if(!y||!q(y.client)||!q(y.clock))return null;if(!N(y.client,y.clock)){let w=c.get(me(y.client,y.clock));return w?{...w}:null}let k=me(y.client,y.clock),b=new Set;for(;!b.has(k);){b.add(k);let w=n.get(k);if(!w)break;k=me(w.client,w.clock)}if(b.has(k)&&n.has(k))return null;let A=c.get(k);return A?{...A}:null},W=(y,k,b)=>{let A=ln(y,k),w=e.get(A);if(w!==void 0&&(w.length!==b.length||w.sourceClient!==b.sourceClient||w.sourceClock!==b.sourceClock))throw rt(A);let $=t.get(y)??[],B=r($,k);for(let x of[$[B-1],$[B]])if(x&&x.clock!==k&&x.clock<k+b.length&&k<x.clock+x.length)throw rt(A);w===void 0&&e.set(A,b)};return{origins:e,resolve:T,resolveRange:F,recordSpans:y=>{let k=[],b=()=>{if(!k.length)return;let A=k[0],w={length:k.length,sourceClient:A.source.client,sourceClock:A.source.clock};if(!q(w.sourceClock+w.length-1))throw new Error(`Unsafe origin span: ${ln(A.dest.client,A.dest.clock)}`);W(A.dest.client,A.dest.clock,w),k.length=0};for(let A of y){if(!A?.dest||!A?.source)throw new Error("Invalid origin destination");let w=A.dest,$=A.source;if(!q(w.client)||!q(w.clock)||!q($.client)||!q($.clock))throw new Error("Invalid origin destination");let B=T($),x=k[k.length-1];x&&x.dest.client===w.client&&x.dest.clock+1===w.clock&&x.source.client===B.client&&x.source.clock+1===B.clock?k.push({dest:w,source:B}):(b(),k.push({dest:w,source:B}))}b()},recordAlias:(y,k)=>{if(!y||!k||!q(y.client)||!q(y.clock)||!q(k.client)||!q(k.clock))throw new Error("Invalid origin destination");let b=T(k),A=jt(y.client,y.clock),w=e.get(A);if(w!==void 0&&(w.sourceClient!==b.client||w.sourceClock!==b.clock))throw rt(A);w===void 0&&e.set(A,{sourceClient:b.client,sourceClock:b.clock})},recordBoundary:(y,k)=>{if(!y||!q(y.client)||!q(y.clock))throw new Error("Invalid origin destination");let b=Mt(k);if(!b)throw new Error(`Invalid boundary record: ${an(y.client,y.clock)}`);let A=an(y.client,y.clock),w=e.get(A);if(w===void 0){e.set(A,b);return}let $=Mt(w);if(!$||!io($,b))throw rt(A)},boundaryOf:J,markers:()=>{for(let y of e.doc?._transactionCleanups??[])if(y.changed.has(e))return null;return{records:u,clocks:I}},get size(){return e.size},dispose(){e.unobserve(j)}}}function es(e,t,n){let s=[],c=0;for(let r=e._start;r&&c<n;r=r.right){if(r.deleted||!r.countable)continue;let l=c;if(c+=r.length,c<=t)continue;let a=Math.max(0,t-l),u=Math.min(r.length,n-l);for(let f=a;f<u;f++)s.push({client:r.id.client,clock:r.id.clock+f})}return s}var fo=(e,t,n)=>e.some(s=>s.actor===t||s.client!==n.client||n.clock<s.clock||n.clock>=s.clock+s.length?!1:s.sv.some(([c,r])=>c===n.client&&r>n.clock)),uo=(e,t)=>{let n=0;for(let s=e._start;s;s=s.right)if(!(s.deleted||!s.countable)){if(s.id.client===t.client&&s.id.clock<=t.clock&&t.clock<s.id.clock+s.length)return n+t.clock-s.id.clock;n+=s.length}return null},po=(e,t)=>{let n=[];for(let c of t){let r=uo(e.flow,c);r!==null&&n.push(r)}n.sort((c,r)=>c-r);let s=[];for(let c of n){let r=s[s.length-1];r&&c<=r[1]?r[1]=Math.max(r[1],c+1):s.push([c,c+1])}for(let c=s.length-1;c>=0;c--){let[r,l]=s[c];l>r&&e.flow.delete(r,l-r)}};function ts(e,t,n=Ne(e.origins),s=()=>[]){let c=r=>{if(r.origin!==t||!t.currStackItem)return;let l=[],a=[],u=[],f=s(e.gone);Gt(r,t.currStackItem.deletions,g=>{if(!(g instanceof tt)||g.parent!==e.flow||!g.countable||!g.redone)return;let I=g.content instanceof re&&g.content.embed?.b!==void 0;for(let h=0;h<g.length;h++){let S={client:g.id.client,clock:g.id.clock+h},j=n.resolve(S),N={client:g.redone.client,clock:g.redone.clock+h},T=Ve(e.ydoc.store,N);for(;T instanceof tt&&T.redone;)N={client:T.redone.client,clock:T.redone.clock+N.clock-T.id.clock},T=Ve(e.ydoc.store,N);if(!(!(T instanceof tt)||T.deleted)&&!(N.clock<(r.beforeState.get(N.client)??0))){if(!I&&fo(f,e.ydoc.clientID,S)){u.push(N);continue}(I?a:l).push({dest:N,source:j})}}}),(l.length||a.length)&&e.ydoc.transact(()=>{l.length&&n.recordSpans(l);for(let g of a)n.recordAlias(g.dest,g.source)},Le),u.length&&e.ydoc.transact(()=>po(e,u),no)};return e.ydoc.on("beforeObserverCalls",c),()=>e.ydoc.off("beforeObserverCalls",c)}var at=e=>Lt(e),Ie=e=>Pt(e),it=12*1024,go="blockeditor-recovery",lt=e=>Fe.exec(e)?.[1]??e;function as(e){return{v:1,g:0,y:{seed:at(Je(e))}}}var te=class extends Error{constructor(t,n){super(n),this.name="YDecodeError",this.code=t}};function ho(e){if(e?.v!==1||!e.y||typeof e.y!="object"||Array.isArray(e.y))throw new te("invalid-value","Expected a version 1 Yjs page value");let t=new Map,n=new Set;for(let[s,c]of Object.entries(e.y)){if(typeof c!="string")throw new te("invalid-update",`Invalid Yjs update: ${s}`);let r=Fe.exec(s);if(!r){n.add(s);continue}let l=Number(r[2]),a=Number(r[3]);if(!Number.isSafeInteger(l)||!Number.isSafeInteger(a)||a<1||l>=a)throw new te("invalid-update",`Invalid Yjs update part: ${s}`);let u=t.get(r[1])??{count:a,indices:new Set};if(u.count!==a||u.indices.has(l))throw new te("invalid-update",`Conflicting Yjs update parts: ${r[1]}`);u.indices.add(l),t.set(r[1],u)}for(let[s,c]of t){if(n.has(s))throw new te("invalid-update",`Conflicting Yjs update forms: ${s}`);if(c.indices.size!==c.count)throw new te("incomplete-update",`Incomplete Yjs update: ${s}`)}return oe(e.y)}function dn(e,{strict:t=!1}={}){let n=t?ho(e):oe(e.y),s=new xt;try{for(let[c,r]of n){let l=t?r.replace(/[\t\n\f\r ]/g,""):r;if(t&&!zt(l))throw new te("invalid-update",`Invalid base64 in Yjs update: ${c}`);He(s,Ie(l),Ae)}if(t&&(s.store.pendingStructs||s.store.pendingDs))throw new te("unresolved-update","Yjs page updates have missing prerequisites");return s}catch(c){throw s.destroy(),t&&!(c instanceof te)?new te("invalid-update",`Invalid Yjs page update: ${c.message}`):c}}var un=typeof TextEncoder=="function"?new TextEncoder:null,yo=e=>un?un.encode(e).length:e.length*2,mo=(e,t)=>qt(It(e.store),It(t.store)),ko=(e,t)=>{if(e.size!==t.size)return!1;for(let[n,s]of e)if(t.get(n)!==s)return!1;return!0};function fs({store:e,ydoc:t,compact:n={},setTimer:s=setTimeout,clearTimer:c=clearTimeout,onStopped:r=()=>{},stats:l={applied:0,offered:0,compactions:0},journal:a=null,onLocalUpdate:u=()=>{}}){let f=oe(e.value.y),g=new Set,I=null,h=i=>{I||(I=i,r(i))},S=!f.some(([i])=>i[0]==="m"),j=0,N=t.clientID.toString(36),T=Math.floor(Math.random()*36**6).toString(36),F=e.room?.compaction?.v===1?"host":"legacy",J=i=>F==="host"?`${i}${N}-${T}-${(j++).toString(36)}`:`${i}${N}-${(j++).toString(36)}`,W=null,U=[],Y=!1,R=e.value.g,z=new Set,y=(i,p)=>{if(p.length<=it)return[[i,p]];let C=Math.ceil(p.length/it);return Array.from({length:C},(O,E)=>[`${i}.${E}.${C}`,p.slice(E*it,(E+1)*it)])},k=(i,p)=>{S=!0,g.add(i),z.add(i);let C=y(i,at(p));e.handle.update(O=>{for(let[E,_]of C)O.y[E]=_})},b=(i,p)=>{g.add(i),z.add(i);let C=at(p);e.handle.update(O=>{O.y[i]=C})},A=i=>{let p=i.path;return!Array.isArray(p)||p.length!==2||p[0]!=="y"?!0:z.has(p[1])},w=()=>e.pending.some(i=>A(i)),$=()=>F==="host"&&e.handle.status?.mode!=="file",B=()=>{if(!U.length)return;let i=U.length===1?U[0]:Ke(U);U=[],b(J("u"),i)},x=()=>{if(!$()||I||w()||Y&&(Y=!1,ge())||!U.length)return;let i=U.length===1?U[0]:Ke(U);U=[],b(J("u"),i)};for(let[i]of f)g.add(i);let P=(i,p)=>{p!==Ae&&p!==Le&&u(i),p!==Ae&&p!==Le&&p!==go&&a?.local(i),!(I||p===Ae||p===Le)&&($()?(U.push(i),x()):F==="host"?(U.push(i),B()):k(J("u"),i))};t.on("updateV2",P);let D=(i,p)=>{if(I||g.has(i))return;S=!0,g.add(i),l.applied++;let C=Ie(p);He(t,C,Ae),a?.dependency(C)},H=!1,V=!1,X=(i,p)=>{H||=i,V||=p,!W&&(W=s(()=>{W=null,H&&ge(),F==="legacy"&&he()},0))},be=()=>{ge(),F==="legacy"&&he()},pe=i=>{let p=Qt(t);return p.complete&&Ht(Xt(oe(i??{}).map(([C,O])=>qe(C,O))),p)};function ge(){if(I||$()&&w())return!1;let i=e.value.y;if(pe(i))return H=!1,V=!1,!1;let p=new xt;for(let[,ue]of oe(i))He(p,Ie(ue),Ae);let C=Ze(p),O=Qe(Ze(t)),E=Qe(C);if(ko(O,E)&&mo(t,p))return p.destroy(),H=!1,V=!1,!1;let _=Je(t,C);return p.destroy(),l.offered++,F==="host"?(U=[],b(J("r"),_)):k(J("r"),_),H=!1,V=!1,!0}let we={keys:32,room:3840*1024,...n},ee=null,Se=0,Re=256,ie=new Map,vt=256,fe=new Map,De=i=>e.handle.update(p=>{for(let C of i)delete p.y[C]}),je=(i,p)=>Object.keys(i).filter(C=>p.has(lt(C))),ne=(i,p)=>{let C=e.value.y??{};De(p.filter(O=>O in C&&C[O]===i[O]))},qe=(i,p)=>{let C=fe.get(i);if(C&&C.value===p)return C.ranges;fe.size>=vt&&fe.delete(fe.keys().next().value);let O=Wt(Ie(p));return fe.set(i,{value:p,ranges:O}),O};function le(){let i=e.authoritative.y??{},p=e.value.y??{};for(let _ of z)_ in p||z.delete(_);let C=new Map(oe(i)),O=ee?[ee.key,...ee.parts.map(([_])=>_),...ee.inputs.keys()]:[],E=new Set([...Object.keys(i),...C.keys(),...z,...O]);for(let _ of g)E.has(_)||g.delete(_);for(let[_,ue]of ie)(!E.has(_)||C.get(_)!==ue.value)&&ie.delete(_);for(let[_,ue]of fe)(!E.has(_)||C.has(_)&&C.get(_)!==ue.value)&&fe.delete(_)}function Ee(i,p,C,O){let E=ie.get(i);return E&&E.value!==p&&(ie.delete(i),E=null),E||(ie.size>=Re&&ie.delete(ie.keys().next().value),E={value:p,folds:new Map},ie.set(i,E)),E.folds.has(C)||E.folds.set(C,Et(O,Ie(p))),E.folds.get(C)}let _e=(i,p)=>{for(let[C,O]of p.held)if(i[C]!==void 0&&i[C]!==O)return!1;return!0},Te=i=>{let p=Ie(i.merged);for(let[C,O]of i.inputs)if(O!==null&&!Ee(C,O,i.key,p))return!1;return!0};function We(i){let p=ee,C=Xe({v:1,y:i}).y,O=p.parts.filter(([E,_])=>i[E]===_&&C[E]===_);return O.length!==p.parts.length?e.pending.length?!1:(ee=null,O.length&&ne(i,O.map(([E])=>E)),Se=oe(i).length+we.keys,le(),!0):e.pending.length?!1:!_e(i,p)||!Te(p)?(ee=null,O.length&&ne(i,O.map(([E])=>E)),Se=oe(i).length+we.keys,le(),!0):(ee=null,ne(i,je(i,p.inputs)),le(),!0)}function Ye(i,p,C){let O=p.filter(([Q])=>Q[0]==="m"),E=new Map(p),_=new Map(O),ue=Q=>{let ye=_.get(Q);return typeof ye=="string"&&_.set(Q,Ke([Ie(ye)])),_.get(Q)},Be=(Q,ye,L)=>Ee(Q,ye,L,ue(L)),$e=new Set;for(let[Q,ye]of p)if(!(!C&&Q[0]!=="m")){for(let[L]of O)if(!(L===Q||$e.has(L)||!Be(Q,ye,L))&&!(Q[0]==="m"&&Q<L&&Be(L,E.get(L),Q))){$e.add(Q);break}}return $e.size?(ne(i,je(i,$e)),!0):!1}function he(){if(I||!S||e.value.g!==R)return!1;let i=e.authoritative.y;if(ee)return We(i);let p=oe(i),C=p.length>Math.max(we.keys,Se);if(!C&&p.filter(([L])=>L[0]==="m").length<2)return!1;if(Ye(i,p,C))return le(),!0;if(!C)return!1;let O=at(Ke(p.map(([,L])=>Ie(L)))),E=J("m"),_=y(E,O),ue={...e.value,y:{...e.value.y}};for(let[L,Ot]of _)ue.y[L]=Ot;if(yo(JSON.stringify(ue))>we.room)return Se=p.length+we.keys,!1;let Be=Xe({v:1,y:i}).y,$e=Object.keys(i).filter(L=>!(L in Be)).map(lt).filter(L=>L[0]==="m"),Q=new Map(p);for(let L of $e)Q.set(L,null);let ye=new Map;for(let L of je(i,Q))Q.get(lt(L))!==null&&ye.set(L,Be[L]??i[L]);return ee={key:E,parts:_,merged:O,inputs:Q,held:ye},g.add(E),e.handle.update(L=>{for(let[Ot,to]of _)L.y[Ot]=to}),l.compactions++,!0}let o=i=>{let p=new Set;for(let[C,O]of oe(i??{}))for(let[E,_]of qe(C,O).items)_[0][0]===0&&p.add(E);return p},m=new Map(f),d=i=>{let p=o(i),C=[...Qe(Ze(t)).keys()];return!p.size||!C.length||C.some(O=>p.has(O))?!0:oe(i??{}).some(([O,E])=>m.get(O)===E)},v=e.onRebase(i=>{if(I)return;if(i.room){let O=F;F=i.room.compaction?.v===1?"host":"legacy",O==="host"&&F==="legacy"&&U.length&&s(()=>{if(I||F!=="legacy"||!U.length)return;let E=U.length===1?U[0]:Ke(U);U=[],k(J("u"),E)},0)}let p=i.source==="remote"&&i.frame?i.frame.ops:null,C=p&&p.every(O=>O.path[0]==="y"&&O.path.length===2&&!Fe.test(O.path[1]));if(!C&&i.cause!=="refused"&&!d(i.next.y)){h("lineage");return}if(C)for(let O of p)O.op==="set"&&D(O.path[1],O.value);else for(let[O,E]of oe(i.next.y??{}))D(O,E);le(),X(i.source!=="remote"||!p,i.source!=="remote"),x()}),M=e.onDelivery(i=>{if(i.phase!=="refused")return;if(F==="host"){if(i.code==="blockeditor-full"||i.code==="compaction-failed"){h(i.code);return}Y=!0,X(!0,!1);return}if(i.code!=="too-large"||I){le();return}h("too-large");let p=e.authoritative.y??{},C=Xe({v:1,y:p}).y,O=Object.keys(e.value.y??{}).filter(_=>!(_ in p)),E=Object.keys(p).filter(_=>Fe.test(_)&&!(_ in C)&<(_).slice(1).startsWith(`${N}-`));(O.length||E.length)&&De([...O,...E]),le()}),K=e.onConfirm(()=>{x()});return{known:g,stats:l,settle:be,reconcile:ge,get reconcilePending(){return V},get stopped(){return I},get pending(){return U.length>0},_diagnostics:()=>({known:g.size,cover:ie.size,fold:ee?ee.parts.length:0,generation:R}),compact:he,dispose(){v(),M(),K(),t.off("updateV2",P),W&&c(W)}}}var Yt=class extends Error{constructor(t,n){super(n),this.name="PageProofError",this.code=t}},Z=(e,t)=>{throw new Yt(e,t)},pn=/^[0-9a-f]{64}$/,gn=typeof TextEncoder=="function"?new TextEncoder:null,$t=e=>e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null,hn=e=>typeof e=="string"?e:JSON.stringify(e),bo=e=>Array.isArray(e)?[...e]:e,wo=e=>({v:e.v,g:e.g,y:{...e.y??{}}});function Et(e,t){return Zt(At(e),t)}async function ut(e){let t=await globalThis.crypto.subtle.digest("SHA-256",e);return[...new Uint8Array(t)].map(n=>n.toString(16).padStart(2,"0")).join("")}var vo=4,ft=[],Oo=(e,t)=>{if(e.v!==t.v||e.g!==t.g)return!1;let n=Object.keys(t.y??{});if(n.length!==e.y.size)return!1;for(let s of n)if(e.y.get(s)!==t.y[s])return!1;return!0};function yn(e){let t=e&&typeof e=="object"&&e.y&&typeof e.y=="object"?ft.find(c=>Oo(c,e)):null;if(t)return t.bytes;let n;try{n=dn(e,{strict:!0})}catch(c){Z("invalid-state",`The accepted page state does not decode: ${c.message}`)}let s;try{s=Je(n),At(s,n)}finally{n.destroy()}return ft.length>=vo&&ft.shift(),ft.push({v:e.v,g:e.g,y:new Map(Object.entries(e.y)),bytes:s}),s}var Io=(e,t)=>!!(e&&t)&&!!(e.host&&e.documentId&&e.principalId)&&e.host===t.host&&e.documentId===t.documentId&&e.principalId===t.principalId,xo=(e,t)=>!!(e&&t)&&typeof e.generation=="string"&&!!e.generation&&e.generation===t.generation;async function ys({capture:e,records:t=[],accepted:n,article:s,state:c,receipt:r,saved:l=!0}={}){let a=[];for(let f of t){(!f||f.id===void 0||typeof f.revision!="number")&&Z("invalid-record","A proof names each record by id and revision");let g=$t(f.update);(!g||!g.length)&&Z("invalid-record","A proof needs the bytes each record owns"),a.push({id:bo(f.id),revision:f.revision,update:g.slice(),context:f.context??null})}typeof s!="string"&&Z("missing-article","A proof names the final outgoing article");let u=yn(c);return{saved:l===!0,capture:e,accepted:n,article:s,state:wo(c),stateDigest:await ut(u),articleDigest:await ut(gn.encode(s)),receipt:r,records:a}}async function So(e){(!e||typeof e!="object"||Array.isArray(e))&&Z("missing-proof","A page checkpoint needs a proof"),e.saved!==!0&&Z("not-saved","Only a save that succeeded under admission makes a proof"),(typeof e.capture!="string"||!e.capture)&&Z("missing-capture","A proof belongs to the capture it saved");let t=e.receipt;(!t||typeof t.file!="string"||!t.file||typeof t.blockeditorState!="string"||!t.blockeditorState)&&Z("missing-receipt","A proof names the persisted file and blockeditor-state pair");let n=e.accepted;(!n||!n.authority||!n.lineage||typeof n.lineage.generation!="string"||!n.lineage.generation)&&Z("missing-identity","A proof names the authority and generation it was saved under"),typeof e.article!="string"&&Z("missing-article","A proof names the final outgoing article"),Array.isArray(e.records)||Z("missing-records","A proof names the records it covers"),(typeof e.stateDigest!="string"||!pn.test(e.stateDigest))&&Z("missing-digest","A proof carries the accepted state digest"),(typeof e.articleDigest!="string"||!pn.test(e.articleDigest))&&Z("missing-digest","A proof carries the final article digest");let s=yn(e.state);await ut(s)!==e.stateDigest&&Z("state-digest-mismatch","The page state is not the one the proof was made over"),await ut(gn.encode(e.article))!==e.articleDigest&&Z("article-digest-mismatch","The article is not the one the proof was made over");let c=new Map;for(let r of e.records){(!r||r.id===void 0||typeof r.revision!="number")&&Z("invalid-record","A proof names each record by id and revision");let l=$t(r.update);(!l||!l.length)&&Z("invalid-record","A proof needs the bytes each record owns"),c.set(hn(r.id),r)}return{stateBytes:s,entries:c,accepted:n}}function Ao(e,t){let n=t.context;if(!n||!Io(n.authority,e.accepted.authority)||!xo(n.lineage,e.accepted.lineage))return!1;let s=$t(t.update);return!!s&&s.length>0&&Et(e.stateBytes,s)}async function ms(e,t=[]){let n=await So(e);return(t||[]).filter(s=>{if(!s||s.id===void 0||typeof s.revision!="number")return!1;let c=n.entries.get(hn(s.id));return!!c&&c.revision===s.revision&&Ao(n,c)})}var pt=Object.freeze({row:Object.freeze(["alive","pos"]),col:Object.freeze(["alive","name","kind","width","pos"])}),bn=["name","kind","width","pos"],Co=new Set(["kind","width"]),Ce=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Me=e=>typeof e=="string"&&e.length>0&&!["__proto__","constructor","prototype"].includes(e),Pe=e=>{throw new te("unsupported-content",`Unsupported table field: ${e}`)},wn=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),ke=(e,t,n,s)=>JSON.stringify([e,t,n,s]);function vn(e){if(typeof e=="string")return!0;if(!Ce(e)||Object.keys(e).sort().join(",")!=="c,m"||typeof e.c!="string"||!Array.isArray(e.m)||!e.m.every(Array.isArray))return!1;let t=on(e.m,e.c.length);return t?t.every((n,s)=>{if(typeof n!="string")return!1;if(n.startsWith("@"))return n===nn&&e.c[s]===tn;try{return en(se,n),!0}catch{return!1}}):!1}var On=(e,t)=>e==="alive"?typeof t=="boolean":e==="width"?t===null||typeof t=="number"&&Number.isFinite(t)&&t>0:e==="kind"&&t===null||typeof t=="string";function mn(e,t){if(Object.keys(e).length)return;let[n]=Object.keys(t).sort((s,c)=>{let r=t[s].pos??"",l=t[c].pos??"";return r!==l?r<l?-1:1:s<c?-1:s>c?1:0});n&&(e[n]=t[n])}function Mo(e,t){let n;try{n=JSON.parse(e)}catch{return null}if(!Array.isArray(n)||n.length!==4)return null;let[s,c,r,l]=n;return!Me(s)||!Me(r)?null:c==="cell"?Me(l)&&vn(t)?s:null:Object.hasOwn(pt,c)&&pt[c].includes(l)&&On(l,t)?s:null}var kn=new WeakMap,jo=e=>{let t=kn.get(e);if(t)return t;let n=new Map,s=new Map,c=new Set,r=a=>{let u=n.get(a);if(!u){let f=null;try{f=JSON.parse(a)}catch{f=null}let g=Array.isArray(f)&&f.length===4&&Me(f[0])?f[0]:null;u={key:a,tuple:f,live:!1,value:void 0},n.set(a,u),g!==null&&(s.get(g)??s.set(g,[]).get(g)).push(u)}u.live=e.has(a),u.value=u.live?e.get(a):void 0,u.live&&Mo(a,u.value)===null?c.add(a):c.delete(a)};for(let a of e._map.keys())r(a);e.observe(a=>{for(let u of a.keysChanged)r(u)});let l={owned(a){for(let u of e.doc._transactionCleanups)for(let f of u.changed.get(e)??[])r(f);return c.size?null:s.get(a)??[]}};return kn.set(e,l),l},Eo=(e,t)=>t!==null&&e instanceof et&&e.doc?jo(e).owned(t):null;function In(e,t=null,n=null){let s=new Map,c=new Map,r=new Map,l=(h,S,j,N)=>{if(h==="cell"){let J=r.get(S)??new Map;J.set(j,N),r.set(S,J);return}let T=h==="row"?s:c,F=T.get(S)??{};F[j]=N,T.set(S,F)},a=Eo(e,t);if(a)for(let h of a)h.live&&l(h.tuple[1],h.tuple[2],h.tuple[3],h.value);else for(let[h,S]of e){let j;try{j=JSON.parse(h)}catch{Pe(h)}(!Array.isArray(j)||j.length!==4)&&Pe(h);let[N,T,F,J]=j;(!Me(N)||!Me(F))&&Pe(h),T==="cell"?(!Me(J)||!vn(S))&&Pe(h):(!Object.hasOwn(pt,T)||!pt[T].includes(J)||!On(J,S))&&Pe(h),N===t&&l(T,F,J,S)}let u={...Ce(n?.cols)?n.cols:{}},f={...Ce(n?.rows)?n.rows:{}},g={},I={};for(let[h,S]of c){let j=Ce(u[h])?{...u[h]}:{};Object.hasOwn(j,"pos")||(j.pos=""),Object.hasOwn(j,"name")||(j.name="");for(let N of bn)Object.hasOwn(S,N)&&(S[N]===null?delete j[N]:j[N]=S[N]);if(S.alive===!1||!Object.hasOwn(u,h)&&S.alive!==!0){S.alive===!1&&(g[h]=j),delete u[h];continue}u[h]=j}for(let h of new Set([...s.keys(),...r.keys()])){let S=s.get(h)??{},j={pos:"",cells:{},...Ce(f[h])?f[h]:{}};Object.hasOwn(S,"pos")&&(j.pos=S.pos);let N=r.get(h);if(N&&(j.cells={...Ce(j.cells)?j.cells:{},...Object.fromEntries([...N].map(([T,F])=>[T,wn(F)]))}),S.alive===!1||!Object.hasOwn(f,h)&&S.alive!==!0){S.alive===!1&&(I[h]=j),delete f[h];continue}f[h]=j}return mn(u,g),mn(f,I),{cols:u,rows:f}}var dt=(e,t)=>e?.[t]??(Co.has(t)?null:"");function Yo(e,t,n,s,c){let r=[],l=(h,S)=>t.has(h)?t.get(h):S,a=(h,S)=>r.push([h,wn(S)]),u=s?.cols??{},f=c?.cols??{},g=s?.rows??{},I=c?.rows??{};for(let h of new Set([...Object.keys(u),...Object.keys(f)])){let S=u[h],j=f[h];if(!j){S&&a(ke(e,"col",h,"alive"),!1);continue}(!S||l(ke(e,"col",h,"alive"),!0)===!1)&&a(ke(e,"col",h,"alive"),!0);for(let N of bn){let T=ke(e,"col",h,N),F=S?dt(S,N):l(T,dt(n?.cols?.[h],N));Oe(F)!==Oe(dt(j,N))&&a(T,dt(j,N))}}for(let h of new Set([...Object.keys(g),...Object.keys(I)])){let S=g[h],j=I[h];if(!j){S&&a(ke(e,"row",h,"alive"),!1);continue}(!S||l(ke(e,"row",h,"alive"),!0)===!1)&&a(ke(e,"row",h,"alive"),!0);let N=ke(e,"row",h,"pos"),T=j.pos??"";l(N,n?.rows?.[h]?.pos??"")!==T&&a(N,T);let F=Ce(j.cells)?j.cells:{};for(let J of Object.keys(f)){let W=ke(e,"cell",h,J),U=F[J]??"",Y=S&&u[J]?S.cells?.[J]??"":l(W,n?.rows?.[h]?.cells?.[J]??"");Oe(Y)!==Oe(U)&&a(W,U)}}return r}function $o(e,t){let n=e.attrs.get(t);return{cols:n?.get("cols")??{},rows:n?.get("rows")??{}}}function Ss(e,t,n,s){let c=$o(e,t);for(let[r,l]of Yo(t,e.tableFields,c,n,s))e.tableFields.set(r,l)}var Nt=Object.freeze({column:Object.freeze(["alive","name","pos"]),card:Object.freeze(["alive","title","owner","due","placement"])}),xn={column:new Set(Nt.column),card:new Set(Nt.card)},Ko=[["column","columns"],["card","cards"]],Rt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Sn=e=>typeof e=="string"&&e.length>0&&!["__proto__","constructor","prototype"].includes(e),gt=e=>{throw new te("unsupported-content",`Unsupported board field: ${e}`)},No=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),Kt=(e,t,n,s)=>JSON.stringify([e,t,n,s]);function Cn(e,t){let n=new Map;for(let[s,c]of e){let r;try{r=JSON.parse(s)}catch{gt(s)}(!Array.isArray(r)||r.length!==4)&>(s);let[l,a,u,f]=r;if((!Sn(l)||!Sn(u)||!Object.hasOwn(xn,a)||!xn[a].has(f))&>(s),(f==="alive"?typeof c!="boolean":f==="placement"?!Rt(c)||Object.keys(c).sort().join(",")!=="columnId,pos"||typeof c.columnId!="string"||typeof c.pos!="string":f==="owner"||f==="due"?c!==null&&typeof c!="string":typeof c!="string")&>(s),l!==t)continue;let g=n.get(a)??new Map,I=g.get(u)??{};I[f]=c,g.set(u,I),n.set(a,g)}return n}var Mn=e=>({pos:e.pos??"",name:e.name??""}),jn=e=>({pos:e.placement?.pos??"",col:e.placement?.columnId??"",title:e.title??"",...e.owner!=null?{owner:e.owner}:{},...e.due!=null?{due:e.due}:{}}),ht=(e,t,n,s)=>Object.fromEntries([...e.get(t)??[]].filter(([,c])=>c.alive!==!1===s).map(([c,r])=>[c,n(r)]));function En(e,t=null){let n=Cn(e,t),s=ht(n,"column",Mn,!0),c=ht(n,"card",jn,!0),r=Ct(s),l=[...new Set(Object.values(c).map(u=>u.col))].filter(u=>!Object.hasOwn(s,u)).sort(),a=[...r,...l].flatMap(u=>Ct(Object.fromEntries(Object.entries(c).filter(([,f])=>f.col===u))));return{columns:Object.fromEntries(r.map(u=>[u,s[u]])),cards:Object.fromEntries(a.map(u=>[u,c[u]]))}}function js(e,t){let n=Cn(e,t);return{columns:ht(n,"column",Mn,!1),cards:ht(n,"card",jn,!1)}}var Yn={name:"",pos:"",title:"",owner:null,due:null,placement:{columnId:"",pos:""}},An=(e,t,n)=>e==="card"&&n==="placement"?{columnId:t.col??"",pos:t.pos??""}:t[n]??Yn[n];function Ro(e,t,n,s){let c=[];for(let[r,l]of Ko){let a=Rt(n?.[l])?n[l]:{},u=Rt(s?.[l])?s[l]:{};for(let f of new Set([...Object.keys(a),...Object.keys(u)])){let g=a[f],I=u[f];if(!I){g&&c.push([Kt(e,r,f,"alive"),!1]);continue}g||c.push([Kt(e,r,f,"alive"),!0]);for(let h of Nt[r]){if(h==="alive")continue;let S=Kt(e,r,f,h),j=An(r,I,h),N=g?An(r,g,h):t.has(S)?t.get(S):Yn[h];Oe(N)!==Oe(j)&&c.push([S,No(j)])}}}return c}function Es(e,t,n,s){for(let[c,r]of Ro(t,e.boardFields,n,s))e.boardFields.set(c,r)}var $n=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},Kn=(e,t)=>e.id.client===t.client&&t.clock>=e.id.clock&&t.clock<e.id.clock+e.length,Do=e=>{if(typeof e!="string"||e.charCodeAt(0)!==91)return null;let t;try{t=JSON.parse(e)}catch{return null}return Array.isArray(t)&&t.length===2&&t[0]===yt&&typeof t[1]=="string"?t[1]:null},_o=e=>e.reduce((t,n)=>n.brk.client<t.brk.client||n.brk.client===t.brk.client&&n.brk.clock<t.brk.clock?n:t);function _n(e,t=null){let n=t?null:Ne(e.origins);try{return To(e,n??t)}finally{n&&n.dispose()}}function To(e,t){let n=e.ydoc.store,s=Dt(e.gone),c=new Map,r=new Map;for(let o=e.flow._start;o;o=o.right){if(o.deleted||!(o.content instanceof re)||o.content.embed.b===void 0)continue;r.set(o.content.embed.b,(r.get(o.content.embed.b)??0)+1);let m=de(t.resolve(o.id)),d=c.get(m);(!d||o.id.client<d.id.client||o.id.client===d.id.client&&o.id.clock<d.id.clock)&&c.set(m,o)}let l=new Set(c.keys()),a=new Set,u=[],f=(o,m)=>{let d=`${o}.${m}`,v=t.boundaryOf({client:o,clock:m});!v||v.kind!=="copy"||(s.copyActive.has(d)?v.recoveryOf&&a.add(v.recoveryOf):l.has(d)&&u.push({key:Nn(d),sourceKey:d,source:{client:o,clock:m},operationId:null,blockId:v.blockId,end:null,sv:[],legacy:!1,implicit:!0}))},g=t.markers?.()??null,I=new Map;if(g)for(let o of g.records)o.live&&o.kind==="boundary"&&f(o.client,o.clock);else for(let o of e.origins.keys()){let m;try{m=JSON.parse(o)}catch{continue}if(!Array.isArray(m)||m.length!==3||m[0]!=="boundary"&&m[0]!=="alias")continue;let[,d,v]=m;if(!Number.isSafeInteger(d)||d<0||!Number.isSafeInteger(v)||v<0)continue;m[0]==="boundary"&&f(d,v),(I.get(d)??I.set(d,new Set).get(d)).add(v)}let h=[],S=new Set(u.map(o=>o.key));for(let o of s.restores)for(let m of o.covers){let d=Do(m);d===null||S.has(m)||!c.has(d)||(S.add(m),h.push({key:m,sourceKey:d,source:ze(d),operationId:null,blockId:c.get(d).content.embed.b,end:null,sv:[],legacy:!1,implicit:!0}))}let j=u.length||h.length?[...s.removals,...u,...h]:s.removals,N=new Map,T=new Map,F=new Map;for(let o of j){(F.get(o.sourceKey)??F.set(o.sourceKey,[]).get(o.sourceKey)).push(o);let d=null;if(o.implicit)d=c.get(o.sourceKey);else try{d=Ve(n,o.source)}catch{d=null}let v=de(t.resolve(o.source)),M=c.get(v);if((!d||d.deleted)&&M?.content.embed.b===o.blockId&&(d=M),!d)continue;if(o.legacy){!d.deleted&&d.content instanceof re&&d.content.embed.b===o.blockId&&de(t.resolve(d.id))===v&&N.set(d,{key:o.key,blockId:o.blockId,end:o.end?ze(o.end):null});continue}(T.get(d)??T.set(d,[]).get(d)).push(o)}let J=new Map,W=new Set(s.restores.map(o=>o.sourceKey)),U=(o,m)=>{let d=Dn(m);if(d===null)return null;let v=t.boundaryOf({client:o.id.client,clock:o.id.clock});return v&&v.blockId===m&&v.recoveryOf===d?v:null},Y=(o,m)=>{let d=U(o,m);return d&&d.kind==="restore"?d.recoveryOf:null},R=(o,m)=>{let d=U(o,m);return d&&d.kind==="copy"?d.recoveryOf:null},z=(o,m)=>{let d=Y(o,m);return d!==null&&W.has(d)&&F.has(d)?d:null};for(let o of s.restores){let m=J.get(o.sourceKey)??J.set(o.sourceKey,new Set).get(o.sourceKey);for(let d of o.covers)m.add(d)}let y=new Map;if(W.size)for(let o=e.flow._start;o;o=o.right){if(o.deleted)continue;let m=o.content instanceof re?z(o,o.content.embed&&o.content.embed.b):null;if(m===null)continue;(y.get(m)??y.set(m,[]).get(m)).push(o)}let k=o=>{let m=F.get(o);if(!m||!m.length)return!1;let d=J.get(o);if(!d)return!1;for(let v of m)if(!d.has(v.key))return!1;return(y.get(o)?.length??0)>0||a.has(o)},b=[],A=[],w=[],$=[],B=[],x=null,P="start",D=null,H=0,V={},X=null,be=()=>{for(let o in V)return{...V};return null},pe=o=>{let m=e.attrs.get(o);return m&&m.get("t")||"paragraph"},ge=o=>{o&&(x&&!x.atom?x.runs.push({hole:o}):b.push({kind:"h",len:o,key:null}))},we=(o,m,d=!1)=>{let v=_t(o,F.get(o)??[],s),M=`recovered:${o}`,K=v?v.type:"paragraph",i=!Object.hasOwn(se.nodes,K),p=be();x&&(x.fmtOut=p),x={kind:"b",id:M,baseId:M,brk:{client:m.id.client,clock:m.id.clock},implicit:!1,runs:[],len:1,atom:!i&&!se.nodes[K]?.isTextblock,opaque:i,recovered:!0,restored:!d,sourceKey:o,t:K,fields:v?v.attrs:null,fmtIn:p,fmtOut:null},b.push(x),P=M},ee=(o,m,d)=>{let v=be();x&&(x.fmtOut=v),x={kind:"b",id:o,baseId:o,brk:m,implicit:d,runs:[],len:d?0:1,atom:!1,items:!d&&(r.get(o)??0)>1?[]:null,fmtIn:v,fmtOut:null},d?x.t="paragraph":(x.t=pe(o),x.opaque=!Object.hasOwn(se.nodes,x.t),x.atom=!x.opaque&&!se.nodes[x.t]?.isTextblock),b.push(x),P=o},Se=()=>{D&&(D.len&&(D.resume?D.resume.runs.push({hole:D.len}):b.push({kind:"h",len:D.len,key:D.active[0]?.key})),x=D.resume,D=null)},Re=o=>{o.legacy&&o.text&&A.push({key:o.key,id:o.blockId,text:o.text,h:$n(o.text)}),w.push({key:o.key,sourceKey:o.sourceKey,blockId:o.blockId,end:o.end,sv:o.sv,at:o.at,live:o.live,items:o.items})},ie=(o,m,d=-1)=>Kn(o,m)&&m.clock>d?!0:fe(o).some(v=>{if(v.clock<=d||!e.origins.has(jt(v.client,v.clock)))return!1;let M=t.resolve(v);return M.client===m.client&&M.clock===m.clock}),vt=g?g.clocks:new Map([...I].map(([o,m])=>[o,[...m].sort((d,v)=>d-v)])),fe=o=>{let m=vt.get(o.id.client)??[],d=0,v=m.length;for(;d<v;){let K=d+v>>1;m[K]<o.id.clock?d=K+1:v=K}let M=[];for(let K=d;K<m.length&&m[K]<o.id.clock+o.length;K++)M.push({client:o.id.client,clock:m[K]});return M},De=(o,m=-1)=>o.deleted?fe(o).flatMap(d=>{if(d.clock<=m)return[];let v=de(t.resolve(d)),M=t.boundaryOf(d);return!M||M.kind!=="removed"&&M.kind!=="copy"||l.has(v)?[]:[{blockId:M.blockId,sourceKey:v}]}):[],je=(o,m,{deletedEdges:d,boundary:v=!1,edge:M,after:K=-1})=>m.end?ie(o,m.end,K):m.implicit?v||d.some(i=>i.sourceKey!==m.sourceKey):v&&M!==m.blockId||d.some(i=>i.blockId!==m.blockId),ne=[],qe=o=>({blockId:o.blockId,end:o.end?ze(o.end):null,implicit:o.implicit===!0,sourceKey:o.sourceKey});for(let o=e.flow._start;o;o=o.right){let m=H;if(!o.deleted&&o.countable&&(H+=o.length),D||ne.length){let K=!o.deleted&&o.content instanceof re?o.content.embed.b:void 0,i=K!==void 0&&Y(o,K)===null,p=De(o),C=O=>je(o,O,{deletedEdges:p,boundary:i,edge:K});if(D){let O=[];for(let E of D.active)C(E)?Re(E):O.push(E);D.active=O,O.length||Se()}for(let O=ne.length-1;O>=0;O--)ne[O].active=ne[O].active.filter(E=>!C(E)),ne[O].active.length||ne.splice(O,1)}let d=T.get(o);if(d){if(o.deleted&&B.push({client:o.id.client,clock:o.id.clock,len:o.length}),!D&&k(d[0].sourceKey)){o.deleted||ge(o.length),ne.push({active:d.map(qe),sourceKey:d[0].sourceKey,root:null});continue}!D&&o.deleted&&$.push({client:o.id.client,clock:o.id.clock});for(let K of d){let i={legacy:!1,implicit:K.implicit===!0,key:K.key,sourceKey:K.sourceKey,blockId:K.blockId,end:K.end?ze(K.end):null,sv:K.sv,at:m,live:!o.deleted,items:[]},p=o.deleted&&Kn(o,K.source)?K.source.clock:null;if(p!==null&&je(o,i,{deletedEdges:De(o,p),after:p})){Re(i);continue}D?D.active.push(i):D={active:[i],len:0,resume:x}}D&&!o.deleted&&(D.len+=o.length);continue}let v=N.get(o);if(v){if(o.deleted&&B.push({client:o.id.client,clock:o.id.clock,len:o.length}),!D&&k(v.key)){o.deleted||ge(o.length),ne.push({active:[{blockId:v.blockId,end:v.end}],sourceKey:v.key,root:null});continue}let K={legacy:!0,key:v.key,sourceKey:v.key,blockId:v.blockId,end:v.end,sv:[],at:m,live:!0,items:[],text:""};D?D.active.push(K):D={active:[K],len:0,resume:x},D.len+=1;continue}if(o.deleted)continue;let M=o.content;if(M instanceof St){M.value===null?delete V[M.key]:V[M.key]=M.value,X=null;continue}if(D){if(M instanceof ve||M instanceof re){let K=M instanceof ve?M.str:M.embed.b!==void 0?"\xB6":`
|
|
2
2
|
`,i={...V};for(let p of D.active)p.legacy&&(p.text+=K),p.items.push({at:m,id:de(o.id),client:o.id.client,clock:o.id.clock,length:o.length,kind:M instanceof ve?"text":M.embed.b!==void 0?"marker":"br",text:M instanceof ve?M.str:null,blockId:M instanceof re&&M.embed.b!==void 0?M.embed.b:null,raw:i});D.len+=o.length}continue}if(M instanceof St){M.value===null?delete V[M.key]:V[M.key]=M.value;continue}if(M instanceof re){let K=z(o,M.embed.b);if(K!==null){let C=ne.find(O=>O.sourceKey===K&&!O.root);C&&!a.has(K)?(we(K,o),C.root=x):ge(o.length);continue}if(Y(o,M.embed.b)!==null){ge(o.length);continue}let i=R(o,M.embed.b);if(i!==null){we(i,o,!0);continue}let p=M.embed;p.b!==void 0?ee(p.b,{client:o.id.client,clock:o.id.clock},!1):((!x||x.atom)&&ee(`~${P}`,null,!0),x.runs.push({br:!0}),x.items&&x.items.push({at:m,id:de(o.id),client:o.id.client,clock:o.id.clock,length:o.length,kind:"br",text:null,blockId:null,raw:{...V}}),x.len+=1);continue}if(M instanceof ve){(!x||x.atom)&&ee(`~${P}`,null,!0);let K=x.t==="code_block";if(!X||X.code!==K){let i=st(V,x.t);X={code:K,marks:i,mk:rn(i)}}x.runs.push({text:M.str,marks:X.marks,mk:X.mk}),x.items&&x.items.push({at:m,id:de(o.id),client:o.id.client,clock:o.id.clock,length:o.length,kind:"text",text:M.str,blockId:null,raw:{...V}}),x.len+=M.str.length}}if(D){for(let o of D.active)Re(o);Se()}x&&(x.fmtOut=be());let le=new Map;for(let o of b)o.kind!=="b"||o.implicit||(le.get(o.baseId)??le.set(o.baseId,[]).get(o.baseId)).push(o);let Ee=o=>o.runs.map(m=>m.br?`
|
|
3
|
-
`:m.hole?"":m.text).join(""),_e=new Map,Te=[];for(let[o,m]of le){if(m.length<2)continue;let d=_o(m);for(let v of m)if(v!==d&&(v.hide=!0,(_e.get(o)??_e.set(o,[]).get(o)).push(de(v.brk)),!(Ue(v.runs,d.runs)&&v.t===d.t)&&Ee(v)&&(A.push({key:`d${v.brk.client}.${v.brk.clock}`,id:o,text:Ee(v),h:$n(Ee(v)),copy:!0}),v.items?.length))){let M=de(t.resolve(v.brk)),K=Rn(M);Te.push({key:K,sourceKey:M,source:{client:v.brk.client,clock:v.brk.clock},operationId:null,blockId:o,end:null,sv:[],legacy:!1,implicit:!0}),w.push({key:K,sourceKey:M,blockId:o,end:null,sv:[],at:v.items[0].at,live:!0,items:v.items})}}let We=[],Ye=[],he=0;for(let o of b){if(o.kind==="h"){Ye.push({at:he,len:o.len});continue}if(o.hide){Ye.push({at:he,len:o.len+o.runs.reduce((d,v)=>d+(v.hole??0),0)});continue}We.push(o);let m=o.implicit?0:1;for(let d of o.runs)d.hole?Ye.push({at:he+m,len:d.hole}):m+=d.br?1:d.text.length;he+=o.len}return{visible:We,holes:Ye,orphans:A,tokens:he,copies:_e,hidden:w,removals:Te.length?[...j,...Te]:j,fences:$,stops:B}}var Jt="remove",Pn="restore",Vt="copy-active",yt="copy-lost",Gn="attr",qn="text-delete",mt=class extends Error{constructor(t){super(t),this.name="RecoveryError"}},G=e=>{throw new mt(e)},xe=e=>Number.isSafeInteger(e)&&e>=0,Bo=e=>Number.isSafeInteger(e)&&e>0,Tn=/^(?:0|[1-9]\d*)$/,Wn=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),ce=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),kt=(e,t)=>e<t?-1:e>t?1:0,Xn=e=>[...e].sort(kt),Bn=e=>`${e.client}.${e.clock}`,Fo=e=>JSON.stringify(["author",e]),Ps=(e,t)=>JSON.stringify([Jt,e,t]),Gs=(e,t)=>JSON.stringify([Pn,e,t]),Nn=e=>JSON.stringify([Vt,e]),Rn=e=>JSON.stringify([yt,e]),qs=(e,t,n)=>JSON.stringify([qn,e,t,n]),Ws=(e,t)=>JSON.stringify([Gn,e,t]);function ae(e){if(typeof e!="string")return null;let t=e.indexOf(".");if(t<1||t===e.length-1)return null;let n=e.slice(0,t),s=e.slice(t+1);if(!Tn.test(n)||!Tn.test(s))return null;let c=Number(n),r=Number(s);return xe(c)&&xe(r)?{client:c,clock:r}:null}var Ge=(e,t,n)=>{Wn(e)||G(`Invalid gone record: ${n}`);for(let s of Object.keys(e))t.includes(s)||G(`Unsupported gone field ${s} in ${n}`)},Fn=(e,t)=>{Array.isArray(e)||G(`Invalid state vector in ${t}`);let n=[],s=-1;for(let c of e){(!Array.isArray(c)||c.length!==2)&&G(`Invalid state vector in ${t}`);let[r,l]=c;(!xe(r)||!xe(l)||r<=s)&&G(`Invalid state vector in ${t}`),s=r,n.push([r,l])}return n},Jo=e=>{if(typeof e!="string")return!1;if(e.charCodeAt(0)!==91)return ae(e)!==null;let t;try{t=JSON.parse(e)}catch{return!1}return!Array.isArray(t)||!ae(t[1])?!1:t[0]===Jt?t.length===3&&typeof t[2]=="string"&&t[2]!=="":(t[0]===Vt||t[0]===yt)&&t.length===2},Hn=(e,t,n)=>{if(t.charCodeAt(0)===91){let r=null;try{r=JSON.parse(t)}catch{G(`Malformed gone key: ${t}`)}if((!Array.isArray(r)||typeof r[0]!="string")&&G(`Malformed gone key: ${t}`),r[0]===Jt){(r.length!==3||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`);let l=ae(r[1]);l||G(`Malformed gone key: ${t}`),Ge(e,["blockId","end","sv"],t),(typeof e.blockId!="string"||!e.blockId)&&G(`Invalid removal record: ${t}`);let a=e.end??null;a!==null&&!ae(a)&&G(`Invalid removal record: ${t}`),n.removals.push({key:t,sourceKey:r[1],source:l,operationId:r[2],blockId:e.blockId,end:a,sv:Fn(e.sv,t),legacy:!1});return}if(r[0]===Pn){(r.length!==3||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`),ae(r[1])||G(`Malformed gone key: ${t}`),Ge(e,["covers","baseline"],t),(!Array.isArray(e.covers)||e.covers.some(a=>!Jo(a)))&&G(`Invalid restore record: ${t}`);let l=e.baseline??{};Ge(l,["type","attrs"],t),(typeof l.type!="string"||!Wn(l.attrs))&&G(`Invalid restore record: ${t}`),n.restores.push({key:t,sourceKey:r[1],operationId:r[2],covers:Xn(e.covers),baseline:{type:l.type,attrs:ce(l.attrs)}});return}if(r[0]===Vt){(r.length!==2||!ae(r[1]))&&G(`Malformed gone key: ${t}`),e!==!0&&G(`Invalid copy-active record: ${t}`),n.copyActive.add(r[1]);return}if(r[0]===qn){(r.length!==4||!xe(r[1])||!xe(r[2])||typeof r[3]!="string"||!r[3])&&G(`Malformed gone key: ${t}`),Ge(e,["length","actor","sv"],t),(!Bo(e.length)||!xe(r[2]+e.length-1))&&G(`Invalid text-delete record: ${t}`),xe(e.actor)||G(`Invalid text-delete record: ${t}`),n.textDeletes.push({key:t,client:r[1],clock:r[2],length:e.length,actor:e.actor,sv:Fn(e.sv,t)});return}if(r[0]===Gn){(r.length!==3||!ae(r[1])||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`),e===void 0&&G(`Invalid attribute override: ${t}`);let l=n.attrs.get(r[1])??new Map;l.set(r[2],ce(e)),n.attrs.set(r[1],l);return}G(`Unsupported gone record: ${t}`)}let s=ae(t);s||G(`Malformed gone key: ${t}`),Ge(e,["b","e"],t),(typeof e.b!="string"||!e.b)&&G(`Invalid gone record: ${t}`);let c=e.e??null;c!==null&&!ae(c)&&G(`Invalid gone record: ${t}`),n.removals.push({key:t,sourceKey:t,source:s,operationId:null,blockId:e.b,end:c,sv:[],legacy:!0})},Ut=()=>({removals:[],restores:[],copyActive:new Set,attrs:new Map,textDeletes:[]}),Tt=e=>{if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){for(let t of Object.keys(e))Tt(e[t]);Object.freeze(e)}return e},Bt=(e,t)=>{let n=Ut();try{Hn(e,t,n)}catch(s){if(!(s instanceof mt))throw s;return null}for(let s of[n.removals,n.restores,n.textDeletes])for(let c of s)Tt(c);for(let s of n.attrs.values())for(let c of s.values())Tt(c);return n},Jn=new WeakMap,bt=(e,t)=>{for(let n of t.removals)e.removals.push(n);for(let n of t.restores)e.restores.push(n);for(let n of t.textDeletes)e.textDeletes.push(n);for(let n of t.copyActive)e.copyActive.add(n);for(let[n,s]of t.attrs){let c=e.attrs.get(n)??new Map;for(let[r,l]of s)c.set(r,l);e.attrs.set(n,c)}},Vn=new WeakMap,Vo=e=>{let t=Vn.get(e);if(t)return t;let n=new Map,s=null,c=[],r=a=>{let u=e.has(a),f=u?e.get(a):void 0,g=n.get(a);if(g&&g.live===u&&g.value===f)return;let I=u?Bt(f,a):null;if(!g){let h={live:u,value:f,record:I};n.set(a,h),u&&I&&s&&c.push(I);return}g.live=u,g.value=f,g.record=I,s=null};for(let a of e._map.keys())r(a);e.observe(a=>{for(let u of a.keysChanged)r(u)});let l={intents(){for(let a of e.doc._transactionCleanups)for(let u of a.changed.get(e)??[])r(u);if(s){if(c.length){for(let a of c)bt(s,a);c=[]}}else{s=Ut();for(let a of n.values())a.record&&bt(s,a.record);c=[]}return{removals:s.removals.slice(),restores:s.restores.slice(),copyActive:new Set(s.copyActive),attrs:new Map([...s.attrs].map(([a,u])=>[a,new Map(u)])),textDeletes:s.textDeletes.slice()}}};return Vn.set(e,l),l};function Dt(e,{strict:t=!1,kept:n=!0}={}){let s=Ut();if(t)return e.forEach((l,a)=>Hn(l,a,s)),s;if(n&&e instanceof et&&e.doc)return Vo(e).intents();if(!n)return e.forEach((l,a)=>{let u=Bt(l,a);u&&bt(s,u)}),s;let c=Jn.get(e)??new Map,r=new Map;return e.forEach((l,a)=>{let u=c.get(a),f=u&&u.value===l?u:{value:l,record:Bt(l,a)};r.set(a,f),f.record&&bt(s,f.record)}),Jn.set(e,r),s}var Ft=e=>{if(Array.isArray(e))return e.map(Ft);if(e!==null&&typeof e=="object"){let t={};for(let n of Object.keys(e).sort())t[n]=Ft(e[n]);return t}return e},Uo=e=>JSON.stringify(Ft(e)),wt=e=>se.nodes[e]??se.nodes.paragraph,zo=(e,t,n=null)=>{let s=e.attrs.get(t),c=n?.get("t"),r=s&&s.get("t")||"paragraph",l=typeof c=="string"&&se.nodes[c]?c:r,a=wt(l),u={};for(let f of nt(a))u[f]=ce(s&&s.has(f)?s.get(f):ot(a,f));if(l==="table"&&Object.assign(u,ce(In(e.tableFields,t,{cols:u.cols,rows:u.rows}))),l==="board"&&Object.assign(u,ce(En(e.boardFields,t))),n)for(let[f,g]of n)f!=="t"&&Object.hasOwn(u,f)&&(u[f]=ce(g));return{id:t,type:l,attrs:u}},Lo=e=>{let t={};if(!e)return t;for(let n of[...e.keys()].sort())t[n]=ce(e.get(n));return t},Un="recovered:",Dn=e=>typeof e=="string"&&e.startsWith(Un)?e.slice(Un.length):null;function _t(e,t,n){let s=new Set(t.map(I=>I.key)),c=null;for(let I of n.restores){if(I.sourceKey!==e)continue;let h=I.covers.reduce((S,j)=>S+(s.has(j)?1:0),0);(!c||h>c.count||h===c.count&&kt(I.key,c.restore.key)<0)&&(c={restore:I,count:h})}if(!c)return null;let r=n.attrs.get(e),l=r?.get("t"),a=se.nodes[c.restore.baseline.type]?c.restore.baseline.type:"paragraph",u=typeof l=="string"&&se.nodes[l]?l:a,f=wt(u),g={};for(let I of nt(f))r&&r.has(I)?g[I]=ce(r.get(I)):Object.hasOwn(c.restore.baseline.attrs,I)?g[I]=ce(c.restore.baseline.attrs[I]):g[I]=ce(ot(f,I));return{type:u,attrs:g,key:c.restore.key}}var Po=e=>{let t={};for(let n of Object.keys(e).sort())t[n]=ce(e[n]);return t},Go=(e,t)=>t.some(n=>e.clock>=(n.get(e.client)??0)),qo=e=>{let t=[];for(let[n,s]of e.sort((c,r)=>c[0]-r[0])){let c=t[t.length-1];c&&n<=c.end?c.end=Math.max(c.end,s):t.push({start:n,end:s})}return t},Wo=(e,t)=>{let n=0,s=e.length-1;for(;n<=s;){let c=n+s>>1,r=e[c];if(t<r.start)s=c-1;else if(t>=r.end)n=c+1;else return!0}return!1},Xo=(e,t,n)=>{let s=cn(t,e.length).physicalRanges(0,t.tokens),c=new Map,r=(f,g,I)=>{for(let h of n.resolveRange(f.id.client,f.id.clock+g,I-g)){let S=c.get(h.client);S?S.push([h.clock,h.clock+h.length]):c.set(h.client,[[h.clock,h.clock+h.length]])}},l=0,a=0;for(let f=e._start;f&&a<s.length;f=f.right){if(f.deleted||!f.countable)continue;let g=l;l+=f.length;let I=f.content,h=I instanceof ve;if(!h&&!(I instanceof re)||!h&&I.embed.b!==void 0)continue;for(;a<s.length&&s[a][1]<=g;)a++;let S=a;for(;S<s.length&&s[S][0]<l&&(r(f,Math.max(g,s[S][0])-g,Math.min(l,s[S][1])-g),!(s[S][1]>=l));)S++;a=S}let u=new Map;for(let[f,g]of c)u.set(f,qo(g));return(f,g)=>{let I=u.get(f);return I?Wo(I,g):!1}},zn=(e,t,n,s,c)=>{let r=e.resolve({client:t.client,clock:t.clock}),l=t.kind==="text"?sn(st(t.raw,s)):{},a=!Go(t,n);return{client:t.client,clock:t.clock,length:t.length,sourceClient:r.client,sourceClock:r.clock,baseline:a,displaced:!a&&!c(r.client,r.clock),kind:t.kind,text:t.kind==="text"?t.text:null,marks:l,raw:Po(t.raw)}},Ln=(e,t)=>{let n=e[e.length-1];if(n&&n.kind===t.kind&&n.baseline===t.baseline&&n.displaced===t.displaced&&n.client===t.client&&n.clock+n.length===t.clock&&n.sourceClient===t.sourceClient&&n.sourceClock+n.length===t.sourceClock&&Ue(n.marks,t.marks)&&Ue(n.raw,t.raw)){n.length+=t.length,n.kind==="text"&&(n.text+=t.text);return}e.push(t)},Ho=(e,t)=>({id:Bn(e),length:e.length,source:Bn({client:e.sourceClient,clock:e.sourceClock}),baseline:e.baseline,displaced:e.displaced,kind:e.kind,...e.kind==="text"?{text:e.text}:{},marks:e.marks,raw:e.raw,author:t(e.sourceClient)});function Qn(e,t,n,s,c,r,l,a){let u=(Y,R,z=null)=>{let y=t.boundaryOf(R);if(!y||y.blockId!==Y||!y.recoveryOf)return zo(e,Y,z);let k=_t(y.recoveryOf,a.get(y.recoveryOf)??[],r),b=typeof z?.get("t")=="string"&&se.nodes[z.get("t")]?z.get("t"):k?.type??"paragraph",A={};for(let w of nt(wt(b)))A[w]=ce(z?.has(w)?z.get(w):k&&Object.hasOwn(k.attrs,w)?k.attrs[w]:ot(wt(b),w));return{id:Y,type:b,attrs:A}},f=Y=>{let R=e.origins.get(Fo(Y));return typeof R=="string"&&R?R:null},g=[...s].sort((Y,R)=>kt(Y.key,R.key)),I=g[0].blockId,h=r.attrs.get(n),S=Lo(h),j=u(I,g[0].source,h),N=new Map(g.map(Y=>[Y.key,new Map(Y.sv)])),T=new Map;for(let Y of g){let R=c.get(Y.key);if(!R)continue;let z=N.get(Y.key);for(let y of R.items){let k=T.get(y.id);k?k.vectors.push(z):T.set(y.id,{item:y,vectors:[z]})}}let F=[...T.values()].sort((Y,R)=>Y.item.at-R.item.at),J=[{...j,author:f(t.resolve(g[0].source).client),runs:[]}],W=J[0];for(let Y of F){let R=Y.item;if(R.kind==="marker"){if(t.boundaryOf({client:R.client,clock:R.clock})?.kind==="restore"||!R.blockId||R.blockId===W.id)continue;W={...u(R.blockId,{client:R.client,clock:R.clock}),author:f(t.resolve({client:R.client,clock:R.clock}).client),runs:[]},J.push(W);continue}if(R.kind==="text")for(let z=0;z<R.length;z++)Ln(W.runs,zn(t,{...R,clock:R.clock+z,length:1,text:R.text[z]},Y.vectors,W.type,l));else Ln(W.runs,zn(t,R,Y.vectors,W.type,l))}let U={source:n,blockId:I,type:j.type,attrs:j.attrs,author:J[0].author,blocks:J.map(Y=>({id:Y.id,type:Y.type,attrs:Y.attrs,author:Y.author,runs:Y.runs.map(R=>Ho(R,f))})),removals:g.map(Y=>({key:Y.key,operationId:Y.operationId,end:Y.end,sv:Y.sv.map(([R,z])=>[R,z])})),restores:r.restores.filter(Y=>Y.covers.some(R=>g.some(z=>z.key===R))).sort((Y,R)=>kt(Y.key,R.key)).map(Y=>({key:Y.key,covers:Xn(Y.covers)})),copyActive:r.copyActive.has(n),overrides:S,recoverable:J.some(Y=>Y.runs.some(R=>R.displaced))};return{...U,revision:Uo(U)}}var Qo=(e,t)=>{for(let[n,s]of e)if(n===t)return s;return 0},Zo=(e,t)=>{for(let n of t.items)if(n.kind!=="marker"&&n.clock+n.length-1>=Qo(e.sv,n.client))return!0;return!1},Zn=(e,t)=>{let n=ae(e.source),s=ae(t.source);return n.client-s.client||n.clock-s.clock};function eo(e,t,n){let s=n.walked??_n(e,t),c=n.intents??Dt(e.gone,{strict:n.strict===!0}),r=new Map;for(let f of s.hidden??[])r.set(f.key,f);let l=new Map;for(let f of s.removals??c.removals){let g=l.get(f.sourceKey);g?g.push(f):l.set(f.sourceKey,[f])}let a=null;return{intents:c,hidden:r,groups:l,visible:(f,g)=>(a||(a=Xo(e.flow,s,t)),a(f,g))}}function Xs(e,t={}){let n=t.index??Ne(e.origins);try{let{intents:s,hidden:c,groups:r,visible:l}=eo(e,n,t),a=new Map;for(let[u,f]of r)a.set(u,Qn(e,n,u,f,c,s,l,r));return{sources:a,list:[...a.values()].sort(Zn),intents:s}}finally{t.index||n.dispose()}}function Hs(e,t={}){let n=t.index??Ne(e.origins);try{let{intents:s,hidden:c,groups:r,visible:l}=eo(e,n,t),a=[];for(let[u,f]of r){if(!f.some(I=>c.has(I.key)&&Zo(I,c.get(I.key))))continue;let g=Qn(e,n,u,f,c,s,l,r);g.recoverable&&a.push(g)}return{list:a.sort(Zn),intents:s}}finally{t.index||n.dispose()}}export{Ne as a,es as b,ts as c,Et as d,ut as e,yn as f,ys as g,ms as h,at as i,Ie as j,it as k,go as l,as as m,te as n,dn as o,fs as p,Mo as q,In as r,$o as s,Ss as t,Kt as u,En as v,js as w,Es as x,mt as y,Bn as z,Fo as A,Ps as B,Gs as C,Nn as D,qs as E,Ws as F,ae as G,Dt as H,Uo as I,Un as J,Dn as K,_t as L,Xs as M,Hs as N,_n as O};
|
|
3
|
+
`:m.hole?"":m.text).join(""),_e=new Map,Te=[];for(let[o,m]of le){if(m.length<2)continue;let d=_o(m);for(let v of m)if(v!==d&&(v.hide=!0,(_e.get(o)??_e.set(o,[]).get(o)).push(de(v.brk)),!(Ue(v.runs,d.runs)&&v.t===d.t)&&Ee(v)&&(A.push({key:`d${v.brk.client}.${v.brk.clock}`,id:o,text:Ee(v),h:$n(Ee(v)),copy:!0}),v.items?.length))){let M=de(t.resolve(v.brk)),K=Rn(M);Te.push({key:K,sourceKey:M,source:{client:v.brk.client,clock:v.brk.clock},operationId:null,blockId:o,end:null,sv:[],legacy:!1,implicit:!0}),w.push({key:K,sourceKey:M,blockId:o,end:null,sv:[],at:v.items[0].at,live:!0,items:v.items})}}let We=[],Ye=[],he=0;for(let o of b){if(o.kind==="h"){Ye.push({at:he,len:o.len});continue}if(o.hide){Ye.push({at:he,len:o.len+o.runs.reduce((d,v)=>d+(v.hole??0),0)});continue}We.push(o);let m=o.implicit?0:1;for(let d of o.runs)d.hole?Ye.push({at:he+m,len:d.hole}):m+=d.br?1:d.text.length;he+=o.len}return{visible:We,holes:Ye,orphans:A,tokens:he,copies:_e,hidden:w,removals:Te.length?[...j,...Te]:j,fences:$,stops:B}}var Jt="remove",Pn="restore",Vt="copy-active",yt="copy-lost",Gn="attr",qn="text-delete",mt=class extends Error{constructor(t){super(t),this.name="RecoveryError"}},G=e=>{throw new mt(e)},xe=e=>Number.isSafeInteger(e)&&e>=0,Bo=e=>Number.isSafeInteger(e)&&e>0,Tn=/^(?:0|[1-9]\d*)$/,Wn=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),ce=e=>e===null||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),kt=(e,t)=>e<t?-1:e>t?1:0,Xn=e=>[...e].sort(kt),Bn=e=>`${e.client}.${e.clock}`,Fo=e=>JSON.stringify(["author",e]),Ps=(e,t)=>JSON.stringify([Jt,e,t]),Gs=(e,t)=>JSON.stringify([Pn,e,t]),Nn=e=>JSON.stringify([Vt,e]),Rn=e=>JSON.stringify([yt,e]),qs=(e,t,n)=>JSON.stringify([qn,e,t,n]),Ws=(e,t)=>JSON.stringify([Gn,e,t]);function ae(e){if(typeof e!="string")return null;let t=e.indexOf(".");if(t<1||t===e.length-1)return null;let n=e.slice(0,t),s=e.slice(t+1);if(!Tn.test(n)||!Tn.test(s))return null;let c=Number(n),r=Number(s);return xe(c)&&xe(r)?{client:c,clock:r}:null}var Ge=(e,t,n)=>{Wn(e)||G(`Invalid gone record: ${n}`);for(let s of Object.keys(e))t.includes(s)||G(`Unsupported gone field ${s} in ${n}`)},Fn=(e,t)=>{Array.isArray(e)||G(`Invalid state vector in ${t}`);let n=[],s=-1;for(let c of e){(!Array.isArray(c)||c.length!==2)&&G(`Invalid state vector in ${t}`);let[r,l]=c;(!xe(r)||!xe(l)||r<=s)&&G(`Invalid state vector in ${t}`),s=r,n.push([r,l])}return n},Jo=e=>{if(typeof e!="string")return!1;if(e.charCodeAt(0)!==91)return ae(e)!==null;let t;try{t=JSON.parse(e)}catch{return!1}return!Array.isArray(t)||!ae(t[1])?!1:t[0]===Jt?t.length===3&&typeof t[2]=="string"&&t[2]!=="":(t[0]===Vt||t[0]===yt)&&t.length===2},Hn=(e,t,n)=>{if(t.charCodeAt(0)===91){let r=null;try{r=JSON.parse(t)}catch{G(`Malformed gone key: ${t}`)}if((!Array.isArray(r)||typeof r[0]!="string")&&G(`Malformed gone key: ${t}`),r[0]===Jt){(r.length!==3||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`);let l=ae(r[1]);l||G(`Malformed gone key: ${t}`),Ge(e,["blockId","end","sv"],t),(typeof e.blockId!="string"||!e.blockId)&&G(`Invalid removal record: ${t}`);let a=e.end??null;a!==null&&!ae(a)&&G(`Invalid removal record: ${t}`),n.removals.push({key:t,sourceKey:r[1],source:l,operationId:r[2],blockId:e.blockId,end:a,sv:Fn(e.sv,t),legacy:!1});return}if(r[0]===Pn){(r.length!==3||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`),ae(r[1])||G(`Malformed gone key: ${t}`),Ge(e,["covers","baseline"],t),(!Array.isArray(e.covers)||e.covers.some(a=>!Jo(a)))&&G(`Invalid restore record: ${t}`);let l=e.baseline??{};Ge(l,["type","attrs"],t),(typeof l.type!="string"||!Wn(l.attrs))&&G(`Invalid restore record: ${t}`),n.restores.push({key:t,sourceKey:r[1],operationId:r[2],covers:Xn(e.covers),baseline:{type:l.type,attrs:ce(l.attrs)}});return}if(r[0]===Vt){(r.length!==2||!ae(r[1]))&&G(`Malformed gone key: ${t}`),e!==!0&&G(`Invalid copy-active record: ${t}`),n.copyActive.add(r[1]);return}if(r[0]===qn){(r.length!==4||!xe(r[1])||!xe(r[2])||typeof r[3]!="string"||!r[3])&&G(`Malformed gone key: ${t}`),Ge(e,["length","actor","sv"],t),(!Bo(e.length)||!xe(r[2]+e.length-1))&&G(`Invalid text-delete record: ${t}`),xe(e.actor)||G(`Invalid text-delete record: ${t}`),n.textDeletes.push({key:t,client:r[1],clock:r[2],length:e.length,actor:e.actor,sv:Fn(e.sv,t)});return}if(r[0]===Gn){(r.length!==3||!ae(r[1])||typeof r[2]!="string"||!r[2])&&G(`Malformed gone key: ${t}`),e===void 0&&G(`Invalid attribute override: ${t}`);let l=n.attrs.get(r[1])??new Map;l.set(r[2],ce(e)),n.attrs.set(r[1],l);return}G(`Unsupported gone record: ${t}`)}let s=ae(t);s||G(`Malformed gone key: ${t}`),Ge(e,["b","e"],t),(typeof e.b!="string"||!e.b)&&G(`Invalid gone record: ${t}`);let c=e.e??null;c!==null&&!ae(c)&&G(`Invalid gone record: ${t}`),n.removals.push({key:t,sourceKey:t,source:s,operationId:null,blockId:e.b,end:c,sv:[],legacy:!0})},Ut=()=>({removals:[],restores:[],copyActive:new Set,attrs:new Map,textDeletes:[]}),Tt=e=>{if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){for(let t of Object.keys(e))Tt(e[t]);Object.freeze(e)}return e},Bt=(e,t)=>{let n=Ut();try{Hn(e,t,n)}catch(s){if(!(s instanceof mt))throw s;return null}for(let s of[n.removals,n.restores,n.textDeletes])for(let c of s)Tt(c);for(let s of n.attrs.values())for(let c of s.values())Tt(c);return n},Jn=new WeakMap,bt=(e,t)=>{for(let n of t.removals)e.removals.push(n);for(let n of t.restores)e.restores.push(n);for(let n of t.textDeletes)e.textDeletes.push(n);for(let n of t.copyActive)e.copyActive.add(n);for(let[n,s]of t.attrs){let c=e.attrs.get(n)??new Map;for(let[r,l]of s)c.set(r,l);e.attrs.set(n,c)}},Vn=new WeakMap,Vo=e=>{let t=Vn.get(e);if(t)return t;let n=new Map,s=null,c=[],r=a=>{let u=e.has(a),f=u?e.get(a):void 0,g=n.get(a);if(g&&g.live===u&&g.value===f)return;let I=u?Bt(f,a):null;if(!g){let h={live:u,value:f,record:I};n.set(a,h),u&&I&&s&&c.push(I);return}g.live=u,g.value=f,g.record=I,s=null};for(let a of e._map.keys())r(a);e.observe(a=>{for(let u of a.keysChanged)r(u)});let l={intents(){for(let a of e.doc._transactionCleanups)for(let u of a.changed.get(e)??[])r(u);if(s){if(c.length){for(let a of c)bt(s,a);c=[]}}else{s=Ut();for(let a of n.values())a.record&&bt(s,a.record);c=[]}return{removals:s.removals.slice(),restores:s.restores.slice(),copyActive:new Set(s.copyActive),attrs:new Map([...s.attrs].map(([a,u])=>[a,new Map(u)])),textDeletes:s.textDeletes.slice()}}};return Vn.set(e,l),l};function Dt(e,{strict:t=!1,kept:n=!0}={}){let s=Ut();if(t)return e.forEach((l,a)=>Hn(l,a,s)),s;if(n&&e instanceof et&&e.doc)return Vo(e).intents();if(!n)return e.forEach((l,a)=>{let u=Bt(l,a);u&&bt(s,u)}),s;let c=Jn.get(e)??new Map,r=new Map;return e.forEach((l,a)=>{let u=c.get(a),f=u&&u.value===l?u:{value:l,record:Bt(l,a)};r.set(a,f),f.record&&bt(s,f.record)}),Jn.set(e,r),s}var Ft=e=>{if(Array.isArray(e))return e.map(Ft);if(e!==null&&typeof e=="object"){let t={};for(let n of Object.keys(e).sort())t[n]=Ft(e[n]);return t}return e},Uo=e=>JSON.stringify(Ft(e)),wt=e=>se.nodes[e]??se.nodes.paragraph,zo=(e,t,n=null)=>{let s=e.attrs.get(t),c=n?.get("t"),r=s&&s.get("t")||"paragraph",l=typeof c=="string"&&se.nodes[c]?c:r,a=wt(l),u={};for(let f of nt(a))u[f]=ce(s&&s.has(f)?s.get(f):ot(a,f));if(l==="table"&&Object.assign(u,ce(In(e.tableFields,t,{cols:u.cols,rows:u.rows}))),l==="board"&&Object.assign(u,ce(En(e.boardFields,t))),n)for(let[f,g]of n)f!=="t"&&Object.hasOwn(u,f)&&(u[f]=ce(g));return{id:t,type:l,attrs:u}},Lo=e=>{let t={};if(!e)return t;for(let n of[...e.keys()].sort())t[n]=ce(e.get(n));return t},Un="recovered:",Dn=e=>typeof e=="string"&&e.startsWith(Un)?e.slice(Un.length):null;function _t(e,t,n){let s=new Set(t.map(I=>I.key)),c=null;for(let I of n.restores){if(I.sourceKey!==e)continue;let h=I.covers.reduce((S,j)=>S+(s.has(j)?1:0),0);(!c||h>c.count||h===c.count&&kt(I.key,c.restore.key)<0)&&(c={restore:I,count:h})}if(!c)return null;let r=n.attrs.get(e),l=r?.get("t"),a=se.nodes[c.restore.baseline.type]?c.restore.baseline.type:"paragraph",u=typeof l=="string"&&se.nodes[l]?l:a,f=wt(u),g={};for(let I of nt(f))r&&r.has(I)?g[I]=ce(r.get(I)):Object.hasOwn(c.restore.baseline.attrs,I)?g[I]=ce(c.restore.baseline.attrs[I]):g[I]=ce(ot(f,I));return{type:u,attrs:g,key:c.restore.key}}var Po=e=>{let t={};for(let n of Object.keys(e).sort())t[n]=ce(e[n]);return t},Go=(e,t)=>t.some(n=>e.clock>=(n.get(e.client)??0)),qo=e=>{let t=[];for(let[n,s]of e.sort((c,r)=>c[0]-r[0])){let c=t[t.length-1];c&&n<=c.end?c.end=Math.max(c.end,s):t.push({start:n,end:s})}return t},Wo=(e,t)=>{let n=0,s=e.length-1;for(;n<=s;){let c=n+s>>1,r=e[c];if(t<r.start)s=c-1;else if(t>=r.end)n=c+1;else return!0}return!1},Xo=(e,t,n)=>{let s=cn(t,e.length).physicalRanges(0,t.tokens),c=new Map,r=(f,g,I)=>{for(let h of n.resolveRange(f.id.client,f.id.clock+g,I-g)){let S=c.get(h.client);S?S.push([h.clock,h.clock+h.length]):c.set(h.client,[[h.clock,h.clock+h.length]])}},l=0,a=0;for(let f=e._start;f&&a<s.length;f=f.right){if(f.deleted||!f.countable)continue;let g=l;l+=f.length;let I=f.content,h=I instanceof ve;if(!h&&!(I instanceof re)||!h&&I.embed.b!==void 0)continue;for(;a<s.length&&s[a][1]<=g;)a++;let S=a;for(;S<s.length&&s[S][0]<l&&(r(f,Math.max(g,s[S][0])-g,Math.min(l,s[S][1])-g),!(s[S][1]>=l));)S++;a=S}let u=new Map;for(let[f,g]of c)u.set(f,qo(g));return(f,g)=>{let I=u.get(f);return I?Wo(I,g):!1}},zn=(e,t,n,s,c)=>{let r=e.resolve({client:t.client,clock:t.clock}),l=t.kind==="text"?sn(st(t.raw,s)):{},a=!Go(t,n);return{client:t.client,clock:t.clock,length:t.length,sourceClient:r.client,sourceClock:r.clock,baseline:a,displaced:!a&&!c(r.client,r.clock),kind:t.kind,text:t.kind==="text"?t.text:null,marks:l,raw:Po(t.raw)}},Ln=(e,t)=>{let n=e[e.length-1];if(n&&n.kind===t.kind&&n.baseline===t.baseline&&n.displaced===t.displaced&&n.client===t.client&&n.clock+n.length===t.clock&&n.sourceClient===t.sourceClient&&n.sourceClock+n.length===t.sourceClock&&Ue(n.marks,t.marks)&&Ue(n.raw,t.raw)){n.length+=t.length,n.kind==="text"&&(n.text+=t.text);return}e.push(t)},Ho=(e,t)=>({id:Bn(e),length:e.length,source:Bn({client:e.sourceClient,clock:e.sourceClock}),baseline:e.baseline,displaced:e.displaced,kind:e.kind,...e.kind==="text"?{text:e.text}:{},marks:e.marks,raw:e.raw,author:t(e.sourceClient)});function Qn(e,t,n,s,c,r,l,a){let u=(Y,R,z=null)=>{let y=t.boundaryOf(R);if(!y||y.blockId!==Y||!y.recoveryOf)return zo(e,Y,z);let k=_t(y.recoveryOf,a.get(y.recoveryOf)??[],r),b=typeof z?.get("t")=="string"&&se.nodes[z.get("t")]?z.get("t"):k?.type??"paragraph",A={};for(let w of nt(wt(b)))A[w]=ce(z?.has(w)?z.get(w):k&&Object.hasOwn(k.attrs,w)?k.attrs[w]:ot(wt(b),w));return{id:Y,type:b,attrs:A}},f=Y=>{let R=e.origins.get(Fo(Y));return typeof R=="string"&&R?R:null},g=[...s].sort((Y,R)=>kt(Y.key,R.key)),I=g[0].blockId,h=r.attrs.get(n),S=Lo(h),j=u(I,g[0].source,h),N=new Map(g.map(Y=>[Y.key,new Map(Y.sv)])),T=new Map;for(let Y of g){let R=c.get(Y.key);if(!R)continue;let z=N.get(Y.key);for(let y of R.items){let k=T.get(y.id);k?k.vectors.push(z):T.set(y.id,{item:y,vectors:[z]})}}let F=[...T.values()].sort((Y,R)=>Y.item.at-R.item.at),J=[{...j,author:f(t.resolve(g[0].source).client),runs:[]}],W=J[0];for(let Y of F){let R=Y.item;if(R.kind==="marker"){if(t.boundaryOf({client:R.client,clock:R.clock})?.kind==="restore"||!R.blockId||R.blockId===W.id)continue;W={...u(R.blockId,{client:R.client,clock:R.clock}),author:f(t.resolve({client:R.client,clock:R.clock}).client),runs:[]},J.push(W);continue}if(R.kind==="text")for(let z=0;z<R.length;z++)Ln(W.runs,zn(t,{...R,clock:R.clock+z,length:1,text:R.text[z]},Y.vectors,W.type,l));else Ln(W.runs,zn(t,R,Y.vectors,W.type,l))}let U={source:n,blockId:I,type:j.type,attrs:j.attrs,author:J[0].author,blocks:J.map(Y=>({id:Y.id,type:Y.type,attrs:Y.attrs,author:Y.author,runs:Y.runs.map(R=>Ho(R,f))})),removals:g.map(Y=>({key:Y.key,operationId:Y.operationId,end:Y.end,sv:Y.sv.map(([R,z])=>[R,z])})),restores:r.restores.filter(Y=>Y.covers.some(R=>g.some(z=>z.key===R))).sort((Y,R)=>kt(Y.key,R.key)).map(Y=>({key:Y.key,covers:Xn(Y.covers)})),copyActive:r.copyActive.has(n),overrides:S,recoverable:J.some(Y=>Y.runs.some(R=>R.displaced))};return{...U,revision:Uo(U)}}var Qo=(e,t)=>{for(let[n,s]of e)if(n===t)return s;return 0},Zo=(e,t)=>{for(let n of t.items)if(n.kind!=="marker"&&n.clock+n.length-1>=Qo(e.sv,n.client))return!0;return!1},Zn=(e,t)=>{let n=ae(e.source),s=ae(t.source);return n.client-s.client||n.clock-s.clock};function eo(e,t,n){let s=n.walked??_n(e,t),c=n.intents??Dt(e.gone,{strict:n.strict===!0}),r=new Map;for(let f of s.hidden??[])r.set(f.key,f);let l=new Map;for(let f of s.removals??c.removals){let g=l.get(f.sourceKey);g?g.push(f):l.set(f.sourceKey,[f])}let a=null;return{intents:c,hidden:r,groups:l,visible:(f,g)=>(a||(a=Xo(e.flow,s,t)),a(f,g))}}function Xs(e,t={}){let n=t.index??Ne(e.origins);try{let{intents:s,hidden:c,groups:r,visible:l}=eo(e,n,t),a=new Map;for(let[u,f]of r)a.set(u,Qn(e,n,u,f,c,s,l,r));return{sources:a,list:[...a.values()].sort(Zn),intents:s}}finally{t.index||n.dispose()}}function Hs(e,t={}){let n=t.index??Ne(e.origins);try{let{intents:s,hidden:c,groups:r,visible:l}=eo(e,n,t),a=[];for(let[u,f]of r){if(!f.some(I=>c.has(I.key)&&Zo(I,c.get(I.key))))continue;let g=Qn(e,n,u,f,c,s,l,r);g.recoverable&&a.push(g)}return{list:a.sort(Zn),intents:s}}finally{t.index||n.dispose()}}export{Ne as a,es as b,fo as c,ts as d,Et as e,ut as f,yn as g,ys as h,ms as i,at as j,Ie as k,it as l,go as m,as as n,te as o,dn as p,fs as q,Mo as r,In as s,$o as t,Ss as u,Kt as v,En as w,js as x,Es as y,Jt as z,Vt as A,qn as B,mt as C,Bn as D,Fo as E,Ps as F,Gs as G,Nn as H,qs as I,Ws as J,ae as K,Dt as L,Uo as M,Un as N,Dn as O,_t as P,Xo as Q,Xs as R,Hs as S,_n as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b}from"./c-
|
|
1
|
+
import{b}from"./c-MVVEIJUU.js";import{a as T,d as h}from"./c-IW6GGOU2.js";import{b as y}from"./c-HAWFNBYG.js";import{o as d}from"./c-LAKBBJOU.js";import{ea as s,ha as m,ia as p,ja as g}from"./c-OH2FPYSY.js";import{a as c}from"./c-TCCA5BZN.js";import{r as f}from"./c-UW6MMZ4V.js";var x="article[data-blockeditor]",S=/^blockeditor(\.[0-9]+)?$/;function k(t){return[...t.querySelectorAll('script[merge][clay~="live"]')].filter(e=>S.test(e.getAttribute("merge")))}var a=null;function v(t){let e=t.join("\0");if(a&&a.key===e)return a;let r=t.map(i=>{try{return c(i)}catch{throw new d("invalid-json","Cannot read the page data as JSON")}}),n=b(r),o=s(n);return a={key:e,html:g(o,{fallbackOf:i=>{let u=n[i]?.artifact?.fallbackHtml;return typeof u=="string"?u:""},clean:p(document)}),rev:m(o),model:o,title:y(o)},a}function O(t){let e=t.querySelector(x);if(!e)return;let r=k(t);if(!r.length)return;let{html:n,rev:o,title:l}=v(r.map(i=>i.textContent));e.innerHTML!==n&&(e.innerHTML=n),e.setAttribute("data-rev",o),T(t)||h(t,l)}function A(t){let e=k(t);if(e.length!==1)return null;let r;try{r=c(e[0].textContent)}catch{return null}let{v:n,g:o,y:l}=r??{};return n!==1||!l||typeof l!="object"||Array.isArray(l)?null:{v:n,g:o,y:{...l}}}function M(t){return v([typeof t=="string"?t:JSON.stringify(t)]).html}function D(t){if(typeof t!="string")return null;try{let e=new DOMParser().parseFromString(t,"text/html"),r=A(e),n=e.querySelector(x);if(!r||!n)return null;let o=e.createElement("article");return o.innerHTML=M(r),n.innerHTML===o.innerHTML?r:null}catch{return null}}f(O,{required:!0});export{x as a,k as b,v as c,A as d,M as e,D as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as L}from"./c-
|
|
1
|
+
import{b as L}from"./c-MVVEIJUU.js";import{E as C,F as D,H as F,W as H,aa as I,ea as k,fa as E,ha as j,ia as P,ja as B,na as v,t as q}from"./c-OH2FPYSY.js";import{a as A,e as T}from"./c-RETTCOWO.js";var N="blockeditor-adopt",z=(d,e)=>E(d)===E(e),M=({id:d,parent:e,...n})=>({...n,parent:e??null});function Y(d,e,n=k(d)){let i=n,r=new Map(i.map(o=>[o.id,o])),c=new Map(e.map(o=>[o.id,o])),l=new Map,s=new Map;for(let o of e){let w=r.get(o.id);w?z(M(w),M(o))||l.set(o.id,o):s.set(o.id,o)}let a=i.filter(o=>!c.has(o.id)).map(o=>o.id),u=e.filter(o=>r.has(o.id)).map(o=>o.id),p=i.filter(o=>c.has(o.id)).map(o=>o.id),h=u.some((o,w)=>o!==p[w]);return!l.size&&!s.size&&!a.length&&!h?null:{edited:l,created:s,deleted:a,order:e.map(o=>o.id),reordered:h,base:r}}function y(d,e,n,i=r=>r){let r=d.map(s=>({id:s.id,pos:e?.[s.id]?.pos??null})),c=F(r,n),l={};return d.forEach((s,a)=>{l[s.id]=i({...s,pos:c[a]?c[a].pos:r[a].pos})}),l}function Q(d,e){let{id:n,t:i,...r}=d,c={t:i,pos:e?.pos??null};if(Object.assign(c,r),i==="table"&&!r.rows.length&&r.cols.length&&(r.rows=[{id:`r-${n}`,cells:{}}]),i==="table"&&(c.cols=y(r.cols,e?.cols,"c",({id:l,...s})=>s),c.rows=y(r.rows,e?.rows,"r",({id:l,cells:s,pos:a})=>({pos:a,cells:s}))),i==="board"){c.columns=y(r.columns,e?.columns,"c",({id:a,...u})=>u);let l={},s=new Map;for(let a of r.cards)(s.get(a.col)??s.set(a.col,[]).get(a.col)).push(a);for(let a of s.values())Object.assign(l,y(a,e?.cards,"k",({id:u,...p})=>p));c.cards=l}return c}var R=(d,e,n)=>{let{t:i,pos:r,c,m:l,...s}=n,a=typeof c=="string"&&c?q(d,c,I(l,c.length),d.nodes.opaque_block):null;return d.nodes.opaque_block.create({id:e,pos:r,raw:{t:i,...s}},a)},U=d=>Object.fromEntries(Object.entries(d).map(([e,n])=>{if(n.t!=="opaque_block")return[e,n];let{t:i,raw:r,...c}=n,{t:l,...s}=r??{};return[e,{t:l??"paragraph",pos:n.pos,...s,...c}]}));function b(d,e){let n=null;return d.forEach((i,r)=>{!n&&i.attrs.id===e&&(n={node:i,pos:r})}),n}function V(d,e){let n=d.filter(s=>e.has(s)),i=[],r=[],c=new Array(n.length).fill(-1);n.forEach((s,a)=>{let u=e.get(s),p=0,h=i.length;for(;p<h;){let o=p+h>>1;i[o]<u?p=o+1:h=o}p>0&&(c[a]=r[p-1]),i[p]=u,r[p]=a});let l=new Set;for(let s=r[i.length-1]??-1;s>=0;s=c[s])l.add(n[s]);return l}function W(d,e,n){let{node:i,pos:r}=b(d.doc,e),c={...n.attrs,id:i.attrs.id,pos:i.attrs.pos};if(i.isTextblock&&n.isTextblock&&n.type.validContent(i.content)){(i.type!==n.type||!z(i.attrs,c))&&d.setNodeMarkup(r,n.type,c);let l=b(d.doc,e).node,s=l.content.findDiffStart(n.content);if(s==null)return;let{a,b:u}=l.content.findDiffEnd(n.content),p=s-Math.min(a,u);p>0&&(a+=p,u+=p),d.replace(r+1+s,r+1+a,new A.Slice(n.content.cut(s,u),0,0));return}d.replaceWith(r,r+i.nodeSize,n.type.create(c,n.content,n.marks))}function Z(d,e){if(!e)return null;let n=d.schema,i=d.doc,r=U(C(i)),c=d.tr,l=new Map(k(r).map(t=>[t.id,t])),s={};for(let t of[...e.edited.keys(),...e.deleted]){let f=e.base.get(t),m=l.get(t);f&&m&&!z(M(f),M(m))&&(s[t]=r[t])}let a=(t,f)=>{let m=Q(f,r[t]);return Object.hasOwn(H,f.t)?D(n,t,m):R(n,t,m)},u=e.base.size?[]:Object.keys(r).filter(t=>r[t].t==="paragraph"&&!r[t].c&&!e.order.includes(t));for(let t of e.deleted){let f=b(c.doc,t);f&&c.delete(f.pos,f.pos+f.node.nodeSize)}let p=[];c.doc.forEach(t=>p.push(t.attrs.id));let h=new Set(e.order),o=e.order.filter(t=>!e.deleted.includes(t));e.reordered?p.forEach((t,f)=>{if(h.has(t))return;let m=p.slice(0,f).reverse().find(g=>o.includes(g));o.splice(m?o.indexOf(m)+1:0,0,t)}):(o=p.slice(),e.order.forEach((t,f)=>{if(!e.created.has(t)||o.includes(t))return;let m=f-1;for(;m>=0&&!o.includes(e.order[m]);)m--;o.splice(m>=0?o.indexOf(e.order[m])+1:0,0,t)}));let w=new Map(p.map((t,f)=>[t,f]));o=o.filter(t=>w.has(t)||e.edited.has(t)||e.created.has(t));let O=V(o,w),_=new Map;for(let t of p.slice().reverse()){if(O.has(t)||!o.includes(t))continue;let f=b(c.doc,t);_.set(t,f.node),c.delete(f.pos,f.pos+f.node.nodeSize)}let S=0;for(let t of o){if(O.has(t)){let g=b(c.doc,t);S=g.pos+g.node.nodeSize;continue}let f=e.edited.get(t)||e.created.get(t),m=f?a(t,f):_.get(t);c.insert(S,m),S+=m.nodeSize}for(let[t,f]of[...e.edited,...e.created])O.has(t)&&W(c,t,a(t,f));for(let t of u){let f=b(c.doc,t);f&&c.doc.childCount>1&&c.delete(f.pos,f.pos+f.node.nodeSize)}return c.docChanged?T.closeHistory(c).setMeta(N,{displaced:s}):null}function $(d,e,n=""){let i=k(d),r=new Map(i.map(s=>[s.id,s])),c=s=>typeof d[s]?.artifact?.fallbackHtml=="string"?d[s].artifact.fallbackHtml:"",l=e.createElement("article");return l.innerHTML=B(i,{fallbackOf:c,clean:P(e)}),v(l,{seed:n,known:r})}function ee(d,e){let n=d.getAttribute("data-rev"),i=L(e),r=k(i),c=new Map(r.map(h=>[h.id,h])),l=n??"",s=v(d,{seed:l,known:c}),a=j(s);if(n&&a===n)return{kind:"untouched"};let u=j(r);if(n&&u!==n)return{kind:"unbased",A:a,R:n,T:u};if(!n){let h=new Set(s.map(o=>o.id));if(!r.every(o=>h.has(o.id)))return{kind:"unbased",A:a,R:n,T:u}}let p=$(i,d.ownerDocument,l);return{kind:"adopt",base:i,parsed:s,baseItems:p,A:a}}export{N as a,Y as b,Q as c,U as d,Z as e,$ as f,ee as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C as B,K as j,L as P,T as V,o as l,p as T,s as I,w as $}from"./c-LAKBBJOU.js";import{f as J,g as k,h as v,i as K,p as R,q as b}from"./c-EIUKME3W.js";import{A as F,B as Y,C as w,s as h,y as C,z as A}from"./c-WHQUZM2V.js";import{S as x,T as _,W as E,ba as U,ca as D,d as O,j as M,o as N}from"./c-OH2FPYSY.js";var y=t=>t&&typeof t=="object"?JSON.parse(JSON.stringify(t)):t,p=t=>{throw new l("unsupported-content",t)},H=t=>{if(t._map){for(let e of t._map.values())if(!e.deleted)return!0}for(let e=t._start;e;e=e.right)if(!e.deleted)return!0;return!1},f=t=>{throw new l("invalid-content",t)},G={span:["length","sourceClient","sourceClock"],alias:["sourceClient","sourceClock"],boundary:["blockId","kind","recoveryOf"]},Q=["copy","removed","restore"],u=t=>Number.isSafeInteger(t)&&t>=0,W=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),S=(t,e)=>`${t}.${e}`,q=t=>JSON.stringify([t.blockId,t.kind,t.recoveryOf??null]),X=(t,e)=>{try{return M({[b(t)]:e}),!0}catch{return!1}};function Z(t){t.flow._map.size&&p("The page flow must contain text and block markers");for(let e=t.flow._start;e;e=e.right){if(e.deleted)continue;let r=e.content;if(!(r instanceof Y)){if(r instanceof F){r.value!==null&&!Object.hasOwn(O.marks,b(r.key))&&!X(r.key,r.value)&&p(`Unsupported page mark: ${r.key}`);continue}if(r instanceof A){let o=r.embed;if(o&&Object.keys(o).length===1&&(typeof o.b=="string"&&o.b||o.br===1))continue}p("Unsupported content in the page flow")}}for(let[e,r]of t.attrs)r instanceof C||p(`Unsupported attributes for page block: ${e}`)}var m=(t,e)=>{let r=typeof e=="string"?j(e):e;if(!r)return!1;let o;try{o=h(t.ydoc.store,r)}catch{return!1}return o instanceof w&&o.parent===t.flow&&o.id.clock<=r.clock&&r.clock<o.id.clock+o.length},ee=t=>t.charCodeAt(0)===91?JSON.parse(t)[1]:t;function te(t){let e;try{e=P(t.gone,{strict:!0})}catch(o){throw o instanceof B?new l("invalid-content",o.message):o}for(let o of e.textDeletes){let a=h(t.ydoc.store,{client:o.client,clock:o.clock});if(!(a instanceof w)||a.parent!==t.flow||a.id.clock>o.clock||o.clock+o.length>a.id.clock+a.length)throw new l("invalid-content",`Invalid text-delete record: ${o.key}`)}let r=o=>{throw new l("invalid-content",o)};for(let o of e.removals)m(t,o.source)||r(`Invalid removal source: ${o.key}`),o.end!==null&&!m(t,o.end)&&r(`Invalid removal end: ${o.key}`);for(let o of e.restores){m(t,o.sourceKey)||r(`Invalid restore source: ${o.key}`);for(let a of o.covers)m(t,ee(a))||r(`Invalid restore cover: ${o.key}`)}for(let o of e.copyActive)m(t,o)||r(`Invalid copy-active record: ${o}`);for(let o of e.attrs.keys())m(t,o)||r(`Invalid attribute override: ${o}`)}function oe(t){let e=new Map,r=new Map,o=(s,n,c)=>{W(s)||f(`Invalid origin record: ${c}`);for(let i of Object.keys(s))n.includes(i)||f(`Unsupported origin field ${i} in ${c}`)};for(let[s,n]of t.origins){(typeof s!="string"||s.charCodeAt(0)!==91)&&f(`Malformed origin key: ${s}`);let c=null;try{c=JSON.parse(s)}catch{f(`Malformed origin key: ${s}`)}(!Array.isArray(c)||typeof c[0]!="string")&&f(`Malformed origin key: ${s}`);let i=c[0];if(i==="author"){(c.length!==2||!u(c[1]))&&f(`Malformed origin key: ${s}`),(typeof n!="string"||!n)&&f(`Invalid author record: ${s}`);continue}if(Object.hasOwn(G,i)||p(`Unsupported origin record: ${s}`),(c.length!==3||!u(c[1])||!u(c[2]))&&f(`Malformed origin key: ${s}`),o(n,G[i],s),i==="span"){(!Number.isSafeInteger(n.length)||n.length<1||!u(n.sourceClient)||!u(n.sourceClock)||!u(n.sourceClock+n.length-1))&&f(`Invalid span record: ${s}`);continue}if(i==="alias"){(!u(n.sourceClient)||!u(n.sourceClock))&&f(`Invalid alias record: ${s}`),e.set(S(c[1],c[2]),{client:n.sourceClient,clock:n.sourceClock});continue}(typeof n.blockId!="string"||!n.blockId||!Q.includes(n.kind))&&f(`Invalid boundary record: ${s}`),n.recoveryOf!==void 0&&!j(n.recoveryOf)&&f(`Invalid boundary record: ${s}`),r.set(S(c[1],c[2]),n)}let a=new Map;for(let[s,n]of r){let c=s,i=new Set;for(;!i.has(c);){i.add(c);let g=e.get(c);if(!g)break;c=S(g.client,g.clock)}i.has(c)&&e.has(c)&&f(`Cyclic boundary alias: ${s}`);let d=a.get(c);d&&q(d)!==q(n)&&f(`Conflicting boundary values: ${s}`),a.set(c,n)}}function L(t){let e="",r=[];for(let a of t.runs)if(!a.hole)if(a.br)t.t==="code_block"&&p("A code block cannot contain a hard-break atom"),e+=x,r.push(_);else{e+=a.text;let s=N([...a.marks].sort((n,c)=>n.type.rank-c.type.rank));for(let n=0;n<a.text.length;n++)r.push(s)}let o={c:e};return r.some(Boolean)&&(o.m=U(r)),o}var z=(t,e)=>t.fields?Object.entries(t.fields):e?e.entries():[];function ne(t,e,r){let o=t.attrs.get(e.baseId),a={t:e.t,pos:String(r+1).padStart(8,"0")};for(let[s,n]of z(e,o))s!=="t"&&s!=="pos"&&(a[s]=y(n));return Object.assign(a,L(e))}function re(t,e,r){if(!Object.hasOwn(E,e.t))return(typeof e.t!="string"||!e.t||e.t==="opaque_block")&&p(`Unsupported page block type: ${e.t}`),ne(t,e,r);let o=O.nodes[e.t],a=t.attrs.get(e.baseId),s=e.t==="table"&&!e.fields?I(t.tableFields,e.baseId,{cols:a?.get("cols"),rows:a?.get("rows")}):null,n={t:e.t,pos:String(r+1).padStart(8,"0")};for(let i of k(o)){if(e.t==="board"&&(i==="columns"||i==="cards"))continue;let d=e.fields?e.fields[i]:s&&(i==="cols"||i==="rows")?s[i]:a?.has(i)?a.get(i):v(o,i);K(d,v(o,i))||(n[i]=y(d))}e.t==="table"&&(n.rows=y((e.fields?e.fields.rows:s.rows)??{})),e.t==="board"&&Object.assign(n,e.fields?{columns:y(e.fields.columns??{}),cards:y(e.fields.cards??{})}:$(t.boardFields,e.baseId));let c=new Set(k(o));for(let[i,d]of z(e,a))i==="t"||i==="pos"||c.has(i)||Object.hasOwn(n,i)||(n[i]=y(d));return o.isTextblock&&Object.assign(n,L(e)),n}function ie(t){let e=T(t,{strict:!0});try{for(let[n,c]of e.share)!J.includes(n)&&H(c)&&p(`Unsupported page root: ${n}`);let r=R(e);Z(r),$(r.boardFields),I(r.tableFields),te(r),oe(r);let o=V(r).visible,a=new Set(o.filter(n=>!n.implicit).map(n=>n.id)),s=new Set;return Object.fromEntries(o.map((n,c)=>{let i=n.id;if(s.has(i)||n.implicit&&a.has(i)){let d=2;do i=`${n.id}~${d++}`;while(s.has(i)||a.has(i))}return s.add(i),[i,re(r,n,c)]}))}catch(r){throw r instanceof l?r:new l("invalid-content",`Invalid Yjs page content: ${r.message}`)}finally{e.destroy()}}function we(t){if(t.some(e=>!e||typeof e!="object"||Array.isArray(e)))throw new l("invalid-value","Expected a page data object");if(!t.some(e=>Object.hasOwn(e,"y")||Object.hasOwn(e,"v")))return D(t);if(t.length!==1||Object.hasOwn(t[0],"blocks")||Object.hasOwn(t[0],"deleted"))throw new l("invalid-value","A Yjs page must have one page tag without hybrid block data");return ie(t[0])}export{ie as a,we as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var o={table:{types:["table"],views:["table","table_cell"],module:"page/features/table.js",load:()=>import("./c-
|
|
1
|
+
var o={table:{types:["table"],views:["table","table_cell"],module:"page/features/table.js",load:()=>import("./c-SPOEDIMP.js")},board:{types:["board"],module:"page/features/board.js",load:()=>import("./c-XHD7XJTE.js")},chart:{types:["chart"],views:["chart"],module:"page/features/chart.js",load:()=>import("./c-42WBOKFM.js")},checklist:{types:[],views:[],match:e=>e.type.name==="list_item"&&e.attrs.kind==="check",module:"page/features/checklist.js",load:()=>import("./c-QA3Q3MDI.js")},code:{types:["code_block"],module:"page/features/code.js",load:()=>import("./c-EYFMAR3M.js")},toc:{types:["toc"],module:"page/features/toc.js",load:()=>import("./c-TJ5PFOJ2.js")},titleIcon:{types:[],views:["heading"],match:e=>e.attrs.pageIcon!=null||e.attrs.pageCoverSrc!=null,module:"page/features/title-icon.js",load:()=>import("./c-2SUFMUZX.js")},media:{types:["image","file"],module:"page/features/media.js",load:()=>import("./c-PWILUN4T.js")},tool:{types:["tool"],module:"page/features/tool.js",boot:["page/tools.js","page/tool-data.js"],load:()=>import("./c-V4DBV5ZV.js")}},r=e=>Object.keys(o).find(t=>o[t].types.includes(e))??null,s=e=>{for(let t of Object.keys(o)){let a=o[t];if(a.match?a.match(e):a.types.includes(e.type.name))return t}return null},l={mentions:{module:"page/features/mentions.js",load:()=>import("./c-ABOBD7F3.js")},dates:{module:"page/features/dates.js",load:()=>import("./c-4TP3UXBT.js")},emoji:{module:"page/features/emoji.js",load:()=>import("./c-QKOKMQXA.js")},titleIcon:{module:"page/features/title-icon.js",load:()=>import("./c-2SUFMUZX.js")},titleCover:{module:"page/features/title-cover.js",load:()=>import("./c-NNHNXD6M.js")},exportHtml:{module:"page/features/export-html.js",load:()=>import("./c-65LJU2H2.js")},importMarkdown:{module:"page/features/import-markdown.js",load:()=>import("./c-XONFK3WC.js")},exportMarkdown:{module:"page/features/export-markdown.js",load:()=>import("./c-XB6EAIAR.js")}};export{o as a,r as b,s as c,l as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{D as g,g as u,i as a,j as d,u as p}from"./c-WHQUZM2V.js";function l(e){for(let[o,s]of e){s.sort((n,t)=>n[0]-t[0]);let r=[];for(let n of s){let t=r[r.length-1];t&&n[0]<=t[1]?n[1]>t[1]&&(t[1]=n[1]):r.push([n[0],n[1]])}e.set(o,r)}return e}var i=(e,o,s,r)=>{if(r<=s)return;let n=e.get(o);n?n.push([s,r]):e.set(o,[[s,r]])};function k(e){let{structs:o,ds:s}=p(e),r=new Map;for(let t of o)t instanceof g||i(r,t.id.client,t.id.clock,t.id.clock+t.length);let n=new Map;for(let[t,c]of s.clients)for(let{clock:f,len:w}of c)i(n,t,f,f+w);return{items:l(r),deletes:l(n)}}function y(e){if(e.length===1)return e[0];let o=new Map,s=new Map;for(let r of e){for(let[n,t]of r.items)for(let[c,f]of t)i(o,n,c,f);for(let[n,t]of r.deletes)for(let[c,f]of t)i(s,n,c,f)}return{items:l(o),deletes:l(s)}}function m(e,o,s){if(!e)return!1;let r=0,n=e.length-1;for(;r<=n;){let t=r+n>>1,c=e[t];if(o<c[0])n=t-1;else if(o>=c[1])r=t+1;else return s<=c[1]}return!1}function M(e,o){if(e.complete===!1)return!1;for(let[s,r]of o.items)for(let[n,t]of r)if(!m(e.items.get(s),n,t))return!1;for(let[s,r]of o.deletes)for(let[n,t]of r)if(!m(e.deletes.get(s),n,t))return!1;return!0}function x(e){if(e.store.pendingStructs||e.store.pendingDs)return{complete:!1};let o=new Map;for(let[r,n]of e.store.clients){let t=n[n.length-1];i(o,r,0,t.id.clock+t.length)}let s=new Map;for(let[r,n]of u(e.store).clients)for(let{clock:t,len:c}of n)i(s,r,t,t+c);return{complete:!0,items:o,deletes:l(s)}}function S(e){let o=new a({gc:!1});try{for(let s of e)d(o,s);return x(o)}finally{o.destroy()}}var h=new WeakMap;function O(e,o=null){let s=h.get(e);return s||(s=o?x(o):S([e]),h.set(e,s)),s}function U(e,o){return e.complete!==!1&&M(e,k(o))}export{k as a,y as b,M as c,x as d,O as e,U as f};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as F,c as M}from"./c-
|
|
1
|
+
import{b as F,c as M}from"./c-DZT6W2NG.js";import{C as N,d as $}from"./c-3XGLJAS7.js";import{A,b as X,c as Y,d as w,x as U}from"./c-OH2FPYSY.js";import{b as P}from"./c-QY7F6EN6.js";import"./c-RETTCOWO.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var y=5;function v(n){let u=0;for(let i=0;i<n.childCount;i++){let s=n.child(i);if(s.type===w.nodes.heading&&s.attrs.level===1&&s.attrs.parent==null)return{index:i,at:u,node:s};u+=s.nodeSize}return null}var O=`
|
|
2
2
|
:host{font:inherit !important;color:inherit !important}
|
|
3
3
|
.blockeditor-cover-panel{display:flex;align-items:center;gap:8px;margin:8px 0;padding:6px 10px;border:1px solid var(--blockeditor-pop-line);border-radius:8px;background:var(--blockeditor-pop-bg);color:var(--blockeditor-pop-ink);box-shadow:var(--blockeditor-pop-shadow);font-size:.88em}
|
|
4
4
|
.blockeditor-cover-msg{max-width:34ch}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./c-VHNSBD2M.js";var l=(e,n)=>Object.assign(new Error(`clayjs: ${e}`),{code:n}),u=(e,n)=>!e||n.seq===null||e.seq===null||n.seq>e.seq?n:e;function a({stream:e,apply:n,retire:f,yieldArticle:i=()=>!1,reclaimArticle:s=()=>!1}){let t=null,r=!1;e.adopt({onSnapshot:o=>(t=u(t,o),!0)});let d=()=>{let o=t;return t=null,o};return{get represented(){return e.represented},get held(){return t??e.represented},yieldArticle(){return r||!i()?!1:(r=!0,!0)},reclaimArticle(){return!r||!s()?!1:(r=!1,!0)},reconcile(){let o=d();return o&&!n(o)?Promise.reject(l("the switch could not apply the saved file","load-failed")):Promise.resolve()},resume(){e.adopt({onSnapshot:n});let o=d();o&&n(o)},commit(){if(!r){let o=d();if(o&&!n(o))return!1}return e.represented.bytes===null?!1:(e.stop(),f())}}}async function c({stream:e,options:n,apply:f,retire:i,yieldArticle:s=()=>!1,reclaimArticle:t=()=>!1}){if(e)return a({stream:e,apply:f,retire:i,yieldArticle:s,reclaimArticle:t});let r=await import("./sync/live-sync-
|
|
1
|
+
import"./c-VHNSBD2M.js";var l=(e,n)=>Object.assign(new Error(`clayjs: ${e}`),{code:n}),u=(e,n)=>!e||n.seq===null||e.seq===null||n.seq>e.seq?n:e;function a({stream:e,apply:n,retire:f,yieldArticle:i=()=>!1,reclaimArticle:s=()=>!1}){let t=null,r=!1;e.adopt({onSnapshot:o=>(t=u(t,o),!0)});let d=()=>{let o=t;return t=null,o};return{get represented(){return e.represented},get held(){return t??e.represented},yieldArticle(){return r||!i()?!1:(r=!0,!0)},reclaimArticle(){return!r||!s()?!1:(r=!1,!0)},reconcile(){let o=d();return o&&!n(o)?Promise.reject(l("the switch could not apply the saved file","load-failed")):Promise.resolve()},resume(){e.adopt({onSnapshot:n});let o=d();o&&n(o)},commit(){if(!r){let o=d();if(o&&!n(o))return!1}return e.represented.bytes===null?!1:(e.stop(),f())}}}async function c({stream:e,options:n,apply:f,retire:i,yieldArticle:s=()=>!1,reclaimArticle:t=()=>!1}){if(e)return a({stream:e,apply:f,retire:i,yieldArticle:s,reclaimArticle:t});let r=await import("./sync/live-sync-RZQSDMZW.js").then(({liveSync:d})=>d.prepareHandoff(n));return{get represented(){return r.represented},get held(){return r.held},yieldArticle:s,reclaimArticle:t,reconcile:()=>r.reconcile(),resume:()=>r.resume(),commit:()=>r.commit()&&i()}}async function p(e,{signal:n,deadline:f=15e3}={}){let i=Date.now()+f;for(;e._morphInFlight;){if(n?.aborted)throw e._handoffHeld=!1,l("the switch was cancelled","aborted");if(Date.now()>=i)throw e._handoffHeld=!1,l("the apply did not settle","timeout");await new Promise(t=>setTimeout(t,1))}let s=()=>e._pendingHtml!=null||e._pendingExternal!=null;return{get represented(){return e._represented},get held(){let t=e._represented;return e._pendingHtml!=null&&(t=u(t,{bytes:e._pendingHtml,etag:e._pendingEtag??null,seq:e._pendingSeq??null})),e._pendingExternal&&(t=u(t,{bytes:e._pendingExternal.html,etag:e._pendingExternal.etag??null,seq:e._pendingExternal.seq??null})),t},async reconcile(){if(!(!e._handoff||e.isDestroyed)){for(let t=0;t<8;t++){if(e._morphInFlight){await new Promise(r=>setTimeout(r,1));continue}if(!s())return;await e._runPending()}if(s())throw l("the held frame could not be applied","load-failed")}},resume(){e._handoff&&(e._handoff=null,e._handoffHeld=!1,e._scheduleNextFrame())},commit(){return e._represented.bytes?(e._handoff=null,e._handoffHeld=!1,e.stop(),!0):!1}}}export{p as engineHandoff,c as readerHandoff};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as L,c as u,d as m,e as C,g as D,h as B,i as d,j as S,k as $,l as k,m as P}from"./c-
|
|
1
|
+
import{a as L,c as u,d as m,e as C,g as D,h as B,i as d,j as S,k as $,l as k,m as P}from"./c-DZT6W2NG.js";import{C as h,d as N}from"./c-3XGLJAS7.js";import{a as M,d as A}from"./c-OH2FPYSY.js";import{c as R}from"./c-FSQXFG5T.js";import{d as y}from"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var c=new WeakMap;var{Decoration:U,DecorationSet:F}=y,at=A.nodes,H=new Set(["timeout","network","error","bad-response"]),I=`
|
|
2
2
|
.blockeditor-editor .blockeditor-image { margin-inline: 0; }
|
|
3
3
|
.blockeditor-image-frame { position: relative; margin: 0 auto; max-width: 100%; }
|
|
4
4
|
.blockeditor-image-frame img { display: block; width: 100%; height: auto; border-radius: var(--blockeditor-image-radius, 6px); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as J}from"./c-3Y234AUB.js";import{d as F}from"./c-OH2FPYSY.js";import{c as z}from"./c-FSQXFG5T.js";import{d as _}from"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var{Decoration:tt,DecorationSet:et}=_,a=(e,o,n,t={},r=null)=>{let l=e.createElement(o);n&&(l.className=n);for(let[s,i]of Object.entries(t))i!=null&&i!==!1&&l.setAttribute(s,i===!0?"":String(i));return r!==null&&(l.textContent=r),l},ot=(e,o)=>a(e,"span","blockeditor-board-face",{"aria-hidden":"true"},([...String(o).trim()][0]??"?").toUpperCase());function I(e,o){let n=null;return e.state.doc.forEach((t,r)=>{t.attrs.id===o&&t.type===F.nodes.list_item&&t.attrs.kind==="check"&&(n={node:t,pos:r})}),n}function X(e,o,n,t){let r=I(e,o);r&&e.dispatch(J(e.state.tr.setNodeMarkup(r.pos,null,{...r.node.attrs,[n]:t||null})))}var L={person:'<circle cx="8" cy="5.4" r="2.3"/><path d="M3.6 13.2c.6-2.1 2.2-3.3 4.4-3.3s3.8 1.2 4.4 3.3"/>',calendar:'<rect x="2.5" y="3.5" width="11" height="10"/><path d="M2.5 6.8h11M5.5 2v2.4M10.5 2v2.4"/>',clock:'<circle cx="8" cy="8" r="5.5"/><path d="M8 4.8v3.4l2.3 1.4"/>',tick:'<path d="M3.5 8.3l3 3 6-6.2"/>',plus:'<path d="M8 3.5v9M3.5 8h9"/>',clear:'<path d="M4.8 4.8l6.4 6.4M11.2 4.8l-6.4 6.4"/>',"chevron-left":'<path d="M9.8 3.6L5.4 8l4.4 4.4"/>',"chevron-right":'<path d="M6.2 3.6L10.6 8l-4.4 4.4"/>'};function q(e,o){let n=e.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("viewBox","0 0 16 16"),n.setAttribute("width","14"),n.setAttribute("height","14"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","1.5"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true"),n.innerHTML=o,n}var Z=e=>String(e).padStart(2,"0"),B=/^\d{4}-\d{2}-\d{2}$/,S=(e=new Date)=>`${e.getFullYear()}-${Z(e.getMonth()+1)}-${Z(e.getDate())}`,nt=e=>{let o=new Date(`${e}T00:00:00Z`);return o.setUTCDate(o.getUTCDate()+1),o.toISOString().slice(0,10)};function rt(e,o){if(!e)return"No date";if(!B.test(e))return e;if(e===o)return"Today";if(e===nt(o))return"Tomorrow";let n=e.slice(0,4)===o.slice(0,4);return new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{month:"short",day:"numeric",...n?{}:{year:"numeric"},timeZone:"UTC"})}function j(e,{name:o,paths:n,label:t,aria:r,filled:l,overdue:s=!1}){let i=a(e,"button","blockeditor-check-chip",{type:"button","data-check":o,"data-filled":String(l),"data-overdue":s?"true":null,"aria-expanded":"false","aria-label":r});return i.append(q(e,n),a(e,"span","blockeditor-check-chip-label",{},t)),i}var N=null;function G(e,o,{className:n,label:t,check:r,onKey:l=null}){let s=o.ownerDocument,i=s.defaultView;N&&N.close();for(let d of s.querySelectorAll(".blockeditor-check-popup"))d.remove();let y=e.dom.parentNode,h=["relative","absolute","fixed","sticky"].includes(i?.getComputedStyle?.(y)?.position??""),k=y&&h?y:s.body,f=a(s,"div",`blockeditor-check-popup ${n}`,{role:"dialog","aria-label":t,"data-check":r}),A=!1,E=()=>{let d=o.getBoundingClientRect(),c=k===s.body?{top:-(i?.scrollY??0),left:-(i?.scrollX??0)}:k.getBoundingClientRect(),p=f.getBoundingClientRect(),u=p.width||Math.min(264,(i?.innerWidth||292)-28),b=(i?.innerHeight??0)-d.bottom-2,g=p.height>0&&b<p.height;f.style.left=`${Math.round(d.right-u-c.left)}px`,f.style.top=`${Math.round((g?d.top-p.height-2:d.bottom+2)-c.top)}px`},C=d=>{if(!f.isConnected)return w();f.contains(d.target)||o.contains(d.target)||w()},w=({focusAnchor:d=!1}={})=>{if(A)return;A=!0,s.removeEventListener("mousedown",C,!0),i?.removeEventListener("resize",E),i?.removeEventListener("scroll",E,!0),N?.panel===f&&(N=null),f.remove(),o.setAttribute("aria-expanded","false");let c=o.dataset.fromKeys==="true";delete o.dataset.fromKeys,d&&c?e.focus():d&&o.focus()};return f.addEventListener("keydown",d=>{if(d.stopPropagation(),d.key==="Escape"){d.preventDefault(),w({focusAnchor:!0});return}l?.(d,f)}),k.append(f),o.setAttribute("aria-expanded","true"),N={panel:f,close:()=>w()},s.addEventListener("mousedown",C,!0),i?.addEventListener("resize",E),i?.addEventListener("scroll",E,!0),{panel:f,close:w,place:E}}function ct(e,o){let n=new Map;e.state.doc.forEach(t=>{if(t.type!==F.nodes.list_item||t.attrs.kind!=="check")return;let r=String(t.attrs.owner??"").trim();if(!r)return;let l=r.toLowerCase(),s=n.get(l)??{name:r,count:0};s.count+=1,n.set(l,s)});for(let t of o??[]){let r=String((typeof t=="string"?t:t?.name)??"").trim();r&&!n.has(r.toLowerCase())&&n.set(r.toLowerCase(),{name:r,count:0})}return[...n.values()].sort((t,r)=>t.name.localeCompare(r.name))}function at(e,o,n){let t=n.ownerDocument,r=I(e,o)?.node.attrs.owner||"",{panel:l,close:s,place:i}=G(e,n,{className:"blockeditor-check-owner",label:"Assignee",check:"owner-panel",onKey:(c,p)=>{if(c.key!=="ArrowDown"&&c.key!=="ArrowUp")return;c.preventDefault();let u=[...p.querySelectorAll("input, button:not([disabled])")],b=u.indexOf(t.activeElement),g=c.key==="ArrowDown"?1:-1;(b<0?g>0?u[0]:u[u.length-1]:u[(b+g+u.length)%u.length])?.focus()}}),y=a(t,"input","blockeditor-check-search",{type:"text",placeholder:"Find or type a name","aria-label":"Find or type a name"}),h=a(t,"div","blockeditor-check-people"),k=a(t,"button","blockeditor-check-person blockeditor-check-danger",{type:"button","data-check":"clear-owner"});k.append(q(t,L.clear),a(t,"span","blockeditor-check-person-name",{},"Remove assignee")),k.disabled=!r,k.addEventListener("click",()=>A(null)),l.append(y,a(t,"div","blockeditor-check-subhead",{},"People in this document"),h,a(t,"div","blockeditor-check-divider"),k);let f=[],A=c=>{s(),X(e,o,"owner",c)},E=(c,p)=>{let u=c.toLowerCase()===String(r).toLowerCase(),b=a(t,"button","blockeditor-check-person",{type:"button","data-check":"owner-option","data-name":c,"aria-pressed":String(u)});return b.append(ot(t,c),a(t,"span","blockeditor-check-person-name",{},c),a(t,"span","blockeditor-check-person-meta",{},`${p} ${p===1?"item":"items"}`)),u&&b.append(q(t,L.tick)),b.addEventListener("click",()=>A(c)),b},C=c=>{let p=a(t,"button","blockeditor-check-person",{type:"button","data-check":"owner-new","data-name":c}),u=a(t,"span","blockeditor-check-person-name",{},"Assign to ");return u.append(a(t,"strong",null,{},c)),p.append(q(t,L.plus),u,a(t,"span","blockeditor-check-person-meta",{},"New")),p.addEventListener("click",()=>A(c)),p},w=()=>{let c=y.value.trim(),p=c.toLowerCase(),u=ct(e,f),b=[];c&&!u.some(g=>g.name.toLowerCase()===p)&&b.push(C(c));for(let g of u)p&&!g.name.toLowerCase().includes(p)||b.push(E(g.name,g.count));h.replaceChildren(...b)};y.addEventListener("keydown",c=>{if(c.stopPropagation(),c.key==="Escape"){c.preventDefault(),s({focusAnchor:!0});return}c.key==="Enter"&&(c.preventDefault(),h.querySelector("button[data-check]")?.click())}),y.addEventListener("input",w),w(),i(),y.focus();let d=globalThis.clay?.people?.available;d&&Promise.resolve().then(()=>d()).then(c=>{!N||N.panel!==l||(f=Array.isArray(c)?c:[],w())}).catch(()=>{})}var st=["January","February","March","April","May","June","July","August","September","October","November","December"],$=(e,o,n)=>new Date(e,o,n),it=e=>e.toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"}),lt=e=>e.toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"}),W=e=>{if(!e||!B.test(e))return null;let[o,n,t]=e.split("-").map(Number);return $(o,n-1,t)};function dt(e,o,n){let t=n.ownerDocument,r=I(e,o)?.node.attrs.due||null,l=S(),s=new Date,i=$(s.getFullYear(),s.getMonth(),s.getDate()),y=W(r)??i,h=y.getFullYear(),k=y.getMonth(),{panel:f,close:A,place:E}=G(e,n,{className:"blockeditor-check-date",label:"Due date",check:"date-panel",onKey:(m,D)=>Q(m,D)}),C=m=>{A(),X(e,o,"due",m)},w=a(t,"div","blockeditor-check-quick"),d=(m,D)=>{let M=$(i.getFullYear(),i.getMonth(),i.getDate()+D),x=a(t,"button","blockeditor-check-quick-row",{type:"button","data-check":"date-quick","data-date":S(M)});return x.append(q(t,L.calendar),a(t,"span","blockeditor-check-quick-label",{},m),a(t,"span","blockeditor-check-quick-meta",{},it(M))),x.addEventListener("click",()=>C(S(M))),x};w.append(d("Today",0),d("Tomorrow",1),d("Next week",7));let c=a(t,"div","blockeditor-check-cal"),p=a(t,"div","blockeditor-check-cal-head"),u=a(t,"span","blockeditor-check-cal-month"),b=a(t,"span","blockeditor-check-cal-nav"),g=m=>{let D=$(h,k+m,1);h=D.getFullYear(),k=D.getMonth(),H()},U=a(t,"button","blockeditor-check-cal-btn",{type:"button","aria-label":"Previous month"}),O=a(t,"button","blockeditor-check-cal-btn",{type:"button","aria-label":"Next month"});U.append(q(t,L["chevron-left"])),O.append(q(t,L["chevron-right"])),U.addEventListener("click",()=>g(-1)),O.addEventListener("click",()=>g(1)),b.append(U,O),p.append(u,b);let Y=a(t,"div","blockeditor-check-cal-grid");c.append(p,Y);let H=()=>{u.replaceChildren(a(t,"span",null,{},`${st[k]} `),a(t,"span","blockeditor-check-cal-year",{},String(h)));let m=$(h,k,1),D=$(h,k+1,0).getDate(),M=Math.ceil((m.getDay()+D)/7)*7,x=["S","M","T","W","T","F","S"].map(v=>a(t,"span","blockeditor-check-cal-dow",{},v)),T=[];for(let v=0;v<M;v+=1){let P=$(h,k,1-m.getDay()+v),R=S(P),V=a(t,"button","blockeditor-check-cal-day",{type:"button","data-check":"date-day","data-date":R,"data-outside":String(P.getMonth()!==k),"data-today":String(R===l),"aria-pressed":String(R===r),"aria-label":lt(P)},String(P.getDate()));V.addEventListener("click",()=>C(R)),T.push(V)}Y.replaceChildren(...x,...T)},Q=(m,D)=>{let M=t.activeElement?.closest?.('[data-check="date-day"]');if(!M)return;if(m.key==="Enter"||m.key===" "){m.preventDefault(),M.click();return}let x={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[m.key];if(!x)return;m.preventDefault();let T=W(M.dataset.date),v=$(T.getFullYear(),T.getMonth(),T.getDate()+x);(v.getMonth()!==k||v.getFullYear()!==h)&&(h=v.getFullYear(),k=v.getMonth(),H()),D.querySelector(`[data-check="date-day"][data-date="${S(v)}"]`)?.focus()},K=a(t,"button","blockeditor-check-quick-row blockeditor-check-danger",{type:"button","data-check":"clear-date"});K.append(q(t,L.clear),a(t,"span","blockeditor-check-quick-label",{},"Clear date")),K.disabled=!r,K.addEventListener("click",()=>C(null)),f.append(w,c,a(t,"div","blockeditor-check-divider"),K),H(),E(),(Y.querySelector('[data-check="date-day"][aria-pressed="true"]')??Y.querySelector('[data-check="date-day"][data-today="true"]'))?.focus()}function ut(e,o){let n=e.dom.ownerDocument,t=n.createElement("span");t.className="blockeditor-check-controls",t.contentEditable="false",t.dataset.empty=String(!o.attrs.owner&&!o.attrs.due);let r=S(),l=o.attrs.owner||"Unassigned",s=j(n,{name:"owner",paths:L.person,label:l,aria:`Assignee: ${l}`,filled:!!o.attrs.owner}),i=rt(o.attrs.due,r),y=!!o.attrs.due&&!o.attrs.checked&&B.test(o.attrs.due)&&o.attrs.due<r,h=j(n,{name:"date",paths:y?L.clock:L.calendar,label:i,aria:`Due date: ${i}`,filled:!!o.attrs.due,overdue:y});return s.addEventListener("click",()=>at(e,o.attrs.id,s)),h.addEventListener("click",()=>dt(e,o.attrs.id,h)),t.append(s,h),t}function pt(e,o){let n=e.state.selection.$head;if(n.depth!==1||n.parent.type!==F.nodes.list_item||n.parent.attrs.kind!=="check")return!1;let t=n.parent.attrs.id,l=[...e.dom.querySelectorAll(".blockeditor-check-controls")].find(s=>s.dataset.item===t)?.querySelector(`[data-check="${o}"]`);return l?(l.dataset.fromKeys="true",l.click(),!0):!1}function ht(e){let o=[],n=S();return e.doc.forEach((t,r)=>{t.type!==F.nodes.list_item||t.attrs.kind!=="check"||o.push(tt.widget(r+t.nodeSize-1,l=>{let s=ut(l,t);return s.dataset.item=t.attrs.id,s},{key:`${t.attrs.id}:${t.attrs.owner}:${t.attrs.due}:${t.attrs.checked}:${n}`,side:-1,stopEvent:l=>!!l.target.closest?.(".blockeditor-check-chip, .blockeditor-check-popup"),ignoreSelection:!0}))}),et.create(e.doc,o)}function kt(e){let o=S(),n=()=>{e.isDestroyed||S()===o||(o=S(),e.dispatch(e.state.tr.setMeta("addToHistory",!1)))},t=e.dom.ownerDocument.defaultView,r=t.setInterval(n,6e4);return t.document.addEventListener("visibilitychange",n),()=>{t.clearInterval(r),t.document.removeEventListener("visibilitychange",n)}}function gt({view:e=null}={}){let o=e?z(e,{decorations:ht,focusControl:pt}):()=>{},n=e?kt(e):()=>{};return e&&!e.isDestroyed&&e.dispatch(e.state.tr.setMeta("addToHistory",!1)),{id:"checklist",dispose(){o(),n()}}}export{gt as createFeature,ht as decorations,pt as focusControl};
|
|
1
|
+
import{C as J}from"./c-3XGLJAS7.js";import{d as F}from"./c-OH2FPYSY.js";import{c as z}from"./c-FSQXFG5T.js";import{d as _}from"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var{Decoration:tt,DecorationSet:et}=_,a=(e,o,n,t={},r=null)=>{let l=e.createElement(o);n&&(l.className=n);for(let[s,i]of Object.entries(t))i!=null&&i!==!1&&l.setAttribute(s,i===!0?"":String(i));return r!==null&&(l.textContent=r),l},ot=(e,o)=>a(e,"span","blockeditor-board-face",{"aria-hidden":"true"},([...String(o).trim()][0]??"?").toUpperCase());function I(e,o){let n=null;return e.state.doc.forEach((t,r)=>{t.attrs.id===o&&t.type===F.nodes.list_item&&t.attrs.kind==="check"&&(n={node:t,pos:r})}),n}function X(e,o,n,t){let r=I(e,o);r&&e.dispatch(J(e.state.tr.setNodeMarkup(r.pos,null,{...r.node.attrs,[n]:t||null})))}var L={person:'<circle cx="8" cy="5.4" r="2.3"/><path d="M3.6 13.2c.6-2.1 2.2-3.3 4.4-3.3s3.8 1.2 4.4 3.3"/>',calendar:'<rect x="2.5" y="3.5" width="11" height="10"/><path d="M2.5 6.8h11M5.5 2v2.4M10.5 2v2.4"/>',clock:'<circle cx="8" cy="8" r="5.5"/><path d="M8 4.8v3.4l2.3 1.4"/>',tick:'<path d="M3.5 8.3l3 3 6-6.2"/>',plus:'<path d="M8 3.5v9M3.5 8h9"/>',clear:'<path d="M4.8 4.8l6.4 6.4M11.2 4.8l-6.4 6.4"/>',"chevron-left":'<path d="M9.8 3.6L5.4 8l4.4 4.4"/>',"chevron-right":'<path d="M6.2 3.6L10.6 8l-4.4 4.4"/>'};function q(e,o){let n=e.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("viewBox","0 0 16 16"),n.setAttribute("width","14"),n.setAttribute("height","14"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","1.5"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true"),n.innerHTML=o,n}var Z=e=>String(e).padStart(2,"0"),B=/^\d{4}-\d{2}-\d{2}$/,S=(e=new Date)=>`${e.getFullYear()}-${Z(e.getMonth()+1)}-${Z(e.getDate())}`,nt=e=>{let o=new Date(`${e}T00:00:00Z`);return o.setUTCDate(o.getUTCDate()+1),o.toISOString().slice(0,10)};function rt(e,o){if(!e)return"No date";if(!B.test(e))return e;if(e===o)return"Today";if(e===nt(o))return"Tomorrow";let n=e.slice(0,4)===o.slice(0,4);return new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{month:"short",day:"numeric",...n?{}:{year:"numeric"},timeZone:"UTC"})}function j(e,{name:o,paths:n,label:t,aria:r,filled:l,overdue:s=!1}){let i=a(e,"button","blockeditor-check-chip",{type:"button","data-check":o,"data-filled":String(l),"data-overdue":s?"true":null,"aria-expanded":"false","aria-label":r});return i.append(q(e,n),a(e,"span","blockeditor-check-chip-label",{},t)),i}var N=null;function G(e,o,{className:n,label:t,check:r,onKey:l=null}){let s=o.ownerDocument,i=s.defaultView;N&&N.close();for(let d of s.querySelectorAll(".blockeditor-check-popup"))d.remove();let y=e.dom.parentNode,h=["relative","absolute","fixed","sticky"].includes(i?.getComputedStyle?.(y)?.position??""),k=y&&h?y:s.body,f=a(s,"div",`blockeditor-check-popup ${n}`,{role:"dialog","aria-label":t,"data-check":r}),A=!1,E=()=>{let d=o.getBoundingClientRect(),c=k===s.body?{top:-(i?.scrollY??0),left:-(i?.scrollX??0)}:k.getBoundingClientRect(),p=f.getBoundingClientRect(),u=p.width||Math.min(264,(i?.innerWidth||292)-28),b=(i?.innerHeight??0)-d.bottom-2,g=p.height>0&&b<p.height;f.style.left=`${Math.round(d.right-u-c.left)}px`,f.style.top=`${Math.round((g?d.top-p.height-2:d.bottom+2)-c.top)}px`},C=d=>{if(!f.isConnected)return w();f.contains(d.target)||o.contains(d.target)||w()},w=({focusAnchor:d=!1}={})=>{if(A)return;A=!0,s.removeEventListener("mousedown",C,!0),i?.removeEventListener("resize",E),i?.removeEventListener("scroll",E,!0),N?.panel===f&&(N=null),f.remove(),o.setAttribute("aria-expanded","false");let c=o.dataset.fromKeys==="true";delete o.dataset.fromKeys,d&&c?e.focus():d&&o.focus()};return f.addEventListener("keydown",d=>{if(d.stopPropagation(),d.key==="Escape"){d.preventDefault(),w({focusAnchor:!0});return}l?.(d,f)}),k.append(f),o.setAttribute("aria-expanded","true"),N={panel:f,close:()=>w()},s.addEventListener("mousedown",C,!0),i?.addEventListener("resize",E),i?.addEventListener("scroll",E,!0),{panel:f,close:w,place:E}}function ct(e,o){let n=new Map;e.state.doc.forEach(t=>{if(t.type!==F.nodes.list_item||t.attrs.kind!=="check")return;let r=String(t.attrs.owner??"").trim();if(!r)return;let l=r.toLowerCase(),s=n.get(l)??{name:r,count:0};s.count+=1,n.set(l,s)});for(let t of o??[]){let r=String((typeof t=="string"?t:t?.name)??"").trim();r&&!n.has(r.toLowerCase())&&n.set(r.toLowerCase(),{name:r,count:0})}return[...n.values()].sort((t,r)=>t.name.localeCompare(r.name))}function at(e,o,n){let t=n.ownerDocument,r=I(e,o)?.node.attrs.owner||"",{panel:l,close:s,place:i}=G(e,n,{className:"blockeditor-check-owner",label:"Assignee",check:"owner-panel",onKey:(c,p)=>{if(c.key!=="ArrowDown"&&c.key!=="ArrowUp")return;c.preventDefault();let u=[...p.querySelectorAll("input, button:not([disabled])")],b=u.indexOf(t.activeElement),g=c.key==="ArrowDown"?1:-1;(b<0?g>0?u[0]:u[u.length-1]:u[(b+g+u.length)%u.length])?.focus()}}),y=a(t,"input","blockeditor-check-search",{type:"text",placeholder:"Find or type a name","aria-label":"Find or type a name"}),h=a(t,"div","blockeditor-check-people"),k=a(t,"button","blockeditor-check-person blockeditor-check-danger",{type:"button","data-check":"clear-owner"});k.append(q(t,L.clear),a(t,"span","blockeditor-check-person-name",{},"Remove assignee")),k.disabled=!r,k.addEventListener("click",()=>A(null)),l.append(y,a(t,"div","blockeditor-check-subhead",{},"People in this document"),h,a(t,"div","blockeditor-check-divider"),k);let f=[],A=c=>{s(),X(e,o,"owner",c)},E=(c,p)=>{let u=c.toLowerCase()===String(r).toLowerCase(),b=a(t,"button","blockeditor-check-person",{type:"button","data-check":"owner-option","data-name":c,"aria-pressed":String(u)});return b.append(ot(t,c),a(t,"span","blockeditor-check-person-name",{},c),a(t,"span","blockeditor-check-person-meta",{},`${p} ${p===1?"item":"items"}`)),u&&b.append(q(t,L.tick)),b.addEventListener("click",()=>A(c)),b},C=c=>{let p=a(t,"button","blockeditor-check-person",{type:"button","data-check":"owner-new","data-name":c}),u=a(t,"span","blockeditor-check-person-name",{},"Assign to ");return u.append(a(t,"strong",null,{},c)),p.append(q(t,L.plus),u,a(t,"span","blockeditor-check-person-meta",{},"New")),p.addEventListener("click",()=>A(c)),p},w=()=>{let c=y.value.trim(),p=c.toLowerCase(),u=ct(e,f),b=[];c&&!u.some(g=>g.name.toLowerCase()===p)&&b.push(C(c));for(let g of u)p&&!g.name.toLowerCase().includes(p)||b.push(E(g.name,g.count));h.replaceChildren(...b)};y.addEventListener("keydown",c=>{if(c.stopPropagation(),c.key==="Escape"){c.preventDefault(),s({focusAnchor:!0});return}c.key==="Enter"&&(c.preventDefault(),h.querySelector("button[data-check]")?.click())}),y.addEventListener("input",w),w(),i(),y.focus();let d=globalThis.clay?.people?.available;d&&Promise.resolve().then(()=>d()).then(c=>{!N||N.panel!==l||(f=Array.isArray(c)?c:[],w())}).catch(()=>{})}var st=["January","February","March","April","May","June","July","August","September","October","November","December"],$=(e,o,n)=>new Date(e,o,n),it=e=>e.toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"}),lt=e=>e.toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"}),W=e=>{if(!e||!B.test(e))return null;let[o,n,t]=e.split("-").map(Number);return $(o,n-1,t)};function dt(e,o,n){let t=n.ownerDocument,r=I(e,o)?.node.attrs.due||null,l=S(),s=new Date,i=$(s.getFullYear(),s.getMonth(),s.getDate()),y=W(r)??i,h=y.getFullYear(),k=y.getMonth(),{panel:f,close:A,place:E}=G(e,n,{className:"blockeditor-check-date",label:"Due date",check:"date-panel",onKey:(m,D)=>Q(m,D)}),C=m=>{A(),X(e,o,"due",m)},w=a(t,"div","blockeditor-check-quick"),d=(m,D)=>{let M=$(i.getFullYear(),i.getMonth(),i.getDate()+D),x=a(t,"button","blockeditor-check-quick-row",{type:"button","data-check":"date-quick","data-date":S(M)});return x.append(q(t,L.calendar),a(t,"span","blockeditor-check-quick-label",{},m),a(t,"span","blockeditor-check-quick-meta",{},it(M))),x.addEventListener("click",()=>C(S(M))),x};w.append(d("Today",0),d("Tomorrow",1),d("Next week",7));let c=a(t,"div","blockeditor-check-cal"),p=a(t,"div","blockeditor-check-cal-head"),u=a(t,"span","blockeditor-check-cal-month"),b=a(t,"span","blockeditor-check-cal-nav"),g=m=>{let D=$(h,k+m,1);h=D.getFullYear(),k=D.getMonth(),H()},U=a(t,"button","blockeditor-check-cal-btn",{type:"button","aria-label":"Previous month"}),O=a(t,"button","blockeditor-check-cal-btn",{type:"button","aria-label":"Next month"});U.append(q(t,L["chevron-left"])),O.append(q(t,L["chevron-right"])),U.addEventListener("click",()=>g(-1)),O.addEventListener("click",()=>g(1)),b.append(U,O),p.append(u,b);let Y=a(t,"div","blockeditor-check-cal-grid");c.append(p,Y);let H=()=>{u.replaceChildren(a(t,"span",null,{},`${st[k]} `),a(t,"span","blockeditor-check-cal-year",{},String(h)));let m=$(h,k,1),D=$(h,k+1,0).getDate(),M=Math.ceil((m.getDay()+D)/7)*7,x=["S","M","T","W","T","F","S"].map(v=>a(t,"span","blockeditor-check-cal-dow",{},v)),T=[];for(let v=0;v<M;v+=1){let P=$(h,k,1-m.getDay()+v),R=S(P),V=a(t,"button","blockeditor-check-cal-day",{type:"button","data-check":"date-day","data-date":R,"data-outside":String(P.getMonth()!==k),"data-today":String(R===l),"aria-pressed":String(R===r),"aria-label":lt(P)},String(P.getDate()));V.addEventListener("click",()=>C(R)),T.push(V)}Y.replaceChildren(...x,...T)},Q=(m,D)=>{let M=t.activeElement?.closest?.('[data-check="date-day"]');if(!M)return;if(m.key==="Enter"||m.key===" "){m.preventDefault(),M.click();return}let x={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[m.key];if(!x)return;m.preventDefault();let T=W(M.dataset.date),v=$(T.getFullYear(),T.getMonth(),T.getDate()+x);(v.getMonth()!==k||v.getFullYear()!==h)&&(h=v.getFullYear(),k=v.getMonth(),H()),D.querySelector(`[data-check="date-day"][data-date="${S(v)}"]`)?.focus()},K=a(t,"button","blockeditor-check-quick-row blockeditor-check-danger",{type:"button","data-check":"clear-date"});K.append(q(t,L.clear),a(t,"span","blockeditor-check-quick-label",{},"Clear date")),K.disabled=!r,K.addEventListener("click",()=>C(null)),f.append(w,c,a(t,"div","blockeditor-check-divider"),K),H(),E(),(Y.querySelector('[data-check="date-day"][aria-pressed="true"]')??Y.querySelector('[data-check="date-day"][data-today="true"]'))?.focus()}function ut(e,o){let n=e.dom.ownerDocument,t=n.createElement("span");t.className="blockeditor-check-controls",t.contentEditable="false",t.dataset.empty=String(!o.attrs.owner&&!o.attrs.due);let r=S(),l=o.attrs.owner||"Unassigned",s=j(n,{name:"owner",paths:L.person,label:l,aria:`Assignee: ${l}`,filled:!!o.attrs.owner}),i=rt(o.attrs.due,r),y=!!o.attrs.due&&!o.attrs.checked&&B.test(o.attrs.due)&&o.attrs.due<r,h=j(n,{name:"date",paths:y?L.clock:L.calendar,label:i,aria:`Due date: ${i}`,filled:!!o.attrs.due,overdue:y});return s.addEventListener("click",()=>at(e,o.attrs.id,s)),h.addEventListener("click",()=>dt(e,o.attrs.id,h)),t.append(s,h),t}function pt(e,o){let n=e.state.selection.$head;if(n.depth!==1||n.parent.type!==F.nodes.list_item||n.parent.attrs.kind!=="check")return!1;let t=n.parent.attrs.id,l=[...e.dom.querySelectorAll(".blockeditor-check-controls")].find(s=>s.dataset.item===t)?.querySelector(`[data-check="${o}"]`);return l?(l.dataset.fromKeys="true",l.click(),!0):!1}function ht(e){let o=[],n=S();return e.doc.forEach((t,r)=>{t.type!==F.nodes.list_item||t.attrs.kind!=="check"||o.push(tt.widget(r+t.nodeSize-1,l=>{let s=ut(l,t);return s.dataset.item=t.attrs.id,s},{key:`${t.attrs.id}:${t.attrs.owner}:${t.attrs.due}:${t.attrs.checked}:${n}`,side:-1,stopEvent:l=>!!l.target.closest?.(".blockeditor-check-chip, .blockeditor-check-popup"),ignoreSelection:!0}))}),et.create(e.doc,o)}function kt(e){let o=S(),n=()=>{e.isDestroyed||S()===o||(o=S(),e.dispatch(e.state.tr.setMeta("addToHistory",!1)))},t=e.dom.ownerDocument.defaultView,r=t.setInterval(n,6e4);return t.document.addEventListener("visibilitychange",n),()=>{t.clearInterval(r),t.document.removeEventListener("visibilitychange",n)}}function gt({view:e=null}={}){let o=e?z(e,{decorations:ht,focusControl:pt}):()=>{},n=e?kt(e):()=>{};return e&&!e.isDestroyed&&e.dispatch(e.state.tr.setMeta("addToHistory",!1)),{id:"checklist",dispose(){o(),n()}}}export{gt as createFeature,ht as decorations,pt as focusControl};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as A}from"./c-Q6BG3ZLO.js";import{j as b}from"./c-
|
|
1
|
+
import{c as A}from"./c-Q6BG3ZLO.js";import{j as b}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 x}from"./c-3XGLJAS7.js";import"./c-OH2FPYSY.js";import"./c-FSQXFG5T.js";import{b as h}from"./c-RETTCOWO.js";import"./c-JC4RZW4E.js";import"./c-57XDY6HC.js";import"./c-VHNSBD2M.js";function S(o){let s=String(o??""),n=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter("en",{granularity:"grapheme"}):null;return n?[...n.segment(s)].map(a=>a.segment):[...s]}var I=o=>S(o).length===1&&!/^\s*$/.test(String(o??""));function L(o){let s=[];for(let[n,a]of Object.entries(o??{}))for(let u of Array.isArray(a)?a:[]){let[f,m,d=""]=u??[];typeof f!="string"||typeof m!="string"||s.push({id:`${n}:${m}`,char:f,name:`${f} ${m}`,keywords:`${m} ${d}`})}return s}var P=(o,s)=>{let n=String(s??"").trim().toLowerCase();return n?o.filter(a=>a.char===n||a.keywords.toLowerCase().includes(n)):o};function T(o=()=>import("./c-SZGYW5HT.js")){let s=null;return()=>(s??=Promise.resolve().then(()=>o()).then(n=>L(n.EMOJI)).catch(n=>{throw s=null,n}),s)}function w({view:o=null,load:s=()=>import("./c-SZGYW5HT.js")}={}){if(!o)return{run:()=>({ok:!1,code:"not-editing"}),dispose(){}};let n=o.dom.ownerDocument,a=T(s),u=null;function f(t){let e=o.state,r=e.selection;if(r.from!==t.from||r.to!==t.to||t.from<0||t.to>e.doc.content.size)return null;let c=e.doc.resolve(t.from),i=e.doc.resolve(t.to);return!c.parent.isTextblock||c.parent!==i.parent?null:{from:t.from,to:t.to}}function m(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 d(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 l(){let t=u;if(t){u=null;for(let[e,r,c,i]of t.listen)e.removeEventListener(r,c,i);o.dom.getAttribute("aria-activedescendant")?.startsWith(`${t.picker.el.id}-`)&&o.dom.removeAttribute("aria-activedescendant"),t.picker.destroy()}}function j(t,e){let r=o.state.tr.insertText(e,t.from,t.to);return r.setSelection(h.TextSelection.create(r.doc,t.from+e.length)),o.dispatch(x(r)),o.focus(),{ok:!0,emoji:e}}function p(t){let e=u;if(!e)return{ok:!1,code:"not-editing"};let r=e.picker.personAt(t),c=f(e);return!r||c===null||!I(r.char)?(l(),r?c===null?{ok:!1,code:"stale-target"}:{ok:!1,code:"invalid-emoji"}:{ok:!1,code:"no-emoji"}):(l(),j(c,r.char))}function E(t){let e=u;if(!e||b(t,o))return;let r=()=>{t.preventDefault(),t.stopPropagation()};t.key==="ArrowDown"||t.key==="ArrowUp"?(r(),e.picker.move(t.key==="ArrowDown"?1:-1),d(e)):t.key==="Enter"?(r(),p(e.picker.index())):(t.key==="Escape"||t.key==="Tab")&&(r(),l())}async function $(t={}){l();let e={from:o.state.selection.from,to:o.state.selection.to,picker:null,listen:[]};e.picker=A({document:n,label:"Insert an emoji",empty:"No emoji found",onPick:i=>p(i)}),u=e;let r=(i,k,g,y)=>{i.addEventListener(k,g,y),e.listen.push([i,k,g,y])};r(n,"keydown",i=>E(i),!0),r(o.dom,"input",()=>l()),r(n,"mousedown",i=>{e.picker.el.contains(i.target)||l()},!0),(o.dom.parentElement??n.body).appendChild(e.picker.el);let c;try{c=await a()}catch(i){return l(),{ok:!1,code:"unavailable",error:i}}return u!==e?{ok:!1,code:"not-editing"}:f(e)===null?(l(),{ok:!1,code:"stale-target"}):(e.picker.show(P(c,t?.query),m(e)),d(e),{ok:!0,picker:!0})}return{async run(t){return $(t)},dispose(){l()}}}export{w as createFeature,L as emojiEntries,T as emojiLibrary,P as filterEmoji,S as graphemes,I as isEmojiText};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as K}from"./c-NEQRFC4O.js";import{e as te,f as ne,g as oe}from"./c-JRKY44DK.js";import{d as N,e as L,f as R,h as ie,l as se}from"./c-GO635CRU.js";import{b as M}from"./c-V2V5FKXX.js";import{a as T,b as re,f as $,g as O,h as G,i as P,r as I,s as B}from"./c-WMRJKQ2V.js";import{c as _}from"./c-57XDY6HC.js";import{a as ee}from"./c-I2SCCUEW.js";function F(e){let t=new Set;for(let[,n]of _(e?.y??{}))try{for(let o of P(I(re(n))).keys())t.add(o)}catch{}return t}function Ae(e,t){let n=F(e),o=F(t);if(!n.size||!o.size||[...o].some(r=>n.has(r)))return!0;let i=new Map(_(e?.y??{}));return _(t?.y??{}).some(([r,s])=>i.get(r)===s)}function ae(e,t){return!e||!t||!e.generation||!t.generation?!1:e.generation===t.generation&&e.baseDigest===t.baseDigest}async function ce(e,t){let n=t instanceof Uint8Array?t:new Uint8Array(0);return{generation:e,baseDigest:await L(n),baseVector:n.length?I(n):new Uint8Array(0)}}function le(e,t){let n=F(e),o=F(t);return!n.size||!o.size?!1:Ae(e,t)}var Se="page.yjs",Ie=1,Ue=64,Ve=1024*1024,Ye=e=>B(e),W=class extends Error{constructor(t,n){super(n),this.name="PageReplayError",this.code=t}},y=(e,t)=>{throw new W(e,t)},m=e=>typeof e=="string"?e:JSON.stringify(e),U=e=>e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null,Oe=(e,t)=>m(e)===m(t);function z(e){let t=e.map(U).filter(n=>n&&n.length);return t.length?t.length===1?t[0].slice():B(t):new Uint8Array(0)}function H({capsule:e,batches:t=[]}={}){(!e||e.kind!=="binary"||!e.payload)&&y("invalid-capsule","Replay needs a binary capsule"),e.version!==void 0&&e.version!==1&&y("unknown-version",`Unknown page recovery capsule version: ${e.version}`);let n=[e.payload.dependencies],o=[e.payload.owned],i=new Set;for(let r of t){if((!r||r.kind!=="binary-batch"||!r.payload)&&y("invalid-batch","Replay reads binary batches only"),r.capsuleId!==void 0&&!Oe(r.capsuleId,e.id)&&y("foreign-batch","A batch belongs to another capsule"),r.id!==void 0){if(i.has(m(r.id)))continue;i.add(m(r.id))}r.origin==="dependency"?n.push(r.payload):o.push(r.payload)}return{id:e.id,context:e.context??null,revision:e.revision??0,acknowledged:e.acknowledged??null,base:z([e.payload.base]),dependencies:z(n),owned:z(o)}}function Pe({capsule:e,batches:t=[]}={}){let n=H({capsule:e,batches:t}),o=new $;try{for(let i of[n.base,n.dependencies,n.owned])i.length&&O(o,i,M);return(o.store.pendingStructs||o.store.pendingDs)&&y("unresolved-update","The capsule's updates are missing a prerequisite"),{v:1,g:0,y:{seed:T(G(o))}}}finally{o.destroy()}}function Ee({capsule:e,batches:t=[]}={}){return K(Pe({capsule:e,batches:t}))}function _e({capsule:e,batches:t=[],current:n}={}){let o=H({capsule:e,batches:t});o.context?.authority||y("missing-identity","A capsule with no authority is never replayed"),n?.context?.authority||y("missing-identity","Replay needs the page's own authority"),oe(o.context.authority,n.context.authority)||y("foreign-authority","This journal belongs to another document or account"),ae(o.context.lineage,n.context.lineage)||y("foreign-generation","This journal belongs to another generation of this page");let i=R(n.state);o.base.length&&!N(i,o.base)&&y("missing-base","The page no longer contains the journal's base"),o.owned.length||y("nothing-owned","This capsule owns no local work");let r=z([o.base,o.dependencies,o.owned]);return le(n.state,{v:1,g:0,y:{seed:T(r)}})||y("foreign-lineage","This journal shares no ancestry with this page"),o}function he(e=[]){let t=new Map,n=new Map;for(let o of e||[]){if(!o||o.supported===!1)continue;if(o.kind==="binary"){t.set(m(o.id),o);continue}if(o.kind!=="binary-batch"||o.capsuleId===void 0)continue;let i=m(o.capsuleId),r=n.get(i)??[];r.push(o),n.set(i,r)}return[...t.entries()].map(([o,i])=>({capsule:i,batches:n.get(o)??[]}))}function Te(e,t){for(let n of[t.base,t.dependencies,t.owned])n&&n.length&&O(e,n,se)}function Be(e,t){try{let{owned:n}=H({capsule:e.capsule,batches:e.batches});return n.length>0&&N(R(t.state),n)}catch{return!1}}function Me({records:e=[],current:t,into:n}={}){let o=[],i=[];for(let r of he(e)){let s;try{s=_e({capsule:r.capsule,batches:r.batches,current:t})}catch(l){if(l?.code==="nothing-owned"||l?.code==="foreign-generation"&&Be(r,t))continue;i.push({capsule:r.capsule,batches:r.batches,code:l?.code??"invalid-capsule",message:l?.message??"This journal cannot be replayed"});continue}Te(n,s),o.push({id:r.capsule.id,revision:s.revision,owned:s.owned.length})}return{replayed:o,review:i}}async function Ne({authority:e,generation:t=null,base:n=null,formatFloor:o=0}={}){let i=U(n)??new Uint8Array(0),r=typeof t=="string"&&t?t:await L(i);return{authority:e,lineage:await ce(r,i),formatFloor:o}}function Le({meta:e=null,location:t=globalThis.location,root:n=globalThis.document?.documentElement}={}){let o=t?.origin??"";if(!o)return null;let i=te(n),r=i?"host":"path",s=i?.identity??ne(t?.pathname??"/").identity;if(!s)return null;let l=e?.document?.people,u=l&&typeof l=="object"?l.me?.id??null:s;return u?{host:o,documentId:s,principalId:u,scope:r}:null}var ue=e=>typeof e=="string"?e:JSON.stringify(e);function Re(e,t){if(!t.length)return!0;let n=P(I(t)),o=P(I(e));for(let[i,r]of n)if((o.get(i)??0)<r)return!1;return!0}function de(e,t){let n=U(t);return!n||!n.length?new Uint8Array(0):N(e,n)?new Uint8Array(0):n}var wt=e=>R(e),fe=new WeakMap;function Fe(e){if(!e)return null;let t=fe.get(e);if(t)return t;let n=e.register({channel:Se,version:Ie,validateCheckpoint:ie,merge:Ye});return fe.set(e,n),n}function ze({channel:e,key:t,context:n,base:o=null,onChange:i=()=>{}}){let r=new Map,s=[],l=[],u=new Set,d=U(o)??new Uint8Array(0),f=null,k=null,b=0,S=0,g=!1,C=!0,E=!1,D=Promise.resolve(null),V=null,x=!1,v={channel:e,key:t,onChange:i,context:()=>ke.then(()=>f),local:a=>Z(a,"local"),dependency:a=>{g&&Z(a,"dependency")},records:()=>[...r.values()],names:J,next:()=>new Promise(a=>{l.push(a)}),covers:(a,c)=>{let p=[...r.values()].map(A=>A.update).filter(A=>A&&A.byteLength),h={kind:"binary",version:1,id:"journal",revision:0,payload:{base:d,dependencies:new Uint8Array(0),owned:p.length?B(p):new Uint8Array(0)}};return we([h],a,c)},pending:()=>u.size+(E?s.length:0)+(k?1:0),get failure(){return k},retire:q,rebase:be,compact:X,acknowledged:()=>x||!f||!r.size||typeof e.markAcknowledged!="function"?Promise.resolve(null):Promise.resolve(e.markAcknowledged({records:J(),authority:f.authority})).catch(()=>null),close:()=>{x=!0,s.length=0,Y(null)}},ke=Promise.resolve().then(()=>typeof n=="function"?n(d):n).catch(()=>null).then(a=>{if(f=a&&a.authority?a:null,!f)return x=!0,k="unavailable",s.length=0,v.onChange(),null;for(let c of s.splice(0))c(f);return f});function Y(a){for(let c of l.splice(0))c(a)}function q(a){for(let c of a||[]){let p=ue(c?.id),h=r.get(p);h&&(r.delete(p),b=Math.max(0,b-1),S=Math.max(0,S-(h.update?.byteLength??0)))}}function be(a){return D=D.then(()=>xe(U(a))).catch(()=>null),D}async function xe(a){if(x||!f||!a||!a.length||!Re(a,d))return null;E=!0;try{for(;u.size&&!x;)await v.next();if(x)return null;let c=typeof n=="function"?await n(a):n;if(!c||!c.authority)return null;if(g){let p=typeof e.rebase=="function"?await e.rebase({key:t,context:c,rebuild:h=>({base:a,dependencies:de(a,h.dependencies),owned:de(a,h.owned)})}):null;if(p?.code==="missing")C=!0;else if(!p?.ok)return null}d=a,f=c;for(let p of r.values())p.context=c;return c}finally{if(E=!1,f)for(let c of s.splice(0))c(f)}}function J(){return[...r.values()].map(({id:a,revision:c})=>({id:a,revision:c}))}function X(){if(V||x||!r.size||typeof e.compact!="function")return V;let a=J();return V=Promise.resolve().then(()=>e.compact({records:a})).then(c=>(c?.ok&&q(c.retired),c)).catch(()=>null).then(c=>(V=null,v.onChange(),c)),V}function ve(a,c,p,h){let A;try{A=e.append({key:t,context:a,update:c,origin:p,base:h?d:null})}catch{k="error",Y(null),v.onChange();return}let j={};u.add(j),Promise.resolve(A).then(w=>{if(u.delete(j),!w||w.ok!==!0){k=w?.code??"error",Y(null),v.onChange();return}k=null,w.skipped||(r.set(ue(w.id),{id:w.id,revision:w.revision,update:c,context:a}),b+=1,S+=c.byteLength),v.onChange(),Y({id:w.id,revision:w.revision}),(b>=Ue||S>=Ve)&&X()},()=>{u.delete(j),k="error",Y(null),v.onChange()})}function Q(a,c,p){let h=C;C=!1,ve(a,c,p,h)}function Z(a,c){x||!a||!a.byteLength||typeof e.append!="function"||(g=!0,f&&!E?Q(f,a,c):s.push(p=>Q(p,a,c)))}return v}function kt({meta:e=null,service:t=null,base:n=null,onChange:o=()=>{},location:i,root:r}={}){let s=Le({meta:e,location:i,root:r});if(!s)return null;let l=Fe(t);if(!l)return null;let u=e?.document?.blockeditorState?.generation??null,d=Array.isArray(e?.extensions)&&e.extensions.includes("blockeditor-format-v1")?1:0;return ze({channel:l,key:[s.host,s.documentId].join(":"),context:f=>Ne({authority:s,generation:u,base:f,formatFloor:d}),base:n,onChange:o})}function bt({journal:e,store:t=null,reduce:n=()=>null,onState:o=()=>{},onUnavailable:i=()=>{}}={}){if(!e)return{checkpoint(){},state:()=>null,dispose(){}};let r={acknowledged:!1,checkpointed:!1},s=null,l=()=>{let g=e.failure??null,C=e.records().length;return n({unavailable:!!g,pending:g?0:e.pending(),journaled:r.acknowledged?0:C,acknowledged:r.acknowledged?C:0,checkpointed:r.checkpointed&&!C})},u=()=>{let g=l();return!g||g===s?s:(s=g,g==="unavailable"?i(e.failure):o(g),g)},d=e.onChange;e.onChange=()=>{d?.(),u()};let f=t?.onLocal?.(()=>{r.acknowledged=!1,r.checkpointed=!1,u()}),k=t?.onConfirm?.(()=>{r.acknowledged=!0,u()}),b=()=>!!e.failure,S=ee({id:"page:journal",isPending:()=>!b()&&e.pending()>0,flush:async()=>{if(b())return{ok:!0};for(;!b()&&e.pending()>0&&await e.next(););return await Promise.resolve(e.channel?.flush?.()).catch(()=>null),{ok:b()||e.pending()===0}}});return u(),{checkpoint(){r.checkpointed=!0,u()},state:l,dispose(){e.onChange=d,f?.(),k?.(),S.dispose()}}}async function xt({journal:e,state:t,into:n}={}){if(!e)return{replayed:[],review:[]};let o=await e.context();if(!o)return{replayed:[],review:[]};let i=await e.channel.list();return i?.ok?Me({records:i.records,current:{context:o,state:t},into:n}):{replayed:[],review:[]}}var pe=e=>typeof e?.pos=="string"?e.pos:"",He=e=>Object.keys(e).sort((t,n)=>{let o=pe(e[t]),i=pe(e[n]);return o!==i?o<i?-1:1:t<n?-1:t>n?1:0});function me(e){if(typeof e?.c=="string")return e.c;if(!e?.rows)return"";let t=[];for(let n of Object.values(e.rows))for(let o of Object.values(n?.cells??{})){let i=typeof o=="string"?o:typeof o?.c=="string"?o.c:"";i&&t.push(i)}return t.join(" ")}function De(e=[]){let t=new $;try{for(let n of he(e)){let o;try{o=H(n)}catch{continue}for(let i of[o.base,o.dependencies,o.owned])i.length&&O(t,i,M)}for(let n of e||[]){let o=U(n?.update);o&&o.length&&O(t,o,M)}return K({v:1,g:0,y:{seed:T(G(t))}})}catch{return null}finally{t.destroy()}}function Je({capsule:e,batches:t=[]}={}){let n;try{n=Ee({capsule:e,batches:t})}catch{return""}let o=[];for(let i of He(n)){let r=me(n[i]);r&&o.push(r)}return o.join(`
|
|
1
|
+
import{a as K}from"./c-MVVEIJUU.js";import{e as te,f as ne,g as oe}from"./c-JRKY44DK.js";import{e as N,f as L,g as R,i as ie,m as se}from"./c-LAKBBJOU.js";import{b as M}from"./c-EIUKME3W.js";import{a as T,b as re,i as $,j as O,k as G,l as P,v as I,w as B}from"./c-WHQUZM2V.js";import{c as _}from"./c-57XDY6HC.js";import{a as ee}from"./c-I2SCCUEW.js";function F(e){let t=new Set;for(let[,n]of _(e?.y??{}))try{for(let o of P(I(re(n))).keys())t.add(o)}catch{}return t}function Ae(e,t){let n=F(e),o=F(t);if(!n.size||!o.size||[...o].some(r=>n.has(r)))return!0;let i=new Map(_(e?.y??{}));return _(t?.y??{}).some(([r,s])=>i.get(r)===s)}function ae(e,t){return!e||!t||!e.generation||!t.generation?!1:e.generation===t.generation&&e.baseDigest===t.baseDigest}async function ce(e,t){let n=t instanceof Uint8Array?t:new Uint8Array(0);return{generation:e,baseDigest:await L(n),baseVector:n.length?I(n):new Uint8Array(0)}}function le(e,t){let n=F(e),o=F(t);return!n.size||!o.size?!1:Ae(e,t)}var Se="page.yjs",Ie=1,Ue=64,Ve=1024*1024,Ye=e=>B(e),W=class extends Error{constructor(t,n){super(n),this.name="PageReplayError",this.code=t}},y=(e,t)=>{throw new W(e,t)},m=e=>typeof e=="string"?e:JSON.stringify(e),U=e=>e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null,Oe=(e,t)=>m(e)===m(t);function z(e){let t=e.map(U).filter(n=>n&&n.length);return t.length?t.length===1?t[0].slice():B(t):new Uint8Array(0)}function H({capsule:e,batches:t=[]}={}){(!e||e.kind!=="binary"||!e.payload)&&y("invalid-capsule","Replay needs a binary capsule"),e.version!==void 0&&e.version!==1&&y("unknown-version",`Unknown page recovery capsule version: ${e.version}`);let n=[e.payload.dependencies],o=[e.payload.owned],i=new Set;for(let r of t){if((!r||r.kind!=="binary-batch"||!r.payload)&&y("invalid-batch","Replay reads binary batches only"),r.capsuleId!==void 0&&!Oe(r.capsuleId,e.id)&&y("foreign-batch","A batch belongs to another capsule"),r.id!==void 0){if(i.has(m(r.id)))continue;i.add(m(r.id))}r.origin==="dependency"?n.push(r.payload):o.push(r.payload)}return{id:e.id,context:e.context??null,revision:e.revision??0,acknowledged:e.acknowledged??null,base:z([e.payload.base]),dependencies:z(n),owned:z(o)}}function Pe({capsule:e,batches:t=[]}={}){let n=H({capsule:e,batches:t}),o=new $;try{for(let i of[n.base,n.dependencies,n.owned])i.length&&O(o,i,M);return(o.store.pendingStructs||o.store.pendingDs)&&y("unresolved-update","The capsule's updates are missing a prerequisite"),{v:1,g:0,y:{seed:T(G(o))}}}finally{o.destroy()}}function Ee({capsule:e,batches:t=[]}={}){return K(Pe({capsule:e,batches:t}))}function _e({capsule:e,batches:t=[],current:n}={}){let o=H({capsule:e,batches:t});o.context?.authority||y("missing-identity","A capsule with no authority is never replayed"),n?.context?.authority||y("missing-identity","Replay needs the page's own authority"),oe(o.context.authority,n.context.authority)||y("foreign-authority","This journal belongs to another document or account"),ae(o.context.lineage,n.context.lineage)||y("foreign-generation","This journal belongs to another generation of this page");let i=R(n.state);o.base.length&&!N(i,o.base)&&y("missing-base","The page no longer contains the journal's base"),o.owned.length||y("nothing-owned","This capsule owns no local work");let r=z([o.base,o.dependencies,o.owned]);return le(n.state,{v:1,g:0,y:{seed:T(r)}})||y("foreign-lineage","This journal shares no ancestry with this page"),o}function he(e=[]){let t=new Map,n=new Map;for(let o of e||[]){if(!o||o.supported===!1)continue;if(o.kind==="binary"){t.set(m(o.id),o);continue}if(o.kind!=="binary-batch"||o.capsuleId===void 0)continue;let i=m(o.capsuleId),r=n.get(i)??[];r.push(o),n.set(i,r)}return[...t.entries()].map(([o,i])=>({capsule:i,batches:n.get(o)??[]}))}function Te(e,t){for(let n of[t.base,t.dependencies,t.owned])n&&n.length&&O(e,n,se)}function Be(e,t){try{let{owned:n}=H({capsule:e.capsule,batches:e.batches});return n.length>0&&N(R(t.state),n)}catch{return!1}}function Me({records:e=[],current:t,into:n}={}){let o=[],i=[];for(let r of he(e)){let s;try{s=_e({capsule:r.capsule,batches:r.batches,current:t})}catch(l){if(l?.code==="nothing-owned"||l?.code==="foreign-generation"&&Be(r,t))continue;i.push({capsule:r.capsule,batches:r.batches,code:l?.code??"invalid-capsule",message:l?.message??"This journal cannot be replayed"});continue}Te(n,s),o.push({id:r.capsule.id,revision:s.revision,owned:s.owned.length})}return{replayed:o,review:i}}async function Ne({authority:e,generation:t=null,base:n=null,formatFloor:o=0}={}){let i=U(n)??new Uint8Array(0),r=typeof t=="string"&&t?t:await L(i);return{authority:e,lineage:await ce(r,i),formatFloor:o}}function Le({meta:e=null,location:t=globalThis.location,root:n=globalThis.document?.documentElement}={}){let o=t?.origin??"";if(!o)return null;let i=te(n),r=i?"host":"path",s=i?.identity??ne(t?.pathname??"/").identity;if(!s)return null;let l=e?.document?.people,u=l&&typeof l=="object"?l.me?.id??null:s;return u?{host:o,documentId:s,principalId:u,scope:r}:null}var ue=e=>typeof e=="string"?e:JSON.stringify(e);function Re(e,t){if(!t.length)return!0;let n=P(I(t)),o=P(I(e));for(let[i,r]of n)if((o.get(i)??0)<r)return!1;return!0}function de(e,t){let n=U(t);return!n||!n.length?new Uint8Array(0):N(e,n)?new Uint8Array(0):n}var wt=e=>R(e),fe=new WeakMap;function Fe(e){if(!e)return null;let t=fe.get(e);if(t)return t;let n=e.register({channel:Se,version:Ie,validateCheckpoint:ie,merge:Ye});return fe.set(e,n),n}function ze({channel:e,key:t,context:n,base:o=null,onChange:i=()=>{}}){let r=new Map,s=[],l=[],u=new Set,d=U(o)??new Uint8Array(0),f=null,k=null,b=0,S=0,g=!1,C=!0,E=!1,D=Promise.resolve(null),V=null,x=!1,v={channel:e,key:t,onChange:i,context:()=>ke.then(()=>f),local:a=>Z(a,"local"),dependency:a=>{g&&Z(a,"dependency")},records:()=>[...r.values()],names:J,next:()=>new Promise(a=>{l.push(a)}),covers:(a,c)=>{let p=[...r.values()].map(A=>A.update).filter(A=>A&&A.byteLength),h={kind:"binary",version:1,id:"journal",revision:0,payload:{base:d,dependencies:new Uint8Array(0),owned:p.length?B(p):new Uint8Array(0)}};return we([h],a,c)},pending:()=>u.size+(E?s.length:0)+(k?1:0),get failure(){return k},retire:q,rebase:be,compact:X,acknowledged:()=>x||!f||!r.size||typeof e.markAcknowledged!="function"?Promise.resolve(null):Promise.resolve(e.markAcknowledged({records:J(),authority:f.authority})).catch(()=>null),close:()=>{x=!0,s.length=0,Y(null)}},ke=Promise.resolve().then(()=>typeof n=="function"?n(d):n).catch(()=>null).then(a=>{if(f=a&&a.authority?a:null,!f)return x=!0,k="unavailable",s.length=0,v.onChange(),null;for(let c of s.splice(0))c(f);return f});function Y(a){for(let c of l.splice(0))c(a)}function q(a){for(let c of a||[]){let p=ue(c?.id),h=r.get(p);h&&(r.delete(p),b=Math.max(0,b-1),S=Math.max(0,S-(h.update?.byteLength??0)))}}function be(a){return D=D.then(()=>xe(U(a))).catch(()=>null),D}async function xe(a){if(x||!f||!a||!a.length||!Re(a,d))return null;E=!0;try{for(;u.size&&!x;)await v.next();if(x)return null;let c=typeof n=="function"?await n(a):n;if(!c||!c.authority)return null;if(g){let p=typeof e.rebase=="function"?await e.rebase({key:t,context:c,rebuild:h=>({base:a,dependencies:de(a,h.dependencies),owned:de(a,h.owned)})}):null;if(p?.code==="missing")C=!0;else if(!p?.ok)return null}d=a,f=c;for(let p of r.values())p.context=c;return c}finally{if(E=!1,f)for(let c of s.splice(0))c(f)}}function J(){return[...r.values()].map(({id:a,revision:c})=>({id:a,revision:c}))}function X(){if(V||x||!r.size||typeof e.compact!="function")return V;let a=J();return V=Promise.resolve().then(()=>e.compact({records:a})).then(c=>(c?.ok&&q(c.retired),c)).catch(()=>null).then(c=>(V=null,v.onChange(),c)),V}function ve(a,c,p,h){let A;try{A=e.append({key:t,context:a,update:c,origin:p,base:h?d:null})}catch{k="error",Y(null),v.onChange();return}let j={};u.add(j),Promise.resolve(A).then(w=>{if(u.delete(j),!w||w.ok!==!0){k=w?.code??"error",Y(null),v.onChange();return}k=null,w.skipped||(r.set(ue(w.id),{id:w.id,revision:w.revision,update:c,context:a}),b+=1,S+=c.byteLength),v.onChange(),Y({id:w.id,revision:w.revision}),(b>=Ue||S>=Ve)&&X()},()=>{u.delete(j),k="error",Y(null),v.onChange()})}function Q(a,c,p){let h=C;C=!1,ve(a,c,p,h)}function Z(a,c){x||!a||!a.byteLength||typeof e.append!="function"||(g=!0,f&&!E?Q(f,a,c):s.push(p=>Q(p,a,c)))}return v}function kt({meta:e=null,service:t=null,base:n=null,onChange:o=()=>{},location:i,root:r}={}){let s=Le({meta:e,location:i,root:r});if(!s)return null;let l=Fe(t);if(!l)return null;let u=e?.document?.blockeditorState?.generation??null,d=Array.isArray(e?.extensions)&&e.extensions.includes("blockeditor-format-v1")?1:0;return ze({channel:l,key:[s.host,s.documentId].join(":"),context:f=>Ne({authority:s,generation:u,base:f,formatFloor:d}),base:n,onChange:o})}function bt({journal:e,store:t=null,reduce:n=()=>null,onState:o=()=>{},onUnavailable:i=()=>{}}={}){if(!e)return{checkpoint(){},state:()=>null,dispose(){}};let r={acknowledged:!1,checkpointed:!1},s=null,l=()=>{let g=e.failure??null,C=e.records().length;return n({unavailable:!!g,pending:g?0:e.pending(),journaled:r.acknowledged?0:C,acknowledged:r.acknowledged?C:0,checkpointed:r.checkpointed&&!C})},u=()=>{let g=l();return!g||g===s?s:(s=g,g==="unavailable"?i(e.failure):o(g),g)},d=e.onChange;e.onChange=()=>{d?.(),u()};let f=t?.onLocal?.(()=>{r.acknowledged=!1,r.checkpointed=!1,u()}),k=t?.onConfirm?.(()=>{r.acknowledged=!0,u()}),b=()=>!!e.failure,S=ee({id:"page:journal",isPending:()=>!b()&&e.pending()>0,flush:async()=>{if(b())return{ok:!0};for(;!b()&&e.pending()>0&&await e.next(););return await Promise.resolve(e.channel?.flush?.()).catch(()=>null),{ok:b()||e.pending()===0}}});return u(),{checkpoint(){r.checkpointed=!0,u()},state:l,dispose(){e.onChange=d,f?.(),k?.(),S.dispose()}}}async function xt({journal:e,state:t,into:n}={}){if(!e)return{replayed:[],review:[]};let o=await e.context();if(!o)return{replayed:[],review:[]};let i=await e.channel.list();return i?.ok?Me({records:i.records,current:{context:o,state:t},into:n}):{replayed:[],review:[]}}var pe=e=>typeof e?.pos=="string"?e.pos:"",He=e=>Object.keys(e).sort((t,n)=>{let o=pe(e[t]),i=pe(e[n]);return o!==i?o<i?-1:1:t<n?-1:t>n?1:0});function me(e){if(typeof e?.c=="string")return e.c;if(!e?.rows)return"";let t=[];for(let n of Object.values(e.rows))for(let o of Object.values(n?.cells??{})){let i=typeof o=="string"?o:typeof o?.c=="string"?o.c:"";i&&t.push(i)}return t.join(" ")}function De(e=[]){let t=new $;try{for(let n of he(e)){let o;try{o=H(n)}catch{continue}for(let i of[o.base,o.dependencies,o.owned])i.length&&O(t,i,M)}for(let n of e||[]){let o=U(n?.update);o&&o.length&&O(t,o,M)}return K({v:1,g:0,y:{seed:T(G(t))}})}catch{return null}finally{t.destroy()}}function Je({capsule:e,batches:t=[]}={}){let n;try{n=Ee({capsule:e,batches:t})}catch{return""}let o=[];for(let i of He(n)){let r=me(n[i]);r&&o.push(r)}return o.join(`
|
|
2
2
|
`)}function vt(e=[]){return(e||[]).map(t=>({id:t?.capsule?.id,revision:t?.capsule?.revision??0,code:t?.code??"invalid-capsule",message:t?.message??"This journal cannot be replayed",text:Je({capsule:t?.capsule,batches:t?.batches??[]}),capsule:t?.capsule??null,batches:t?.batches??[]}))}function we(e=[],t=null,n=""){let o=t==null?"":String(t),i=typeof n=="string"?n:"";if(!o||!i)return!1;let r=De(e);return!!(r&&r[o]&&me(r[o])===i)}var je="page.copy",$e=1,ge=new WeakMap;function Ct(e){if(!e)return null;let t=ge.get(e);if(t)return t;let n=e.register({channel:je,version:$e});return ge.set(e,n),n}var Ge=e=>`copy:${e?.key??""}:${m(e?.id)}`;function Ke({records:e=[],source:t=null}={}){if(!t||t.id===void 0)return null;for(let n of e||[]){let o=n?.payload;if(!(!o?.source||!o?.destination)&&o.source.key===t.key&&m(o.source.id)===m(t.id))return{record:n,source:o.source,destination:o.destination}}return null}function We({marker:e=null,records:t=[]}={}){if(!e?.destination)return"open";let n=e.destination.id;return(t||[]).some(i=>i&&m(i.id)===m(n))?"copied":"covered"}async function At({channel:e,copies:t,source:n,insert:o}={}){if(!e||!t||!n||typeof o!="function")return{ok:!1,code:"unavailable"};let i,r;try{[i,r]=await Promise.all([e.list(),t.list()])}catch{return{ok:!1,code:"unavailable"}}let s=Ke({records:r?.ok?r.records:[],source:n});if(s){let d=We({marker:s,records:i?.ok?i.records:[]});if(d==="copied")return{ok:!1,code:"already-copied",marker:s};if(d==="covered")return{ok:!1,code:"covered",marker:s}}let l;try{l=await o()}catch{return{ok:!1,code:"insert-failed"}}if(!l||l.revision===void 0||l.id===void 0)return{ok:!1,code:"insert-failed"};t.stage({key:Ge(n),kind:"text",payload:{source:{key:n.key??"",id:n.id,revision:n.revision??0},destination:{key:l.key??"",id:l.id,revision:l.revision}}});let u=await t.flush();return u?.ok?{ok:!0,destination:l}:{ok:!1,code:u?.code||"error",destination:l}}var qe="page.ime",Xe=1,Qe="composing:",ye=new WeakMap;function St(e){if(!e)return null;let t=ye.get(e);if(t)return t;let n=e.register({channel:qe,version:Xe});return ye.set(e,n),n}function It({channel:e=null,key:t=""}={}){if(!e)return null;async function n(o){let i;try{i=await e.list()}catch{return 0}if(!i?.ok)return 0;let r=0;for(let s of i.records)if(s?.payload?.blockId===o)try{(await e.dismiss(s.id,{revision:s.revision}))?.ok&&(r+=1)}catch{}return r}return{key:t,channel:e,keep({blockId:o=null,text:i=""}={}){let r=o==null?"":String(o),s=typeof i=="string"?i:"";return!r||!s?null:e.stage({key:`${Qe}${r}`,kind:"text",payload:{blockId:r,text:s}})},async clear({blockId:o=null,text:i="",covered:r=null,records:s=[]}={}){let l=o==null?"":String(o);if(!l)return{ok:!1,code:"invalid"};if(!(typeof r=="boolean"?r:we(s,l,i)))return{ok:!1,code:"not-covered"};let d=await n(l);return d?{ok:!0,retired:d}:{ok:!1,code:"not-covered"}},async list(){return e.list()},dispose(){return e.flush()}}}function Ut(e=[]){let t=[];for(let n of e||[]){if(!n||n.supported===!1)continue;let o=n.payload;!o||typeof o.text!="string"||!o.text||typeof o.blockId!="string"||!o.blockId||t.push({id:n.id,revision:n.revision,blockId:o.blockId,text:o.text})}return t}export{Se as a,Ie as b,Ue as c,Ve as d,Ye as e,W as f,H as g,Pe as h,Ee as i,_e as j,he as k,Te as l,Me as m,Ne as n,Le as o,wt as p,Fe as q,ze as r,kt as s,bt as t,xt as u,Je as v,vt as w,we as x,je as y,$e as z,Ct as A,Ke as B,We as C,At as D,qe as E,Xe as F,St as G,It as H,Ut as I};
|