@kerebron/extension-basic-editor 0.1.2 → 0.1.3

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 (49) hide show
  1. package/esm/extension-basic-editor/src/NodeImage.d.ts +1 -19
  2. package/esm/extension-basic-editor/src/NodeImage.d.ts.map +1 -1
  3. package/esm/extension-basic-editor/src/NodeImage.js +0 -22
  4. package/package.json +1 -4
  5. package/esm/extension-automerge/src/CursorPlugin.d.ts +0 -16
  6. package/esm/extension-automerge/src/CursorPlugin.d.ts.map +0 -1
  7. package/esm/extension-automerge/src/CursorPlugin.js +0 -114
  8. package/esm/extension-automerge/src/ExtensionAutomerge.d.ts +0 -26
  9. package/esm/extension-automerge/src/ExtensionAutomerge.d.ts.map +0 -1
  10. package/esm/extension-automerge/src/ExtensionAutomerge.js +0 -136
  11. package/esm/extension-automerge/src/MarkUnknown.d.ts +0 -8
  12. package/esm/extension-automerge/src/MarkUnknown.d.ts.map +0 -1
  13. package/esm/extension-automerge/src/MarkUnknown.js +0 -26
  14. package/esm/extension-automerge/src/NodeUnknown.d.ts +0 -8
  15. package/esm/extension-automerge/src/NodeUnknown.d.ts.map +0 -1
  16. package/esm/extension-automerge/src/NodeUnknown.js +0 -28
  17. package/esm/extension-automerge/src/NodeUnknownBlock.d.ts +0 -11
  18. package/esm/extension-automerge/src/NodeUnknownBlock.d.ts.map +0 -1
  19. package/esm/extension-automerge/src/NodeUnknownBlock.js +0 -36
  20. package/esm/extension-automerge/src/SchemaAdapter.d.ts +0 -70
  21. package/esm/extension-automerge/src/SchemaAdapter.d.ts.map +0 -1
  22. package/esm/extension-automerge/src/SchemaAdapter.js +0 -188
  23. package/esm/extension-automerge/src/SyncPlugin.d.ts +0 -16
  24. package/esm/extension-automerge/src/SyncPlugin.d.ts.map +0 -1
  25. package/esm/extension-automerge/src/SyncPlugin.js +0 -147
  26. package/esm/extension-automerge/src/amToPm.d.ts +0 -9
  27. package/esm/extension-automerge/src/amToPm.d.ts.map +0 -1
  28. package/esm/extension-automerge/src/amToPm.js +0 -245
  29. package/esm/extension-automerge/src/amTraversal.d.ts +0 -62
  30. package/esm/extension-automerge/src/amTraversal.d.ts.map +0 -1
  31. package/esm/extension-automerge/src/amTraversal.js +0 -688
  32. package/esm/extension-automerge/src/loader.d.ts +0 -8
  33. package/esm/extension-automerge/src/loader.d.ts.map +0 -1
  34. package/esm/extension-automerge/src/loader.js +0 -54
  35. package/esm/extension-automerge/src/maintainSpans.d.ts +0 -9
  36. package/esm/extension-automerge/src/maintainSpans.d.ts.map +0 -1
  37. package/esm/extension-automerge/src/maintainSpans.js +0 -464
  38. package/esm/extension-automerge/src/pmToAm.d.ts +0 -6
  39. package/esm/extension-automerge/src/pmToAm.d.ts.map +0 -1
  40. package/esm/extension-automerge/src/pmToAm.js +0 -183
  41. package/esm/extension-automerge/src/pmTraversal.d.ts +0 -26
  42. package/esm/extension-automerge/src/pmTraversal.d.ts.map +0 -1
  43. package/esm/extension-automerge/src/pmTraversal.js +0 -102
  44. package/esm/extension-automerge/src/types.d.ts +0 -42
  45. package/esm/extension-automerge/src/types.d.ts.map +0 -1
  46. package/esm/extension-automerge/src/types.js +0 -94
  47. package/esm/extension-automerge/src/utils.d.ts +0 -3
  48. package/esm/extension-automerge/src/utils.d.ts.map +0 -1
  49. package/esm/extension-automerge/src/utils.js +0 -18
@@ -1,26 +1,8 @@
1
- import { type Node as PmNode, type NodeSpec } from 'prosemirror-model';
1
+ import { type NodeSpec } from 'prosemirror-model';
2
2
  import { Node } from '../../editor/src/mod.js';
3
- import { next as automerge } from '@automerge/automerge/slim';
4
- import { BlockMarker } from '../../extension-automerge/src/ExtensionAutomerge.js';
5
3
  export declare class NodeImage extends Node {
6
4
  name: string;
7
5
  requires: string[];
8
- automerge: {
9
- block: string;
10
- isEmbed: boolean;
11
- attrParsers: {
12
- fromAutomerge: (block: BlockMarker) => {
13
- src: any;
14
- alt: any;
15
- title: any;
16
- };
17
- fromProsemirror: (node: PmNode) => {
18
- src: automerge.RawString;
19
- alt: any;
20
- title: any;
21
- };
22
- };
23
- };
24
6
  getNodeSpec(): NodeSpec;
25
7
  }
26
8
  //# sourceMappingURL=NodeImage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeImage.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/NodeImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAElF,qBAAa,SAAU,SAAQ,IAAI;IACxB,IAAI,SAAW;IACxB,QAAQ,WAAW;IAEnB,SAAS;;;;mCAIkB,WAAW;;;;;oCAKV,MAAM;;;;;;MAMhC;IAEO,WAAW,IAAI,QAAQ;CA4BjC"}
1
+ {"version":3,"file":"NodeImage.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/NodeImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,IAAI;IACxB,IAAI,SAAW;IACxB,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;CA4BjC"}
@@ -1,5 +1,4 @@
1
1
  import { Node } from '../../editor/src/mod.js';
2
- import { next as automerge } from '@automerge/automerge/slim';
3
2
  export class NodeImage extends Node {
4
3
  constructor() {
5
4
  super(...arguments);
@@ -15,27 +14,6 @@ export class NodeImage extends Node {
15
14
  writable: true,
16
15
  value: ['doc']
17
16
  });
18
- Object.defineProperty(this, "automerge", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: {
23
- block: 'image',
24
- isEmbed: true,
25
- attrParsers: {
26
- fromAutomerge: (block) => ({
27
- src: block.attrs.src?.toString() || null,
28
- alt: block.attrs.alt,
29
- title: block.attrs.title,
30
- }),
31
- fromProsemirror: (node) => ({
32
- src: new automerge.RawString(node.attrs.src),
33
- alt: node.attrs.alt,
34
- title: node.attrs.title,
35
- }),
36
- },
37
- }
38
- });
39
17
  }
40
18
  getNodeSpec() {
41
19
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kerebron/extension-basic-editor",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
5
  "module": "./esm/extension-basic-editor/src/ExtensionBasicEditor.js",
6
6
  "exports": {
@@ -73,9 +73,6 @@
73
73
  },
74
74
  "scripts": {},
75
75
  "dependencies": {
76
- "@automerge/automerge": "2.2.4",
77
- "@automerge/automerge-repo": "1.1.9",
78
- "prosemirror-changeset": "2.2.1",
79
76
  "prosemirror-dropcursor": "1.8.1",
80
77
  "prosemirror-gapcursor": "1.3.2",
81
78
  "prosemirror-history": "1.4.1",
@@ -1,16 +0,0 @@
1
- import { Plugin, PluginKey } from 'prosemirror-state';
2
- import { DecorationSet } from 'prosemirror-view';
3
- import { DocHandleChangePayload } from './types.js';
4
- export declare const cursorPluginKey: PluginKey<any>;
5
- export declare const createDecorations: (state: any, createCursor: any, createSelection: any) => DecorationSet;
6
- export declare const defaultSelectionBuilder: (user: any) => {
7
- style: string;
8
- class: string;
9
- };
10
- export declare const defaultCursorBuilder: (user: any) => any;
11
- export declare class CursorPlugin extends Plugin {
12
- ignoreTr: boolean;
13
- onAutoMergeChange: (args: DocHandleChangePayload<unknown>) => void;
14
- constructor();
15
- }
16
- //# sourceMappingURL=CursorPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CursorPlugin.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/CursorPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,eAAe,gBAAoC,CAAC;AAIjE,eAAO,MAAM,iBAAiB,wEAmB7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAMnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oBAahC,CAAC;AAKF,qBAAa,YAAa,SAAQ,MAAM;IACtC,QAAQ,UAAS;IACjB,iBAAiB,EAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;;CAkErE"}
@@ -1,114 +0,0 @@
1
- import { Plugin, PluginKey } from 'prosemirror-state';
2
- import { Decoration, DecorationSet } from 'prosemirror-view'; // eslint-disable-line
3
- export const cursorPluginKey = new PluginKey('automerge-cursor');
4
- const getSelection = (state) => state.selection;
5
- export const createDecorations = (state,
6
- // awareness,
7
- // awarenessFilter,
8
- createCursor, createSelection) => {
9
- const decorations = [];
10
- const user = { color: '#FF00' };
11
- decorations.push(Decoration.inline(1, 2, createSelection(user), {
12
- inclusiveEnd: true,
13
- inclusiveStart: false,
14
- }));
15
- return DecorationSet.create(state.doc, decorations);
16
- };
17
- export const defaultSelectionBuilder = (user) => {
18
- return {
19
- style: `background-color: ${user.color}70`,
20
- // assets: `border-left: 1px solid ${user.color}70`,
21
- class: 'ProseMirror-yjs-selection',
22
- };
23
- };
24
- export const defaultCursorBuilder = (user) => {
25
- const cursor = document.createElement('span');
26
- cursor.classList.add('ProseMirror-yjs-cursor');
27
- cursor.setAttribute('style', `border-color: ${user.color}`);
28
- const userDiv = document.createElement('div');
29
- userDiv.setAttribute('style', `background-color: ${user.color}`);
30
- userDiv.insertBefore(document.createTextNode(user.name), null);
31
- const nonbreakingSpace1 = document.createTextNode('\u2060');
32
- const nonbreakingSpace2 = document.createTextNode('\u2060');
33
- cursor.insertBefore(nonbreakingSpace1, null);
34
- cursor.insertBefore(userDiv, null);
35
- cursor.insertBefore(nonbreakingSpace2, null);
36
- return cursor;
37
- };
38
- const cursorBuilder = defaultCursorBuilder;
39
- const selectionBuilder = defaultSelectionBuilder;
40
- export class CursorPlugin extends Plugin {
41
- constructor() {
42
- super({
43
- key: cursorPluginKey,
44
- state: {
45
- init(_, state) {
46
- return createDecorations(state,
47
- // awareness,
48
- // awarenessStateFilter,
49
- cursorBuilder, selectionBuilder);
50
- },
51
- apply(tr, prevState, _oldState, newState) {
52
- // const ystate = ySyncPluginKey.getState(newState)
53
- // const yCursorState = tr.getMeta(yCursorPluginKey)
54
- // if (
55
- // (ystate && ystate.isChangeOrigin) ||
56
- // (yCursorState && yCursorState.awarenessUpdated)
57
- // ) {
58
- // return createDecorations(
59
- // newState,
60
- // awareness,
61
- // awarenessStateFilter,
62
- // cursorBuilder,
63
- // selectionBuilder
64
- // )
65
- // }
66
- return prevState.map(tr.mapping, tr.doc);
67
- },
68
- },
69
- props: {
70
- decorations: (state) => {
71
- return cursorPluginKey.getState(state);
72
- },
73
- },
74
- view: (view) => {
75
- // const awarenessListener = () => {
76
- // if (view.docView) {
77
- // setMeta(view, yCursorPluginKey, { awarenessUpdated: true })
78
- // }
79
- // }
80
- const updateCursorInfo = () => {
81
- // @note We make implicit checks when checking for the cursor property
82
- // const current = awareness.getLocalState() || {}
83
- if (view.hasFocus()) {
84
- const selection = getSelection(view.state);
85
- }
86
- };
87
- // awareness.on('change', awarenessListener)
88
- view.dom.addEventListener('focusin', updateCursorInfo);
89
- view.dom.addEventListener('focusout', updateCursorInfo);
90
- return {
91
- update: updateCursorInfo,
92
- destroy: () => {
93
- view.dom.removeEventListener('focusin', updateCursorInfo);
94
- view.dom.removeEventListener('focusout', updateCursorInfo);
95
- // awareness.off('change', awarenessListener)
96
- // awareness.setLocalStateField(cursorStateField, null)
97
- },
98
- };
99
- },
100
- });
101
- Object.defineProperty(this, "ignoreTr", {
102
- enumerable: true,
103
- configurable: true,
104
- writable: true,
105
- value: false
106
- });
107
- Object.defineProperty(this, "onAutoMergeChange", {
108
- enumerable: true,
109
- configurable: true,
110
- writable: true,
111
- value: void 0
112
- });
113
- }
114
- }
@@ -1,26 +0,0 @@
1
- import { Schema, type SchemaSpec } from 'prosemirror-model';
2
- import { DocHandle, Repo } from '@automerge/automerge-repo';
3
- import { CoreEditor, Extension } from '../../editor/src/mod.js';
4
- import { NodeUnknown } from './NodeUnknown.js';
5
- import { MarkUnknown } from './MarkUnknown.js';
6
- import { NodeUnknownBlock } from './NodeUnknownBlock.js';
7
- import { SchemaAdapter } from './SchemaAdapter.js';
8
- import { SyncPlugin } from './SyncPlugin.js';
9
- export declare class ExtensionAutomerge extends Extension {
10
- name: string;
11
- requires: (NodeUnknown | MarkUnknown | NodeUnknownBlock)[];
12
- schemaSpec: {};
13
- repo: Repo;
14
- editor: CoreEditor;
15
- schemaAdapter: SchemaAdapter;
16
- syncPlugin: SyncPlugin<{
17
- text: string;
18
- }>;
19
- constructor(config: any);
20
- setupSpec(actualSpec: SchemaSpec): void;
21
- loadFromAutoMerge(docUrl: any): void;
22
- setupDebug<T>(handle: DocHandle<T>): void;
23
- notifyNewUrl(url: string): void;
24
- getProseMirrorPlugins(editor: CoreEditor, schema: Schema): Plugin[];
25
- }
26
- //# sourceMappingURL=ExtensionAutomerge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtensionAutomerge.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/ExtensionAutomerge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,SAAS,EAET,IAAI,EACL,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,IAAI,SAAe;IAEnB,QAAQ,mDAAkE;IAE1E,UAAU,KAAM;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAE7B,MAAM,KAAA;IAUT,SAAS,CAAC,UAAU,EAAE,UAAU;IAKzC,iBAAiB,CAAC,MAAM,KAAA;IAWxB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAmBlC,YAAY,CAAC,GAAG,EAAE,MAAM;IAUf,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;CAyC7E"}
@@ -1,136 +0,0 @@
1
- import { next as automerge } from '@automerge/automerge/slim';
2
- import { isValidAutomergeUrl, Repo, } from '@automerge/automerge-repo';
3
- import { Extension } from '../../editor/src/mod.js';
4
- import { NodeUnknown } from './NodeUnknown.js';
5
- import { MarkUnknown } from './MarkUnknown.js';
6
- import { NodeUnknownBlock } from './NodeUnknownBlock.js';
7
- import { addAmgNodeStateAttrs, SchemaAdapter } from './SchemaAdapter.js';
8
- import { SyncPlugin } from './SyncPlugin.js';
9
- import { CursorPlugin } from './CursorPlugin.js';
10
- import { pmDocToAmHandle } from './loader.js';
11
- const pathToTextField = ['text'];
12
- export class ExtensionAutomerge extends Extension {
13
- constructor(config) {
14
- super(config);
15
- Object.defineProperty(this, "name", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: 'automerge'
20
- });
21
- Object.defineProperty(this, "requires", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: [new NodeUnknown(), new MarkUnknown(), new NodeUnknownBlock()]
26
- });
27
- Object.defineProperty(this, "schemaSpec", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: {}
32
- });
33
- Object.defineProperty(this, "repo", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: void 0
38
- });
39
- Object.defineProperty(this, "editor", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, "schemaAdapter", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: void 0
50
- });
51
- Object.defineProperty(this, "syncPlugin", {
52
- enumerable: true,
53
- configurable: true,
54
- writable: true,
55
- value: void 0
56
- });
57
- this.repo = new Repo({
58
- storage: this.config.storage,
59
- // storage: new IndexedDBStorageAdapter("automerge"),
60
- network: [this.config.networkAdapter],
61
- });
62
- }
63
- setupSpec(actualSpec) {
64
- addAmgNodeStateAttrs(actualSpec.nodes);
65
- this.schemaSpec = actualSpec;
66
- }
67
- loadFromAutoMerge(docUrl) {
68
- let handle;
69
- if (docUrl && isValidAutomergeUrl(docUrl)) {
70
- handle = this.repo.find(docUrl);
71
- this.syncPlugin.changeHandle(handle);
72
- //pmDocToAmHandle(this.schemaAdapter, handle, pmDoc);
73
- this.setupDebug(handle, this.editor);
74
- this.notifyNewUrl(handle.url);
75
- }
76
- }
77
- setupDebug(handle) {
78
- handle.on('change', (event) => {
79
- if (!handle.isReady()) {
80
- return;
81
- }
82
- const doc = handle.docSync();
83
- if (doc) {
84
- const event = new CustomEvent('automerge:change', {
85
- detail: {
86
- editor: this.editor,
87
- getSpans: () => automerge.spans(doc, pathToTextField),
88
- getMarks: () => automerge.marks(doc, pathToTextField),
89
- },
90
- });
91
- this.editor.dispatchEvent(event);
92
- }
93
- });
94
- }
95
- notifyNewUrl(url) {
96
- const event = new CustomEvent('automerge:url', {
97
- detail: {
98
- editor: this.editor,
99
- url,
100
- },
101
- });
102
- this.editor.dispatchEvent(event);
103
- }
104
- getProseMirrorPlugins(editor, schema) {
105
- this.editor = editor;
106
- const schemaAdapter = new SchemaAdapter(schema);
107
- this.schemaAdapter = schemaAdapter;
108
- let handle;
109
- handle = this.repo.create({ text: '' });
110
- const syncPlugin = new SyncPlugin(schemaAdapter, pathToTextField, handle);
111
- this.syncPlugin = syncPlugin;
112
- editor.addEventListener('doc:loaded', (event) => {
113
- const pmDoc = event.detail.doc;
114
- // const handle = this.repo.create({ text: '' });
115
- handle.whenReady()
116
- .then(() => {
117
- syncPlugin.changeHandle(handle);
118
- pmDocToAmHandle(schemaAdapter, handle, pmDoc);
119
- this.setupDebug(handle);
120
- });
121
- });
122
- handle.whenReady()
123
- .then(() => {
124
- this.notifyNewUrl(handle.url);
125
- const doc = handle.docSync();
126
- if (!doc) {
127
- throw new Error('cannot initialize ProseMirror document when handle is not ready');
128
- }
129
- this.setupDebug(handle);
130
- });
131
- return [
132
- syncPlugin,
133
- new CursorPlugin(),
134
- ];
135
- }
136
- }
@@ -1,8 +0,0 @@
1
- import { MarkSpec } from 'prosemirror-model';
2
- import { Mark } from '../../editor/src/mod.js';
3
- export declare class MarkUnknown extends Mark {
4
- name: string;
5
- requires: string[];
6
- getMarkSpec(): MarkSpec;
7
- }
8
- //# sourceMappingURL=MarkUnknown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkUnknown.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/MarkUnknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qBAAa,WAAY,SAAQ,IAAI;IAC1B,IAAI,SAAiB;IAC9B,QAAQ,WAAW;IAEnB,WAAW,IAAI,QAAQ;CAQxB"}
@@ -1,26 +0,0 @@
1
- import { Mark } from '../../editor/src/mod.js';
2
- export class MarkUnknown extends Mark {
3
- constructor() {
4
- super(...arguments);
5
- Object.defineProperty(this, "name", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: 'unknownMark'
10
- });
11
- Object.defineProperty(this, "requires", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: ['doc']
16
- });
17
- }
18
- getMarkSpec() {
19
- return {
20
- attrs: { unknownMarks: { default: null } },
21
- toDOM() {
22
- return ['span', { 'data-unknown-mark': true }];
23
- },
24
- };
25
- }
26
- }
@@ -1,8 +0,0 @@
1
- import { NodeSpec } from 'prosemirror-model';
2
- import { Node } from '../../editor/src/mod.js';
3
- export declare class NodeUnknown extends Node {
4
- name: string;
5
- requires: string[];
6
- getNodeSpec(): NodeSpec;
7
- }
8
- //# sourceMappingURL=NodeUnknown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeUnknown.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/NodeUnknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qBAAa,WAAY,SAAQ,IAAI;IAC1B,IAAI,SAAiB;IAC9B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;CAUjC"}
@@ -1,28 +0,0 @@
1
- import { Node } from '../../editor/src/mod.js';
2
- export class NodeUnknown extends Node {
3
- constructor() {
4
- super(...arguments);
5
- Object.defineProperty(this, "name", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: 'unknownLeaf'
10
- });
11
- Object.defineProperty(this, "requires", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: ['doc']
16
- });
17
- }
18
- getNodeSpec() {
19
- return {
20
- inline: true,
21
- attrs: { isAmgBlock: { default: true }, unknownBlock: { default: null } },
22
- group: 'inline',
23
- toDOM() {
24
- return document.createTextNode('u{fffc}');
25
- },
26
- };
27
- }
28
- }
@@ -1,11 +0,0 @@
1
- import { NodeSpec } from 'prosemirror-model';
2
- import { Node } from '../../editor/src/mod.js';
3
- export declare class NodeUnknownBlock extends Node {
4
- name: string;
5
- requires: string[];
6
- automerge: {
7
- unknownBlock: boolean;
8
- };
9
- getNodeSpec(): NodeSpec;
10
- }
11
- //# sourceMappingURL=NodeUnknownBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeUnknownBlock.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/NodeUnknownBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qBAAa,gBAAiB,SAAQ,IAAI;IAC/B,IAAI,SAAkB;IAC/B,QAAQ,WAAW;IAEnB,SAAS;;MAEP;IAEO,WAAW,IAAI,QAAQ;CAUjC"}
@@ -1,36 +0,0 @@
1
- import { Node } from '../../editor/src/mod.js';
2
- export class NodeUnknownBlock extends Node {
3
- constructor() {
4
- super(...arguments);
5
- Object.defineProperty(this, "name", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: 'unknownBlock'
10
- });
11
- Object.defineProperty(this, "requires", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: ['doc']
16
- });
17
- Object.defineProperty(this, "automerge", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: {
22
- unknownBlock: true,
23
- }
24
- });
25
- }
26
- getNodeSpec() {
27
- return {
28
- group: 'block',
29
- content: 'block+',
30
- parseDOM: [{ tag: 'div', attrs: { 'data-unknown-block': 'true' } }],
31
- toDOM() {
32
- return ['div', { 'data-unknown-block': 'true' }, 0];
33
- },
34
- };
35
- }
36
- }
@@ -1,70 +0,0 @@
1
- import { Attrs, Mark, MarkSpec, MarkType, Node, NodeSpec, NodeType, type Schema } from 'prosemirror-model';
2
- import { next as automerge } from '@automerge/automerge/slim';
3
- import { BlockMarker } from './types.js';
4
- export interface MappedSchemaSpec {
5
- nodes: {
6
- [key: string]: MappedNodeSpec;
7
- };
8
- marks?: {
9
- [key: string]: MappedMarkSpec;
10
- };
11
- }
12
- export type MappedNodeSpec = NodeSpec & {
13
- automerge?: {
14
- unknownBlock?: boolean;
15
- block?: BlockMappingSpec;
16
- isEmbed?: boolean;
17
- attrParsers?: {
18
- fromProsemirror: (node: Node) => {
19
- [key: string]: automerge.MaterializeValue;
20
- };
21
- fromAutomerge: (block: BlockMarker) => Attrs;
22
- };
23
- };
24
- };
25
- export type BlockMappingSpec = string;
26
- export type MappedMarkSpec = MarkSpec & {
27
- automerge?: {
28
- markName: string;
29
- parsers?: {
30
- fromAutomerge: (value: automerge.MarkValue) => Attrs;
31
- fromProsemirror: (mark: Mark) => automerge.MarkValue;
32
- };
33
- };
34
- };
35
- export type MarkMapping = {
36
- automergeMarkName: string;
37
- prosemirrorMark: MarkType;
38
- parsers: {
39
- fromAutomerge: (value: automerge.MarkValue) => Attrs;
40
- fromProsemirror: (mark: Mark) => automerge.MarkValue;
41
- };
42
- };
43
- export type NodeMapping = {
44
- blockName: string;
45
- content: NodeType;
46
- attrParsers?: {
47
- fromProsemirror: (node: Node) => {
48
- [key: string]: automerge.MaterializeValue;
49
- };
50
- fromAutomerge: (block: BlockMarker) => Attrs;
51
- };
52
- isEmbed?: boolean;
53
- };
54
- export declare class SchemaAdapter {
55
- nodeMappings: NodeMapping[];
56
- markMappings: MarkMapping[];
57
- unknownBlock: NodeType;
58
- unknownLeaf: NodeType;
59
- unknownMark: MarkType;
60
- schema: Schema;
61
- constructor(schema: Schema);
62
- }
63
- export declare function addAmgNodeStateAttrs(nodes: {
64
- [key: string]: MappedNodeSpec;
65
- }): {
66
- [key: string]: MappedNodeSpec;
67
- };
68
- export declare function amMarksFromPmMarks(adapter: SchemaAdapter, marks: readonly Mark[]): automerge.MarkSet;
69
- export declare function pmMarksFromAmMarks(adapter: SchemaAdapter, amMarks: automerge.MarkSet): Mark[];
70
- //# sourceMappingURL=SchemaAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaAdapter.d.ts","sourceRoot":"","sources":["../../../src/extension-automerge/src/SchemaAdapter.ts"],"names":[],"mappings":"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"}