@tiptap/core 2.8.0 → 2.9.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.
- package/dist/Editor.d.ts +2 -2
- package/dist/Editor.d.ts.map +1 -1
- package/dist/NodePos.d.ts.map +1 -1
- package/dist/commands/insertContentAt.d.ts.map +1 -1
- package/dist/helpers/getMarkRange.d.ts.map +1 -1
- package/dist/index.cjs +42 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +42 -14
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +42 -14
- package/dist/index.umd.js.map +1 -1
- package/dist/types.d.ts +47 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Editor.ts +29 -6
- package/src/NodePos.ts +9 -4
- package/src/commands/insertContentAt.ts +4 -2
- package/src/helpers/getMarkRange.ts +6 -3
- package/src/types.ts +48 -2
package/dist/Editor.d.ts
CHANGED
|
@@ -72,10 +72,10 @@ export declare class Editor extends EventEmitter<EditorEvents> {
|
|
|
72
72
|
/**
|
|
73
73
|
* Unregister a ProseMirror plugin.
|
|
74
74
|
*
|
|
75
|
-
* @param
|
|
75
|
+
* @param nameOrPluginKeyToRemove The plugins name
|
|
76
76
|
* @returns The new editor state or undefined if the editor is destroyed
|
|
77
77
|
*/
|
|
78
|
-
unregisterPlugin(
|
|
78
|
+
unregisterPlugin(nameOrPluginKeyToRemove: string | PluginKey | (string | PluginKey)[]): EditorState | undefined;
|
|
79
79
|
/**
|
|
80
80
|
* Creates an extension manager.
|
|
81
81
|
*/
|
package/dist/Editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../src/Editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EACR,MAAM,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAC5C,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAaxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AAGnD,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,MAAO,SAAQ,YAAY,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEhC,gBAAgB,EAAG,gBAAgB,CAAA;IAE1C,OAAO,CAAC,GAAG,CAAmB;IAEvB,MAAM,EAAG,MAAM,CAAA;IAEf,IAAI,EAAG,UAAU,CAAA;IAEjB,SAAS,UAAQ;IAExB;;OAEG;IACI,aAAa,UAAQ;IAErB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IAE1C,OAAO,EAAE,aAAa,CA0B5B;gBAEW,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;IAgChD;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED;;OAEG;IACI,KAAK,IAAI,eAAe;IAI/B;;OAEG;IACI,GAAG,IAAI,WAAW;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;OAIG;IACI,UAAU,CAAC,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,IAAI;IAiB7D;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,UAAO,GAAG,IAAI;IAQ9D;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAK/B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;;;;OAMG;IACI,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GACjE,WAAW;IAYd;;;;;OAKG;IACI,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../src/Editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EACR,MAAM,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAC5C,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAaxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AAGnD,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,MAAO,SAAQ,YAAY,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEhC,gBAAgB,EAAG,gBAAgB,CAAA;IAE1C,OAAO,CAAC,GAAG,CAAmB;IAEvB,MAAM,EAAG,MAAM,CAAA;IAEf,IAAI,EAAG,UAAU,CAAA;IAEjB,SAAS,UAAQ;IAExB;;OAEG;IACI,aAAa,UAAQ;IAErB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IAE1C,OAAO,EAAE,aAAa,CA0B5B;gBAEW,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;IAgChD;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED;;OAEG;IACI,KAAK,IAAI,eAAe;IAI/B;;OAEG;IACI,GAAG,IAAI,WAAW;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;OAIG;IACI,UAAU,CAAC,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,IAAI;IAiB7D;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,UAAO,GAAG,IAAI;IAQ9D;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAK/B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;;;;OAMG;IACI,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GACjE,WAAW;IAYd;;;;;OAKG;IACI,gBAAgB,CAAC,uBAAuB,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,WAAW,GAAG,SAAS;IA8BtH;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,UAAU;IA4ElB;;OAEG;IACI,eAAe,IAAI,IAAI;IAU9B;;OAEG;IACI,YAAY,IAAI,IAAI;IAIpB,sBAAsB,UAAQ;IAErC,OAAO,CAAC,mBAAmB,CAA2B;IAE/C,kBAAkB,CAAC,EAAE,EAAE,QAAQ;IAYtC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;OAEG;IACI,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInF;;;;;OAKG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,OAAO;IAChD,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO;IASxC;;OAEG;IACI,OAAO,IAAI,WAAW;IAI7B;;OAEG;IACI,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,OAAO,CAAC,OAAO,CAAC,EAAE;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;KACjD,GAAG,MAAM;IAYV;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;OAIG;IACI,iBAAiB,IAAI,MAAM;IAQlC;;OAEG;IACI,OAAO,IAAI,IAAI;IAiBtB;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAGhC;IAEM,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,GAAG,IAAI;IAI5E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,EAAE,GAAG,IAAI;IAI/E,IAAI,CAAC,GAAG,EAAE,MAAM;IAMvB,IAAI,IAAI,YAEP;CACF"}
|
package/dist/NodePos.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePos.d.ts","sourceRoot":"","sources":["../src/NodePos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,IAAI,EAAE,WAAW,EAC5B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,OAAO;IAClB,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,KAAK,IAAI,GAEf;gBAEW,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOvF,OAAO,CAAC,WAAW,CAAoB;IAEvC,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,OAAO,IAAI,WAAW,CAEzB;IAEM,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IAExC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAe3B;IAED,IAAI,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAEvC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAS3B;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAQ3B;IAED,IAAI,KAAK,IAAI,OAAO,GAAG,IAAI,CAQ1B;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"NodePos.d.ts","sourceRoot":"","sources":["../src/NodePos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,IAAI,EAAE,WAAW,EAC5B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,OAAO;IAClB,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,KAAK,IAAI,GAEf;gBAEW,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOvF,OAAO,CAAC,WAAW,CAAoB;IAEvC,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,OAAO,IAAI,WAAW,CAEzB;IAEM,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IAExC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAe3B;IAED,IAAI,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAEvC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAS3B;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAQ3B;IAED,IAAI,KAAK,IAAI,OAAO,GAAG,IAAI,CAQ1B;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CAwBxB;IAED,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,CAE/B;IAED,IAAI,SAAS,IAAI,OAAO,GAAG,IAAI,CAI9B;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IA4BlF,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IAIxF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,EAAE,aAAa,UAAQ,GAAG,OAAO,EAAE;IAqC7G,YAAY,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAUhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertContentAt.d.ts","sourceRoot":"","sources":["../../src/commands/insertContentAt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAIlF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,eAAe,EAAE;YACf;;;eAGG;YACH,eAAe,EAAE;YACf;;eAEG;YACH,QAAQ,EAAE,MAAM,GAAG,KAAK;YAExB;;eAEG;YACH,KAAK,EAAE,OAAO;YAEd;;eAEG;YACH,OAAO,CAAC,EAAE;gBACR;;mBAEG;gBACH,YAAY,CAAC,EAAE,YAAY,CAAA;gBAE3B;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;aAChC,KACE,UAAU,CAAA;SAChB,CAAA;KACF;CACF;AAMD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"insertContentAt.d.ts","sourceRoot":"","sources":["../../src/commands/insertContentAt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAIlF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,eAAe,EAAE;YACf;;;eAGG;YACH,eAAe,EAAE;YACf;;eAEG;YACH,QAAQ,EAAE,MAAM,GAAG,KAAK;YAExB;;eAEG;YACH,KAAK,EAAE,OAAO;YAEd;;eAEG;YACH,OAAO,CAAC,EAAE;gBACR;;mBAEG;gBACH,YAAY,CAAC,EAAE,YAAY,CAAA;gBAE3B;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,eAAe,CAAC,EAAE,OAAO,CAAA;gBAEzB;;mBAEG;gBACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;aAChC,KACE,UAAU,CAAA;SAChB,CAAA;KACF;CACF;AAMD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAoG1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarkRange.d.ts","sourceRoot":"","sources":["../../src/helpers/getMarkRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEjF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAqBnC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EACd,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,KAAK,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"getMarkRange.d.ts","sourceRoot":"","sources":["../../src/helpers/getMarkRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEjF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAqBnC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EACd,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,KAAK,GAAG,IAAI,CAgDd"}
|
package/dist/index.cjs
CHANGED
|
@@ -1670,12 +1670,16 @@ function getMarkRange($pos, type, attributes = {}) {
|
|
|
1670
1670
|
return;
|
|
1671
1671
|
}
|
|
1672
1672
|
let start = $pos.parent.childAfter($pos.parentOffset);
|
|
1673
|
-
|
|
1673
|
+
// If the cursor is at the start of a text node that does not have the mark, look backward
|
|
1674
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1674
1675
|
start = $pos.parent.childBefore($pos.parentOffset);
|
|
1675
1676
|
}
|
|
1676
|
-
|
|
1677
|
+
// If there is no text node with the mark even backward, return undefined
|
|
1678
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1677
1679
|
return;
|
|
1678
1680
|
}
|
|
1681
|
+
// We now know that the cursor is either at the start, middle or end of a text node with the specified mark
|
|
1682
|
+
// so we can look it up on the targeted mark
|
|
1679
1683
|
const mark = findMarkInSet([...start.node.marks], type, attributes);
|
|
1680
1684
|
if (!mark) {
|
|
1681
1685
|
return;
|
|
@@ -1965,7 +1969,7 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
|
|
|
1965
1969
|
var _a;
|
|
1966
1970
|
if (dispatch) {
|
|
1967
1971
|
options = {
|
|
1968
|
-
parseOptions:
|
|
1972
|
+
parseOptions: editor.options.parseOptions,
|
|
1969
1973
|
updateSelection: true,
|
|
1970
1974
|
applyInputRules: false,
|
|
1971
1975
|
applyPasteRules: false,
|
|
@@ -1986,7 +1990,9 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
|
|
|
1986
1990
|
editor,
|
|
1987
1991
|
error: e,
|
|
1988
1992
|
disableCollaboration: () => {
|
|
1989
|
-
|
|
1993
|
+
if (editor.storage.collaboration) {
|
|
1994
|
+
editor.storage.collaboration.isDisabled = true;
|
|
1995
|
+
}
|
|
1990
1996
|
},
|
|
1991
1997
|
});
|
|
1992
1998
|
return false;
|
|
@@ -3965,7 +3971,8 @@ class NodePos {
|
|
|
3965
3971
|
const children = [];
|
|
3966
3972
|
this.node.content.forEach((node, offset) => {
|
|
3967
3973
|
const isBlock = node.isBlock && !node.isTextblock;
|
|
3968
|
-
const
|
|
3974
|
+
const isNonTextAtom = node.isAtom && !node.isText;
|
|
3975
|
+
const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
|
|
3969
3976
|
const $pos = this.resolvedPos.doc.resolve(targetPos);
|
|
3970
3977
|
if (!isBlock && $pos.depth <= this.depth) {
|
|
3971
3978
|
return;
|
|
@@ -4041,9 +4048,12 @@ class NodePos {
|
|
|
4041
4048
|
return nodes;
|
|
4042
4049
|
}
|
|
4043
4050
|
setAttribute(attributes) {
|
|
4044
|
-
const
|
|
4045
|
-
|
|
4046
|
-
.
|
|
4051
|
+
const { tr } = this.editor.state;
|
|
4052
|
+
tr.setNodeMarkup(this.from, undefined, {
|
|
4053
|
+
...this.node.attrs,
|
|
4054
|
+
...attributes,
|
|
4055
|
+
});
|
|
4056
|
+
this.editor.view.dispatch(tr);
|
|
4047
4057
|
}
|
|
4048
4058
|
}
|
|
4049
4059
|
|
|
@@ -4295,18 +4305,27 @@ class Editor extends EventEmitter {
|
|
|
4295
4305
|
/**
|
|
4296
4306
|
* Unregister a ProseMirror plugin.
|
|
4297
4307
|
*
|
|
4298
|
-
* @param
|
|
4308
|
+
* @param nameOrPluginKeyToRemove The plugins name
|
|
4299
4309
|
* @returns The new editor state or undefined if the editor is destroyed
|
|
4300
4310
|
*/
|
|
4301
|
-
unregisterPlugin(
|
|
4311
|
+
unregisterPlugin(nameOrPluginKeyToRemove) {
|
|
4302
4312
|
if (this.isDestroyed) {
|
|
4303
4313
|
return undefined;
|
|
4304
4314
|
}
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4315
|
+
const prevPlugins = this.state.plugins;
|
|
4316
|
+
let plugins = prevPlugins;
|
|
4317
|
+
[].concat(nameOrPluginKeyToRemove).forEach(nameOrPluginKey => {
|
|
4318
|
+
// @ts-ignore
|
|
4319
|
+
const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
|
|
4308
4320
|
// @ts-ignore
|
|
4309
|
-
plugins
|
|
4321
|
+
plugins = prevPlugins.filter(plugin => !plugin.key.startsWith(name));
|
|
4322
|
+
});
|
|
4323
|
+
if (prevPlugins.length === plugins.length) {
|
|
4324
|
+
// No plugin was removed, so we don’t need to update the state
|
|
4325
|
+
return undefined;
|
|
4326
|
+
}
|
|
4327
|
+
const state = this.state.reconfigure({
|
|
4328
|
+
plugins,
|
|
4310
4329
|
});
|
|
4311
4330
|
this.view.updateState(state);
|
|
4312
4331
|
return state;
|
|
@@ -4369,6 +4388,9 @@ class Editor extends EventEmitter {
|
|
|
4369
4388
|
editor: this,
|
|
4370
4389
|
error: e,
|
|
4371
4390
|
disableCollaboration: () => {
|
|
4391
|
+
if (this.storage.collaboration) {
|
|
4392
|
+
this.storage.collaboration.isDisabled = true;
|
|
4393
|
+
}
|
|
4372
4394
|
// To avoid syncing back invalid content, reinitialize the extensions without the collaboration extension
|
|
4373
4395
|
this.options.extensions = this.options.extensions.filter(extension => extension.name !== 'collaboration');
|
|
4374
4396
|
// Restart the initialization process by recreating the extension manager with the new set of extensions
|
|
@@ -4387,6 +4409,12 @@ class Editor extends EventEmitter {
|
|
|
4387
4409
|
selection: selection || undefined,
|
|
4388
4410
|
}),
|
|
4389
4411
|
});
|
|
4412
|
+
// add `role="textbox"` to the editor element
|
|
4413
|
+
this.view.dom.setAttribute('role', 'textbox');
|
|
4414
|
+
// add aria-label to the editor element
|
|
4415
|
+
if (!this.view.dom.getAttribute('aria-label')) {
|
|
4416
|
+
this.view.dom.setAttribute('aria-label', 'Rich-Text Editor');
|
|
4417
|
+
}
|
|
4390
4418
|
// `editor.view` is not yet available at this time.
|
|
4391
4419
|
// Therefore we will add all plugins and node views directly afterwards.
|
|
4392
4420
|
const newState = this.state.reconfigure({
|