@kerebron/editor-react 0.4.5 → 0.4.9

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 (85) hide show
  1. package/esm/{editor-react/src/EditorContent.d.ts → EditorContent.d.ts} +1 -1
  2. package/esm/EditorContent.d.ts.map +1 -0
  3. package/esm/{editor-react/src/mod.d.ts → mod.d.ts} +1 -1
  4. package/esm/mod.d.ts.map +1 -0
  5. package/esm/{editor-react/src/mod.js → mod.js} +1 -1
  6. package/esm/{editor-react/src/useEditor.d.ts → useEditor.d.ts} +2 -2
  7. package/esm/useEditor.d.ts.map +1 -0
  8. package/esm/{editor-react/src/useEditor.js → useEditor.js} +2 -2
  9. package/package.json +5 -11
  10. package/esm/editor/src/CoreEditor.d.ts +0 -40
  11. package/esm/editor/src/CoreEditor.d.ts.map +0 -1
  12. package/esm/editor/src/CoreEditor.js +0 -252
  13. package/esm/editor/src/DummyEditorView.d.ts +0 -60
  14. package/esm/editor/src/DummyEditorView.d.ts.map +0 -1
  15. package/esm/editor/src/DummyEditorView.js +0 -277
  16. package/esm/editor/src/Extension.d.ts +0 -31
  17. package/esm/editor/src/Extension.d.ts.map +0 -1
  18. package/esm/editor/src/Extension.js +0 -53
  19. package/esm/editor/src/ExtensionManager.d.ts +0 -32
  20. package/esm/editor/src/ExtensionManager.d.ts.map +0 -1
  21. package/esm/editor/src/ExtensionManager.js +0 -260
  22. package/esm/editor/src/Mark.d.ts +0 -23
  23. package/esm/editor/src/Mark.d.ts.map +0 -1
  24. package/esm/editor/src/Mark.js +0 -51
  25. package/esm/editor/src/Node.d.ts +0 -32
  26. package/esm/editor/src/Node.d.ts.map +0 -1
  27. package/esm/editor/src/Node.js +0 -60
  28. package/esm/editor/src/commands/CommandManager.d.ts +0 -23
  29. package/esm/editor/src/commands/CommandManager.d.ts.map +0 -1
  30. package/esm/editor/src/commands/CommandManager.js +0 -118
  31. package/esm/editor/src/commands/baseCommandFactories.d.ts +0 -3
  32. package/esm/editor/src/commands/baseCommandFactories.d.ts.map +0 -1
  33. package/esm/editor/src/commands/baseCommandFactories.js +0 -836
  34. package/esm/editor/src/commands/createChainableState.d.ts +0 -3
  35. package/esm/editor/src/commands/createChainableState.d.ts.map +0 -1
  36. package/esm/editor/src/commands/createChainableState.js +0 -29
  37. package/esm/editor/src/commands/keyCommandFactories.d.ts +0 -3
  38. package/esm/editor/src/commands/keyCommandFactories.d.ts.map +0 -1
  39. package/esm/editor/src/commands/keyCommandFactories.js +0 -10
  40. package/esm/editor/src/commands/mod.d.ts +0 -7
  41. package/esm/editor/src/commands/mod.d.ts.map +0 -1
  42. package/esm/editor/src/commands/mod.js +0 -76
  43. package/esm/editor/src/commands/replaceCommandFactories.d.ts +0 -3
  44. package/esm/editor/src/commands/replaceCommandFactories.d.ts.map +0 -1
  45. package/esm/editor/src/commands/replaceCommandFactories.js +0 -94
  46. package/esm/editor/src/commands/types.d.ts +0 -18
  47. package/esm/editor/src/commands/types.d.ts.map +0 -1
  48. package/esm/editor/src/commands/types.js +0 -1
  49. package/esm/editor/src/mod.d.ts +0 -9
  50. package/esm/editor/src/mod.d.ts.map +0 -1
  51. package/esm/editor/src/mod.js +0 -8
  52. package/esm/editor/src/nodeToTreeString.d.ts +0 -10
  53. package/esm/editor/src/nodeToTreeString.d.ts.map +0 -1
  54. package/esm/editor/src/nodeToTreeString.js +0 -74
  55. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts +0 -6
  56. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts.map +0 -1
  57. package/esm/editor/src/plugins/TrackSelecionPlugin.js +0 -24
  58. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts +0 -23
  59. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts.map +0 -1
  60. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.js +0 -163
  61. package/esm/editor/src/plugins/keymap/keymap.d.ts +0 -11
  62. package/esm/editor/src/plugins/keymap/keymap.d.ts.map +0 -1
  63. package/esm/editor/src/plugins/keymap/keymap.js +0 -125
  64. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts +0 -4
  65. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts.map +0 -1
  66. package/esm/editor/src/plugins/keymap/w3c-keyname.js +0 -124
  67. package/esm/editor/src/types.d.ts +0 -52
  68. package/esm/editor/src/types.d.ts.map +0 -1
  69. package/esm/editor/src/types.js +0 -1
  70. package/esm/editor/src/ui.d.ts +0 -15
  71. package/esm/editor/src/ui.d.ts.map +0 -1
  72. package/esm/editor/src/ui.js +0 -16
  73. package/esm/editor/src/utilities/SmartOutput.d.ts +0 -41
  74. package/esm/editor/src/utilities/SmartOutput.d.ts.map +0 -1
  75. package/esm/editor/src/utilities/SmartOutput.js +0 -228
  76. package/esm/editor/src/utilities/createNodeFromContent.d.ts +0 -9
  77. package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +0 -1
  78. package/esm/editor/src/utilities/createNodeFromContent.js +0 -32
  79. package/esm/editor/src/utilities/getHtmlAttributes.d.ts +0 -9
  80. package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +0 -1
  81. package/esm/editor/src/utilities/getHtmlAttributes.js +0 -47
  82. package/esm/editor-react/src/EditorContent.d.ts.map +0 -1
  83. package/esm/editor-react/src/mod.d.ts.map +0 -1
  84. package/esm/editor-react/src/useEditor.d.ts.map +0 -1
  85. /package/esm/{editor-react/src/EditorContent.js → EditorContent.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { CoreEditor } from '../../editor/src/mod.js';
2
+ import type { CoreEditor } from '@kerebron/editor';
3
3
  export interface EditorContentProps {
4
4
  /** The editor instance from useEditor */
5
5
  editor: CoreEditor | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorContent.d.ts","sourceRoot":"","sources":["../src/EditorContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,UAAU,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,6FAkCzB,CAAC"}
@@ -20,5 +20,5 @@
20
20
  */
21
21
  export { useEditor, type UseEditorOptions } from './useEditor.js';
22
22
  export { EditorContent, type EditorContentProps, type EditorContentRef, } from './EditorContent.js';
23
- export { CoreEditor } from '../../editor/src/mod.js';
23
+ export { CoreEditor } from '@kerebron/editor';
24
24
  //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -21,4 +21,4 @@
21
21
  export { useEditor } from './useEditor.js';
22
22
  export { EditorContent, } from './EditorContent.js';
23
23
  // Re-export CoreEditor for convenience
24
- export { CoreEditor } from '../../editor/src/mod.js';
24
+ export { CoreEditor } from '@kerebron/editor';
@@ -1,6 +1,6 @@
1
1
  import { type DependencyList } from 'react';
2
- import { CoreEditor } from '../../editor/src/mod.js';
3
- import type { AnyExtensionOrReq, Content } from '../../editor/src/mod.js';
2
+ import { CoreEditor } from '@kerebron/editor';
3
+ import type { AnyExtensionOrReq, Content } from '@kerebron/editor';
4
4
  export interface UseEditorOptions {
5
5
  /** Array of extensions to use */
6
6
  extensions?: AnyExtensionOrReq[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEditor.d.ts","sourceRoot":"","sources":["../src/useEditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAA+B,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,OAAO,GAAE,gBAAqB,EAC9B,IAAI,GAAE,cAAmB,GACxB,UAAU,GAAG,IAAI,CAyEnB"}
@@ -1,6 +1,6 @@
1
- import * as dntShim from "../../_dnt.shims.js";
1
+ import * as dntShim from "./_dnt.shims.js";
2
2
  import { useEffect, useRef, useState } from 'react';
3
- import { CoreEditor } from '../../editor/src/mod.js';
3
+ import { CoreEditor } from '@kerebron/editor';
4
4
  /**
5
5
  * React hook for creating and managing a Kerebron editor instance.
6
6
  *
package/package.json CHANGED
@@ -1,23 +1,17 @@
1
1
  {
2
2
  "name": "@kerebron/editor-react",
3
- "version": "0.4.5",
3
+ "version": "0.4.9",
4
4
  "license": "MIT",
5
- "module": "./esm/editor-react/src/mod.js",
5
+ "module": "./esm/mod.js",
6
6
  "exports": {
7
7
  ".": {
8
- "import": "./esm/editor-react/src/mod.js"
8
+ "import": "./esm/mod.js"
9
9
  }
10
10
  },
11
11
  "scripts": {},
12
12
  "dependencies": {
13
- "prosemirror-model": "1.25.3",
14
- "prosemirror-state": "1.4.3",
15
- "prosemirror-transform": "1.10.4",
16
- "prosemirror-view": "1.40.0"
17
- },
18
- "peerDependencies": {
19
- "react": ">=18.0.0",
20
- "react-dom": ">=18.0.0"
13
+ "@kerebron/editor": "0.4.9",
14
+ "react": "^19"
21
15
  },
22
16
  "devDependencies": {
23
17
  "@types/node": "^20.9.0"
@@ -1,40 +0,0 @@
1
- import { EditorView } from 'prosemirror-view';
2
- import { Node as ProseMirrorNode, Schema } from 'prosemirror-model';
3
- import type { EditorConfig, JSONContent } from './types.js';
4
- import { EditorState, Transaction } from 'prosemirror-state';
5
- import { DummyEditorView } from './DummyEditorView.js';
6
- import { ChainedCommands } from './commands/mod.js';
7
- import { Extension } from './Extension.js';
8
- import { EditorUi } from './ui.js';
9
- export declare class CoreEditor extends EventTarget {
10
- readonly config: Partial<EditorConfig>;
11
- private extensionManager;
12
- private commandManager;
13
- view: EditorView | DummyEditorView;
14
- state: EditorState;
15
- ui: EditorUi;
16
- constructor(config?: Partial<EditorConfig>);
17
- getExtension<T extends Extension>(name: string): T | undefined;
18
- get schema(): Schema<any, any>;
19
- get run(): {
20
- [key: string]: (...args: any[]) => boolean;
21
- };
22
- get commandFactories(): {
23
- [key: string]: import("./commands/types.js").CommandFactory;
24
- };
25
- chain(): ChainedCommands;
26
- can(): ChainedCommands;
27
- private createView;
28
- dispatchTransaction(transaction: Transaction): void;
29
- private setupPlugins;
30
- clearDocument(): void;
31
- setDocument(content: any): void;
32
- getDocument(): ProseMirrorNode;
33
- loadDocument(mediaType: string, content: Uint8Array): Promise<void>;
34
- saveDocument(mediaType: string): Promise<Uint8Array>;
35
- getJSON(): JSONContent;
36
- clone(options?: Partial<EditorConfig>): CoreEditor;
37
- debug(doc?: ProseMirrorNode): void;
38
- destroy(): void;
39
- }
40
- //# sourceMappingURL=CoreEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/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;IA8CX,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,252 +0,0 @@
1
- import { EditorView } from 'prosemirror-view';
2
- import { Node as ProseMirrorNode } from 'prosemirror-model';
3
- import { ExtensionManager } from './ExtensionManager.js';
4
- import { EditorState } from 'prosemirror-state';
5
- import { CommandManager } from './commands/CommandManager.js';
6
- import { nodeToTreeString } from './nodeToTreeString.js';
7
- import { DummyEditorView } from './DummyEditorView.js';
8
- import { createNodeFromObject } from './utilities/createNodeFromContent.js';
9
- import { defaultUi } from './ui.js';
10
- function ensureDocSchema(doc, schema) {
11
- if (doc.type.schema === schema) {
12
- return doc;
13
- }
14
- const json = doc.toJSON();
15
- return ProseMirrorNode.fromJSON(schema, json);
16
- }
17
- export class CoreEditor extends EventTarget {
18
- constructor(config = {}) {
19
- super();
20
- Object.defineProperty(this, "config", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: {
25
- element: undefined,
26
- extensions: [],
27
- }
28
- });
29
- Object.defineProperty(this, "extensionManager", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: void 0
34
- });
35
- Object.defineProperty(this, "commandManager", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: void 0
40
- });
41
- Object.defineProperty(this, "view", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: void 0
46
- });
47
- Object.defineProperty(this, "state", {
48
- enumerable: true,
49
- configurable: true,
50
- writable: true,
51
- value: void 0
52
- });
53
- Object.defineProperty(this, "ui", {
54
- enumerable: true,
55
- configurable: true,
56
- writable: true,
57
- value: defaultUi(this)
58
- });
59
- this.config = {
60
- ...this.config,
61
- ...config,
62
- };
63
- this.commandManager = new CommandManager(this);
64
- this.extensionManager = new ExtensionManager(this.config.extensions || [], this, this.commandManager);
65
- this.extensionManager.created();
66
- // const content = this.options.content ? this.options.content : {
67
- // type: this.extensionManager.schema.topNodeType.name,
68
- // content: this.extensionManager.schema.topNodeType.spec.EMPTY_DOC,
69
- // };
70
- const content = this.config.content
71
- ? this.config.content
72
- : this.extensionManager.schema.topNodeType.spec.EMPTY_DOC;
73
- this.createView(content);
74
- this.setupPlugins();
75
- }
76
- getExtension(name) {
77
- return this.extensionManager.getExtension(name);
78
- }
79
- get schema() {
80
- return this.extensionManager.schema;
81
- }
82
- get run() {
83
- return this.commandManager.run;
84
- }
85
- get commandFactories() {
86
- return this.commandManager.commandFactories;
87
- }
88
- chain() {
89
- return this.commandManager.createChain();
90
- }
91
- can() {
92
- return this.commandManager.createCan();
93
- }
94
- createView(content) {
95
- const doc = createNodeFromObject(content, this.schema);
96
- this.state = EditorState.create({ doc });
97
- if (this.config.element) {
98
- const view = new EditorView(this.config.element, {
99
- state: this.state,
100
- attributes: {
101
- class: 'kb-editor',
102
- },
103
- dispatchTransaction: (tx) => this.dispatchTransaction(tx),
104
- });
105
- this.view = view;
106
- const parent = this.config.element.parentNode;
107
- if (parent) {
108
- const observer = new MutationObserver((mutations) => {
109
- for (const mutation of mutations) {
110
- for (const removedNode of mutation.removedNodes) {
111
- if (removedNode.contains(view.dom)) {
112
- // Editor DOM was removed
113
- observer.disconnect(); // Prevent multiple calls
114
- view.destroy();
115
- return;
116
- }
117
- }
118
- }
119
- });
120
- }
121
- }
122
- else {
123
- this.view = new DummyEditorView({
124
- state: this.state,
125
- dispatchTransaction: (tx) => this.dispatchTransaction(tx),
126
- });
127
- }
128
- const event = new CustomEvent('doc:loaded', {
129
- detail: {
130
- editor: this,
131
- doc,
132
- },
133
- });
134
- this.dispatchEvent(event);
135
- }
136
- dispatchTransaction(transaction) {
137
- this.state = this.state.apply(transaction);
138
- if (this.view) {
139
- this.view.updateState(this.state);
140
- const event = new CustomEvent('transaction', {
141
- detail: {
142
- editor: this,
143
- transaction,
144
- },
145
- });
146
- this.dispatchEvent(event);
147
- }
148
- if (transaction.docChanged) {
149
- const event = new CustomEvent('changed', {
150
- detail: {
151
- editor: this,
152
- },
153
- });
154
- this.dispatchEvent(event);
155
- }
156
- }
157
- setupPlugins() {
158
- this.state = this.state.reconfigure({
159
- plugins: this.extensionManager.plugins,
160
- });
161
- if (this.view) {
162
- this.view.updateState(this.state);
163
- this.view.setProps({
164
- nodeViews: this.extensionManager.nodeViews,
165
- });
166
- }
167
- }
168
- clearDocument() {
169
- const content = {
170
- type: this.extensionManager.schema.topNodeType.name,
171
- content: this.extensionManager.schema.topNodeType.spec.EMPTY_DOC.content,
172
- };
173
- this.setDocument(content);
174
- }
175
- setDocument(content) {
176
- let doc = createNodeFromObject(content, this.schema, {
177
- errorOnInvalidContent: true,
178
- });
179
- doc = ensureDocSchema(doc, this.schema);
180
- this.state = EditorState.create({
181
- doc,
182
- plugins: this.state.plugins,
183
- storedMarks: this.state.storedMarks,
184
- });
185
- if (this.view) {
186
- this.view.updateState(this.state);
187
- }
188
- const event = new CustomEvent('doc:loaded', {
189
- detail: {
190
- editor: this,
191
- doc,
192
- },
193
- });
194
- this.dispatchEvent(event);
195
- }
196
- getDocument() {
197
- return this.state.doc;
198
- }
199
- async loadDocument(mediaType, content) {
200
- const converter = this.extensionManager.converters[mediaType];
201
- if (!converter) {
202
- throw new Error('Converter not found for: ' + mediaType);
203
- }
204
- const doc = await converter.toDoc(content);
205
- this.state = EditorState.create({
206
- doc,
207
- plugins: this.state.plugins,
208
- storedMarks: this.state.storedMarks,
209
- });
210
- if (this.view) {
211
- this.view.updateState(this.state);
212
- }
213
- const event = new CustomEvent('doc:loaded', {
214
- detail: {
215
- editor: this,
216
- doc,
217
- },
218
- });
219
- this.dispatchEvent(event);
220
- }
221
- async saveDocument(mediaType) {
222
- const converter = this.extensionManager.converters[mediaType];
223
- if (!converter) {
224
- throw new Error('Converter not found for: ' + mediaType);
225
- }
226
- const json = this.state.doc.toJSON();
227
- const clonedDoc = ProseMirrorNode.fromJSON(this.state.schema, json);
228
- return await converter.fromDoc(clonedDoc);
229
- }
230
- getJSON() {
231
- return this.state.doc.toJSON();
232
- }
233
- clone(options = {}) {
234
- return new CoreEditor({
235
- ...options,
236
- extensions: [...(this.config.extensions || [])],
237
- });
238
- }
239
- debug(doc) {
240
- if (!doc) {
241
- doc = this.state.doc;
242
- }
243
- console.debug(nodeToTreeString(doc));
244
- }
245
- destroy() {
246
- const event = new CustomEvent('beforeDestroy', {
247
- detail: {},
248
- });
249
- this.dispatchEvent(event);
250
- this.view.destroy();
251
- }
252
- }
@@ -1,60 +0,0 @@
1
- import { EditorState, Plugin, Transaction } from 'prosemirror-state';
2
- import { Mark, Node } from 'prosemirror-model';
3
- import { EditorView, MarkView, NodeView } from 'prosemirror-view';
4
- import { Decoration, DecorationSource } from 'prosemirror-view';
5
- export declare class DummyEditorView {
6
- private _props;
7
- private directPlugins;
8
- private nodeViews;
9
- private prevDirectPlugins;
10
- private pluginViews;
11
- state: EditorState;
12
- constructor(props: DirectEditorProps);
13
- editable: boolean;
14
- get composing(): boolean;
15
- get dom(): {
16
- addEventListener(): void;
17
- removeEventListener(): void;
18
- };
19
- get props(): DirectEditorProps;
20
- update(props: DirectEditorProps): void;
21
- setProps(props: Partial<DirectEditorProps>): void;
22
- updateState(state: EditorState): void;
23
- private updateStateInner;
24
- scrollToSelection(): void;
25
- private destroyPluginViews;
26
- private updatePluginViews;
27
- someProp<PropName extends keyof EditorProps, Result>(propName: PropName, f: (value: NonNullable<EditorProps[PropName]>) => Result): Result | undefined;
28
- someProp<PropName extends keyof EditorProps>(propName: PropName): NonNullable<EditorProps[PropName]> | undefined;
29
- hasFocus(): boolean;
30
- focus(): void;
31
- destroy(): void;
32
- get isDestroyed(): boolean;
33
- dispatchEvent(event: Event): void;
34
- dispatch: (tr: Transaction) => void;
35
- }
36
- export type NodeViewConstructor = (node: Node, view: EditorView, getPos: () => number | undefined, decorations: readonly Decoration[], innerDecorations: DecorationSource) => NodeView;
37
- export type MarkViewConstructor = (mark: Mark, view: EditorView, inline: boolean) => MarkView;
38
- export interface DOMEventMap extends HTMLElementEventMap {
39
- [event: string]: any;
40
- }
41
- export interface EditorProps<P = any> {
42
- nodeViews?: {
43
- [node: string]: NodeViewConstructor;
44
- };
45
- markViews?: {
46
- [mark: string]: MarkViewConstructor;
47
- };
48
- editable?: (this: P, state: EditorState) => boolean;
49
- attributes?: {
50
- [name: string]: string;
51
- } | ((state: EditorState) => {
52
- [name: string]: string;
53
- });
54
- }
55
- export interface DirectEditorProps extends EditorProps {
56
- state: EditorState;
57
- plugins?: readonly Plugin[];
58
- dispatchTransaction?: (tr: Transaction) => void;
59
- }
60
- //# sourceMappingURL=DummyEditorView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DummyEditorView.d.ts","sourceRoot":"","sources":["../../../src/editor/src/DummyEditorView.ts"],"names":[],"mappings":"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"}