@kerebron/extension-yjs 0.6.6 → 0.7.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.
Files changed (90) hide show
  1. package/esm/ExtensionYjs.d.ts +3 -11
  2. package/esm/ExtensionYjs.d.ts.map +1 -1
  3. package/esm/ExtensionYjs.js +38 -45
  4. package/esm/ExtensionYjs.js.map +1 -1
  5. package/esm/WebsocketProvider.d.ts +69 -0
  6. package/esm/WebsocketProvider.d.ts.map +1 -0
  7. package/esm/WebsocketProvider.js +354 -0
  8. package/esm/WebsocketProvider.js.map +1 -0
  9. package/esm/YjsProvider.d.ts +48 -0
  10. package/esm/YjsProvider.d.ts.map +1 -0
  11. package/esm/YjsProvider.js +12 -0
  12. package/esm/YjsProvider.js.map +1 -0
  13. package/esm/_dnt.shims.d.ts +2 -0
  14. package/esm/_dnt.shims.d.ts.map +1 -0
  15. package/esm/_dnt.shims.js +58 -0
  16. package/esm/_dnt.shims.js.map +1 -0
  17. package/esm/binding/BindingMetadata.d.ts +6 -0
  18. package/esm/binding/BindingMetadata.d.ts.map +1 -0
  19. package/esm/binding/BindingMetadata.js +2 -0
  20. package/esm/binding/BindingMetadata.js.map +1 -0
  21. package/esm/binding/PmYjsBinding.d.ts +41 -0
  22. package/esm/binding/PmYjsBinding.d.ts.map +1 -0
  23. package/esm/binding/PmYjsBinding.js +190 -0
  24. package/esm/binding/PmYjsBinding.js.map +1 -0
  25. package/esm/binding/convertUtils.d.ts +48 -0
  26. package/esm/binding/convertUtils.d.ts.map +1 -0
  27. package/esm/binding/convertUtils.js +80 -0
  28. package/esm/binding/convertUtils.js.map +1 -0
  29. package/esm/{createNodeFromYElement.d.ts → binding/createNodeFromYElement.d.ts} +1 -1
  30. package/esm/binding/createNodeFromYElement.d.ts.map +1 -0
  31. package/esm/{createNodeFromYElement.js → binding/createNodeFromYElement.js} +2 -2
  32. package/esm/binding/createNodeFromYElement.js.map +1 -0
  33. package/esm/{updateYFragment.d.ts → binding/updateYFragment.d.ts} +3 -3
  34. package/esm/binding/updateYFragment.d.ts.map +1 -0
  35. package/esm/{updateYFragment.js → binding/updateYFragment.js} +10 -7
  36. package/esm/binding/updateYFragment.js.map +1 -0
  37. package/esm/lib.d.ts +1 -7
  38. package/esm/lib.d.ts.map +1 -1
  39. package/esm/lib.js +1 -200
  40. package/esm/lib.js.map +1 -1
  41. package/esm/position.d.ts +8 -0
  42. package/esm/position.d.ts.map +1 -0
  43. package/esm/position.js +165 -0
  44. package/esm/position.js.map +1 -0
  45. package/esm/ui/selection.d.ts +29 -0
  46. package/esm/ui/selection.d.ts.map +1 -0
  47. package/esm/ui/selection.js +129 -0
  48. package/esm/ui/selection.js.map +1 -0
  49. package/esm/yPositionPlugin.d.ts +6 -1
  50. package/esm/yPositionPlugin.d.ts.map +1 -1
  51. package/esm/yPositionPlugin.js +91 -50
  52. package/esm/yPositionPlugin.js.map +1 -1
  53. package/esm/ySyncPlugin.d.ts +5 -22
  54. package/esm/ySyncPlugin.d.ts.map +1 -1
  55. package/esm/ySyncPlugin.js +54 -116
  56. package/esm/ySyncPlugin.js.map +1 -1
  57. package/esm/yUndoPlugin.d.ts +11 -10
  58. package/esm/yUndoPlugin.d.ts.map +1 -1
  59. package/esm/yUndoPlugin.js +90 -52
  60. package/esm/yUndoPlugin.js.map +1 -1
  61. package/package.json +9 -6
  62. package/src/ExtensionYjs.ts +55 -67
  63. package/src/WebsocketProvider.ts +516 -0
  64. package/src/YjsProvider.ts +75 -0
  65. package/src/_dnt.shims.ts +60 -0
  66. package/src/binding/BindingMetadata.ts +6 -0
  67. package/src/binding/PmYjsBinding.ts +300 -0
  68. package/src/binding/convertUtils.ts +124 -0
  69. package/src/{createNodeFromYElement.ts → binding/createNodeFromYElement.ts} +3 -3
  70. package/src/{updateYFragment.ts → binding/updateYFragment.ts} +15 -8
  71. package/src/lib.ts +4 -230
  72. package/src/position.ts +191 -0
  73. package/src/ui/selection.ts +216 -0
  74. package/src/yPositionPlugin.ts +122 -74
  75. package/src/ySyncPlugin.ts +87 -170
  76. package/src/yUndoPlugin.ts +113 -62
  77. package/esm/ProsemirrorBinding.d.ts +0 -60
  78. package/esm/ProsemirrorBinding.d.ts.map +0 -1
  79. package/esm/ProsemirrorBinding.js +0 -405
  80. package/esm/ProsemirrorBinding.js.map +0 -1
  81. package/esm/createNodeFromYElement.d.ts.map +0 -1
  82. package/esm/createNodeFromYElement.js.map +0 -1
  83. package/esm/updateYFragment.d.ts.map +0 -1
  84. package/esm/updateYFragment.js.map +0 -1
  85. package/esm/userColors.d.ts +0 -5
  86. package/esm/userColors.d.ts.map +0 -1
  87. package/esm/userColors.js +0 -11
  88. package/esm/userColors.js.map +0 -1
  89. package/src/ProsemirrorBinding.ts +0 -607
  90. package/src/userColors.ts +0 -10
@@ -0,0 +1,129 @@
1
+ import * as dntShim from "../_dnt.shims.js";
2
+ import { AllSelection, NodeSelection, TextSelection, } from 'prosemirror-state';
3
+ import { absolutePositionToRelativePosition, relativePositionToAbsolutePosition, } from '../position.js';
4
+ const restoreRelativeSelection = (tr, relSel, yjs, mapping) => {
5
+ const { ydoc, xmlFragment } = yjs;
6
+ if (relSel !== null && relSel.anchor !== null && relSel.head !== null) {
7
+ if (relSel.type === 'all') {
8
+ tr.setSelection(new AllSelection(tr.doc));
9
+ }
10
+ else if (relSel.type === 'node') {
11
+ const anchor = relativePositionToAbsolutePosition(ydoc, xmlFragment, relSel.anchor, mapping);
12
+ if (anchor !== null) {
13
+ tr.setSelection(NodeSelection.create(tr.doc, anchor));
14
+ }
15
+ }
16
+ else {
17
+ const anchor = relativePositionToAbsolutePosition(ydoc, xmlFragment, relSel.anchor, mapping);
18
+ const head = relativePositionToAbsolutePosition(ydoc, xmlFragment, relSel.head, mapping);
19
+ if (anchor !== null && head !== null) {
20
+ const sel = TextSelection.between(tr.doc.resolve(anchor), tr.doc.resolve(head));
21
+ tr.setSelection(sel);
22
+ }
23
+ }
24
+ }
25
+ };
26
+ export const getRelativeSelection = (xmlFragment, mapping, state) => ({
27
+ type: getSelectionType(state.selection),
28
+ anchor: absolutePositionToRelativePosition(state.selection.anchor, xmlFragment, mapping),
29
+ head: absolutePositionToRelativePosition(state.selection.head, xmlFragment, mapping),
30
+ });
31
+ function getSelectionType(selection) {
32
+ if (selection instanceof TextSelection) {
33
+ return 'text';
34
+ }
35
+ if (selection instanceof AllSelection) {
36
+ return 'all';
37
+ }
38
+ if (selection instanceof NodeSelection) {
39
+ return 'node';
40
+ }
41
+ return 'other_selection';
42
+ }
43
+ export class SelectionStash {
44
+ yjs;
45
+ mapping;
46
+ editor;
47
+ beforeAllTransactions;
48
+ afterAllTransactions;
49
+ _beforeTransactionSelection = null;
50
+ _domSelectionInView = false;
51
+ constructor(yjs, mapping, editor) {
52
+ this.yjs = yjs;
53
+ this.mapping = mapping;
54
+ this.editor = editor;
55
+ this.beforeAllTransactions = () => {
56
+ if (!this._beforeTransactionSelection &&
57
+ editor.view) {
58
+ this._beforeTransactionSelection = getRelativeSelection(yjs.xmlFragment, mapping, editor.state);
59
+ }
60
+ };
61
+ this.afterAllTransactions = () => {
62
+ this._beforeTransactionSelection = null;
63
+ };
64
+ this.yjs.ydoc.on('beforeAllTransactions', this.beforeAllTransactions);
65
+ this.yjs.ydoc.on('afterAllTransactions', this.afterAllTransactions);
66
+ }
67
+ destroy() {
68
+ this.yjs.ydoc.off('beforeAllTransactions', this.beforeAllTransactions);
69
+ this.yjs.ydoc.off('afterAllTransactions', this.afterAllTransactions);
70
+ }
71
+ store() {
72
+ this._beforeTransactionSelection = getRelativeSelection(this.yjs.xmlFragment, this.mapping, this.editor.state);
73
+ }
74
+ overwrite(transactionSelection) {
75
+ this._beforeTransactionSelection = transactionSelection;
76
+ }
77
+ restore(tr) {
78
+ if (this._beforeTransactionSelection) {
79
+ restoreRelativeSelection(tr, this._beforeTransactionSelection, this.yjs, this.mapping);
80
+ if (this._isLocalCursorInView()) {
81
+ tr.scrollIntoView();
82
+ }
83
+ }
84
+ }
85
+ _isLocalCursorInView() {
86
+ if (!this.editor.view.hasFocus())
87
+ return false;
88
+ // const isNode = /* @__PURE__ */(() => typeof process !== 'undefined' && process.release && /node|io\.js/.test(process.release.name) && Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]')()
89
+ const isBrowser =
90
+ /* @__PURE__ */ (() => typeof dntShim.dntGlobalThis !== 'undefined' && typeof document !== 'undefined')(); // && !isNode
91
+ if (isBrowser && this._domSelectionInView === false) {
92
+ // Calculate the domSelectionInView and clear by next tick after all events are finished
93
+ setTimeout(() => {
94
+ this._domSelectionInView = false;
95
+ }, 0);
96
+ this._domSelectionInView = this._isDomSelectionInView();
97
+ }
98
+ return this._domSelectionInView;
99
+ }
100
+ _isDomSelectionInView() {
101
+ const view = this.editor.view;
102
+ if (!('root' in view)) {
103
+ return false;
104
+ }
105
+ const selection = view.root?.getSelection(); // https://stackoverflow.com/questions/62054839/shadowroot-getselection
106
+ if (!selection || selection.anchorNode == null)
107
+ return false;
108
+ const range = document.createRange(); // https://github.com/yjs/y-prosemirror/pull/193
109
+ range.setStart(selection.anchorNode, selection.anchorOffset);
110
+ range.setEnd(selection.focusNode, selection.focusOffset);
111
+ // This is a workaround for an edgecase where getBoundingClientRect will
112
+ // return zero values if the selection is collapsed at the start of a newline
113
+ // see reference here: https://stackoverflow.com/a/59780954
114
+ const rects = range.getClientRects();
115
+ if (rects.length === 0) {
116
+ // probably buggy newline behavior, explicitly select the node contents
117
+ if (range.startContainer && range.collapsed) {
118
+ range.selectNodeContents(range.startContainer);
119
+ }
120
+ }
121
+ const bounding = range.getBoundingClientRect();
122
+ const documentElement = document.documentElement;
123
+ return bounding.bottom >= 0 && bounding.right >= 0 &&
124
+ bounding.left <=
125
+ (globalThis.innerWidth || documentElement.clientWidth || 0) &&
126
+ bounding.top <= (globalThis.innerHeight || documentElement.clientHeight || 0);
127
+ }
128
+ }
129
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/ui/selection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Awareness } from 'y-protocols/awareness';
2
2
  import { Plugin } from 'prosemirror-state';
3
3
  import type { CoreEditor } from '@kerebron/editor';
4
+ import { type ColorMapper, type User } from '@kerebron/editor/user';
4
5
  type AwarenessListener = ({ added, updated, removed }: {
5
6
  added: number[];
6
7
  updated: number[];
@@ -12,11 +13,15 @@ interface PositionPluginConfig {
12
13
  export interface YPositionPluginState {
13
14
  awareness?: Awareness;
14
15
  awarenessListener?: AwarenessListener;
16
+ cursorStateField: string;
17
+ userStateField: string;
18
+ me: User;
19
+ colorMapper: ColorMapper;
15
20
  }
16
21
  /**
17
22
  * Default awareness state filter
18
23
  */
19
24
  export declare const defaultAwarenessStateFilter: (currentClientId: number, userClientId: number, _user: any) => boolean;
20
- export declare const yPositionPlugin: (editor: CoreEditor, { getSelection, }?: PositionPluginConfig, cursorStateField?: string) => Plugin<YPositionPluginState>;
25
+ export declare const yPositionPlugin: (editor: CoreEditor, { getSelection, }?: PositionPluginConfig) => Plugin<YPositionPluginState>;
21
26
  export {};
22
27
  //# sourceMappingURL=yPositionPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yPositionPlugin.d.ts","sourceRoot":"","sources":["../src/yPositionPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAe,MAAM,EAAe,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD,KAAK,iBAAiB,GAAG,CACvB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,EACD,CAAC,EAAE,GAAG,EACN,CAAC,EAAE,GAAG,KACH,IAAI,CAAC;AAEV,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAiGD;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,iBAAiB,MAAM,EACvB,cAAc,MAAM,EACpB,OAAO,GAAG,KACT,OAA2C,CAAC;AAE/C,eAAO,MAAM,eAAe,GAC1B,QAAQ,UAAU,EAClB,oBAEG,oBAAyB,EAC5B,mBAAkB,MAAiB,iCAyJpC,CAAC"}
1
+ {"version":3,"file":"yPositionPlugin.d.ts","sourceRoot":"","sources":["../src/yPositionPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAe,MAAM,EAAe,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,IAAI,EACV,MAAM,uBAAuB,CAAC;AAmC/B,KAAK,iBAAiB,GAAG,CACvB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,EACD,CAAC,EAAE,GAAG,EACN,CAAC,EAAE,GAAG,KACH,IAAI,CAAC;AAEV,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,WAAW,CAAC;CAC1B;AA0FD;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,iBAAiB,MAAM,EACvB,cAAc,MAAM,EACpB,OAAO,GAAG,KACT,OAA2C,CAAC;AAE/C,eAAO,MAAM,eAAe,GAC1B,QAAQ,UAAU,EAClB,oBAEG,oBAAyB,iCAmL7B,CAAC"}
@@ -1,17 +1,41 @@
1
1
  import * as Y from 'yjs';
2
2
  import { Plugin } from 'prosemirror-state';
3
- import { remoteSelectionPluginKey } from '@kerebron/extension-basic-editor/ExtensionRemoteSelection';
4
- import { absolutePositionToRelativePosition, relativePositionToAbsolutePosition, setMeta, } from './lib.js';
3
+ import { defaultColorMapper, generateBlankUser, } from '@kerebron/editor/user';
5
4
  import { yPositionPluginKey, ySyncPluginKey } from './keys.js';
6
- function destroyAwareness(state, cursorStateField) {
7
- if (!state.awareness) {
5
+ import { absolutePositionToRelativePosition, relativePositionToAbsolutePosition, } from './position.js';
6
+ /**
7
+ * Is null if no timeout is in progress.
8
+ * Is defined if a timeout is in progress.
9
+ * Maps from view
10
+ */
11
+ let viewsToUpdate = null;
12
+ const updateMetas = () => {
13
+ const ups = viewsToUpdate;
14
+ viewsToUpdate = null;
15
+ if (!ups) {
8
16
  return;
9
17
  }
10
- const awareness = state.awareness;
11
- if (state.awarenessListener) {
12
- awareness.off('change', state.awarenessListener);
18
+ ups.forEach((metas, view) => {
19
+ const tr = view.state.tr;
20
+ const syncState = ySyncPluginKey.getState(view.state);
21
+ if (syncState && syncState.binding) { // && !syncState.binding.isDestroyed
22
+ metas.forEach((val, key) => {
23
+ tr.setMeta(key, val);
24
+ });
25
+ view.dispatch(tr);
26
+ }
27
+ });
28
+ };
29
+ function destroyAwareness(pluginState) {
30
+ if (!pluginState.awareness) {
31
+ return;
32
+ }
33
+ const awareness = pluginState.awareness;
34
+ if (pluginState.awarenessListener) {
35
+ awareness.off('change', pluginState.awarenessListener);
13
36
  }
14
- awareness.setLocalStateField(cursorStateField, null);
37
+ awareness.setLocalStateField(pluginState.cursorStateField, null);
38
+ pluginState.awareness = undefined;
15
39
  }
16
40
  function initAwareness(state, editor) {
17
41
  if (!state.awareness) {
@@ -21,39 +45,35 @@ function initAwareness(state, editor) {
21
45
  const view = editor.view;
22
46
  state.awarenessListener = ({ added, updated, removed }) => {
23
47
  const ystate = ySyncPluginKey.getState(view.state);
24
- if (!ystate.provider) {
48
+ if (!ystate.binding) {
49
+ return;
50
+ }
51
+ const yjs = ystate.binding.getYjs();
52
+ if (!yjs) {
25
53
  return;
26
54
  }
27
- const awareness = ystate.provider.awareness;
28
55
  const clients = added.concat(updated).concat(removed);
29
56
  if (clients.findIndex((id) => id !== awareness.doc.clientID) ===
30
57
  -1) {
31
58
  return;
32
59
  }
33
- if (view.docView) {
34
- setMeta(view, remoteSelectionPluginKey, {
35
- remotePositionUpdated: true,
36
- });
37
- }
60
+ const { ydoc, xmlFragment } = yjs;
38
61
  const remoteStates = [];
39
- const ydoc = ystate.ydoc;
40
62
  awareness.getStates().forEach((aw, clientId) => {
41
63
  if (!defaultAwarenessStateFilter(ydoc.clientID, clientId, aw)) {
42
64
  return;
43
65
  }
44
- if (!aw.cursor) {
66
+ const cursor = aw[state.cursorStateField];
67
+ const user = aw[state.userStateField];
68
+ if (!cursor || !user) {
45
69
  return;
46
70
  }
47
- const anchor = relativePositionToAbsolutePosition(ydoc, ystate.type, Y.createRelativePositionFromJSON(aw.cursor.anchor), ystate.binding.mapping);
48
- const head = relativePositionToAbsolutePosition(ydoc, ystate.type, Y.createRelativePositionFromJSON(aw.cursor.head), ystate.binding.mapping);
71
+ const anchor = relativePositionToAbsolutePosition(ydoc, xmlFragment, Y.createRelativePositionFromJSON(cursor.anchor), ystate.binding.getMapping());
72
+ const head = relativePositionToAbsolutePosition(ydoc, xmlFragment, Y.createRelativePositionFromJSON(cursor.head), ystate.binding.getMapping());
49
73
  if (anchor !== null && head !== null) {
50
74
  remoteStates.push({
51
75
  clientId,
52
- user: {
53
- name: aw.user?.name,
54
- color: aw.user?.color,
55
- colorLight: aw.user?.colorLight,
56
- },
76
+ user: user,
57
77
  cursor: {
58
78
  anchor,
59
79
  head,
@@ -61,9 +81,9 @@ function initAwareness(state, editor) {
61
81
  });
62
82
  }
63
83
  });
64
- const extension = editor.getExtension('remote-selection');
65
- extension.setRemoteStates(remoteStates);
66
- // view.dispatch({ annotations: [yRemoteSelectionsAnnotation.of([])] });
84
+ const tr = editor.state.tr;
85
+ tr.setMeta('remoteSelectionChange', { remoteStates });
86
+ editor.dispatchTransaction(tr);
67
87
  };
68
88
  awareness.on('change', state.awarenessListener);
69
89
  }
@@ -71,38 +91,47 @@ function initAwareness(state, editor) {
71
91
  * Default awareness state filter
72
92
  */
73
93
  export const defaultAwarenessStateFilter = (currentClientId, userClientId, _user) => currentClientId !== userClientId;
74
- export const yPositionPlugin = (editor, { getSelection = (state) => state.selection, } = {}, cursorStateField = 'cursor') => {
94
+ export const yPositionPlugin = (editor, { getSelection = (state) => state.selection, } = {}) => {
75
95
  return new Plugin({
76
96
  key: yPositionPluginKey,
77
97
  state: {
78
- init: (_initargs, state) => {
98
+ init: () => {
79
99
  return {
80
100
  awareness: undefined,
101
+ cursorStateField: 'kerebron:cursor',
102
+ userStateField: 'kerebron:user',
103
+ me: generateBlankUser(),
104
+ colorMapper: defaultColorMapper,
81
105
  };
82
106
  },
83
107
  apply: (tr, pluginState) => {
84
- const awareness = tr.getMeta('yjs:awareness');
108
+ const changeUser = tr.getMeta('changeUser');
109
+ if (changeUser) {
110
+ pluginState.me = { ...changeUser.user };
111
+ }
112
+ const setColorMapper = tr.getMeta('setColorMapper');
113
+ if (setColorMapper) {
114
+ pluginState.colorMapper = setColorMapper.colorMapper;
115
+ }
116
+ const awareness = tr.getMeta('yjs:setAwareness');
85
117
  if (awareness) {
86
118
  if (pluginState.awareness) {
87
- destroyAwareness(pluginState, cursorStateField);
119
+ destroyAwareness(pluginState);
88
120
  }
89
121
  pluginState.awareness = awareness;
90
122
  if (pluginState.awareness) {
91
123
  initAwareness(pluginState, editor);
92
124
  }
93
125
  }
126
+ if (tr.getMeta('yjs:removeAwareness')) {
127
+ if (pluginState.awareness) {
128
+ destroyAwareness(pluginState);
129
+ }
130
+ }
94
131
  return pluginState;
95
132
  },
96
133
  },
97
134
  view: (view) => {
98
- // const ystate: YSyncPluginState = ySyncPluginKey.getState(view.state)!;
99
- // if (
100
- // ystate.snapshot != null || ystate.prevSnapshot != null ||
101
- // ystate.binding.mapping.size === 0
102
- // ) {
103
- // // do not render cursors while snapshot is active
104
- // return DecorationSet.empty;
105
- // }
106
135
  const updateAwareness = (selectionAnchor, selectionHead) => {
107
136
  const state = yPositionPluginKey.getState(view.state);
108
137
  if (!state.awareness) {
@@ -111,12 +140,18 @@ export const yPositionPlugin = (editor, { getSelection = (state) => state.select
111
140
  const awareness = state.awareness;
112
141
  const current = awareness.getLocalState() || {};
113
142
  const ystate = ySyncPluginKey.getState(view.state);
114
- const anchor = absolutePositionToRelativePosition(selectionAnchor, ystate.type, ystate.binding.mapping);
115
- const head = absolutePositionToRelativePosition(selectionHead, ystate.type, ystate.binding.mapping);
116
- if (current.cursor == null ||
117
- !Y.compareRelativePositions(Y.createRelativePositionFromJSON(current.cursor.anchor), anchor) ||
118
- !Y.compareRelativePositions(Y.createRelativePositionFromJSON(current.cursor.head), head)) {
119
- awareness.setLocalStateField(cursorStateField, {
143
+ const yjs = ystate.binding.getYjs();
144
+ if (!yjs) {
145
+ return;
146
+ }
147
+ const { xmlFragment } = yjs;
148
+ const anchor = absolutePositionToRelativePosition(selectionAnchor, xmlFragment, ystate.binding.getMapping());
149
+ const head = absolutePositionToRelativePosition(selectionHead, xmlFragment, ystate.binding.getMapping());
150
+ const cursor = current[state.cursorStateField];
151
+ if (cursor == null ||
152
+ !Y.compareRelativePositions(Y.createRelativePositionFromJSON(cursor.anchor), anchor) ||
153
+ !Y.compareRelativePositions(Y.createRelativePositionFromJSON(cursor.head), head)) {
154
+ awareness.setLocalStateField(state.cursorStateField, {
120
155
  anchor,
121
156
  head,
122
157
  });
@@ -127,13 +162,19 @@ export const yPositionPlugin = (editor, { getSelection = (state) => state.select
127
162
  if (!state.awareness) {
128
163
  return;
129
164
  }
130
- const awareness = state.awareness;
131
165
  const ystate = ySyncPluginKey.getState(view.state);
166
+ const yjs = ystate.binding.getYjs();
167
+ if (!yjs) {
168
+ return;
169
+ }
170
+ const awareness = state.awareness;
132
171
  const current = awareness.getLocalState() || {};
133
- if (current.cursor != null &&
134
- relativePositionToAbsolutePosition(ystate.ydoc, ystate.type, Y.createRelativePositionFromJSON(current.cursor.anchor), ystate.binding.mapping) !== null) {
172
+ const { ydoc, xmlFragment } = yjs;
173
+ const cursor = current[state.cursorStateField];
174
+ if (cursor &&
175
+ relativePositionToAbsolutePosition(ydoc, xmlFragment, Y.createRelativePositionFromJSON(cursor.anchor), ystate.binding.getMapping()) !== null) {
135
176
  // delete cursor information if current cursor information is owned by this editor binding
136
- awareness.setLocalStateField(cursorStateField, null);
177
+ awareness.setLocalStateField(state.cursorStateField, null);
137
178
  }
138
179
  };
139
180
  const updateCursorInfo = () => {
@@ -161,7 +202,7 @@ export const yPositionPlugin = (editor, { getSelection = (state) => state.select
161
202
  view.dom.removeEventListener('focusout', updateCursorInfo);
162
203
  const pluginState = yPositionPluginKey.getState(view.state);
163
204
  if (pluginState) {
164
- destroyAwareness(pluginState, cursorStateField);
205
+ destroyAwareness(pluginState);
165
206
  }
166
207
  editor.removeEventListener('localPositionChanged', localPositionChangedListener);
167
208
  },
@@ -1 +1 @@
1
- {"version":3,"file":"yPositionPlugin.js","sourceRoot":"","sources":["../src/yPositionPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yPositionPlugin.js","sourceRoot":"","sources":["../src/yPositionPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,16 @@
1
1
  import * as Y from 'yjs';
2
- import { ProsemirrorBinding } from './ProsemirrorBinding.js';
3
- import { Schema } from 'prosemirror-model';
4
- import type { CreateWsProvider, YjsProvider } from './ExtensionYjs.js';
5
- export type TransactFunc<T> = (f: (arg0?: Y.Transaction) => T, origin?: any) => T;
6
- export interface ColorDef {
7
- light: string;
8
- dark: string;
9
- }
2
+ import type { CreateYjsProvider } from './YjsProvider.js';
3
+ import { PmYjsBinding } from './binding/PmYjsBinding.js';
4
+ import { CoreEditor } from '@kerebron/editor';
10
5
  interface YSyncOpts {
11
- colors?: Array<ColorDef>;
12
- colorMapping?: Map<string, ColorDef>;
13
6
  permanentUserData?: Y.PermanentUserData;
14
7
  onFirstRender?: () => void;
15
8
  roomId?: string;
16
9
  }
17
10
  export interface YSyncPluginState {
18
- roomId: string;
19
- provider?: YjsProvider;
20
- type: Y.XmlFragment;
21
- ydoc: Y.Doc;
22
- binding: ProsemirrorBinding;
23
- addToHistory: boolean;
11
+ binding: PmYjsBinding;
24
12
  isChangeOrigin: boolean;
25
- restore: any;
26
- snapshot?: Y.Snapshot;
27
- prevSnapshot?: Y.Snapshot;
28
13
  isUndoRedoOperation: boolean;
29
- colors: Array<ColorDef>;
30
- colorMapping: Map<string, ColorDef>;
31
14
  permanentUserData?: Y.PermanentUserData;
32
15
  }
33
16
  /**
@@ -35,6 +18,6 @@ export interface YSyncPluginState {
35
18
  *
36
19
  * This plugin also keeps references to the type and the shared document so other plugins can access it.
37
20
  */
38
- export declare const ySyncPlugin: (schema: Schema, createWsProvider: CreateWsProvider, { colors, colorMapping, onFirstRender, }?: YSyncOpts) => any;
21
+ export declare const ySyncPlugin: (editor: CoreEditor, createYjsProvider: CreateYjsProvider, { onFirstRender, }?: YSyncOpts) => any;
39
22
  export {};
40
23
  //# sourceMappingURL=ySyncPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ySyncPlugin.d.ts","sourceRoot":"","sources":["../src/ySyncPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,OAAO,EAAiB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC5B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,KAAK,CAAC,EAC9B,MAAM,CAAC,EAAE,GAAG,KACT,CAAC,CAAC;AAEP,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;IAEZ,OAAO,EAAE,kBAAkB,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC;CACzC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,EACd,kBAAkB,gBAAgB,EAClC,2CAKG,SAAc,KAChB,GAoMF,CAAC"}
1
+ {"version":3,"file":"ySyncPlugin.d.ts","sourceRoot":"","sources":["../src/ySyncPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,UAAU,SAAS;IACjB,iBAAiB,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC;CACzC;AAgBD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,UAAU,EAClB,mBAAmB,iBAAiB,EACpC,qBAGG,SAAc,KAChB,GA4HF,CAAC"}