@domternal/core 0.11.2 → 0.12.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.
- package/dist/index.cjs +41 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -217,6 +217,14 @@ function inputRulesPlugin({ rules }) {
|
|
|
217
217
|
return plugin;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
+
// src/ExtensionConfigurationError.ts
|
|
221
|
+
var ExtensionConfigurationError = class extends Error {
|
|
222
|
+
constructor(message) {
|
|
223
|
+
super(message);
|
|
224
|
+
this.name = "ExtensionConfigurationError";
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
220
228
|
// src/helpers/callOrReturn.ts
|
|
221
229
|
function callOrReturn(value, context, ...args) {
|
|
222
230
|
if (typeof value === "function") {
|
|
@@ -845,6 +853,9 @@ var ExtensionManager = class {
|
|
|
845
853
|
}
|
|
846
854
|
return result;
|
|
847
855
|
} catch (error) {
|
|
856
|
+
if (error instanceof ExtensionConfigurationError) {
|
|
857
|
+
throw error;
|
|
858
|
+
}
|
|
848
859
|
const errorObj = error instanceof Error ? error : new Error(String(error));
|
|
849
860
|
this.editor.emit?.("error", { error: errorObj, context });
|
|
850
861
|
return void 0;
|
|
@@ -3460,7 +3471,7 @@ function normalizeColor(color) {
|
|
|
3460
3471
|
}
|
|
3461
3472
|
|
|
3462
3473
|
// src/Editor.ts
|
|
3463
|
-
var Editor = class extends EventEmitter {
|
|
3474
|
+
var Editor = class _Editor extends EventEmitter {
|
|
3464
3475
|
/**
|
|
3465
3476
|
* Editor configuration options
|
|
3466
3477
|
*/
|
|
@@ -3493,6 +3504,10 @@ var Editor = class extends EventEmitter {
|
|
|
3493
3504
|
* Timer for autofocus (cleared on destroy to prevent memory leaks)
|
|
3494
3505
|
*/
|
|
3495
3506
|
_autofocusTimer = null;
|
|
3507
|
+
/**
|
|
3508
|
+
* True while EditorView's constructor runs; see buildViewDispatch.
|
|
3509
|
+
*/
|
|
3510
|
+
_isViewConstructing = false;
|
|
3496
3511
|
/**
|
|
3497
3512
|
* Creates a new Editor instance
|
|
3498
3513
|
*
|
|
@@ -3912,6 +3927,9 @@ var Editor = class extends EventEmitter {
|
|
|
3912
3927
|
* Creates the editor instance
|
|
3913
3928
|
*/
|
|
3914
3929
|
createEditor() {
|
|
3930
|
+
this.on("error", (props) => {
|
|
3931
|
+
this.options.onError?.(props);
|
|
3932
|
+
});
|
|
3915
3933
|
this.emit("beforeCreate", { editor: this });
|
|
3916
3934
|
this.options.onBeforeCreate?.({ editor: this });
|
|
3917
3935
|
this._extensionManager = new ExtensionManager(
|
|
@@ -3951,9 +3969,10 @@ var Editor = class extends EventEmitter {
|
|
|
3951
3969
|
});
|
|
3952
3970
|
const element = this.options.element ?? document.createElement("div");
|
|
3953
3971
|
const nodeViews = this._extensionManager.nodeViews;
|
|
3972
|
+
this._isViewConstructing = true;
|
|
3954
3973
|
this.view = new view.EditorView(element, {
|
|
3955
3974
|
state: state$1,
|
|
3956
|
-
dispatchTransaction:
|
|
3975
|
+
dispatchTransaction: _Editor.buildViewDispatch(this),
|
|
3957
3976
|
editable: () => this.options.editable ?? true,
|
|
3958
3977
|
attributes: () => ({
|
|
3959
3978
|
role: "textbox",
|
|
@@ -3980,6 +3999,7 @@ var Editor = class extends EventEmitter {
|
|
|
3980
3999
|
}
|
|
3981
4000
|
}
|
|
3982
4001
|
});
|
|
4002
|
+
this._isViewConstructing = false;
|
|
3983
4003
|
this.emit("mount", { editor: this, view: this.view });
|
|
3984
4004
|
this.options.onMount?.({ editor: this, view: this.view });
|
|
3985
4005
|
this.commandManager = new CommandManager(this);
|
|
@@ -3991,13 +4011,28 @@ var Editor = class extends EventEmitter {
|
|
|
3991
4011
|
}
|
|
3992
4012
|
}, 0);
|
|
3993
4013
|
}
|
|
3994
|
-
this.on("error", (props) => {
|
|
3995
|
-
this.options.onError?.(props);
|
|
3996
|
-
});
|
|
3997
4014
|
this.emit("create", { editor: this });
|
|
3998
4015
|
this.options.onCreate?.({ editor: this });
|
|
3999
4016
|
this._extensionManager.callOnCreate();
|
|
4000
4017
|
}
|
|
4018
|
+
/**
|
|
4019
|
+
* Builds the dispatchTransaction prop. Plugin views can dispatch synchronously
|
|
4020
|
+
* inside EditorView's constructor, before `editor.view` is assigned; ProseMirror
|
|
4021
|
+
* binds the prop to the view, so the instance is captured early (plugin code
|
|
4022
|
+
* such as appendTransaction may read `editor.view` during the apply) and the
|
|
4023
|
+
* transaction is applied directly, like the default dispatch, skipping events:
|
|
4024
|
+
* it is initial state, not an update.
|
|
4025
|
+
*/
|
|
4026
|
+
static buildViewDispatch(editor) {
|
|
4027
|
+
return function(transaction) {
|
|
4028
|
+
if (editor._isViewConstructing) {
|
|
4029
|
+
editor.view ??= this;
|
|
4030
|
+
this.updateState(this.state.apply(transaction));
|
|
4031
|
+
return;
|
|
4032
|
+
}
|
|
4033
|
+
editor.dispatchTransaction(transaction);
|
|
4034
|
+
};
|
|
4035
|
+
}
|
|
4001
4036
|
/**
|
|
4002
4037
|
* Handles ProseMirror transactions
|
|
4003
4038
|
*/
|
|
@@ -10539,6 +10574,7 @@ exports.Dropcursor = Dropcursor;
|
|
|
10539
10574
|
exports.Editor = Editor;
|
|
10540
10575
|
exports.EventEmitter = EventEmitter;
|
|
10541
10576
|
exports.Extension = Extension;
|
|
10577
|
+
exports.ExtensionConfigurationError = ExtensionConfigurationError;
|
|
10542
10578
|
exports.ExtensionManager = ExtensionManager;
|
|
10543
10579
|
exports.FLOATING_MENU_META = FLOATING_MENU_META;
|
|
10544
10580
|
exports.FLOATING_MENU_NO_FOCUS = FLOATING_MENU_NO_FOCUS;
|