@kerebron/editor 0.4.31 → 0.5.1

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 (39) hide show
  1. package/README.md +3 -5
  2. package/esm/CoreEditor.d.ts +25 -7
  3. package/esm/CoreEditor.d.ts.map +1 -1
  4. package/esm/CoreEditor.js +93 -33
  5. package/esm/CoreEditor.js.map +1 -1
  6. package/esm/ExtensionManager.d.ts +6 -9
  7. package/esm/ExtensionManager.d.ts.map +1 -1
  8. package/esm/ExtensionManager.js +44 -50
  9. package/esm/ExtensionManager.js.map +1 -1
  10. package/esm/Node.d.ts +1 -1
  11. package/esm/Node.d.ts.map +1 -1
  12. package/esm/commands/CommandManager.d.ts +1 -2
  13. package/esm/commands/CommandManager.d.ts.map +1 -1
  14. package/esm/commands/CommandManager.js +2 -4
  15. package/esm/commands/CommandManager.js.map +1 -1
  16. package/esm/commands/baseCommandFactories.d.ts.map +1 -1
  17. package/esm/commands/baseCommandFactories.js +5 -3
  18. package/esm/commands/baseCommandFactories.js.map +1 -1
  19. package/esm/plugins/input-rules/InputRulesPlugin.d.ts +5 -4
  20. package/esm/plugins/input-rules/InputRulesPlugin.d.ts.map +1 -1
  21. package/esm/plugins/input-rules/InputRulesPlugin.js +88 -17
  22. package/esm/plugins/input-rules/InputRulesPlugin.js.map +1 -1
  23. package/esm/plugins/input-rules/rulebuilders.d.ts.map +1 -1
  24. package/esm/plugins/input-rules/rulebuilders.js +16 -9
  25. package/esm/plugins/input-rules/rulebuilders.js.map +1 -1
  26. package/esm/types.d.ts +4 -12
  27. package/esm/types.d.ts.map +1 -1
  28. package/esm/utilities/createNodeFromContent.js +1 -1
  29. package/esm/utilities/createNodeFromContent.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/CoreEditor.ts +144 -42
  32. package/src/ExtensionManager.ts +57 -60
  33. package/src/Node.ts +1 -1
  34. package/src/commands/CommandManager.ts +2 -5
  35. package/src/commands/baseCommandFactories.ts +6 -3
  36. package/src/plugins/input-rules/InputRulesPlugin.ts +126 -15
  37. package/src/plugins/input-rules/rulebuilders.ts +27 -10
  38. package/src/types.ts +4 -12
  39. package/src/utilities/createNodeFromContent.ts +2 -2
package/README.md CHANGED
@@ -10,12 +10,10 @@ import { ExtensionBasicEditor } from '@kerebron/extension-basic-editor/Extension
10
10
  import { ExtensionHistory } from '@kerebron/extension-basic-editor/ExtensionHistory';
11
11
  import { ExtensionMenu } from '@kerebron/extension-menu/ExtensionMenu';
12
12
 
13
- this.editor = new CoreEditor({
13
+ this.editor = CoreEditor.create({
14
14
  element: document.querySelector('div#editor'),
15
- extensions: [
16
- new ExtensionBasicEditor(),
17
- new ExtensionHistory(),
18
- new ExtensionMenu(),
15
+ editorKits: [
16
+ new AdvancedEditorKit(),
19
17
  ],
20
18
  });
21
19
  ```
@@ -1,21 +1,37 @@
1
1
  import { EditorView } from 'prosemirror-view';
2
- import { Node as ProseMirrorNode, Schema } from 'prosemirror-model';
3
- import type { EditorConfig, JSONContent } from './types.js';
2
+ import { Node as ProseMirrorNode, ParseOptions, Schema } from 'prosemirror-model';
3
+ import type { Content, EditorKit, JSONContent } from './types.js';
4
4
  import { EditorState, Transaction } from 'prosemirror-state';
5
5
  import { DummyEditorView } from './DummyEditorView.js';
6
- import { ChainedCommands } from './commands/mod.js';
7
6
  import { Extension } from './Extension.js';
8
7
  import { EditorUi } from './ui.js';
8
+ import { ChainedCommands, CommandFactories } from './commands/types.js';
9
+ export interface EditorConfig {
10
+ element: HTMLElement;
11
+ content: Content;
12
+ parseOptions: ParseOptions;
13
+ cdnUrl?: string;
14
+ uri?: string;
15
+ languageID?: string;
16
+ topNode?: string;
17
+ readOnly?: boolean;
18
+ }
9
19
  export declare class CoreEditor extends EventTarget {
10
- readonly config: Partial<EditorConfig>;
20
+ readonly schema: Schema;
11
21
  private extensionManager;
22
+ readonly config: Partial<EditorConfig>;
12
23
  private commandManager;
13
24
  view: EditorView | DummyEditorView;
14
25
  state: EditorState;
15
26
  ui: EditorUi;
16
- constructor(config?: Partial<EditorConfig>);
27
+ private linkListener?;
28
+ private linkSource?;
29
+ private constructor();
30
+ static create(config: Partial<EditorConfig> & {
31
+ editorKits: EditorKit[];
32
+ }): CoreEditor;
33
+ clone(config?: EditorConfig): CoreEditor;
17
34
  getExtension<T extends Extension>(name: string): T | undefined;
18
- get schema(): Schema<any, any>;
19
35
  get run(): {
20
36
  [key: string]: (...args: any[]) => boolean;
21
37
  };
@@ -24,6 +40,8 @@ export declare class CoreEditor extends EventTarget {
24
40
  };
25
41
  chain(): ChainedCommands;
26
42
  can(): ChainedCommands;
43
+ link(source: CoreEditor): ChainedCommands;
44
+ unlink(): void;
27
45
  private createView;
28
46
  dispatchTransaction(transaction: Transaction): void;
29
47
  private setupPlugins;
@@ -33,8 +51,8 @@ export declare class CoreEditor extends EventTarget {
33
51
  loadDocument(mediaType: string, content: Uint8Array): Promise<void>;
34
52
  saveDocument(mediaType: string): Promise<Uint8Array>;
35
53
  getJSON(): JSONContent;
36
- clone(options?: Partial<EditorConfig>): CoreEditor;
37
54
  debug(doc?: ProseMirrorNode): void;
38
55
  destroy(): void;
56
+ mergeCommandFactories(toInsert: Partial<CommandFactories>, name: string): void;
39
57
  }
40
58
  //# sourceMappingURL=CoreEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEditor.d.ts","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAc9C,qBAAa,UAAW,SAAQ,WAAW;IACzC,SAAgB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAG3C;IACF,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IAChC,IAAI,EAAG,UAAU,GAAG,eAAe,CAAC;IACpC,KAAK,EAAG,WAAW,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAmB;gBAE1B,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IA+B9C,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9D,IAAW,MAAM,qBAEhB;IAED,IAAW,GAAG;;MAEb;IAED,IAAW,gBAAgB;;MAE1B;IAEM,KAAK,IAAI,eAAe;IAIxB,GAAG,IAAI,eAAe;IAI7B,OAAO,CAAC,UAAU;IA+CX,mBAAmB,CAAC,WAAW,EAAE,WAAW;IAsBnD,OAAO,CAAC,YAAY;IAcb,aAAa;IASb,WAAW,CAAC,OAAO,EAAE,GAAG;IAyBxB,WAAW;IAIL,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;IA0BnD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAY1D,OAAO,IAAI,WAAW;IAItB,KAAK,CAAC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,UAAU;IAOtD,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe;IAO3B,OAAO;CAOf"}
1
+ {"version":3,"file":"CoreEditor.d.ts","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,IAAI,IAAI,eAAe,EACvB,YAAY,EACZ,MAAM,EACP,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EACL,eAAe,EAEf,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAW,SAAQ,WAAW;aAWvB,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,gBAAgB;IAX1B,SAAgB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,CAAC,cAAc,CAAiB;IAChC,IAAI,EAAG,UAAU,GAAG,eAAe,CAAC;IACpC,KAAK,EAAG,WAAW,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAmB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAqC;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,OAAO;IAcP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE;IAkBlE,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU;IAoB/C,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9D,IAAW,GAAG;;MAEb;IAED,IAAW,gBAAgB;;MAE1B;IAEM,KAAK,IAAI,eAAe;IAIxB,GAAG,IAAI,eAAe;IAItB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe;IAiDzC,MAAM;IAQb,OAAO,CAAC,UAAU;IA+CX,mBAAmB,CAAC,WAAW,EAAE,WAAW;IAsBnD,OAAO,CAAC,YAAY;IAcb,aAAa;IASb,WAAW,CAAC,OAAO,EAAE,GAAG;IAyBxB,WAAW;IAIL,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;IAsCnD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAY1D,OAAO,IAAI,WAAW;IAItB,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe;IAO3B,OAAO;IAQd,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM;CAGxE"}
package/esm/CoreEditor.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EditorView } from 'prosemirror-view';
2
- import { Node as ProseMirrorNode } from 'prosemirror-model';
2
+ import { Node as ProseMirrorNode, } from 'prosemirror-model';
3
3
  import { ExtensionManager } from './ExtensionManager.js';
4
4
  import { EditorState } from 'prosemirror-state';
5
5
  import { CommandManager } from './commands/CommandManager.js';
@@ -7,6 +7,7 @@ import { nodeToTreeString } from './nodeToTreeString.js';
7
7
  import { DummyEditorView } from './DummyEditorView.js';
8
8
  import { createNodeFromObject } from './utilities/createNodeFromContent.js';
9
9
  import { defaultUi } from './ui.js';
10
+ import { runInputRulesTexts } from './plugins/input-rules/InputRulesPlugin.js';
10
11
  function ensureDocSchema(doc, schema) {
11
12
  if (doc.type.schema === schema) {
12
13
  return doc;
@@ -15,40 +16,46 @@ function ensureDocSchema(doc, schema) {
15
16
  return ProseMirrorNode.fromJSON(schema, json);
16
17
  }
17
18
  export class CoreEditor extends EventTarget {
18
- config = {
19
- element: undefined,
20
- extensions: [],
21
- };
19
+ schema;
22
20
  extensionManager;
21
+ config;
23
22
  commandManager;
24
23
  view;
25
24
  state;
26
25
  ui = defaultUi(this);
27
- constructor(config = {}) {
26
+ linkListener;
27
+ linkSource;
28
+ constructor(config, schema, extensionManager) {
28
29
  super();
29
- this.config = {
30
- ...this.config,
31
- ...config,
32
- };
30
+ this.schema = schema;
31
+ this.extensionManager = extensionManager;
32
+ this.config = { ...config };
33
33
  this.commandManager = new CommandManager(this);
34
- this.extensionManager = new ExtensionManager(this.config.extensions || [], this, this.commandManager);
35
- this.extensionManager.created();
36
- // const content = this.options.content ? this.options.content : {
37
- // type: this.extensionManager.schema.topNodeType.name,
38
- // content: this.extensionManager.schema.topNodeType.spec.EMPTY_DOC,
39
- // };
40
- const content = this.config.content
41
- ? this.config.content
42
- : this.extensionManager.schema.topNodeType.spec.EMPTY_DOC;
43
- this.createView(content);
44
- this.setupPlugins();
34
+ }
35
+ static create(config) {
36
+ const extensionManager = new ExtensionManager(config.editorKits);
37
+ const schema = extensionManager.getSchemaByResolvedExtensions();
38
+ const instance = new CoreEditor(config, schema, extensionManager);
39
+ extensionManager.created(instance, schema);
40
+ const content = config.content
41
+ ? config.content
42
+ : schema.topNodeType.spec.EMPTY_DOC;
43
+ instance.createView(content);
44
+ instance.setupPlugins();
45
+ return instance;
46
+ }
47
+ clone(config) {
48
+ const extensionManager = new ExtensionManager(this.extensionManager.editorKits);
49
+ const instance = new CoreEditor(config || {}, this.schema, extensionManager);
50
+ extensionManager.created(instance, this.schema);
51
+ const content = this.getJSON();
52
+ instance.createView(content);
53
+ instance.setupPlugins();
54
+ return instance;
45
55
  }
46
56
  getExtension(name) {
47
57
  return this.extensionManager.getExtension(name);
48
58
  }
49
- get schema() {
50
- return this.extensionManager.schema;
51
- }
52
59
  get run() {
53
60
  return this.commandManager.run;
54
61
  }
@@ -61,6 +68,52 @@ export class CoreEditor extends EventTarget {
61
68
  can() {
62
69
  return this.commandManager.createCan();
63
70
  }
71
+ link(source) {
72
+ if (source === this) {
73
+ throw new Error('You cannot chain editor to itself');
74
+ }
75
+ this.unlink();
76
+ this.state = EditorState.create({ doc: source.getDocument() });
77
+ const { commandFactories } = this.commandManager;
78
+ const commands = [];
79
+ const chain = {
80
+ ...Object.fromEntries(Object.entries(commandFactories).map(([name, commandFactory]) => {
81
+ const chainedCommand = (...args) => {
82
+ const command = commandFactory(...args);
83
+ commands.push(command);
84
+ return chain;
85
+ };
86
+ return [name, chainedCommand];
87
+ })),
88
+ run: () => {
89
+ this.linkSource = source;
90
+ this.linkListener = () => {
91
+ let state = source.state;
92
+ const dispatch = (tr) => {
93
+ state = state.apply(tr);
94
+ };
95
+ for (const command of commands) {
96
+ if (!command(state, dispatch)) {
97
+ return;
98
+ }
99
+ }
100
+ this.state = state;
101
+ if (this.view) {
102
+ this.view.updateState(this.state);
103
+ }
104
+ };
105
+ source.addEventListener('changed', this.linkListener);
106
+ },
107
+ };
108
+ return chain;
109
+ }
110
+ unlink() {
111
+ if (this.linkListener && this.linkSource) {
112
+ this.linkSource.removeEventListener('changed', this.linkListener);
113
+ this.linkListener = undefined;
114
+ this.linkSource = undefined;
115
+ }
116
+ }
64
117
  createView(content) {
65
118
  const doc = createNodeFromObject(content, this.schema);
66
119
  this.state = EditorState.create({ doc });
@@ -138,8 +191,8 @@ export class CoreEditor extends EventTarget {
138
191
  }
139
192
  clearDocument() {
140
193
  const content = {
141
- type: this.extensionManager.schema.topNodeType.name,
142
- content: this.extensionManager.schema.topNodeType.spec.EMPTY_DOC.content,
194
+ type: this.schema.topNodeType.name,
195
+ content: this.schema.topNodeType.spec.EMPTY_DOC.content,
143
196
  };
144
197
  this.setDocument(content);
145
198
  }
@@ -172,12 +225,22 @@ export class CoreEditor extends EventTarget {
172
225
  if (!converter) {
173
226
  throw new Error('Converter not found for: ' + mediaType);
174
227
  }
175
- const doc = await converter.toDoc(content);
228
+ const parsedDoc = await converter.toDoc(content);
229
+ const doc = ProseMirrorNode.fromJSON(this.schema, parsedDoc.toJSON()); // TODO: WHY?!
176
230
  this.state = EditorState.create({
177
231
  doc,
178
232
  plugins: this.state.plugins,
179
233
  storedMarks: this.state.storedMarks,
180
234
  });
235
+ const cmd = runInputRulesTexts();
236
+ let newState;
237
+ const dispatch = (tr) => {
238
+ newState = this.state.apply(tr);
239
+ };
240
+ const aa = cmd(this.state, dispatch);
241
+ if (newState) {
242
+ this.state = newState;
243
+ }
181
244
  if (this.view) {
182
245
  this.view.updateState(this.state);
183
246
  }
@@ -201,12 +264,6 @@ export class CoreEditor extends EventTarget {
201
264
  getJSON() {
202
265
  return this.state.doc.toJSON();
203
266
  }
204
- clone(options = {}) {
205
- return new CoreEditor({
206
- ...options,
207
- extensions: [...(Array.from(this.extensionManager.extensions) || [])],
208
- });
209
- }
210
267
  debug(doc) {
211
268
  if (!doc) {
212
269
  doc = this.state.doc;
@@ -220,5 +277,8 @@ export class CoreEditor extends EventTarget {
220
277
  this.dispatchEvent(event);
221
278
  this.view.destroy();
222
279
  }
280
+ mergeCommandFactories(toInsert, name) {
281
+ this.commandManager.mergeCommandFactories(toInsert, name);
282
+ }
223
283
  }
224
284
  //# sourceMappingURL=CoreEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEditor.js","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreEditor.js","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,10 @@ import { Schema } from 'prosemirror-model';
2
2
  import { Plugin } from 'prosemirror-state';
3
3
  import { NodeViewConstructor } from 'prosemirror-view';
4
4
  import { Converter, Extension } from './Extension.js';
5
- import { AnyExtension, AnyExtensionOrReq } from './types.js';
6
- import { CoreEditor } from './CoreEditor.js';
5
+ import type { AnyExtension, EditorKit } from './types.js';
6
+ import type { CoreEditor } from './CoreEditor.js';
7
7
  import { Mark } from './Mark.js';
8
8
  import { Node } from './Node.js';
9
- import { type CommandManager } from './commands/CommandManager.js';
10
9
  export declare function findDuplicates(items: any[]): any[];
11
10
  export declare function splitExtensions(extensions: Iterable<AnyExtension>): {
12
11
  baseExtensions: Extension[];
@@ -14,19 +13,17 @@ export declare function splitExtensions(extensions: Iterable<AnyExtension>): {
14
13
  markExtensions: Mark[];
15
14
  };
16
15
  export declare class ExtensionManager {
17
- private editor;
18
- private commandManager;
19
- readonly schema: Schema;
16
+ readonly editorKits: EditorKit[];
20
17
  readonly extensions: Set<AnyExtension>;
21
18
  readonly plugins: Plugin[];
22
19
  readonly nodeViews: Record<string, NodeViewConstructor>;
23
20
  converters: Record<string, Converter>;
24
21
  private debug;
25
- constructor(extensions: AnyExtensionOrReq[], editor: CoreEditor, commandManager: CommandManager);
22
+ constructor(editorKits: EditorKit[]);
26
23
  getExtension<T extends Extension>(name: string): T | undefined;
27
24
  private initPlugins;
28
25
  private setupExtensions;
29
- getSchemaByResolvedExtensions(editor: CoreEditor): Schema;
30
- created(): void;
26
+ getSchemaByResolvedExtensions(): Schema;
27
+ created(editor: CoreEditor, schema: Schema): void;
31
28
  }
32
29
  //# sourceMappingURL=ExtensionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionManager.d.ts","sourceRoot":"","sources":["../src/ExtensionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAIlD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC;;;;EAgBjE;AAED,qBAAa,gBAAgB;IAazB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAbxB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,SAAgB,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAa;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IAEtD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAElD,OAAO,CAAC,KAAK,CAAQ;gBAGnB,UAAU,EAAE,iBAAiB,EAAE,EACvB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,cAAc;IAcxC,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAY9D,OAAO,CAAC,WAAW;IAkHnB,OAAO,CAAC,eAAe;IAwEvB,6BAA6B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAkDzD,OAAO;CAOR"}
1
+ {"version":3,"file":"ExtensionManager.d.ts","sourceRoot":"","sources":["../src/ExtensionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAqB,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAIlD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC;;;;EAgBjE;AAED,qBAAa,gBAAgB;aASC,UAAU,EAAE,SAAS,EAAE;IARnD,SAAgB,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAa;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IAEtD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAElD,OAAO,CAAC,KAAK,CAAQ;gBAEO,UAAU,EAAE,SAAS,EAAE;IAUnD,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAY9D,OAAO,CAAC,WAAW;IAiHnB,OAAO,CAAC,eAAe;IA0EvB,6BAA6B,IAAI,MAAM;IAyCvC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;CAqB3C"}
@@ -19,26 +19,17 @@ export function splitExtensions(extensions) {
19
19
  };
20
20
  }
21
21
  export class ExtensionManager {
22
- editor;
23
- commandManager;
24
- schema;
22
+ editorKits;
25
23
  extensions = new Set();
26
24
  plugins = [];
27
25
  nodeViews = {};
28
26
  converters = {};
29
27
  debug = true;
30
- constructor(extensions, editor, commandManager) {
31
- this.editor = editor;
32
- this.commandManager = commandManager;
28
+ constructor(editorKits) {
29
+ this.editorKits = editorKits;
30
+ const extensions = editorKits
31
+ .reduce((prev, cur) => prev.concat(cur.getExtensions()), []);
33
32
  this.setupExtensions(new Set(extensions));
34
- this.schema = this.getSchemaByResolvedExtensions(editor);
35
- const event = new CustomEvent('schema:ready', {
36
- detail: {
37
- editor,
38
- schema: this.schema,
39
- },
40
- });
41
- editor.dispatchEvent(event);
42
33
  }
43
34
  getExtension(name) {
44
35
  const { nodeExtensions, markExtensions, baseExtensions } = splitExtensions(this.extensions);
@@ -48,7 +39,7 @@ export class ExtensionManager {
48
39
  }
49
40
  }
50
41
  }
51
- initPlugins() {
42
+ initPlugins(editor, schema) {
52
43
  const inputRules = [];
53
44
  const keyBindings = new Map();
54
45
  const mergeShortcuts = (toInsert, extName) => {
@@ -56,7 +47,7 @@ export class ExtensionManager {
56
47
  if (!toInsert[key]) {
57
48
  continue;
58
49
  }
59
- const commandFactory = this.commandManager.commandFactories[toInsert[key]];
50
+ const commandFactory = editor.commandFactories[toInsert[key]];
60
51
  if (!commandFactory) {
61
52
  console.warn(`No command constructor: ${toInsert[key]}`);
62
53
  continue;
@@ -73,35 +64,35 @@ export class ExtensionManager {
73
64
  };
74
65
  let converters = {};
75
66
  for (const extension of this.extensions) {
76
- extension.setEditor(this.editor);
67
+ extension.setEditor(editor);
77
68
  if (extension.type === 'node') {
78
- const nodeType = this.schema.nodes[extension.name];
69
+ const nodeType = schema.nodes[extension.name];
79
70
  inputRules.push(...extension.getInputRules(nodeType));
80
71
  this.plugins.push(...extension.getProseMirrorPlugins());
81
- this.commandManager.mergeCommandFactories(extension.getCommandFactories(this.editor, nodeType), extension.name);
82
- mergeShortcuts(extension.getKeyboardShortcuts(this.editor), extension.name);
72
+ editor.mergeCommandFactories(extension.getCommandFactories(editor, nodeType), extension.name);
73
+ mergeShortcuts(extension.getKeyboardShortcuts(editor), extension.name);
83
74
  converters = {
84
75
  ...converters,
85
- ...extension.getConverters(this.editor, this.schema),
76
+ ...extension.getConverters(editor, schema),
86
77
  };
87
- const nodeView = extension.getNodeView(this.editor);
78
+ const nodeView = extension.getNodeView(editor);
88
79
  if (nodeView) {
89
80
  this.nodeViews[extension.name] = nodeView;
90
81
  }
91
82
  }
92
83
  if (extension.type === 'mark') {
93
- const markType = this.schema.marks[extension.name];
84
+ const markType = schema.marks[extension.name];
94
85
  inputRules.push(...extension.getInputRules(markType));
95
- this.commandManager.mergeCommandFactories(extension.getCommandFactories(this.editor, markType), extension.name);
96
- mergeShortcuts(extension.getKeyboardShortcuts(this.editor), extension.name);
86
+ editor.mergeCommandFactories(extension.getCommandFactories(editor, markType), extension.name);
87
+ mergeShortcuts(extension.getKeyboardShortcuts(editor), extension.name);
97
88
  }
98
89
  if (extension.type === 'extension') {
99
90
  this.plugins.push(...extension.getProseMirrorPlugins());
100
- this.commandManager.mergeCommandFactories(extension.getCommandFactories(this.editor), extension.name);
101
- mergeShortcuts(extension.getKeyboardShortcuts(this.editor), extension.name);
91
+ editor.mergeCommandFactories(extension.getCommandFactories(editor), extension.name);
92
+ mergeShortcuts(extension.getKeyboardShortcuts(editor), extension.name);
102
93
  converters = {
103
94
  ...converters,
104
- ...extension.getConverters(this.editor, this.schema),
95
+ ...extension.getConverters(editor, schema),
105
96
  };
106
97
  }
107
98
  }
@@ -121,14 +112,16 @@ export class ExtensionManager {
121
112
  this.converters = converters;
122
113
  this.plugins.push(new InputRulesPlugin(inputRules));
123
114
  this.plugins.push(new KeymapPlugin(Object.fromEntries(keyBindings)));
124
- this.plugins.push(new TrackSelecionPlugin(this.editor));
115
+ this.plugins.push(new TrackSelecionPlugin(editor));
125
116
  }
126
117
  setupExtensions(extensions) {
127
118
  const allExtensions = new Map();
128
119
  const createMap = (extensions) => {
129
120
  for (const extension of extensions) {
130
121
  if ('name' in extension) {
131
- allExtensions.set(extension.name, extension);
122
+ if (!allExtensions.has(extension.name)) {
123
+ allExtensions.set(extension.name, extension);
124
+ }
132
125
  }
133
126
  if ('requires' in extension) {
134
127
  const childExtensions = Array.from(extension.requires).filter((e) => typeof e !== 'string');
@@ -173,20 +166,18 @@ export class ExtensionManager {
173
166
  Array.from(allExtensions.keys()).join(', '));
174
167
  }
175
168
  }
176
- getSchemaByResolvedExtensions(editor) {
169
+ getSchemaByResolvedExtensions() {
177
170
  const { nodeExtensions, markExtensions, baseExtensions } = splitExtensions(this.extensions);
178
- for (const extension of baseExtensions) {
179
- if (Array.isArray(extension.conflicts)) {
180
- for (const name of extension.conflicts) {
181
- if (this.getExtension(name)) {
182
- throw new Error(`Extension conflict: ${extension.name} vs ${name}`);
183
- }
184
- }
185
- }
186
- }
187
171
  const nodes = {};
172
+ let topNode = '';
188
173
  for (const extension of nodeExtensions) {
189
174
  nodes[extension.name] = extension.getNodeSpec();
175
+ if (nodes[extension.name].EMPTY_DOC) {
176
+ if (topNode) {
177
+ throw new Error(`Multiple topNodes: ${extension.name}, ${topNode}`);
178
+ }
179
+ topNode = extension.name;
180
+ }
190
181
  addAttributesToSchema(nodes[extension.name], extension);
191
182
  }
192
183
  const marks = {};
@@ -195,7 +186,7 @@ export class ExtensionManager {
195
186
  addAttributesToSchema(marks[extension.name], extension);
196
187
  }
197
188
  const spec = {
198
- topNode: this.editor.config.topNode || 'doc',
189
+ topNode: topNode || 'doc',
199
190
  nodes,
200
191
  marks,
201
192
  };
@@ -204,17 +195,20 @@ export class ExtensionManager {
204
195
  extension.setupSpec(spec);
205
196
  }
206
197
  }
207
- const event = new CustomEvent('schema:spec', {
208
- detail: {
209
- editor,
210
- spec,
211
- },
212
- });
213
- editor.dispatchEvent(event);
214
198
  return new Schema(spec);
215
199
  }
216
- created() {
217
- this.initPlugins();
200
+ created(editor, schema) {
201
+ const { nodeExtensions, markExtensions, baseExtensions } = splitExtensions(this.extensions);
202
+ for (const extension of baseExtensions) {
203
+ if (Array.isArray(extension.conflicts)) {
204
+ for (const name of extension.conflicts) {
205
+ if (this.getExtension(name)) {
206
+ throw new Error(`Extension conflict: ${extension.name} vs ${name}`);
207
+ }
208
+ }
209
+ }
210
+ }
211
+ this.initPlugins(editor, schema);
218
212
  for (const extension of this.extensions) {
219
213
  extension.created();
220
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionManager.js","sourceRoot":"","sources":["../src/ExtensionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionManager.js","sourceRoot":"","sources":["../src/ExtensionManager.ts"],"names":[],"mappings":"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"}
package/esm/Node.d.ts CHANGED
@@ -10,7 +10,7 @@ export interface NodeConfig {
10
10
  [key: string]: any;
11
11
  }
12
12
  export interface CommandFactories {
13
- [key: string]: () => Command;
13
+ [key: string]: (...args: any[]) => Command;
14
14
  }
15
15
  export declare abstract class Node {
16
16
  protected config: Partial<NodeConfig>;
package/esm/Node.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,UAAU;IAEzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC;CAC9B;AAED,8BAAsB,IAAI;IAOL,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IANxD,QAAQ,CAAC,IAAI,UAAU;IACvB,IAAI,EAAE,MAAM,CAAU;IACtB,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC;IAE9B,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM;gBAEnC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM;IAE7D,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B,OAAO;IAGP,WAAW,IAAI,QAAQ;IAIvB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE;IAI1C,qBAAqB,IAAI,MAAM,EAAE;IAIjC,mBAAmB,CACjB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAI5B,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB,GAAG,SAAS;IAIhE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;CAG7E"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,UAAU;IAEzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;CAC5C;AAED,8BAAsB,IAAI;IAOL,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IANxD,QAAQ,CAAC,IAAI,UAAU;IACvB,IAAI,EAAE,MAAM,CAAU;IACtB,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC;IAE9B,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM;gBAEnC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM;IAE7D,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B,OAAO;IAGP,WAAW,IAAI,QAAQ;IAIvB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE;IAI1C,qBAAqB,IAAI,MAAM,EAAE;IAIjC,mBAAmB,CACjB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAI5B,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB,GAAG,SAAS;IAIhE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;CAG7E"}
@@ -1,4 +1,4 @@
1
- import type { EditorState, Transaction } from 'prosemirror-state';
1
+ import type { Transaction } from 'prosemirror-state';
2
2
  import type { CoreEditor } from '../CoreEditor.js';
3
3
  import type { ChainedCommands, CommandFactories, CommandFactory } from './types.js';
4
4
  type CommandRunner = (...args: any[]) => boolean;
@@ -14,7 +14,6 @@ export declare class CommandManager {
14
14
  constructor(editor: CoreEditor);
15
15
  mergeCommandFactories(toInsert: Partial<CommandFactories>, extName: string): void;
16
16
  private overwriteCommandFactory;
17
- get state(): EditorState;
18
17
  get chain(): () => ChainedCommands;
19
18
  get can(): () => ChainedCommands;
20
19
  createChain(startTr?: Transaction, shouldDispatch?: boolean): ChainedCommands;