@harbour-enterprises/superdoc 0.8.11 → 0.8.12
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/chunks/{super-editor.es-DIeHC3Si.js → super-editor.es-D8IC7SPE.js} +239 -211
- package/dist/chunks/{super-editor.es-DIeHC3Si.js.map → super-editor.es-D8IC7SPE.js.map} +1 -1
- package/dist/super-editor/chunks/{converter-CVSaF15S.js → converter-vMwuPcFT.js} +3 -3
- package/dist/super-editor/chunks/{converter-CVSaF15S.js.map → converter-vMwuPcFT.js.map} +1 -1
- package/dist/super-editor/chunks/{docx-zipper-BHwY_rz6.js → docx-zipper-CNguQWs9.js} +2 -2
- package/dist/super-editor/chunks/{docx-zipper-BHwY_rz6.js.map → docx-zipper-CNguQWs9.js.map} +1 -1
- package/dist/super-editor/chunks/{editor-H6Apbtdi.js → editor-aREw3zbp.js} +239 -211
- package/dist/super-editor/chunks/editor-aREw3zbp.js.map +1 -0
- package/dist/super-editor/chunks/{toolbar-D9ELD8Tt.js → toolbar-BQJNZhd8.js} +3 -3
- package/dist/super-editor/chunks/{toolbar-D9ELD8Tt.js.map → toolbar-BQJNZhd8.js.map} +1 -1
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/docx-zipper.es.js +2 -2
- package/dist/super-editor/editor.es.js +3 -3
- package/dist/super-editor/extensions/comment/comments-plugin.d.ts.map +1 -1
- package/dist/super-editor/extensions/track-changes/trackChangesHelpers/addMarkStep.d.ts.map +1 -1
- package/dist/super-editor/extensions/track-changes/trackChangesHelpers/removeMarkStep.d.ts.map +1 -1
- package/dist/super-editor/extensions/track-changes/trackChangesHelpers/replaceStep.d.ts.map +1 -1
- package/dist/super-editor/file-zipper.es.js +1 -1
- package/dist/super-editor/super-editor.es.js +6 -6
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.es.js +3 -3
- package/dist/superdoc.umd.js +239 -211
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/super-editor/chunks/editor-H6Apbtdi.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E } from "./chunks/editor-
|
|
2
|
-
import "./chunks/converter-
|
|
3
|
-
import "./chunks/docx-zipper-
|
|
1
|
+
import { E } from "./chunks/editor-aREw3zbp.js";
|
|
2
|
+
import "./chunks/converter-vMwuPcFT.js";
|
|
3
|
+
import "./chunks/docx-zipper-CNguQWs9.js";
|
|
4
4
|
export {
|
|
5
5
|
E as Editor
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments-plugin.d.ts","sourceRoot":"","sources":["../../../src/extensions/comment/comments-plugin.js"],"names":[],"mappings":"AAoBA,+CAA0D;AAE1D,
|
|
1
|
+
{"version":3,"file":"comments-plugin.d.ts","sourceRoot":"","sources":["../../../src/extensions/comment/comments-plugin.js"],"names":[],"mappings":"AAoBA,+CAA0D;AAE1D,iCA0RG;0BAhT+B,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addMarkStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/addMarkStep.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addMarkStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/addMarkStep.js"],"names":[],"mappings":"AAoBO,8EATI,WAAW,QA+FrB;4BA1GwC,mBAAmB"}
|
package/dist/super-editor/extensions/track-changes/trackChangesHelpers/removeMarkStep.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeMarkStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/removeMarkStep.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeMarkStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/removeMarkStep.js"],"names":[],"mappings":"AAmBO,iFATI,WAAW,QAmFrB;4BA7FwC,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/replaceStep.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceStep.d.ts","sourceRoot":"","sources":["../../../../src/extensions/track-changes/trackChangesHelpers/replaceStep.js"],"names":[],"mappings":"AAuBO,+GAXI,WAAW,QAgFrB;4BA3FwC,mBAAmB"}
|
|
@@ -9,13 +9,13 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
9
9
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
10
10
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
11
11
|
var _interceptedCommands, _SuperToolbar_instances, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
|
|
12
|
-
import { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions, j as Extension, A as Attribute, N as Node } from "./chunks/editor-
|
|
13
|
-
import { C, T, l, n, k, m } from "./chunks/editor-
|
|
14
|
-
import { Q as getDefaultExportFromCjs, v as v4, T as TextSelection, V as vClickOutside, a as Plugin } from "./chunks/converter-
|
|
15
|
-
import { E } from "./chunks/converter-
|
|
12
|
+
import { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions, j as Extension, A as Attribute, N as Node } from "./chunks/editor-aREw3zbp.js";
|
|
13
|
+
import { C, T, l, n, k, m } from "./chunks/editor-aREw3zbp.js";
|
|
14
|
+
import { Q as getDefaultExportFromCjs, v as v4, T as TextSelection, V as vClickOutside, a as Plugin } from "./chunks/converter-vMwuPcFT.js";
|
|
15
|
+
import { E } from "./chunks/converter-vMwuPcFT.js";
|
|
16
16
|
import { ref, createElementBlock, openBlock, createElementVNode, unref, getCurrentInstance, computed, watch, onMounted, createCommentVNode, withDirectives, withKeys, normalizeClass, withModifiers, vModelText, createTextVNode, toDisplayString, Fragment, renderList, normalizeStyle, createVNode, h, createApp, reactive, onUnmounted, shallowRef, onBeforeUnmount, createBlock } from "vue";
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-
|
|
18
|
-
import { D } from "./chunks/docx-zipper-
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-BQJNZhd8.js";
|
|
18
|
+
import { D } from "./chunks/docx-zipper-CNguQWs9.js";
|
|
19
19
|
import { createZip } from "./file-zipper.es.js";
|
|
20
20
|
var eventemitter3 = { exports: {} };
|
|
21
21
|
(function(module) {
|
package/dist/super-editor.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _, C, D, E, a, S, b, c, d, T, e, f, i, g, h, j, k, l, m, n } from "./chunks/super-editor.es-
|
|
1
|
+
import { _, C, D, E, a, S, b, c, d, T, e, f, i, g, h, j, k, l, m, n } from "./chunks/super-editor.es-D8IC7SPE.js";
|
|
2
2
|
import "./chunks/vue-BjMDYCe1.js";
|
|
3
3
|
export {
|
|
4
4
|
_ as BasicUpload,
|
package/dist/superdoc.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as index$1, C as CommentsPluginKey, e as TrackChangesBasePluginKey, E as Editor, k as getRichTextExtensions, c as SuperInput, b as SuperEditor, d as SuperToolbar, f as createZip } from "./chunks/super-editor.es-
|
|
2
|
-
import { S, i, m } from "./chunks/super-editor.es-
|
|
1
|
+
import { n as index$1, C as CommentsPluginKey, e as TrackChangesBasePluginKey, E as Editor, k as getRichTextExtensions, c as SuperInput, b as SuperEditor, d as SuperToolbar, f as createZip } from "./chunks/super-editor.es-D8IC7SPE.js";
|
|
2
|
+
import { S, i, m } from "./chunks/super-editor.es-D8IC7SPE.js";
|
|
3
3
|
import { Y as effectScope, r as ref, Z as markRaw, p as process$1, _ as toRaw, a as computed, $ as isRef, a0 as isReactive, C as toRef, i as inject, q as getCurrentInstance, l as watch, x as unref, a1 as hasInjectionContext, L as reactive, R as nextTick, a2 as getCurrentScope, a3 as onScopeDispose, a4 as toRefs, g as global$1, N as shallowRef, M as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, U as onActivated, s as onDeactivated, z as createTextVNode, F as Fragment, Q as Comment, m as defineComponent, D as provide, G as withDirectives, B as h, V as Teleport, S as renderSlot, W as isVNode, K as watchEffect, O as Transition, E as mergeProps, P as vShow, J as cloneVNode, T as Text, b as createElementBlock, o as openBlock, t as toDisplayString, v as createVNode, y as withCtx, f as createBaseVNode, A as normalizeStyle, e as createCommentVNode, u as createBlock, w as withModifiers, n as normalizeClass, a5 as resolveDirective, d as renderList, c as createApp, a6 as resolveDynamicComponent } from "./chunks/vue-BjMDYCe1.js";
|
|
4
4
|
import { B as Buffer$2 } from "./chunks/jszip-Df6uKve1.js";
|
|
5
5
|
import { B as BlankDOCX } from "./chunks/blank-docx-iwdyG9RH.js";
|
|
@@ -45872,7 +45872,7 @@ class SuperDoc extends EventEmitter {
|
|
|
45872
45872
|
this.config.colors = shuffleArray(this.config.colors);
|
|
45873
45873
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
45874
45874
|
this.colorIndex = 0;
|
|
45875
|
-
this.version = "0.8.
|
|
45875
|
+
this.version = "0.8.12";
|
|
45876
45876
|
console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
45877
45877
|
this.superdocId = config.superdocId || v4();
|
|
45878
45878
|
this.colors = this.config.colors;
|
package/dist/superdoc.umd.js
CHANGED
|
@@ -28001,7 +28001,7 @@
|
|
|
28001
28001
|
return;
|
|
28002
28002
|
}
|
|
28003
28003
|
}
|
|
28004
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.8.
|
|
28004
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.8.12") {
|
|
28005
28005
|
const customLocation = "docProps/custom.xml";
|
|
28006
28006
|
if (!docx[customLocation]) {
|
|
28007
28007
|
docx[customLocation] = generateCustomXml();
|
|
@@ -28274,7 +28274,7 @@
|
|
|
28274
28274
|
function generateCustomXml() {
|
|
28275
28275
|
return DEFAULT_CUSTOM_XML;
|
|
28276
28276
|
}
|
|
28277
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.8.
|
|
28277
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.8.12") {
|
|
28278
28278
|
return {
|
|
28279
28279
|
type: "element",
|
|
28280
28280
|
name: "property",
|
|
@@ -41323,199 +41323,6 @@
|
|
|
41323
41323
|
});
|
|
41324
41324
|
return DecorationSet.create(state2.doc, decorations);
|
|
41325
41325
|
};
|
|
41326
|
-
const replaceStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date, originalStep, originalStepIndex }) => {
|
|
41327
|
-
const deletionMarkSchema = state2.schema.marks[TrackDeleteMarkName];
|
|
41328
|
-
const deletionMark = findMark(state2, deletionMarkSchema, false);
|
|
41329
|
-
const positionTo = deletionMark ? deletionMark.to : step.to;
|
|
41330
|
-
const newStep = new ReplaceStep(
|
|
41331
|
-
positionTo,
|
|
41332
|
-
// We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
|
|
41333
|
-
positionTo,
|
|
41334
|
-
step.slice,
|
|
41335
|
-
step.structure
|
|
41336
|
-
);
|
|
41337
|
-
const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
|
|
41338
|
-
map2.appendMap(invertStep.getMap());
|
|
41339
|
-
const meta = {};
|
|
41340
|
-
if (newStep) {
|
|
41341
|
-
const trTemp = state2.apply(newTr).tr;
|
|
41342
|
-
if (trTemp.maybeStep(newStep).failed) {
|
|
41343
|
-
return;
|
|
41344
|
-
}
|
|
41345
|
-
const mappedNewStepTo = newStep.getMap().map(newStep.to);
|
|
41346
|
-
const insertedMark = markInsertion({
|
|
41347
|
-
tr: trTemp,
|
|
41348
|
-
from: newStep.from,
|
|
41349
|
-
to: mappedNewStepTo,
|
|
41350
|
-
user,
|
|
41351
|
-
date
|
|
41352
|
-
});
|
|
41353
|
-
const condensedStep = new ReplaceStep(newStep.from, newStep.to, trTemp.doc.slice(newStep.from, mappedNewStepTo));
|
|
41354
|
-
newTr.step(condensedStep);
|
|
41355
|
-
const mirrorIndex = map2.maps.length - 1;
|
|
41356
|
-
map2.appendMap(condensedStep.getMap(), mirrorIndex);
|
|
41357
|
-
if (newStep.from !== mappedNewStepTo) {
|
|
41358
|
-
meta.insertedMark = insertedMark;
|
|
41359
|
-
meta.step = condensedStep;
|
|
41360
|
-
}
|
|
41361
|
-
if (!newTr.selection.eq(trTemp.selection)) {
|
|
41362
|
-
newTr.setSelection(trTemp.selection);
|
|
41363
|
-
}
|
|
41364
|
-
}
|
|
41365
|
-
if (step.from !== step.to) {
|
|
41366
|
-
const { deletionMark: deletionMark2, deletionMap, nodes: deletionNodes } = markDeletion({
|
|
41367
|
-
tr: newTr,
|
|
41368
|
-
from: step.from,
|
|
41369
|
-
to: step.to,
|
|
41370
|
-
user,
|
|
41371
|
-
date
|
|
41372
|
-
});
|
|
41373
|
-
meta.deletionNodes = deletionNodes;
|
|
41374
|
-
meta.deletionMark = deletionMark2;
|
|
41375
|
-
map2.appendMapping(deletionMap);
|
|
41376
|
-
}
|
|
41377
|
-
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
41378
|
-
};
|
|
41379
|
-
const markWrapping = () => {
|
|
41380
|
-
};
|
|
41381
|
-
const replaceAroundStep = () => {
|
|
41382
|
-
};
|
|
41383
|
-
const addMarkStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date }) => {
|
|
41384
|
-
const meta = {};
|
|
41385
|
-
doc2.nodesBetween(step.from, step.to, (node2, pos) => {
|
|
41386
|
-
if (!node2.isInline) {
|
|
41387
|
-
return;
|
|
41388
|
-
}
|
|
41389
|
-
if (node2.marks.find((mark) => mark.type.name === TrackDeleteMarkName)) {
|
|
41390
|
-
return false;
|
|
41391
|
-
}
|
|
41392
|
-
const existingChangeMark = node2.marks.find((mark) => [TrackDeleteMarkName, TrackFormatMarkName].includes(mark.type.name));
|
|
41393
|
-
const wid = existingChangeMark ? existingChangeMark.attrs.id : v4$1();
|
|
41394
|
-
newTr.addMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), step.mark);
|
|
41395
|
-
const allowedMarks = ["bold", "italic", "strike", "underline", "textStyle"];
|
|
41396
|
-
if (allowedMarks.includes(step.mark.type.name) && !node2.marks.find((mark) => mark.type === step.mark.type)) {
|
|
41397
|
-
const formatChangeMark = node2.marks.find((mark) => mark.type.name === TrackFormatMarkName);
|
|
41398
|
-
let after = [];
|
|
41399
|
-
let before = [];
|
|
41400
|
-
if (formatChangeMark) {
|
|
41401
|
-
let foundBefore = formatChangeMark.attrs.before.find((mark) => {
|
|
41402
|
-
if (mark.type === "textStyle") {
|
|
41403
|
-
return mark.type === step.mark.type.name && objectIncludes(mark.attrs, step.mark.attrs);
|
|
41404
|
-
}
|
|
41405
|
-
return mark.type === step.mark.type.name;
|
|
41406
|
-
});
|
|
41407
|
-
if (foundBefore) {
|
|
41408
|
-
before = [...formatChangeMark.attrs.before.filter((mark) => mark.type !== step.mark.type.name)];
|
|
41409
|
-
after = [...formatChangeMark.attrs.after];
|
|
41410
|
-
} else {
|
|
41411
|
-
before = [...formatChangeMark.attrs.before];
|
|
41412
|
-
after = [
|
|
41413
|
-
...formatChangeMark.attrs.after,
|
|
41414
|
-
{
|
|
41415
|
-
type: step.mark.type.name,
|
|
41416
|
-
attrs: { ...step.mark.attrs }
|
|
41417
|
-
}
|
|
41418
|
-
];
|
|
41419
|
-
}
|
|
41420
|
-
} else {
|
|
41421
|
-
before = node2.marks.map((mark) => ({
|
|
41422
|
-
type: mark.type.name,
|
|
41423
|
-
attrs: { ...mark.attrs }
|
|
41424
|
-
}));
|
|
41425
|
-
after = [
|
|
41426
|
-
{
|
|
41427
|
-
type: step.mark.type.name,
|
|
41428
|
-
attrs: { ...step.mark.attrs }
|
|
41429
|
-
}
|
|
41430
|
-
];
|
|
41431
|
-
}
|
|
41432
|
-
if (after.length || before.length) {
|
|
41433
|
-
const newFormatMark = state2.schema.marks[TrackFormatMarkName].create({
|
|
41434
|
-
id: wid,
|
|
41435
|
-
author: user.name,
|
|
41436
|
-
authorEmail: user.email,
|
|
41437
|
-
date,
|
|
41438
|
-
before,
|
|
41439
|
-
after
|
|
41440
|
-
});
|
|
41441
|
-
newTr.addMark(
|
|
41442
|
-
step.from,
|
|
41443
|
-
// Math.max(step.from, pos)
|
|
41444
|
-
step.to,
|
|
41445
|
-
// Math.min(step.to, pos + node.nodeSize),
|
|
41446
|
-
newFormatMark
|
|
41447
|
-
);
|
|
41448
|
-
meta.formatMark = newFormatMark;
|
|
41449
|
-
meta.step = step;
|
|
41450
|
-
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
41451
|
-
} else if (formatChangeMark) {
|
|
41452
|
-
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), formatChangeMark);
|
|
41453
|
-
}
|
|
41454
|
-
}
|
|
41455
|
-
});
|
|
41456
|
-
};
|
|
41457
|
-
const removeMarkStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date }) => {
|
|
41458
|
-
const meta = {};
|
|
41459
|
-
doc2.nodesBetween(step.from, step.to, (node2, pos) => {
|
|
41460
|
-
if (!node2.isInline) {
|
|
41461
|
-
return true;
|
|
41462
|
-
}
|
|
41463
|
-
if (node2.marks.find((mark) => mark.type.name === TrackDeleteMarkName)) {
|
|
41464
|
-
return false;
|
|
41465
|
-
}
|
|
41466
|
-
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), step.mark);
|
|
41467
|
-
const allowedMarks = ["bold", "italic", "strike", "underline", "textStyle"];
|
|
41468
|
-
if (allowedMarks.includes(step.mark.type.name) && node2.marks.find((mark) => mark.type === step.mark.type)) {
|
|
41469
|
-
const formatChangeMark = node2.marks.find((mark) => mark.type.name === TrackFormatMarkName);
|
|
41470
|
-
let after = [];
|
|
41471
|
-
let before = [];
|
|
41472
|
-
if (formatChangeMark) {
|
|
41473
|
-
let foundAfter = formatChangeMark.attrs.after.find((mark) => mark.type === step.mark.type.name);
|
|
41474
|
-
if (foundAfter) {
|
|
41475
|
-
after = [...formatChangeMark.attrs.after.filter((mark) => mark.type !== step.mark.type.name)];
|
|
41476
|
-
before = [...formatChangeMark.attrs.before];
|
|
41477
|
-
} else {
|
|
41478
|
-
after = [...formatChangeMark.attrs.after];
|
|
41479
|
-
before = [
|
|
41480
|
-
...formatChangeMark.attrs.before,
|
|
41481
|
-
{
|
|
41482
|
-
type: step.mark.type.name,
|
|
41483
|
-
attrs: { ...step.mark.attrs }
|
|
41484
|
-
}
|
|
41485
|
-
];
|
|
41486
|
-
}
|
|
41487
|
-
} else {
|
|
41488
|
-
after = [];
|
|
41489
|
-
before = [
|
|
41490
|
-
{
|
|
41491
|
-
type: step.mark.type.name,
|
|
41492
|
-
attrs: { ...step.mark.attrs }
|
|
41493
|
-
}
|
|
41494
|
-
];
|
|
41495
|
-
}
|
|
41496
|
-
if (after.length || before.length) {
|
|
41497
|
-
const newFormatMark = state2.schema.marks[TrackFormatMarkName].create({
|
|
41498
|
-
id: v4$1(),
|
|
41499
|
-
author: user.name,
|
|
41500
|
-
authorEmail: user.email,
|
|
41501
|
-
date,
|
|
41502
|
-
before,
|
|
41503
|
-
after
|
|
41504
|
-
});
|
|
41505
|
-
newTr.addMark(
|
|
41506
|
-
Math.max(step.from, pos),
|
|
41507
|
-
Math.min(step.to, pos + node2.nodeSize),
|
|
41508
|
-
newFormatMark
|
|
41509
|
-
);
|
|
41510
|
-
meta.formatMark = newFormatMark;
|
|
41511
|
-
meta.step = step;
|
|
41512
|
-
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
41513
|
-
} else if (formatChangeMark) {
|
|
41514
|
-
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), formatChangeMark);
|
|
41515
|
-
}
|
|
41516
|
-
}
|
|
41517
|
-
});
|
|
41518
|
-
};
|
|
41519
41326
|
const CommentMarkName = "commentMark";
|
|
41520
41327
|
const removeCommentsById = ({ commentId, state: state2, tr, dispatch }) => {
|
|
41521
41328
|
const positions = getCommentPositionsById(commentId, state2.doc);
|
|
@@ -41922,7 +41729,7 @@
|
|
|
41922
41729
|
update(view, prevState) {
|
|
41923
41730
|
const { state: state2 } = view;
|
|
41924
41731
|
const { doc: doc2, tr } = state2;
|
|
41925
|
-
if (prevDoc && prevDoc.eq(doc2)) shouldUpdate = true;
|
|
41732
|
+
if (prevDoc && !prevDoc.eq(doc2)) shouldUpdate = true;
|
|
41926
41733
|
if (!shouldUpdate) return;
|
|
41927
41734
|
prevDoc = doc2;
|
|
41928
41735
|
shouldUpdate = false;
|
|
@@ -41956,10 +41763,14 @@
|
|
|
41956
41763
|
if (hasActive && activeThreadId !== threadId) return;
|
|
41957
41764
|
decorations.push(deco);
|
|
41958
41765
|
});
|
|
41959
|
-
const
|
|
41960
|
-
|
|
41766
|
+
const trackedChangeMark = findTrackedMark({
|
|
41767
|
+
doc: doc2,
|
|
41768
|
+
from: pos,
|
|
41769
|
+
to: pos + node2.nodeSize
|
|
41770
|
+
});
|
|
41771
|
+
if (trackedChangeMark) {
|
|
41961
41772
|
const currentBounds = view.coordsAtPos(pos);
|
|
41962
|
-
const { id } =
|
|
41773
|
+
const { id } = trackedChangeMark.mark.attrs;
|
|
41963
41774
|
updatePosition({
|
|
41964
41775
|
allCommentPositions,
|
|
41965
41776
|
threadId: id,
|
|
@@ -42027,9 +41838,13 @@
|
|
|
42027
41838
|
if ($from.pos !== $to.pos) return;
|
|
42028
41839
|
const nodeAtPos = doc2.nodeAt($from.pos);
|
|
42029
41840
|
if (!nodeAtPos) return;
|
|
42030
|
-
const
|
|
42031
|
-
|
|
42032
|
-
|
|
41841
|
+
const trackedChangeMark = findTrackedMark({
|
|
41842
|
+
doc: doc2,
|
|
41843
|
+
from: $from.pos,
|
|
41844
|
+
to: $to.pos
|
|
41845
|
+
});
|
|
41846
|
+
if (trackedChangeMark) {
|
|
41847
|
+
return trackedChangeMark.mark.attrs.id;
|
|
42033
41848
|
}
|
|
42034
41849
|
const overlaps = [];
|
|
42035
41850
|
let found2 = false;
|
|
@@ -42066,13 +41881,30 @@
|
|
|
42066
41881
|
const closestCommentMark = closestMarks.find((mark) => mark.type.name === CommentMarkName);
|
|
42067
41882
|
return closestCommentMark?.attrs?.commentId || closestCommentMark?.attrs?.importedId;
|
|
42068
41883
|
};
|
|
42069
|
-
const
|
|
42070
|
-
|
|
42071
|
-
|
|
42072
|
-
|
|
42073
|
-
|
|
42074
|
-
|
|
42075
|
-
|
|
41884
|
+
const findTrackedMark = ({
|
|
41885
|
+
doc: doc2,
|
|
41886
|
+
from: from2,
|
|
41887
|
+
to,
|
|
41888
|
+
offset: offset2 = 1
|
|
41889
|
+
// To get non-inclusive marks.
|
|
41890
|
+
}) => {
|
|
41891
|
+
const startPos = Math.max(from2 - offset2, 0);
|
|
41892
|
+
const endPos = Math.min(to + offset2, doc2.content.size);
|
|
41893
|
+
let markFound;
|
|
41894
|
+
doc2.nodesBetween(startPos, endPos, (node2, pos) => {
|
|
41895
|
+
if (!node2 || node2?.nodeSize === void 0) {
|
|
41896
|
+
return;
|
|
41897
|
+
}
|
|
41898
|
+
const mark = node2.marks.find((mark2) => TRACK_CHANGE_MARKS.includes(mark2.type.name));
|
|
41899
|
+
if (mark && !markFound) {
|
|
41900
|
+
markFound = {
|
|
41901
|
+
from: pos,
|
|
41902
|
+
to: pos + node2.nodeSize,
|
|
41903
|
+
mark
|
|
41904
|
+
};
|
|
41905
|
+
}
|
|
41906
|
+
});
|
|
41907
|
+
return markFound;
|
|
42076
41908
|
};
|
|
42077
41909
|
const handleTrackedChangeTransaction = (trackedChangeMeta, trackedChanges, newEditorState, editor) => {
|
|
42078
41910
|
const {
|
|
@@ -42212,6 +42044,202 @@
|
|
|
42212
42044
|
});
|
|
42213
42045
|
return found2;
|
|
42214
42046
|
}
|
|
42047
|
+
const replaceStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date, originalStep, originalStepIndex }) => {
|
|
42048
|
+
const deletionMarkSchema = state2.schema.marks[TrackDeleteMarkName];
|
|
42049
|
+
const deletionMark = findMark(state2, deletionMarkSchema, false);
|
|
42050
|
+
const positionTo = deletionMark ? deletionMark.to : step.to;
|
|
42051
|
+
const newStep = new ReplaceStep(
|
|
42052
|
+
positionTo,
|
|
42053
|
+
// We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
|
|
42054
|
+
positionTo,
|
|
42055
|
+
step.slice,
|
|
42056
|
+
step.structure
|
|
42057
|
+
);
|
|
42058
|
+
const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
|
|
42059
|
+
map2.appendMap(invertStep.getMap());
|
|
42060
|
+
const meta = {};
|
|
42061
|
+
if (newStep) {
|
|
42062
|
+
const trTemp = state2.apply(newTr).tr;
|
|
42063
|
+
if (trTemp.maybeStep(newStep).failed) {
|
|
42064
|
+
return;
|
|
42065
|
+
}
|
|
42066
|
+
const mappedNewStepTo = newStep.getMap().map(newStep.to);
|
|
42067
|
+
const insertedMark = markInsertion({
|
|
42068
|
+
tr: trTemp,
|
|
42069
|
+
from: newStep.from,
|
|
42070
|
+
to: mappedNewStepTo,
|
|
42071
|
+
user,
|
|
42072
|
+
date
|
|
42073
|
+
});
|
|
42074
|
+
const condensedStep = new ReplaceStep(newStep.from, newStep.to, trTemp.doc.slice(newStep.from, mappedNewStepTo));
|
|
42075
|
+
newTr.step(condensedStep);
|
|
42076
|
+
const mirrorIndex = map2.maps.length - 1;
|
|
42077
|
+
map2.appendMap(condensedStep.getMap(), mirrorIndex);
|
|
42078
|
+
if (newStep.from !== mappedNewStepTo) {
|
|
42079
|
+
meta.insertedMark = insertedMark;
|
|
42080
|
+
meta.step = condensedStep;
|
|
42081
|
+
}
|
|
42082
|
+
if (!newTr.selection.eq(trTemp.selection)) {
|
|
42083
|
+
newTr.setSelection(trTemp.selection);
|
|
42084
|
+
}
|
|
42085
|
+
}
|
|
42086
|
+
if (step.from !== step.to) {
|
|
42087
|
+
const { deletionMark: deletionMark2, deletionMap, nodes: deletionNodes } = markDeletion({
|
|
42088
|
+
tr: newTr,
|
|
42089
|
+
from: step.from,
|
|
42090
|
+
to: step.to,
|
|
42091
|
+
user,
|
|
42092
|
+
date
|
|
42093
|
+
});
|
|
42094
|
+
meta.deletionNodes = deletionNodes;
|
|
42095
|
+
meta.deletionMark = deletionMark2;
|
|
42096
|
+
map2.appendMapping(deletionMap);
|
|
42097
|
+
}
|
|
42098
|
+
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
42099
|
+
newTr.setMeta(CommentsPluginKey, { type: "force" });
|
|
42100
|
+
};
|
|
42101
|
+
const markWrapping = () => {
|
|
42102
|
+
};
|
|
42103
|
+
const replaceAroundStep = () => {
|
|
42104
|
+
};
|
|
42105
|
+
const addMarkStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date }) => {
|
|
42106
|
+
const meta = {};
|
|
42107
|
+
doc2.nodesBetween(step.from, step.to, (node2, pos) => {
|
|
42108
|
+
if (!node2.isInline) {
|
|
42109
|
+
return;
|
|
42110
|
+
}
|
|
42111
|
+
if (node2.marks.find((mark) => mark.type.name === TrackDeleteMarkName)) {
|
|
42112
|
+
return false;
|
|
42113
|
+
}
|
|
42114
|
+
const existingChangeMark = node2.marks.find((mark) => [TrackDeleteMarkName, TrackFormatMarkName].includes(mark.type.name));
|
|
42115
|
+
const wid = existingChangeMark ? existingChangeMark.attrs.id : v4$1();
|
|
42116
|
+
newTr.addMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), step.mark);
|
|
42117
|
+
const allowedMarks = ["bold", "italic", "strike", "underline", "textStyle"];
|
|
42118
|
+
if (allowedMarks.includes(step.mark.type.name) && !node2.marks.find((mark) => mark.type === step.mark.type)) {
|
|
42119
|
+
const formatChangeMark = node2.marks.find((mark) => mark.type.name === TrackFormatMarkName);
|
|
42120
|
+
let after = [];
|
|
42121
|
+
let before = [];
|
|
42122
|
+
if (formatChangeMark) {
|
|
42123
|
+
let foundBefore = formatChangeMark.attrs.before.find((mark) => {
|
|
42124
|
+
if (mark.type === "textStyle") {
|
|
42125
|
+
return mark.type === step.mark.type.name && objectIncludes(mark.attrs, step.mark.attrs);
|
|
42126
|
+
}
|
|
42127
|
+
return mark.type === step.mark.type.name;
|
|
42128
|
+
});
|
|
42129
|
+
if (foundBefore) {
|
|
42130
|
+
before = [...formatChangeMark.attrs.before.filter((mark) => mark.type !== step.mark.type.name)];
|
|
42131
|
+
after = [...formatChangeMark.attrs.after];
|
|
42132
|
+
} else {
|
|
42133
|
+
before = [...formatChangeMark.attrs.before];
|
|
42134
|
+
after = [
|
|
42135
|
+
...formatChangeMark.attrs.after,
|
|
42136
|
+
{
|
|
42137
|
+
type: step.mark.type.name,
|
|
42138
|
+
attrs: { ...step.mark.attrs }
|
|
42139
|
+
}
|
|
42140
|
+
];
|
|
42141
|
+
}
|
|
42142
|
+
} else {
|
|
42143
|
+
before = node2.marks.map((mark) => ({
|
|
42144
|
+
type: mark.type.name,
|
|
42145
|
+
attrs: { ...mark.attrs }
|
|
42146
|
+
}));
|
|
42147
|
+
after = [
|
|
42148
|
+
{
|
|
42149
|
+
type: step.mark.type.name,
|
|
42150
|
+
attrs: { ...step.mark.attrs }
|
|
42151
|
+
}
|
|
42152
|
+
];
|
|
42153
|
+
}
|
|
42154
|
+
if (after.length || before.length) {
|
|
42155
|
+
const newFormatMark = state2.schema.marks[TrackFormatMarkName].create({
|
|
42156
|
+
id: wid,
|
|
42157
|
+
author: user.name,
|
|
42158
|
+
authorEmail: user.email,
|
|
42159
|
+
date,
|
|
42160
|
+
before,
|
|
42161
|
+
after
|
|
42162
|
+
});
|
|
42163
|
+
newTr.addMark(
|
|
42164
|
+
step.from,
|
|
42165
|
+
// Math.max(step.from, pos)
|
|
42166
|
+
step.to,
|
|
42167
|
+
// Math.min(step.to, pos + node.nodeSize),
|
|
42168
|
+
newFormatMark
|
|
42169
|
+
);
|
|
42170
|
+
meta.formatMark = newFormatMark;
|
|
42171
|
+
meta.step = step;
|
|
42172
|
+
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
42173
|
+
newTr.setMeta(CommentsPluginKey, { type: "force" });
|
|
42174
|
+
} else if (formatChangeMark) {
|
|
42175
|
+
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), formatChangeMark);
|
|
42176
|
+
}
|
|
42177
|
+
}
|
|
42178
|
+
});
|
|
42179
|
+
};
|
|
42180
|
+
const removeMarkStep = ({ state: state2, tr, step, newTr, map: map2, doc: doc2, user, date }) => {
|
|
42181
|
+
const meta = {};
|
|
42182
|
+
doc2.nodesBetween(step.from, step.to, (node2, pos) => {
|
|
42183
|
+
if (!node2.isInline) {
|
|
42184
|
+
return true;
|
|
42185
|
+
}
|
|
42186
|
+
if (node2.marks.find((mark) => mark.type.name === TrackDeleteMarkName)) {
|
|
42187
|
+
return false;
|
|
42188
|
+
}
|
|
42189
|
+
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), step.mark);
|
|
42190
|
+
const allowedMarks = ["bold", "italic", "strike", "underline", "textStyle"];
|
|
42191
|
+
if (allowedMarks.includes(step.mark.type.name) && node2.marks.find((mark) => mark.type === step.mark.type)) {
|
|
42192
|
+
const formatChangeMark = node2.marks.find((mark) => mark.type.name === TrackFormatMarkName);
|
|
42193
|
+
let after = [];
|
|
42194
|
+
let before = [];
|
|
42195
|
+
if (formatChangeMark) {
|
|
42196
|
+
let foundAfter = formatChangeMark.attrs.after.find((mark) => mark.type === step.mark.type.name);
|
|
42197
|
+
if (foundAfter) {
|
|
42198
|
+
after = [...formatChangeMark.attrs.after.filter((mark) => mark.type !== step.mark.type.name)];
|
|
42199
|
+
before = [...formatChangeMark.attrs.before];
|
|
42200
|
+
} else {
|
|
42201
|
+
after = [...formatChangeMark.attrs.after];
|
|
42202
|
+
before = [
|
|
42203
|
+
...formatChangeMark.attrs.before,
|
|
42204
|
+
{
|
|
42205
|
+
type: step.mark.type.name,
|
|
42206
|
+
attrs: { ...step.mark.attrs }
|
|
42207
|
+
}
|
|
42208
|
+
];
|
|
42209
|
+
}
|
|
42210
|
+
} else {
|
|
42211
|
+
after = [];
|
|
42212
|
+
before = [
|
|
42213
|
+
{
|
|
42214
|
+
type: step.mark.type.name,
|
|
42215
|
+
attrs: { ...step.mark.attrs }
|
|
42216
|
+
}
|
|
42217
|
+
];
|
|
42218
|
+
}
|
|
42219
|
+
if (after.length || before.length) {
|
|
42220
|
+
const newFormatMark = state2.schema.marks[TrackFormatMarkName].create({
|
|
42221
|
+
id: v4$1(),
|
|
42222
|
+
author: user.name,
|
|
42223
|
+
authorEmail: user.email,
|
|
42224
|
+
date,
|
|
42225
|
+
before,
|
|
42226
|
+
after
|
|
42227
|
+
});
|
|
42228
|
+
newTr.addMark(
|
|
42229
|
+
Math.max(step.from, pos),
|
|
42230
|
+
Math.min(step.to, pos + node2.nodeSize),
|
|
42231
|
+
newFormatMark
|
|
42232
|
+
);
|
|
42233
|
+
meta.formatMark = newFormatMark;
|
|
42234
|
+
meta.step = step;
|
|
42235
|
+
newTr.setMeta(TrackChangesBasePluginKey, meta);
|
|
42236
|
+
newTr.setMeta(CommentsPluginKey, { type: "force" });
|
|
42237
|
+
} else if (formatChangeMark) {
|
|
42238
|
+
newTr.removeMark(Math.max(step.from, pos), Math.min(step.to, pos + node2.nodeSize), formatChangeMark);
|
|
42239
|
+
}
|
|
42240
|
+
}
|
|
42241
|
+
});
|
|
42242
|
+
};
|
|
42215
42243
|
const trackedTransaction = ({ tr, state: state2, user }) => {
|
|
42216
42244
|
const onlyInputTypeMeta = ["inputType", "uiEvent", "paste", "pointer"];
|
|
42217
42245
|
const notAllowedMeta = ["historyUndo", "historyRedo", "acceptReject"];
|
|
@@ -42809,7 +42837,7 @@
|
|
|
42809
42837
|
* @returns {Y.Doc | undefined} Updated Y.Doc if any, otherwise undefined
|
|
42810
42838
|
*/
|
|
42811
42839
|
processCollaborationMigrations() {
|
|
42812
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.8.
|
|
42840
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.8.12");
|
|
42813
42841
|
if (!this.options.ydoc) return;
|
|
42814
42842
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
42815
42843
|
let docVersion = metaMap.get("version");
|
|
@@ -111278,7 +111306,7 @@ ${style2}
|
|
|
111278
111306
|
this.config.colors = shuffleArray(this.config.colors);
|
|
111279
111307
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
111280
111308
|
this.colorIndex = 0;
|
|
111281
|
-
this.version = "0.8.
|
|
111309
|
+
this.version = "0.8.12";
|
|
111282
111310
|
console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
111283
111311
|
this.superdocId = config.superdocId || v4();
|
|
111284
111312
|
this.colors = this.config.colors;
|