@lexical/yjs 0.1.16 → 0.1.19

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 Dominic Gannaway
3
+ Copyright (c) Meta Platforms, Inc. and affiliates.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/LexicalYjs.dev.js CHANGED
@@ -6,8 +6,8 @@
6
6
  */
7
7
  'use strict';
8
8
 
9
- var yjs = require('yjs');
10
9
  var lexical = require('lexical');
10
+ var yjs = require('yjs');
11
11
  var offset = require('@lexical/offset');
12
12
 
13
13
  /**
@@ -663,10 +663,8 @@ function syncLexicalDecoratorArrayValueToYjs(binding, collabNode, internalArray,
663
663
 
664
664
  function syncLexicalDecoratorMapToYjs(binding, collabNode, decoratorMap, yjsMap) {
665
665
  const internalMap = decoratorMap._map;
666
- const keys = Array.from(internalMap.keys());
667
666
 
668
- for (let i = 0; i < keys.length; i++) {
669
- const key = keys[i];
667
+ for (const [key] of internalMap) {
670
668
  syncLexicalDecoratorMapKeyToYjs(binding, collabNode, internalMap, yjsMap, key);
671
669
  }
672
670
  }
@@ -2092,6 +2090,8 @@ function syncLexicalUpdateToYjs(binding, provider, prevEditorState, currEditorSt
2092
2090
  *
2093
2091
  *
2094
2092
  */
2093
+ const CONNECTED_COMMAND = lexical.createCommand();
2094
+ const TOGGLE_CONNECT_COMMAND = lexical.createCommand();
2095
2095
  function createUndoManager(binding, root) {
2096
2096
  return new yjs.UndoManager(root, {
2097
2097
  trackedOrigins: new Set([binding, null])
@@ -2126,6 +2126,8 @@ function setLocalStateFocus(provider, name, color, focusing) {
2126
2126
  awareness.setLocalState(localState);
2127
2127
  }
2128
2128
 
2129
+ exports.CONNECTED_COMMAND = CONNECTED_COMMAND;
2130
+ exports.TOGGLE_CONNECT_COMMAND = TOGGLE_CONNECT_COMMAND;
2129
2131
  exports.createBinding = createBinding;
2130
2132
  exports.createUndoManager = createUndoManager;
2131
2133
  exports.initLocalState = initLocalState;
@@ -4,57 +4,57 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- var k=require("yjs"),r=require("lexical"),z=require("@lexical/offset");function B(a){throw Error(`Minified Lexical error #${a}; see codes.json for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
8
- class C{constructor(a,b){this._key="";this._map=a;this._parent=b;this._type="linebreak"}getNode(){const a=r.$getNodeByKey(this._key);return r.$isLineBreakNode(a)?a:null}getKey(){return this._key}getSharedType(){return this._map}getType(){return this._type}getSize(){return 1}getOffset(){return this._parent.getChildOffset(this)}destroy(a){a.collabNodeMap.delete(this._key)}}function D(a,b){b=new C(a,b);return a._collabNode=b}
9
- class E{constructor(a,b,c,d){this._key="";this._map=a;this._parent=c;this._text=b;this._type=d;this._normalized=!1}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return r.$isTextNode(a)?a:null}getNode(){const a=r.$getNodeByKey(this._key);return r.$isTextNode(a)?a:null}getSharedType(){return this._map}getType(){return this._type}getKey(){return this._key}getSize(){return this._text.length+(this._normalized?0:1)}getOffset(){return this._parent.getChildOffset(this)}spliceText(a,b,c){const d=
10
- this._parent._xmlText;a=this.getOffset()+1+a;0!==b&&d.delete(a,b);""!==c&&d.insert(a,c)}syncPropertiesAndTextFromLexical(a,b,c){var d=this.getPrevNode(c);c=b.__text;F(a,this._map,d,b);if(null!==d&&(a=d.__text,a!==c)){d=b.__key;b=a;var e=r.$getSelection();a=c.length;r.$isRangeSelection(e)&&e.isCollapsed()&&(e=e.anchor,e.key===d&&(a=e.offset));d=b.length;const f=c.length;let g=e=0;for(;e<d&&e<f&&b[e]===c[e]&&e<a;)e++;for(;g+e<d&&g+e<f&&b[d-g-1]===c[f-g-1];)g++;for(;g+e<d&&g+e<f&&b[e]===c[e];)e++;b=
7
+ var k=require("lexical"),r=require("yjs"),z=require("@lexical/offset");function B(a){throw Error(`Minified Lexical error #${a}; see codes.json for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
8
+ class C{constructor(a,b){this._key="";this._map=a;this._parent=b;this._type="linebreak"}getNode(){const a=k.$getNodeByKey(this._key);return k.$isLineBreakNode(a)?a:null}getKey(){return this._key}getSharedType(){return this._map}getType(){return this._type}getSize(){return 1}getOffset(){return this._parent.getChildOffset(this)}destroy(a){a.collabNodeMap.delete(this._key)}}function D(a,b){b=new C(a,b);return a._collabNode=b}
9
+ class E{constructor(a,b,c,d){this._key="";this._map=a;this._parent=c;this._text=b;this._type=d;this._normalized=!1}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return k.$isTextNode(a)?a:null}getNode(){const a=k.$getNodeByKey(this._key);return k.$isTextNode(a)?a:null}getSharedType(){return this._map}getType(){return this._type}getKey(){return this._key}getSize(){return this._text.length+(this._normalized?0:1)}getOffset(){return this._parent.getChildOffset(this)}spliceText(a,b,c){const d=
10
+ this._parent._xmlText;a=this.getOffset()+1+a;0!==b&&d.delete(a,b);""!==c&&d.insert(a,c)}syncPropertiesAndTextFromLexical(a,b,c){var d=this.getPrevNode(c);c=b.__text;F(a,this._map,d,b);if(null!==d&&(a=d.__text,a!==c)){d=b.__key;b=a;var e=k.$getSelection();a=c.length;k.$isRangeSelection(e)&&e.isCollapsed()&&(e=e.anchor,e.key===d&&(a=e.offset));d=b.length;const f=c.length;let g=e=0;for(;e<d&&e<f&&b[e]===c[e]&&e<a;)e++;for(;g+e<d&&g+e<f&&b[d-g-1]===c[f-g-1];)g++;for(;g+e<d&&g+e<f&&b[e]===c[e];)e++;b=
11
11
  e;a=c.slice(e,f-g);d=d-e-g;this.spliceText(b,d,a);this._text=c}}syncPropertiesAndTextFromYjs(a,b){const c=this.getNode();if(null===c)throw Error("Should never happen");G(a,this._map,c,b);a=this._text;c.__text!==a&&(c.getWritable().__text=a)}destroy(a){a.collabNodeMap.delete(this._key)}}function I(a,b,c,d){b=new E(a,b,c,d);return a._collabNode=b}const J=new Set("__key __children __parent __cachedText __text __state".split(" "));
12
- function K(a){a=r.$getNodeByKey(a);if(null===a)throw Error("Should never happen");return a}
13
- function aa(a,b,c){const d=b.__type;if(r.$isElementNode(b)){var e=new k.XmlText;c=L(e,c,d);c.syncPropertiesFromLexical(a,b,null);c.syncChildrenFromLexical(a,b,null,null,null)}else if(r.$isTextNode(b))e=new k.Map,c=I(e,b.__text,c,d),c.syncPropertiesAndTextFromLexical(a,b,null);else if(r.$isLineBreakNode(b))a=new k.Map,a.set("__type","linebreak"),c=D(a,c);else if(r.$isDecoratorNode(b))e=new k.XmlElement,c=ba(e,c,d),c.syncPropertiesFromLexical(a,b,null);else throw Error("Should never happen");c._key=
12
+ function K(a){a=k.$getNodeByKey(a);if(null===a)throw Error("Should never happen");return a}
13
+ function aa(a,b,c){const d=b.__type;if(k.$isElementNode(b)){var e=new r.XmlText;c=L(e,c,d);c.syncPropertiesFromLexical(a,b,null);c.syncChildrenFromLexical(a,b,null,null,null)}else if(k.$isTextNode(b))e=new r.Map,c=I(e,b.__text,c,d),c.syncPropertiesAndTextFromLexical(a,b,null);else if(k.$isLineBreakNode(b))a=new r.Map,a.set("__type","linebreak"),c=D(a,c);else if(k.$isDecoratorNode(b))e=new r.XmlElement,c=ba(e,c,d),c.syncPropertiesFromLexical(a,b,null);else throw Error("Should never happen");c._key=
14
14
  b.__key;return c}
15
- function M(a,b,c){const d=b._collabNode;if(void 0===d){var e=a.editor._nodes;const f=b instanceof k.Map?b.get("__type"):b.getAttribute("__type");if(null==f)throw Error("Should never happen");if(void 0===e.get(f))throw Error("Should never happen");e=b.parent;a=void 0===c&&null!==e?M(a,e):c||null;if(!(a instanceof O))throw Error("Should never happen");if(b instanceof k.XmlText)return L(b,a,f);if(b instanceof k.Map){if(null===a)throw Error("Should never happen");return"linebreak"===f?D(b,a):I(b,"",a,
16
- f)}if(b instanceof k.XmlElement)return ba(b,a,f)}return d}function G(a,b,c,d){a=null===d?b instanceof k.Map?Array.from(b.keys()):Object.keys(b.getAttributes()):Array.from(d);let e;for(d=0;d<a.length;d++){const f=a[d];if(J.has(f))continue;const g=c[f],h=b instanceof k.Map?b.get(f):b.getAttribute(f);g!==h&&(void 0===e&&(e=c.getWritable()),e[f]=h)}}
17
- function F(a,b,c,d){var e=d.__type,f=a.nodeProperties;a=f.get(e);void 0===a&&(a=Object.keys(d).filter(g=>!J.has(g)),f.set(e,a));for(e=0;e<a.length;e++){f=a[e];const g=d[f];(null===c?void 0:c[f])!==g&&(b instanceof k.Map?b.set(f,g):b.setAttribute(f,g))}}
15
+ function M(a,b,c){const d=b._collabNode;if(void 0===d){var e=a.editor._nodes;const f=b instanceof r.Map?b.get("__type"):b.getAttribute("__type");if(null==f)throw Error("Should never happen");if(void 0===e.get(f))throw Error("Should never happen");e=b.parent;a=void 0===c&&null!==e?M(a,e):c||null;if(!(a instanceof O))throw Error("Should never happen");if(b instanceof r.XmlText)return L(b,a,f);if(b instanceof r.Map){if(null===a)throw Error("Should never happen");return"linebreak"===f?D(b,a):I(b,"",a,
16
+ f)}if(b instanceof r.XmlElement)return ba(b,a,f)}return d}function G(a,b,c,d){a=null===d?b instanceof r.Map?Array.from(b.keys()):Object.keys(b.getAttributes()):Array.from(d);let e;for(d=0;d<a.length;d++){const f=a[d];if(J.has(f))continue;const g=c[f],h=b instanceof r.Map?b.get(f):b.getAttribute(f);g!==h&&(void 0===e&&(e=c.getWritable()),e[f]=h)}}
17
+ function F(a,b,c,d){var e=d.__type,f=a.nodeProperties;a=f.get(e);void 0===a&&(a=Object.keys(d).filter(g=>!J.has(g)),f.set(e,a));for(e=0;e<a.length;e++){f=a[e];const g=d[f];(null===c?void 0:c[f])!==g&&(b instanceof r.Map?b.set(f,g):b.setAttribute(f,g))}}
18
18
  function P(a,b,c){let d=0,e=0;const f=a._children,g=f.length;for(;e<g;e++){a=f[e];const h=d,p=a.getSize();d+=p;if((c?d>=b:d>b)&&a instanceof E)return b=b-h-1,0>b&&(b=0),{length:p-b,node:a,nodeIndex:e,offset:b};if(d>b)return{length:0,node:a,nodeIndex:e,offset:h};if(e===g-1)return{length:0,node:null,nodeIndex:e+1,offset:h+1}}return{length:0,node:null,nodeIndex:0,offset:0}}
19
- function ca(a){const b=a.anchor;a=a.focus;let c=!1;try{const d=b.getNode(),e=a.getNode();if(!d.isAttached()||!e.isAttached()||r.$isTextNode(d)&&b.offset>d.getTextContentSize()||r.$isTextNode(e)&&a.offset>e.getTextContentSize())c=!0}catch(d){c=!0}return c}function Q(a,b){a.doc.transact(b,a)}let R=!1;function S(a){const b=R;try{R=!0,a()}finally{R=b}}function T(a,b,c,d){const e=c.observe(f=>{R||Q(a,()=>da(a,b,c._map,d,f))});b._unobservers.add(e)}
19
+ function ca(a){const b=a.anchor;a=a.focus;let c=!1;try{const d=b.getNode(),e=a.getNode();if(!d.isAttached()||!e.isAttached()||k.$isTextNode(d)&&b.offset>d.getTextContentSize()||k.$isTextNode(e)&&a.offset>e.getTextContentSize())c=!0}catch(d){c=!0}return c}function Q(a,b){a.doc.transact(b,a)}let R=!1;function S(a){const b=R;try{R=!0,a()}finally{R=b}}function T(a,b,c,d){const e=c.observe(f=>{R||Q(a,()=>da(a,b,c._map,d,f))});b._unobservers.add(e)}
20
20
  function V(a,b,c,d){const e=c.observe((f,g)=>{R||Q(a,()=>{0<g&&d.delete(f,g);ea(a,b,c._array,d,f)})});b._unobservers.add(e)}
21
- function da(a,b,c,d,e){const f=c.get(e);c=d.get(e);if(f!==c)if(r.isDecoratorMap(f))void 0===c&&(c=new k.Map,c._lexicalValue=f,c._collabNode=b,c.set("type","map"),d.set(e,c),T(a,b,f,c)),W(a,b,f,c);else if(r.isDecoratorEditor(f)){let g;void 0===c&&(c=new k.Map,c._lexicalValue=f,c._collabNode=b,g=new k.Doc,c.set("doc",g),c.set("type","editor"),d.set(e,c));g=g||c.get("doc");b=c.get("id");d=f.id;b!==d&&(a=a.docMap,a.delete(b),c.set("id",d),a.set(d,g))}else r.isDecoratorArray(f)?(void 0===c&&(c=new k.Array,
22
- c._lexicalValue=f,c._collabNode=b,d.set(e,c),V(a,b,f,c)),fa(a,b,f,c)):((r.isDecoratorArray(c)||r.isDecoratorMap(c))&&c.destroy(),d.set(e,f))}
23
- function ea(a,b,c,d,e){const f=c[e];c=d.get(e);if(f!==c)if(r.isDecoratorMap(f))void 0===c&&(c=new k.Map,c._lexicalValue=f,c._collabNode=b,c.set("type","map"),d.insert(e,[c]),T(a,b,f,c)),W(a,b,f,c);else if(r.isDecoratorEditor(f)){let g;void 0===c&&(c=new k.Map,c._lexicalValue=f,c._collabNode=b,g=new k.Doc,c.set("doc",g),c.set("type","editor"),d.insert(e,[c]));g=g||c.get("doc");b=c.get("id");d=f.id;b!==d&&(a=a.docMap,a.delete(b),c.set("id",d),a.set(d,g))}else r.isDecoratorArray(f)?(void 0===c&&(c=new k.Array,
24
- c._lexicalValue=f,c._collabNode=b,d.insert(e,[c]),V(a,b,f,c)),fa(a,b,f,c)):d.insert(e,[f])}function W(a,b,c,d){c=c._map;const e=Array.from(c.keys());for(let f=0;f<e.length;f++)da(a,b,c,d,e[f])}function fa(a,b,c,d){c=c._array;for(let e=0;e<c.length;e++)ea(a,b,c,d,e)}
25
- function ha(a,b,c,d,e){var f=d.get(e);const g=c.get(e);if(f!==g){let h=g._lexicalValue;g instanceof k.Map?(c=g.get("type"),"editor"===c?void 0===h&&(a=a.docMap,c=g.get("id"),f=g.get("doc"),h=r.createDecoratorEditor(c),g._lexicalValue=h,g._collabNode=b,a.set(c,f),S(()=>d.set(e,h))):"map"===c?(void 0===h&&(h=r.createDecoratorMap(a.editor),T(a,b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.set(e,h))),X(a,b,g,h,null)):B(48)):g instanceof k.Array?(void 0===h&&(h=r.createDecoratorArray(a.editor),V(a,
21
+ function da(a,b,c,d,e){const f=c.get(e);c=d.get(e);if(f!==c)if(k.isDecoratorMap(f))void 0===c&&(c=new r.Map,c._lexicalValue=f,c._collabNode=b,c.set("type","map"),d.set(e,c),T(a,b,f,c)),W(a,b,f,c);else if(k.isDecoratorEditor(f)){let g;void 0===c&&(c=new r.Map,c._lexicalValue=f,c._collabNode=b,g=new r.Doc,c.set("doc",g),c.set("type","editor"),d.set(e,c));g=g||c.get("doc");b=c.get("id");d=f.id;b!==d&&(a=a.docMap,a.delete(b),c.set("id",d),a.set(d,g))}else k.isDecoratorArray(f)?(void 0===c&&(c=new r.Array,
22
+ c._lexicalValue=f,c._collabNode=b,d.set(e,c),V(a,b,f,c)),fa(a,b,f,c)):((k.isDecoratorArray(c)||k.isDecoratorMap(c))&&c.destroy(),d.set(e,f))}
23
+ function ea(a,b,c,d,e){const f=c[e];c=d.get(e);if(f!==c)if(k.isDecoratorMap(f))void 0===c&&(c=new r.Map,c._lexicalValue=f,c._collabNode=b,c.set("type","map"),d.insert(e,[c]),T(a,b,f,c)),W(a,b,f,c);else if(k.isDecoratorEditor(f)){let g;void 0===c&&(c=new r.Map,c._lexicalValue=f,c._collabNode=b,g=new r.Doc,c.set("doc",g),c.set("type","editor"),d.insert(e,[c]));g=g||c.get("doc");b=c.get("id");d=f.id;b!==d&&(a=a.docMap,a.delete(b),c.set("id",d),a.set(d,g))}else k.isDecoratorArray(f)?(void 0===c&&(c=new r.Array,
24
+ c._lexicalValue=f,c._collabNode=b,d.insert(e,[c]),V(a,b,f,c)),fa(a,b,f,c)):d.insert(e,[f])}function W(a,b,c,d){c=c._map;for(const [e]of c)da(a,b,c,d,e)}function fa(a,b,c,d){c=c._array;for(let e=0;e<c.length;e++)ea(a,b,c,d,e)}
25
+ function ha(a,b,c,d,e){var f=d.get(e);const g=c.get(e);if(f!==g){let h=g._lexicalValue;g instanceof r.Map?(c=g.get("type"),"editor"===c?void 0===h&&(a=a.docMap,c=g.get("id"),f=g.get("doc"),h=k.createDecoratorEditor(c),g._lexicalValue=h,g._collabNode=b,a.set(c,f),S(()=>d.set(e,h))):"map"===c?(void 0===h&&(h=k.createDecoratorMap(a.editor),T(a,b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.set(e,h))),X(a,b,g,h,null)):B(48)):g instanceof r.Array?(void 0===h&&(h=k.createDecoratorArray(a.editor),V(a,
26
26
  b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.set(e,h))),ia(a,b,g,h)):S(()=>d.set(e,g))}}
27
- function ja(a,b,c,d,e){var f=d._array[e];const g=c.get(e);if(f!==g){let h=g._lexicalValue;g instanceof k.Map?(c=g.get("type"),"editor"===c?void 0===h&&(a=a.docMap,c=g.get("id"),f=g.get("doc"),h=r.createDecoratorEditor(c),g._lexicalValue=h,g._collabNode=b,a.set(c,f),S(()=>d.splice(e,0,h))):"map"===c?(void 0===h&&(h=r.createDecoratorMap(a.editor),T(a,b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.splice(e,0,h))),X(a,b,g,h,null)):B(48)):g instanceof k.Array?(void 0===h&&(h=r.createDecoratorArray(a.editor),
27
+ function ja(a,b,c,d,e){var f=d._array[e];const g=c.get(e);if(f!==g){let h=g._lexicalValue;g instanceof r.Map?(c=g.get("type"),"editor"===c?void 0===h&&(a=a.docMap,c=g.get("id"),f=g.get("doc"),h=k.createDecoratorEditor(c),g._lexicalValue=h,g._collabNode=b,a.set(c,f),S(()=>d.splice(e,0,h))):"map"===c?(void 0===h&&(h=k.createDecoratorMap(a.editor),T(a,b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.splice(e,0,h))),X(a,b,g,h,null)):B(48)):g instanceof r.Array?(void 0===h&&(h=k.createDecoratorArray(a.editor),
28
28
  V(a,b,h,g),g._lexicalValue=h,g._collabNode=b,S(()=>d.splice(e,0,h))),ia(a,b,g,h)):S(()=>d.splice(e,0,g))}}function ia(a,b,c,d){const e=Math.max(c.length,d.getLength());for(let f=0;f<e;f++)ja(a,b,c,d,f)}function X(a,b,c,d,e){e=null===e?Array.from(c.keys()):Array.from(e);for(let f=0;f<e.length;f++)ha(a,b,c,d,e[f])}
29
- class Y{constructor(a,b,c){this._key="";this._xmlElem=a;this._parent=b;this._type=c;this._unobservers=new Set}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return r.$isDecoratorNode(a)?a:null}getNode(){const a=r.$getNodeByKey(this._key);return r.$isDecoratorNode(a)?a:null}getSharedType(){return this._xmlElem}getType(){return this._type}getKey(){return this._key}getSize(){return 1}getOffset(){return this._parent.getChildOffset(this)}syncPropertiesFromLexical(a,b,c){const d=this.getPrevNode(c);
30
- c=this._xmlElem;const e=null===d?null:d.__state,f=b.__state;F(a,c,d,b);e!==f&&(b=new k.Map,c.insert(0,[b]),b._lexicalValue=f,b._collabNode=this,W(a,this,f,b),T(a,this,f,b))}syncPropertiesFromYjs(a,b){const c=this.getNode();if(null===c)throw Error("Should never happen");const d=this._xmlElem,e=d.firstChild,f=c.__state;e._lexicalValue=f;e._collabNode=this;G(a,d,c,b);X(a,this,e,f,null);T(a,this,f,e)}destroy(a){a.collabNodeMap.delete(this._key);this._unobservers.forEach(b=>b());this._unobservers.clear()}}
29
+ class Y{constructor(a,b,c){this._key="";this._xmlElem=a;this._parent=b;this._type=c;this._unobservers=new Set}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return k.$isDecoratorNode(a)?a:null}getNode(){const a=k.$getNodeByKey(this._key);return k.$isDecoratorNode(a)?a:null}getSharedType(){return this._xmlElem}getType(){return this._type}getKey(){return this._key}getSize(){return 1}getOffset(){return this._parent.getChildOffset(this)}syncPropertiesFromLexical(a,b,c){const d=this.getPrevNode(c);
30
+ c=this._xmlElem;const e=null===d?null:d.__state,f=b.__state;F(a,c,d,b);e!==f&&(b=new r.Map,c.insert(0,[b]),b._lexicalValue=f,b._collabNode=this,W(a,this,f,b),T(a,this,f,b))}syncPropertiesFromYjs(a,b){const c=this.getNode();if(null===c)throw Error("Should never happen");const d=this._xmlElem,e=d.firstChild,f=c.__state;e._lexicalValue=f;e._collabNode=this;G(a,d,c,b);X(a,this,e,f,null);T(a,this,f,e)}destroy(a){a.collabNodeMap.delete(this._key);this._unobservers.forEach(b=>b());this._unobservers.clear()}}
31
31
  function ba(a,b,c){b=new Y(a,b,c);return a._collabNode=b}
32
- class O{constructor(a,b,c){this._key="";this._children=[];this._xmlText=a;this._type=c;this._parent=b}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return r.$isElementNode(a)?a:null}getNode(){const a=r.$getNodeByKey(this._key);return r.$isElementNode(a)?a:null}getSharedType(){return this._xmlText}getType(){return this._type}getKey(){return this._key}isEmpty(){return 0===this._children.length}getSize(){return 1}getOffset(){const a=this._parent;if(null===a)throw Error("Should never happen");
32
+ class O{constructor(a,b,c){this._key="";this._children=[];this._xmlText=a;this._type=c;this._parent=b}getPrevNode(a){if(null===a)return null;a=a.get(this._key);return k.$isElementNode(a)?a:null}getNode(){const a=k.$getNodeByKey(this._key);return k.$isElementNode(a)?a:null}getSharedType(){return this._xmlText}getType(){return this._type}getKey(){return this._key}isEmpty(){return 0===this._children.length}getSize(){return 1}getOffset(){const a=this._parent;if(null===a)throw Error("Should never happen");
33
33
  return a.getChildOffset(this)}syncPropertiesFromYjs(a,b){const c=this.getNode();if(null===c)throw this.getNode(),Error("Should never happen");G(a,this._xmlText,c,b)}applyChildrenYjsDelta(a,b){const c=this._children;let d=0;for(let q=0;q<b.length;q++){var e=b[q],f=e.insert,g=e.delete;if(null!=e.retain)d+=e.retain;else if("number"===typeof g)for(f=g;0<f;){const {node:l,nodeIndex:t,offset:u,length:n}=P(this,d,!1);if(l instanceof O||l instanceof C||l instanceof Y)c.splice(t,1),--f;else if(l instanceof
34
34
  E){e=Math.min(f,n);g=0!==t?c[t-1]:null;var h=l.getSize();if(0===u&&1===e&&0<t&&g instanceof E&&n===h&&0===Array.from(l._map.keys()).length)g._text+=l._text,c.splice(t,1);else if(0===u&&e===h)c.splice(t,1);else{g=l._text;h=u;var p=e;g=g.slice(0,h)+""+g.slice(h+p);l._text=g}f-=e}else break}else if(null!=f)if("string"===typeof f){const {node:l,offset:t}=P(this,d,!0);l instanceof E?(e=l._text,g=t,h=f,e=e.slice(0,g)+h+e.slice(g+0),l._text=e):this._xmlText.delete(t,f.length);d+=f.length}else e=f,{nodeIndex:f}=
35
- P(this,d,!1),e=M(a,e,this),c.splice(f,0,e),d+=1;else throw Error("Unexpected delta format");}}syncChildrenFromYjs(a){var b=this.getNode();if(null===b)throw this.getNode(),Error("Should never happen");var c=b.__key;const d=b.__children;var e=[];const f=d.length,g=this._children,h=g.length,p=a.collabNodeMap,q=new Set;let l,t;h!==f&&(t=ka(b,t,e));let u=0;for(let y=0;y<h;y++){var n=d[u];const x=g[y];var m=x.getNode(),w=x._key;if(null!==m&&n===w){m=r.$isTextNode(m);q.add(n);if(m)if(x._key=n,x instanceof
35
+ P(this,d,!1),e=M(a,e,this),c.splice(f,0,e),d+=1;else throw Error("Unexpected delta format");}}syncChildrenFromYjs(a){var b=this.getNode();if(null===b)throw this.getNode(),Error("Should never happen");var c=b.__key;const d=b.__children;var e=[];const f=d.length,g=this._children,h=g.length,p=a.collabNodeMap,q=new Set;let l,t;h!==f&&(t=ka(b,t,e));let u=0;for(let y=0;y<h;y++){var n=d[u];const x=g[y];var m=x.getNode(),w=x._key;if(null!==m&&n===w){m=k.$isTextNode(m);q.add(n);if(m)if(x._key=n,x instanceof
36
36
  O)m=x._xmlText,x.syncPropertiesFromYjs(a,null),x.applyChildrenYjsDelta(a,m.toDelta()),x.syncChildrenFromYjs(a);else if(x instanceof E)x.syncPropertiesAndTextFromYjs(a,null);else if(x instanceof Y)x.syncPropertiesFromYjs(a,null);else if(!(x instanceof C))throw Error("Should never happen");e[y]=n;u++}else{if(void 0===l)for(l=new Set,w=0;w<h;w++){var v=g[w]._key;""!==v&&l.add(v)}if(null===m||void 0===n||l.has(n)){t=ka(b,t,e);n=a;m=x;w=c;v=m.getType();v=n.editor._nodes.get(v);if(void 0===v)throw Error("createLexicalNode failed");
37
37
  v=new v.klass;v.__parent=w;m._key=v.__key;m instanceof O?(w=m._xmlText,m.syncPropertiesFromYjs(n,null),m.applyChildrenYjsDelta(n,w.toDelta()),m.syncChildrenFromYjs(n)):m instanceof E?m.syncPropertiesAndTextFromYjs(n,null):m instanceof Y&&m.syncPropertiesFromYjs(n,null);n.collabNodeMap.set(v.__key,m);n=v.__key;p.set(n,x);e[y]=n}else y--,u++}}for(b=0;b<f;b++)e=d[b],q.has(e)||(c=K(e).getWritable(),e=a.collabNodeMap.get(e),void 0!==e&&e.destroy(a),c.__parent=null)}syncPropertiesFromLexical(a,b,c){F(a,
38
- this._xmlText,this.getPrevNode(c),b)}_syncChildFromLexical(a,b,c,d,e,f){b=this._children[b];c=K(c);b instanceof O&&r.$isElementNode(c)?(b.syncPropertiesFromLexical(a,c,d),b.syncChildrenFromLexical(a,c,d,e,f)):b instanceof E&&r.$isTextNode(c)?b.syncPropertiesAndTextFromLexical(a,c,d):b instanceof Y&&r.$isDecoratorNode(c)&&b.syncPropertiesFromLexical(a,c,d)}syncChildrenFromLexical(a,b,c,d,e){var f=this.getPrevNode(c);const g=null===f?[]:f.__children;f=b.__children;const h=g.length-1,p=f.length-1,q=
38
+ this._xmlText,this.getPrevNode(c),b)}_syncChildFromLexical(a,b,c,d,e,f){b=this._children[b];c=K(c);b instanceof O&&k.$isElementNode(c)?(b.syncPropertiesFromLexical(a,c,d),b.syncChildrenFromLexical(a,c,d,e,f)):b instanceof E&&k.$isTextNode(c)?b.syncPropertiesAndTextFromLexical(a,c,d):b instanceof Y&&k.$isDecoratorNode(c)&&b.syncPropertiesFromLexical(a,c,d)}syncChildrenFromLexical(a,b,c,d,e){var f=this.getPrevNode(c);const g=null===f?[]:f.__children;f=b.__children;const h=g.length-1,p=f.length-1,q=
39
39
  a.collabNodeMap;let l,t,u=0;for(b=0;u<=h&&b<=p;){var n=g[u];const w=f[b];if(n===w)this._syncChildFromLexical(a,b,w,c,d,e),u++,b++;else{void 0===l&&(l=new Set(g));void 0===t&&(t=new Set(f));var m=t.has(n);n=l.has(w);m?(m=K(w),m=aa(a,m,this),q.set(w,m),n?(this.splice(a,b,1,m),u++):this.splice(a,b,0,m),b++):(this.splice(a,b,1),u++)}}c=u>h;d=b>p;if(c&&!d)for(;b<=p;++b)c=f[b],d=K(c),d=aa(a,d,this),this.append(d),q.set(c,d);else if(d&&!c)for(f=this._children.length-1;f>=b;f--)this.splice(a,f,1)}append(a){const b=
40
40
  this._xmlText;var c=this._children;c=c[c.length-1];c=void 0!==c?c.getOffset()+c.getSize():0;if(a instanceof O)b.insertEmbed(c,a._xmlText);else if(a instanceof E){const d=a._map;null===d.parent&&b.insertEmbed(c,d);b.insert(c+1,a._text)}else a instanceof C?b.insertEmbed(c,a._map):a instanceof Y&&b.insertEmbed(c,a._xmlElem);this._children.push(a)}splice(a,b,c,d){const e=this._children;var f=e[b];if(void 0===f)if(void 0!==d)this.append(d);else throw Error("Should never happen");else{var g=f.getOffset();
41
41
  if(-1===g)throw Error("Should never happen");var h=this._xmlText;0!==c&&h.delete(g,f.getSize());d instanceof O?h.insertEmbed(g,d._xmlText):d instanceof E?(f=d._map,null===f.parent&&h.insertEmbed(g,f),h.insert(g+1,d._text)):d instanceof C?h.insertEmbed(g,d._map):d instanceof Y&&h.insertEmbed(g,d._xmlElem);if(0!==c)for(g=e.slice(b,b+c),h=0;h<g.length;h++)g[h].destroy(a);void 0!==d?e.splice(b,c,d):e.splice(b,c)}}getChildOffset(a){let b=0;const c=this._children;for(let d=0;d<c.length;d++){const e=c[d];
42
42
  if(e===a)return b;b+=e.getSize()}return-1}destroy(a){const b=a.collabNodeMap,c=this._children;for(let d=0;d<c.length;d++)c[d].destroy(a);b.delete(this._key)}}function ka(a,b,c){return void 0===b?(a=a.getWritable(),a.__children=c,a):b}function L(a,b,c){b=new O(a,b,c);return a._collabNode=b}
43
- function la(a,b){b=b.collabNodeMap.get(a.key);if(void 0===b)return null;a=a.offset;let c=b.getSharedType();if(b instanceof E){c=b._parent._xmlText;b=b.getOffset();if(-1===b)return null;a=b+1+a}return k.createRelativePositionFromTypeIndex(c,a)}function ma(a,b){if(null==a){if(null!=b)return!0}else if(null==b||!k.compareRelativePositions(a,b))return!0;return!1}function na(a,b){a=a.cursorsContainer;if(null!==a){b=b.selections;const c=b.length;for(let d=0;d<c;d++)a.removeChild(b[d])}}
43
+ function la(a,b){b=b.collabNodeMap.get(a.key);if(void 0===b)return null;a=a.offset;let c=b.getSharedType();if(b instanceof E){c=b._parent._xmlText;b=b.getOffset();if(-1===b)return null;a=b+1+a}return r.createRelativePositionFromTypeIndex(c,a)}function ma(a,b){if(null==a){if(null!=b)return!0}else if(null==b||!r.compareRelativePositions(a,b))return!0;return!1}function na(a,b){a=a.cursorsContainer;if(null!==a){b=b.selections;const c=b.length;for(let d=0;d<c;d++)a.removeChild(b[d])}}
44
44
  function oa(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}function pa(a){const b=a.parentNode;if(null==b)throw Error("Should never happen");return[b,Array.from(b.childNodes).indexOf(a)]}
45
- function qa(a,b){var c=b.awareness.getLocalState();if(null!==c&&(b=c.anchorPos,c=c.focusPos,null!==b&&null!==c&&(b=k.createAbsolutePositionFromRelativePosition(b,a.doc),a=k.createAbsolutePositionFromRelativePosition(c,a.doc),null!==b&&null!==a))){const [e,f]=Z(b.type,b.index),[g,h]=Z(a.type,a.index);if(null!==e&&null!==g){const p=e.getKey();a=g.getKey();b=r.$getSelection();if(r.$isRangeSelection(b)){var d=b.anchor;c=b.focus;if(d.key!==p||d.offset!==f)d=r.$getNodeByKey(p),b.anchor.set(p,f,r.$isElementNode(d)?
46
- "element":"text");if(c.key!==a||c.offset!==h)c=r.$getNodeByKey(a),b.focus.set(a,h,r.$isElementNode(c)?"element":"text")}}}}function Z(a,b){a=a._collabNode;if(void 0===a)return[null,0];if(a instanceof O){const {node:c,offset:d}=P(a,b,!0);return null===c?[a,0]:[c,d]}return[null,0]}
47
- function va(a,b){var c=Array.from(b.awareness.getStates()),d=a.clientID;b=a.cursors;var e=a.editor._editorState._nodeMap;const f=new Set;for(var g=0;g<c.length;g++){const [N,xa]=c[g];if(N!==d){f.add(N);const {anchorPos:ra,focusPos:sa,name:ya,color:za,focusing:Aa}=xa;var h=null,p=b.get(N);void 0===p&&(p={color:za,name:ya,selection:null},b.set(N,p));if(null!==ra&&null!==sa&&Aa){var q=k.createAbsolutePositionFromRelativePosition(ra,a.doc),l=k.createAbsolutePositionFromRelativePosition(sa,a.doc);if(null!==
45
+ function qa(a,b){var c=b.awareness.getLocalState();if(null!==c&&(b=c.anchorPos,c=c.focusPos,null!==b&&null!==c&&(b=r.createAbsolutePositionFromRelativePosition(b,a.doc),a=r.createAbsolutePositionFromRelativePosition(c,a.doc),null!==b&&null!==a))){const [e,f]=Z(b.type,b.index),[g,h]=Z(a.type,a.index);if(null!==e&&null!==g){const p=e.getKey();a=g.getKey();b=k.$getSelection();if(k.$isRangeSelection(b)){var d=b.anchor;c=b.focus;if(d.key!==p||d.offset!==f)d=k.$getNodeByKey(p),b.anchor.set(p,f,k.$isElementNode(d)?
46
+ "element":"text");if(c.key!==a||c.offset!==h)c=k.$getNodeByKey(a),b.focus.set(a,h,k.$isElementNode(c)?"element":"text")}}}}function Z(a,b){a=a._collabNode;if(void 0===a)return[null,0];if(a instanceof O){const {node:c,offset:d}=P(a,b,!0);return null===c?[a,0]:[c,d]}return[null,0]}
47
+ function va(a,b){var c=Array.from(b.awareness.getStates()),d=a.clientID;b=a.cursors;var e=a.editor._editorState._nodeMap;const f=new Set;for(var g=0;g<c.length;g++){const [N,xa]=c[g];if(N!==d){f.add(N);const {anchorPos:ra,focusPos:sa,name:ya,color:za,focusing:Aa}=xa;var h=null,p=b.get(N);void 0===p&&(p={color:za,name:ya,selection:null},b.set(N,p));if(null!==ra&&null!==sa&&Aa){var q=r.createAbsolutePositionFromRelativePosition(ra,a.doc),l=r.createAbsolutePositionFromRelativePosition(sa,a.doc);if(null!==
48
48
  q&&null!==l){const [H,U]=Z(q.type,q.index),[ta,ua]=Z(l.type,l.index);if(null!==H&&null!==ta){l=H.getKey();var t=ta.getKey();h=p.selection;if(null===h){q=p;h=l;l=U;var u=ua,n=q.color,m=document.createElement("span");m.style.cssText=`position:absolute;top:0;bottom:0;right:-1px;width:1px;background-color:rgb(${n});z-index:10;`;var w=document.createElement("span");w.textContent=q.name;w.style.cssText=`position:absolute;left:-2px;top:-16px;background-color:rgb(${n});color:#fff;line-height:12px;height:12px;font-size:12px;padding:2px;font-family:Arial;font-weight:bold;white-space:nowrap;`;
49
49
  m.appendChild(w);h={anchor:{key:h,offset:l},caret:m,color:n,focus:{key:t,offset:u},name:w,range:document.createRange(),selections:[]}}else q=h.anchor,u=h.focus,q.key=l,q.offset=U,u.key=t,u.offset=ua}}}a:{q=a;l=p;m=h;var v=e;n=q.editor;t=n.getRootElement();p=q.cursorsContainer;if(null===p||null===t)break a;h=l.selection;if(null===m){null!==h&&(l.selection=null,na(q,h));break a}else l.selection=m;u=m.range;h=m.caret;l=m.color;q=m.selections;var y=m.anchor,x=m.focus;m=y.key;w=x.key;var A=v.get(m);const H=
50
- v.get(w);v=n.getElementByKey(m);n=n.getElementByKey(w);y=y.offset;x=x.offset;r.$isTextNode(A)&&(v=oa(v));r.$isTextNode(H)&&(n=oa(n));if(void 0!==A&&void 0!==H&&null!==v&&null!==n){"BR"===v.nodeName&&([v,y]=pa(v));"BR"===n.nodeName&&([n,x]=pa(n));A=v.firstChild;v===n&&null!=A&&"BR"===A.nodeName&&0===y&&0===x&&(x=1);try{u.setStart(v,y),u.setEnd(n,x)}catch(U){break a}!u.collapsed||y===x&&m===w||(u.setStart(n,x),u.setEnd(v,y));n=t.getBoundingClientRect();t=getComputedStyle(t);t=parseFloat(t.paddingLeft)+
50
+ v.get(w);v=n.getElementByKey(m);n=n.getElementByKey(w);y=y.offset;x=x.offset;k.$isTextNode(A)&&(v=oa(v));k.$isTextNode(H)&&(n=oa(n));if(void 0!==A&&void 0!==H&&null!==v&&null!==n){"BR"===v.nodeName&&([v,y]=pa(v));"BR"===n.nodeName&&([n,x]=pa(n));A=v.firstChild;v===n&&null!=A&&"BR"===A.nodeName&&0===y&&0===x&&(x=1);try{u.setStart(v,y),u.setEnd(n,x)}catch(U){break a}!u.collapsed||y===x&&m===w||(u.setStart(n,x),u.setEnd(v,y));n=t.getBoundingClientRect();t=getComputedStyle(t);t=parseFloat(t.paddingLeft)+
51
51
  parseFloat(t.paddingRight);m=Array.from(u.getClientRects());u=m.length;w=q.length;for(A=0;A<u;A++)v=m[A],v.width+t===n.width?(m.splice(A--,1),u--):(y=q[A],void 0===y&&(y=document.createElement("span"),q[A]=y,p.appendChild(y)),y.style.cssText=`position:absolute;top:${v.top}px;left:${v.left}px;height:${v.height}px;width:${v.width}px;background-color:rgba(${l}, 0.3);pointer-events:none;z-index:10;`,A===u-1&&h.parentNode!==y&&y.appendChild(h));for(h=w-1;h>=u;h--)p.removeChild(q[h]),q.pop()}}}}c=Array.from(b.keys());
52
- for(d=0;d<c.length;d++)e=c[d],f.has(e)||(g=b.get(e),void 0!==g&&(g=g.selection,null!==g&&na(a,g),b.delete(e)))}function wa(a,b,c,d){b=b.awareness;var e=b.getLocalState();if(null!==e){var {anchorPos:f,focusPos:g,name:h,color:p,focusing:q}=e,l=e=null;if(null!==d&&(null===f||d.is(c))||null!==c)r.$isRangeSelection(d)&&(e=la(d.anchor,a),l=la(d.focus,a)),(ma(f,e)||ma(g,l))&&b.setLocalState({anchorPos:e,color:p,focusPos:l,focusing:q,name:h})}}
53
- function Ba(a,b){var {target:c}=b;const d=M(a,c),e=c._lexicalValue;if(void 0!==e&&d instanceof Y)if(c instanceof k.Map)X(a,d,c,e,b.keysChanged);else{if(c instanceof k.Array&&r.isDecoratorArray(e)){b=b.delta;let g=0;for(let h=0;h<b.length;h++){var f=b[h];const p=f.retain,q=f.delete;f=f.insert;if(void 0!==p)g+=p;else if(void 0!==q)S(()=>{e._array.slice(g,g+q).forEach(l=>{(r.isDecoratorArray(l)||r.isDecoratorMap(l))&&l.destroy()});e.splice(g,q)});else if(void 0!==f)ja(a,d,c,e,g);else throw Error("Not supported");
54
- }}}else if(d instanceof O&&b instanceof k.YTextEvent){const {keysChanged:g,childListChanged:h,delta:p}=b;0<g.size&&d.syncPropertiesFromYjs(a,g);h&&(d.applyChildrenYjsDelta(a,p),d.syncChildrenFromYjs(a))}else if(d instanceof E&&b instanceof k.YMapEvent)({keysChanged:c}=b),0<c.size&&d.syncPropertiesAndTextFromYjs(a,c);else if(d instanceof Y&&b instanceof k.YXmlEvent)({attributesChanged:c}=b),0<c.size&&d.syncPropertiesFromYjs(a,c);else throw Error("Should never happen");}
55
- exports.createBinding=function(a,b,c,d,e){if(void 0===d||null===d)throw Error("Should never happen");b=d.get("root",k.XmlText);b=L(b,null,"root");b._key="root";return{clientID:d.clientID,collabNodeMap:new Map,cursors:new Map,cursorsContainer:null,doc:d,docMap:e,editor:a,id:c,nodeProperties:new Map,root:b}};exports.createUndoManager=function(a,b){return new k.UndoManager(b,{trackedOrigins:new Set([a,null])})};
56
- exports.initLocalState=function(a,b,c,d){a.awareness.setLocalState({anchorPos:null,color:c,focusPos:null,focusing:d,name:b})};exports.setLocalStateFocus=function(a,b,c,d){({awareness:a}=a);let e=a.getLocalState();null===e&&(e={anchorPos:null,color:c,focusPos:null,focusing:d,name:b});e.focusing=d;a.setLocalState(e)};exports.syncCursorPositions=va;
57
- exports.syncLexicalUpdateToYjs=function(a,b,c,d,e,f,g,h){Q(a,()=>{d.read(()=>{if(h.has("collaboration")){if(0<g.size){var p=Array.from(g),q=a.collabNodeMap,l=[];for(let m=0;m<p.length;m++){var t=p[m],u=r.$getNodeByKey(t),n=q.get(t);if(n instanceof E)if(r.$isTextNode(u))l.push([n,u.__text]);else{u=n.getOffset();if(-1===u)continue;const w=n._parent;n._normalized=!0;w._xmlText.delete(u,1);q.delete(t);t=w._children;n=t.indexOf(n);t.splice(n,1)}}for(p=0;p<l.length;p++){const [m,w]=l[p];m._text=w}}}else e.has("root")&&
58
- (l=c._nodeMap,p=r.$getRoot(),q=a.root,q.syncPropertiesFromLexical(a,p,l),q.syncChildrenFromLexical(a,p,l,e,f)),l=r.$getSelection(),wa(a,b,c._selection,l)})})};
59
- exports.syncYjsChangesToLexical=function(a,b,c){const d=a.editor,e=d._editorState;d.update(()=>{var f=d._pendingEditorState;for(var g=0;g<c.length;g++)Ba(a,c[g]);var h=r.$getSelection();if(r.$isRangeSelection(h))if(ca(h)){g=e._selection;if(r.$isRangeSelection(g)){const p=z.$createOffsetView(d,0,e);f=z.$createOffsetView(d,0,f);const [q,l]=p.getOffsetsFromSelection(g);f=f.createSelectionFromOffsets(q,l,p);null!==f?r.$setSelection(f):(qa(a,b),ca(h)&&(h=r.$getRoot(),0===h.getChildrenSize()&&h.append(r.$createParagraphNode()),
60
- r.$getRoot().selectEnd()))}wa(a,b,g,r.$getSelection())}else qa(a,b)},{onUpdate:()=>{va(a,b)},skipTransforms:!0,tag:"collaboration"})};
52
+ for(d=0;d<c.length;d++)e=c[d],f.has(e)||(g=b.get(e),void 0!==g&&(g=g.selection,null!==g&&na(a,g),b.delete(e)))}function wa(a,b,c,d){b=b.awareness;var e=b.getLocalState();if(null!==e){var {anchorPos:f,focusPos:g,name:h,color:p,focusing:q}=e,l=e=null;if(null!==d&&(null===f||d.is(c))||null!==c)k.$isRangeSelection(d)&&(e=la(d.anchor,a),l=la(d.focus,a)),(ma(f,e)||ma(g,l))&&b.setLocalState({anchorPos:e,color:p,focusPos:l,focusing:q,name:h})}}
53
+ function Ba(a,b){var {target:c}=b;const d=M(a,c),e=c._lexicalValue;if(void 0!==e&&d instanceof Y)if(c instanceof r.Map)X(a,d,c,e,b.keysChanged);else{if(c instanceof r.Array&&k.isDecoratorArray(e)){b=b.delta;let g=0;for(let h=0;h<b.length;h++){var f=b[h];const p=f.retain,q=f.delete;f=f.insert;if(void 0!==p)g+=p;else if(void 0!==q)S(()=>{e._array.slice(g,g+q).forEach(l=>{(k.isDecoratorArray(l)||k.isDecoratorMap(l))&&l.destroy()});e.splice(g,q)});else if(void 0!==f)ja(a,d,c,e,g);else throw Error("Not supported");
54
+ }}}else if(d instanceof O&&b instanceof r.YTextEvent){const {keysChanged:g,childListChanged:h,delta:p}=b;0<g.size&&d.syncPropertiesFromYjs(a,g);h&&(d.applyChildrenYjsDelta(a,p),d.syncChildrenFromYjs(a))}else if(d instanceof E&&b instanceof r.YMapEvent)({keysChanged:c}=b),0<c.size&&d.syncPropertiesAndTextFromYjs(a,c);else if(d instanceof Y&&b instanceof r.YXmlEvent)({attributesChanged:c}=b),0<c.size&&d.syncPropertiesFromYjs(a,c);else throw Error("Should never happen");}
55
+ const Ca=k.createCommand(),Da=k.createCommand();exports.CONNECTED_COMMAND=Ca;exports.TOGGLE_CONNECT_COMMAND=Da;exports.createBinding=function(a,b,c,d,e){if(void 0===d||null===d)throw Error("Should never happen");b=d.get("root",r.XmlText);b=L(b,null,"root");b._key="root";return{clientID:d.clientID,collabNodeMap:new Map,cursors:new Map,cursorsContainer:null,doc:d,docMap:e,editor:a,id:c,nodeProperties:new Map,root:b}};
56
+ exports.createUndoManager=function(a,b){return new r.UndoManager(b,{trackedOrigins:new Set([a,null])})};exports.initLocalState=function(a,b,c,d){a.awareness.setLocalState({anchorPos:null,color:c,focusPos:null,focusing:d,name:b})};exports.setLocalStateFocus=function(a,b,c,d){({awareness:a}=a);let e=a.getLocalState();null===e&&(e={anchorPos:null,color:c,focusPos:null,focusing:d,name:b});e.focusing=d;a.setLocalState(e)};exports.syncCursorPositions=va;
57
+ exports.syncLexicalUpdateToYjs=function(a,b,c,d,e,f,g,h){Q(a,()=>{d.read(()=>{if(h.has("collaboration")){if(0<g.size){var p=Array.from(g),q=a.collabNodeMap,l=[];for(let m=0;m<p.length;m++){var t=p[m],u=k.$getNodeByKey(t),n=q.get(t);if(n instanceof E)if(k.$isTextNode(u))l.push([n,u.__text]);else{u=n.getOffset();if(-1===u)continue;const w=n._parent;n._normalized=!0;w._xmlText.delete(u,1);q.delete(t);t=w._children;n=t.indexOf(n);t.splice(n,1)}}for(p=0;p<l.length;p++){const [m,w]=l[p];m._text=w}}}else e.has("root")&&
58
+ (l=c._nodeMap,p=k.$getRoot(),q=a.root,q.syncPropertiesFromLexical(a,p,l),q.syncChildrenFromLexical(a,p,l,e,f)),l=k.$getSelection(),wa(a,b,c._selection,l)})})};
59
+ exports.syncYjsChangesToLexical=function(a,b,c){const d=a.editor,e=d._editorState;d.update(()=>{var f=d._pendingEditorState;for(var g=0;g<c.length;g++)Ba(a,c[g]);var h=k.$getSelection();if(k.$isRangeSelection(h))if(ca(h)){g=e._selection;if(k.$isRangeSelection(g)){const p=z.$createOffsetView(d,0,e);f=z.$createOffsetView(d,0,f);const [q,l]=p.getOffsetsFromSelection(g);f=f.createSelectionFromOffsets(q,l,p);null!==f?k.$setSelection(f):(qa(a,b),ca(h)&&(h=k.$getRoot(),0===h.getChildrenSize()&&h.append(k.$createParagraphNode()),
60
+ k.$getRoot().selectEnd()))}wa(a,b,g,k.$getSelection())}else qa(a,b)},{onUpdate:()=>{va(a,b)},skipTransforms:!0,tag:"collaboration"})};
package/package.json CHANGED
@@ -1,9 +1,5 @@
1
1
  {
2
2
  "name": "@lexical/yjs",
3
- "author": {
4
- "name": "Dominic Gannaway",
5
- "email": "dg@domgan.com"
6
- },
7
3
  "description": "The library provides Yjs editor bindings for Lexical.",
8
4
  "keywords": [
9
5
  "react",
@@ -15,13 +11,13 @@
15
11
  "crdt"
16
12
  ],
17
13
  "license": "MIT",
18
- "version": "0.1.16",
14
+ "version": "0.1.19",
19
15
  "main": "LexicalYjs.js",
20
16
  "dependencies": {
21
- "@lexical/offset": "0.1.16"
17
+ "@lexical/offset": "0.1.19"
22
18
  },
23
19
  "peerDependencies": {
24
- "lexical": "0.1.16",
20
+ "lexical": "0.1.19",
25
21
  "yjs": ">=13.5.22"
26
22
  },
27
23
  "repository": {