@superdoc-dev/cli 0.2.0-next.135 → 0.2.0-next.136
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.js +562 -183
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -38780,7 +38780,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
38780
38780
|
emptyOptions2 = {};
|
|
38781
38781
|
});
|
|
38782
38782
|
|
|
38783
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
38783
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-BQCVReWb.es.js
|
|
38784
38784
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
38785
38785
|
const fieldValue = extension$1.config[field];
|
|
38786
38786
|
if (typeof fieldValue === "function")
|
|
@@ -59094,7 +59094,7 @@ function decode$10(params) {
|
|
|
59094
59094
|
return {
|
|
59095
59095
|
name: "w:del",
|
|
59096
59096
|
attributes: {
|
|
59097
|
-
"w:id": trackedMark.attrs.id,
|
|
59097
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
59098
59098
|
"w:author": trackedMark.attrs.author,
|
|
59099
59099
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
59100
59100
|
"w:date": trackedMark.attrs.date
|
|
@@ -59119,7 +59119,7 @@ function decode$9(params) {
|
|
|
59119
59119
|
return {
|
|
59120
59120
|
name: "w:ins",
|
|
59121
59121
|
attributes: {
|
|
59122
|
-
"w:id": trackedMark.attrs.id,
|
|
59122
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
59123
59123
|
"w:author": trackedMark.attrs.author,
|
|
59124
59124
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
59125
59125
|
"w:date": trackedMark.attrs.date
|
|
@@ -59203,6 +59203,59 @@ function importCommentData({ docx, editor, converter }) {
|
|
|
59203
59203
|
}
|
|
59204
59204
|
return extendedComments;
|
|
59205
59205
|
}
|
|
59206
|
+
function isReplacementPair(previous$1, current) {
|
|
59207
|
+
return previous$1.type !== current.type && previous$1.author === current.author && previous$1.date === current.date;
|
|
59208
|
+
}
|
|
59209
|
+
function assignInternalId(element, idMap, context, insideTrackedChange) {
|
|
59210
|
+
const wordId = String(element.attributes?.["w:id"] ?? "");
|
|
59211
|
+
if (!wordId)
|
|
59212
|
+
return;
|
|
59213
|
+
if (insideTrackedChange) {
|
|
59214
|
+
if (!idMap.has(wordId))
|
|
59215
|
+
idMap.set(wordId, v4_default());
|
|
59216
|
+
return;
|
|
59217
|
+
}
|
|
59218
|
+
const current = {
|
|
59219
|
+
type: element.name,
|
|
59220
|
+
author: element.attributes?.["w:author"] ?? "",
|
|
59221
|
+
date: element.attributes?.["w:date"] ?? ""
|
|
59222
|
+
};
|
|
59223
|
+
if (context.lastTrackedChange && isReplacementPair(context.lastTrackedChange, current)) {
|
|
59224
|
+
if (!idMap.has(wordId))
|
|
59225
|
+
idMap.set(wordId, context.lastTrackedChange.internalId);
|
|
59226
|
+
context.lastTrackedChange = null;
|
|
59227
|
+
} else {
|
|
59228
|
+
const internalId = idMap.get(wordId) ?? v4_default();
|
|
59229
|
+
idMap.set(wordId, internalId);
|
|
59230
|
+
context.lastTrackedChange = {
|
|
59231
|
+
...current,
|
|
59232
|
+
internalId
|
|
59233
|
+
};
|
|
59234
|
+
}
|
|
59235
|
+
}
|
|
59236
|
+
function walkElements(elements, idMap, context, insideTrackedChange = false) {
|
|
59237
|
+
if (!Array.isArray(elements))
|
|
59238
|
+
return;
|
|
59239
|
+
for (const element of elements)
|
|
59240
|
+
if (TRACKED_CHANGE_NAMES.has(element.name)) {
|
|
59241
|
+
assignInternalId(element, idMap, context, insideTrackedChange);
|
|
59242
|
+
if (element.elements)
|
|
59243
|
+
walkElements(element.elements, idMap, { lastTrackedChange: null }, true);
|
|
59244
|
+
} else {
|
|
59245
|
+
if (!PAIRING_TRANSPARENT_NAMES.has(element.name))
|
|
59246
|
+
context.lastTrackedChange = null;
|
|
59247
|
+
if (element.elements)
|
|
59248
|
+
walkElements(element.elements, idMap, context, insideTrackedChange);
|
|
59249
|
+
}
|
|
59250
|
+
}
|
|
59251
|
+
function buildTrackedChangeIdMap(docx) {
|
|
59252
|
+
const body = docx?.["word/document.xml"]?.elements?.[0];
|
|
59253
|
+
if (!body?.elements)
|
|
59254
|
+
return /* @__PURE__ */ new Map;
|
|
59255
|
+
const idMap = /* @__PURE__ */ new Map;
|
|
59256
|
+
walkElements(body.elements, idMap, { lastTrackedChange: null });
|
|
59257
|
+
return idMap;
|
|
59258
|
+
}
|
|
59206
59259
|
function importNoteEntries({ partXml, childElementName, filename, docx, editor, converter, nodeListHandler, numbering }) {
|
|
59207
59260
|
const handler$1 = nodeListHandler || defaultNodeListHandler();
|
|
59208
59261
|
if (!partXml?.elements?.length)
|
|
@@ -61592,7 +61645,7 @@ function getBibliographyPartExportPaths(bibliographyPart) {
|
|
|
61592
61645
|
}
|
|
61593
61646
|
function collectReferencedNumIds(convertedXml) {
|
|
61594
61647
|
const numIds = /* @__PURE__ */ new Set;
|
|
61595
|
-
function walkElements(elements) {
|
|
61648
|
+
function walkElements$1(elements) {
|
|
61596
61649
|
if (!Array.isArray(elements))
|
|
61597
61650
|
return;
|
|
61598
61651
|
for (const el of elements) {
|
|
@@ -61601,12 +61654,12 @@ function collectReferencedNumIds(convertedXml) {
|
|
|
61601
61654
|
if (el.name === "w:numId" && el.attributes?.["w:val"] != null)
|
|
61602
61655
|
numIds.add(Number(el.attributes["w:val"]));
|
|
61603
61656
|
if (el.elements)
|
|
61604
|
-
walkElements(el.elements);
|
|
61657
|
+
walkElements$1(el.elements);
|
|
61605
61658
|
}
|
|
61606
61659
|
}
|
|
61607
61660
|
for (const [path2, xml] of Object.entries(convertedXml))
|
|
61608
61661
|
if (path2.startsWith("word/") && path2 !== "word/numbering.xml" && xml?.elements)
|
|
61609
|
-
walkElements(xml.elements);
|
|
61662
|
+
walkElements$1(xml.elements);
|
|
61610
61663
|
return numIds;
|
|
61611
61664
|
}
|
|
61612
61665
|
function getAbstractNumIdFromDef(numDef) {
|
|
@@ -63606,7 +63659,29 @@ var isRegExp = (value) => {
|
|
|
63606
63659
|
name: XML_NODE_NAME$37,
|
|
63607
63660
|
attributes
|
|
63608
63661
|
};
|
|
63609
|
-
}, config$36, translator$9, translator$140, translator$58, translator$51, translator$127, translator$129, translator$148, translator$149, translator$49, translator$135, translator$89, translator$209, translator$178, translator$136, translator$137, translator$62, translator$78, translator$106, translator$115, translator$116, translator$134, translator$192, translator$179, translator$60, translator$61, translator$173, translator$87, translator$124, translator$65, translator$59, translator$131, translator$54, translator$76, translator$193, XML_NAME$4 = "w14:ligatures", SD_KEY$4 = "ligatures", translator$210, XML_NAME$3 = "w14:numForm", SD_KEY$3 = "numForm", translator$211, XML_NAME$2 = "w14:numSpacing", SD_KEY$2 = "numSpacing", translator$212, XML_NAME$1 = "w14:stylisticSets", SD_KEY$1 = "stylisticSets", STYLISTIC_SET_CHILD_XML_NAME = "w14:ss", translator$213, XML_NAME = "w14:cntxtAlts", SD_KEY = "contextualAlternates",
|
|
63662
|
+
}, config$36, translator$9, translator$140, translator$58, translator$51, translator$127, translator$129, translator$148, translator$149, translator$49, translator$135, translator$89, translator$209, translator$178, translator$136, translator$137, translator$62, translator$78, translator$106, translator$115, translator$116, translator$134, translator$192, translator$179, translator$60, translator$61, translator$173, translator$87, translator$124, translator$65, translator$59, translator$131, translator$54, translator$76, translator$193, XML_NAME$4 = "w14:ligatures", SD_KEY$4 = "ligatures", translator$210, XML_NAME$3 = "w14:numForm", SD_KEY$3 = "numForm", translator$211, XML_NAME$2 = "w14:numSpacing", SD_KEY$2 = "numSpacing", translator$212, XML_NAME$1 = "w14:stylisticSets", SD_KEY$1 = "stylisticSets", STYLISTIC_SET_CHILD_XML_NAME = "w14:ss", translator$213, XML_NAME = "w14:cntxtAlts", SD_KEY = "contextualAlternates", translator$214, createTrackChangeRunPropertyTranslator = (xmlName, sdNodeOrKeyName) => NodeTranslator.from({
|
|
63663
|
+
xmlName,
|
|
63664
|
+
sdNodeOrKeyName,
|
|
63665
|
+
attributes: [
|
|
63666
|
+
createAttributeHandler("w:id", "id"),
|
|
63667
|
+
createAttributeHandler("w:author", "author"),
|
|
63668
|
+
createAttributeHandler("w:authorEmail", "authorEmail"),
|
|
63669
|
+
createAttributeHandler("w:date", "date")
|
|
63670
|
+
],
|
|
63671
|
+
encode: (_params, encodedAttrs = {}) => {
|
|
63672
|
+
return Object.keys(encodedAttrs).length ? encodedAttrs : undefined;
|
|
63673
|
+
},
|
|
63674
|
+
decode: function({ node: node3 }) {
|
|
63675
|
+
const source = node3?.attrs?.[sdNodeOrKeyName];
|
|
63676
|
+
if (!source || typeof source !== "object")
|
|
63677
|
+
return;
|
|
63678
|
+
const decodedAttrs = this.decodeAttributes({ node: {
|
|
63679
|
+
...node3,
|
|
63680
|
+
attrs: source
|
|
63681
|
+
} });
|
|
63682
|
+
return Object.keys(decodedAttrs).length ? { attributes: decodedAttrs } : undefined;
|
|
63683
|
+
}
|
|
63684
|
+
}), propertyTranslators$17, translator$128, XML_NODE_NAME$36 = "w:tab", SD_NODE_NAME$32 = "tab", encode$63 = (_, encodedAttrs = {}) => {
|
|
63610
63685
|
const translated = { type: "tab" };
|
|
63611
63686
|
if (encodedAttrs)
|
|
63612
63687
|
translated.attrs = { ...encodedAttrs };
|
|
@@ -73347,8 +73422,10 @@ var isRegExp = (value) => {
|
|
|
73347
73422
|
}, drawingNodeHandlerEntity, XML_NODE_NAME$6 = "w:del", SD_ATTR_KEY$1 = "trackDelete", validXmlAttributes$3, encode$10 = (params, encodedAttrs = {}) => {
|
|
73348
73423
|
const { nodeListHandler, extraParams = {}, converter } = params;
|
|
73349
73424
|
const { node: node3 } = extraParams;
|
|
73350
|
-
|
|
73351
|
-
|
|
73425
|
+
const originalWordId = encodedAttrs.id;
|
|
73426
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId))
|
|
73427
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
73428
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
73352
73429
|
const subs = nodeListHandler.handler({
|
|
73353
73430
|
...params,
|
|
73354
73431
|
insideTrackChange: true,
|
|
@@ -73374,8 +73451,10 @@ var isRegExp = (value) => {
|
|
|
73374
73451
|
}, config$6, translator$55, XML_NODE_NAME$5 = "w:ins", SD_ATTR_KEY = "trackInsert", validXmlAttributes$2, encode$9 = (params, encodedAttrs = {}) => {
|
|
73375
73452
|
const { nodeListHandler, extraParams = {}, converter } = params;
|
|
73376
73453
|
const { node: node3 } = extraParams;
|
|
73377
|
-
|
|
73378
|
-
|
|
73454
|
+
const originalWordId = encodedAttrs.id;
|
|
73455
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId))
|
|
73456
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
73457
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
73379
73458
|
const subs = nodeListHandler.handler({
|
|
73380
73459
|
...params,
|
|
73381
73460
|
insideTrackChange: true,
|
|
@@ -74010,8 +74089,7 @@ var isRegExp = (value) => {
|
|
|
74010
74089
|
let positionIndex = 0;
|
|
74011
74090
|
let lastElementWasCommentMarker = false;
|
|
74012
74091
|
const recentlyClosedComments = /* @__PURE__ */ new Set;
|
|
74013
|
-
|
|
74014
|
-
const walkElements = (elements, currentTrackedChangeId = null) => {
|
|
74092
|
+
const walkElements$1 = (elements, currentTrackedChangeId = null) => {
|
|
74015
74093
|
if (!elements || !Array.isArray(elements))
|
|
74016
74094
|
return;
|
|
74017
74095
|
elements.forEach((element) => {
|
|
@@ -74057,62 +74135,32 @@ var isRegExp = (value) => {
|
|
|
74057
74135
|
}
|
|
74058
74136
|
lastElementWasCommentMarker = true;
|
|
74059
74137
|
} else if (isTrackedChange) {
|
|
74060
|
-
const
|
|
74061
|
-
const
|
|
74062
|
-
const date = element.attributes?.["w:date"];
|
|
74063
|
-
const elementType = element.name;
|
|
74064
|
-
let mappedId = trackedChangeId;
|
|
74065
|
-
let isReplacement = false;
|
|
74066
|
-
if (trackedChangeId !== undefined && converter) {
|
|
74067
|
-
if (!converter.trackedChangeIdMap)
|
|
74068
|
-
converter.trackedChangeIdMap = /* @__PURE__ */ new Map;
|
|
74069
|
-
if (lastTrackedChange && lastTrackedChange.type !== elementType && lastTrackedChange.author === author && lastTrackedChange.date === date) {
|
|
74070
|
-
mappedId = lastTrackedChange.mappedId;
|
|
74071
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), mappedId);
|
|
74072
|
-
isReplacement = true;
|
|
74073
|
-
} else {
|
|
74074
|
-
if (!converter.trackedChangeIdMap.has(String(trackedChangeId)))
|
|
74075
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), v4_default());
|
|
74076
|
-
mappedId = converter.trackedChangeIdMap.get(String(trackedChangeId));
|
|
74077
|
-
}
|
|
74078
|
-
}
|
|
74079
|
-
if (currentTrackedChangeId === null)
|
|
74080
|
-
if (isReplacement)
|
|
74081
|
-
lastTrackedChange = null;
|
|
74082
|
-
else
|
|
74083
|
-
lastTrackedChange = {
|
|
74084
|
-
type: elementType,
|
|
74085
|
-
author,
|
|
74086
|
-
date,
|
|
74087
|
-
mappedId,
|
|
74088
|
-
wordId: String(trackedChangeId)
|
|
74089
|
-
};
|
|
74138
|
+
const wordId = element.attributes?.["w:id"];
|
|
74139
|
+
const mappedId = wordId != null ? converter?.trackedChangeIdMap?.get(String(wordId)) ?? String(wordId) : currentTrackedChangeId;
|
|
74090
74140
|
if (mappedId && recentlyClosedComments.size > 0)
|
|
74091
74141
|
recentlyClosedComments.forEach((commentId) => {
|
|
74092
74142
|
if (!commentsInTrackedChanges.has(commentId))
|
|
74093
|
-
commentsInTrackedChanges.set(commentId,
|
|
74143
|
+
commentsInTrackedChanges.set(commentId, mappedId);
|
|
74094
74144
|
});
|
|
74095
74145
|
recentlyClosedComments.clear();
|
|
74096
74146
|
if (element.elements && Array.isArray(element.elements))
|
|
74097
|
-
walkElements(element.elements, mappedId
|
|
74147
|
+
walkElements$1(element.elements, mappedId);
|
|
74098
74148
|
} else {
|
|
74099
74149
|
if (lastElementWasCommentMarker) {
|
|
74100
74150
|
positionIndex++;
|
|
74101
74151
|
lastElementWasCommentMarker = false;
|
|
74102
74152
|
}
|
|
74103
|
-
if (element.name === "w:p")
|
|
74153
|
+
if (element.name === "w:p")
|
|
74104
74154
|
recentlyClosedComments.clear();
|
|
74105
|
-
lastTrackedChange = null;
|
|
74106
|
-
}
|
|
74107
74155
|
if (element.elements && Array.isArray(element.elements))
|
|
74108
|
-
walkElements(element.elements, currentTrackedChangeId);
|
|
74156
|
+
walkElements$1(element.elements, currentTrackedChangeId);
|
|
74109
74157
|
}
|
|
74110
74158
|
});
|
|
74111
74159
|
};
|
|
74112
74160
|
if (documentXml.elements && documentXml.elements.length > 0) {
|
|
74113
74161
|
const body = documentXml.elements[0];
|
|
74114
74162
|
if (body.elements)
|
|
74115
|
-
walkElements(body.elements);
|
|
74163
|
+
walkElements$1(body.elements);
|
|
74116
74164
|
}
|
|
74117
74165
|
return {
|
|
74118
74166
|
rangeEvents,
|
|
@@ -74258,7 +74306,7 @@ var isRegExp = (value) => {
|
|
|
74258
74306
|
if (importedId == null || !Number.isFinite(createdTime))
|
|
74259
74307
|
return v4_default();
|
|
74260
74308
|
return `imported-${simpleHash(`${importedId}-${createdTime}`)}`;
|
|
74261
|
-
}, stripFootnoteMarkerNodes = (nodes) => {
|
|
74309
|
+
}, TRACKED_CHANGE_NAMES, PAIRING_TRANSPARENT_NAMES, stripFootnoteMarkerNodes = (nodes) => {
|
|
74262
74310
|
if (!Array.isArray(nodes) || nodes.length === 0)
|
|
74263
74311
|
return nodes;
|
|
74264
74312
|
const walk = (list$1) => {
|
|
@@ -74550,6 +74598,7 @@ var isRegExp = (value) => {
|
|
|
74550
74598
|
const inlineDocumentFonts = [];
|
|
74551
74599
|
patchNumberingDefinitions(docx);
|
|
74552
74600
|
const numbering = getNumberingDefinitions(docx);
|
|
74601
|
+
converter.trackedChangeIdMap = buildTrackedChangeIdMap(docx);
|
|
74553
74602
|
const comments = importCommentData({
|
|
74554
74603
|
docx,
|
|
74555
74604
|
nodeListHandler,
|
|
@@ -75508,7 +75557,7 @@ var isRegExp = (value) => {
|
|
|
75508
75557
|
state.kern = kernNode.attributes["w:val"];
|
|
75509
75558
|
}
|
|
75510
75559
|
}, SuperConverter;
|
|
75511
|
-
var
|
|
75560
|
+
var init_SuperConverter_BQCVReWb_es = __esm(() => {
|
|
75512
75561
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
75513
75562
|
init_jszip_ChlR43oI_es();
|
|
75514
75563
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -88872,6 +88921,24 @@ var init_SuperConverter_CEAHNaZj_es = __esm(() => {
|
|
|
88872
88921
|
};
|
|
88873
88922
|
}
|
|
88874
88923
|
});
|
|
88924
|
+
translator$214 = NodeTranslator.from({
|
|
88925
|
+
xmlName: XML_NAME,
|
|
88926
|
+
sdNodeOrKeyName: SD_KEY,
|
|
88927
|
+
encode: ({ nodes }) => {
|
|
88928
|
+
const rawValue = readVal(nodes?.[0]);
|
|
88929
|
+
if (rawValue == null)
|
|
88930
|
+
return true;
|
|
88931
|
+
return parseBoolean(rawValue);
|
|
88932
|
+
},
|
|
88933
|
+
decode: ({ node: node3 }) => {
|
|
88934
|
+
const value = node3?.attrs?.[SD_KEY];
|
|
88935
|
+
if (value == null)
|
|
88936
|
+
return;
|
|
88937
|
+
if (value === true)
|
|
88938
|
+
return { attributes: {} };
|
|
88939
|
+
return { attributes: { "w14:val": "0" } };
|
|
88940
|
+
}
|
|
88941
|
+
});
|
|
88875
88942
|
propertyTranslators$17 = [
|
|
88876
88943
|
translator$45,
|
|
88877
88944
|
translator$41,
|
|
@@ -88914,24 +88981,9 @@ var init_SuperConverter_CEAHNaZj_es = __esm(() => {
|
|
|
88914
88981
|
translator$211,
|
|
88915
88982
|
translator$212,
|
|
88916
88983
|
translator$213,
|
|
88917
|
-
|
|
88918
|
-
|
|
88919
|
-
|
|
88920
|
-
encode: ({ nodes }) => {
|
|
88921
|
-
const rawValue = readVal(nodes?.[0]);
|
|
88922
|
-
if (rawValue == null)
|
|
88923
|
-
return true;
|
|
88924
|
-
return parseBoolean(rawValue);
|
|
88925
|
-
},
|
|
88926
|
-
decode: ({ node: node3 }) => {
|
|
88927
|
-
const value = node3?.attrs?.[SD_KEY];
|
|
88928
|
-
if (value == null)
|
|
88929
|
-
return;
|
|
88930
|
-
if (value === true)
|
|
88931
|
-
return { attributes: {} };
|
|
88932
|
-
return { attributes: { "w14:val": "0" } };
|
|
88933
|
-
}
|
|
88934
|
-
}),
|
|
88984
|
+
translator$214,
|
|
88985
|
+
createTrackChangeRunPropertyTranslator("w:ins", "trackInsert"),
|
|
88986
|
+
createTrackChangeRunPropertyTranslator("w:del", "trackDelete"),
|
|
88935
88987
|
translator$193,
|
|
88936
88988
|
translator$173
|
|
88937
88989
|
];
|
|
@@ -108395,6 +108447,20 @@ var init_SuperConverter_CEAHNaZj_es = __esm(() => {
|
|
|
108395
108447
|
handlerName: "handlePictNode",
|
|
108396
108448
|
handler: handlePictNode
|
|
108397
108449
|
};
|
|
108450
|
+
TRACKED_CHANGE_NAMES = new Set(["w:ins", "w:del"]);
|
|
108451
|
+
PAIRING_TRANSPARENT_NAMES = new Set([
|
|
108452
|
+
"w:commentRangeStart",
|
|
108453
|
+
"w:commentRangeEnd",
|
|
108454
|
+
"w:bookmarkStart",
|
|
108455
|
+
"w:bookmarkEnd",
|
|
108456
|
+
"w:proofErr",
|
|
108457
|
+
"w:permStart",
|
|
108458
|
+
"w:permEnd",
|
|
108459
|
+
"w:moveFromRangeStart",
|
|
108460
|
+
"w:moveFromRangeEnd",
|
|
108461
|
+
"w:moveToRangeStart",
|
|
108462
|
+
"w:moveToRangeEnd"
|
|
108463
|
+
]);
|
|
108398
108464
|
DocxHelpers = {
|
|
108399
108465
|
findRelationshipIdFromTarget,
|
|
108400
108466
|
insertNewRelationship,
|
|
@@ -135913,7 +135979,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
135913
135979
|
init_remark_gfm_z_sDF4ss_es();
|
|
135914
135980
|
});
|
|
135915
135981
|
|
|
135916
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
135982
|
+
// ../../packages/superdoc/dist/chunks/src-DpqULOk-.es.js
|
|
135917
135983
|
function deleteProps(obj, propOrProps) {
|
|
135918
135984
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
135919
135985
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -146670,7 +146736,7 @@ function mapParagraphProperties(attrs) {
|
|
|
146670
146736
|
};
|
|
146671
146737
|
}
|
|
146672
146738
|
function mapListNumbering(attrs) {
|
|
146673
|
-
const listRendering = attrs?.listRendering
|
|
146739
|
+
const listRendering = getListRendering(attrs?.listRendering);
|
|
146674
146740
|
if (!listRendering)
|
|
146675
146741
|
return;
|
|
146676
146742
|
const listNumbering = {};
|
|
@@ -146678,8 +146744,7 @@ function mapListNumbering(attrs) {
|
|
|
146678
146744
|
listNumbering.marker = listRendering.markerText;
|
|
146679
146745
|
if (Array.isArray(listRendering.path))
|
|
146680
146746
|
listNumbering.path = listRendering.path;
|
|
146681
|
-
|
|
146682
|
-
listNumbering.ordinal = listRendering.path[listRendering.path.length - 1];
|
|
146747
|
+
listNumbering.ordinal = getListOrdinalFromPath(listRendering.path);
|
|
146683
146748
|
return Object.keys(listNumbering).length ? listNumbering : undefined;
|
|
146684
146749
|
}
|
|
146685
146750
|
function mapParagraphNode(candidate) {
|
|
@@ -155274,12 +155339,6 @@ function evaluateCanContinuePrevious(editor, target) {
|
|
|
155274
155339
|
reason: "INCOMPATIBLE_DEFINITIONS"
|
|
155275
155340
|
};
|
|
155276
155341
|
}
|
|
155277
|
-
function toPath(value) {
|
|
155278
|
-
if (!Array.isArray(value))
|
|
155279
|
-
return;
|
|
155280
|
-
const parsed = value.map((entry) => toFiniteNumber$1(entry)).filter((entry) => entry != null);
|
|
155281
|
-
return parsed.length > 0 ? parsed : undefined;
|
|
155282
|
-
}
|
|
155283
155342
|
function getNumberingProperties2(node3) {
|
|
155284
155343
|
const attrs = node3.attrs ?? {};
|
|
155285
155344
|
const paragraphNumbering = attrs.paragraphProperties?.numberingProperties ?? undefined;
|
|
@@ -155324,9 +155383,10 @@ function getListText(candidate) {
|
|
|
155324
155383
|
function projectListItemCandidate(editor, candidate) {
|
|
155325
155384
|
const attrs = candidate.node.attrs ?? {};
|
|
155326
155385
|
const { numId, level } = getNumberingProperties2(candidate.node);
|
|
155327
|
-
const
|
|
155328
|
-
const
|
|
155329
|
-
const
|
|
155386
|
+
const listRendering = getListRendering(attrs.listRendering);
|
|
155387
|
+
const path2 = listRendering?.path;
|
|
155388
|
+
const ordinal = getListOrdinalFromPath(path2);
|
|
155389
|
+
const marker = listRendering?.markerText;
|
|
155330
155390
|
return {
|
|
155331
155391
|
candidate,
|
|
155332
155392
|
address: {
|
|
@@ -172632,7 +172692,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
172632
172692
|
dropCapDescriptor.measuredWidth = dropCapMeasured.width;
|
|
172633
172693
|
dropCapDescriptor.measuredHeight = dropCapMeasured.height;
|
|
172634
172694
|
}
|
|
172635
|
-
const emptyParagraphRun = normalizedRuns.length === 1 && isEmptyTextRun(normalizedRuns[0]) ? normalizedRuns[0] : null;
|
|
172695
|
+
const emptyParagraphRun = normalizedRuns.length === 1 && isEmptyTextRun$1(normalizedRuns[0]) ? normalizedRuns[0] : null;
|
|
172636
172696
|
if (emptyParagraphRun) {
|
|
172637
172697
|
const metrics = calculateEmptyParagraphMetrics(emptyParagraphRun.fontSize ?? DEFAULT_PARAGRAPH_FONT_SIZE, spacing, getFontInfoFromRun(emptyParagraphRun));
|
|
172638
172698
|
const emptyLine = {
|
|
@@ -181301,12 +181361,15 @@ function paragraphToFlowBlocks({ para, nextBlockId, positions, trackedChangesCon
|
|
|
181301
181361
|
if (!para.content || para.content.length === 0) {
|
|
181302
181362
|
if (paragraphProps.runProperties?.vanish)
|
|
181303
181363
|
return blocks2;
|
|
181364
|
+
const paragraphMarkTrackedChange = getParagraphMarkTrackedChange(paragraphProps);
|
|
181304
181365
|
const paraPos = positions.get(para);
|
|
181305
181366
|
const emptyRun = {
|
|
181306
181367
|
text: "",
|
|
181307
181368
|
fontFamily: defaultFont,
|
|
181308
181369
|
fontSize: defaultSize
|
|
181309
181370
|
};
|
|
181371
|
+
if (paragraphMarkTrackedChange)
|
|
181372
|
+
emptyRun.trackedChange = paragraphMarkTrackedChange;
|
|
181310
181373
|
if (paraPos) {
|
|
181311
181374
|
emptyRun.pmStart = paraPos.start + 1;
|
|
181312
181375
|
emptyRun.pmEnd = paraPos.start + 1;
|
|
@@ -181323,6 +181386,23 @@ function paragraphToFlowBlocks({ para, nextBlockId, positions, trackedChangesCon
|
|
|
181323
181386
|
runs: [emptyRun],
|
|
181324
181387
|
attrs: emptyParagraphAttrs
|
|
181325
181388
|
});
|
|
181389
|
+
if (!trackedChangesConfig)
|
|
181390
|
+
return blocks2;
|
|
181391
|
+
const paragraphBlock = blocks2[blocks2.length - 1];
|
|
181392
|
+
if (paragraphBlock?.kind !== "paragraph")
|
|
181393
|
+
return blocks2;
|
|
181394
|
+
const filteredRuns = applyTrackedChangesModeToRuns(paragraphBlock.runs, trackedChangesConfig, hyperlinkConfig, applyMarksToRun, themeColors, enableComments);
|
|
181395
|
+
const isGhostTrackedListArtifact = trackedChangesConfig.enabled && isGhostSuppressionMode(trackedChangesConfig.mode) && Boolean(paragraphAttrs.numberingProperties) && Boolean(paragraphMarkTrackedChange) && filteredRuns.length > 0 && filteredRuns.every(isEmptyTextRun);
|
|
181396
|
+
if (trackedChangesConfig.enabled && (filteredRuns.length === 0 || isGhostTrackedListArtifact)) {
|
|
181397
|
+
blocks2.pop();
|
|
181398
|
+
return blocks2;
|
|
181399
|
+
}
|
|
181400
|
+
paragraphBlock.runs = filteredRuns;
|
|
181401
|
+
paragraphBlock.attrs = {
|
|
181402
|
+
...paragraphBlock.attrs ?? {},
|
|
181403
|
+
trackedChangesMode: trackedChangesConfig.mode,
|
|
181404
|
+
trackedChangesEnabled: trackedChangesConfig.enabled
|
|
181405
|
+
};
|
|
181326
181406
|
return blocks2;
|
|
181327
181407
|
}
|
|
181328
181408
|
let currentRuns = [];
|
|
@@ -181507,6 +181587,7 @@ function handleParagraphNode2(node3, context) {
|
|
|
181507
181587
|
if (cached) {
|
|
181508
181588
|
const delta = pmStart - cached.pmStart;
|
|
181509
181589
|
const reusedBlocks = shiftCachedBlocks(cached.blocks, delta);
|
|
181590
|
+
applyTrackedGhostListAdjustments(node3, reusedBlocks, context);
|
|
181510
181591
|
reusedBlocks.forEach((block) => {
|
|
181511
181592
|
blocks2.push(block);
|
|
181512
181593
|
recordBlockKind?.(block.kind);
|
|
@@ -181515,7 +181596,7 @@ function handleParagraphNode2(node3, context) {
|
|
|
181515
181596
|
sectionState.currentParagraphIndex++;
|
|
181516
181597
|
return;
|
|
181517
181598
|
}
|
|
181518
|
-
const paragraphBlocks = paragraphToFlowBlocks$1({
|
|
181599
|
+
const paragraphBlocks$1 = paragraphToFlowBlocks$1({
|
|
181519
181600
|
para: node3,
|
|
181520
181601
|
nextBlockId,
|
|
181521
181602
|
positions,
|
|
@@ -181528,15 +181609,16 @@ function handleParagraphNode2(node3, context) {
|
|
|
181528
181609
|
enableComments,
|
|
181529
181610
|
stableBlockId: prefixedStableId
|
|
181530
181611
|
});
|
|
181531
|
-
|
|
181612
|
+
applyTrackedGhostListAdjustments(node3, paragraphBlocks$1, context);
|
|
181613
|
+
paragraphBlocks$1.forEach((block) => {
|
|
181532
181614
|
blocks2.push(block);
|
|
181533
181615
|
recordBlockKind?.(block.kind);
|
|
181534
181616
|
});
|
|
181535
|
-
flowBlockCache.set(prefixedStableId, nodeJson, nodeRev, paragraphBlocks, pmStart);
|
|
181617
|
+
flowBlockCache.set(prefixedStableId, nodeJson, nodeRev, paragraphBlocks$1, pmStart);
|
|
181536
181618
|
sectionState.currentParagraphIndex++;
|
|
181537
181619
|
return;
|
|
181538
181620
|
}
|
|
181539
|
-
paragraphToFlowBlocks$1({
|
|
181621
|
+
const paragraphBlocks = paragraphToFlowBlocks$1({
|
|
181540
181622
|
para: node3,
|
|
181541
181623
|
nextBlockId,
|
|
181542
181624
|
positions,
|
|
@@ -181548,7 +181630,9 @@ function handleParagraphNode2(node3, context) {
|
|
|
181548
181630
|
converterContext,
|
|
181549
181631
|
enableComments,
|
|
181550
181632
|
stableBlockId: prefixedStableId ?? undefined
|
|
181551
|
-
})
|
|
181633
|
+
});
|
|
181634
|
+
applyTrackedGhostListAdjustments(node3, paragraphBlocks, context);
|
|
181635
|
+
paragraphBlocks.forEach((block) => {
|
|
181552
181636
|
blocks2.push(block);
|
|
181553
181637
|
recordBlockKind?.(block.kind);
|
|
181554
181638
|
});
|
|
@@ -181613,7 +181697,9 @@ function toFlowBlocks(pmDoc, options) {
|
|
|
181613
181697
|
},
|
|
181614
181698
|
converters,
|
|
181615
181699
|
themeColors,
|
|
181616
|
-
flowBlockCache
|
|
181700
|
+
flowBlockCache,
|
|
181701
|
+
trackedListMarkerOffsets: /* @__PURE__ */ new Map,
|
|
181702
|
+
trackedListLastOrdinals: /* @__PURE__ */ new Map
|
|
181617
181703
|
};
|
|
181618
181704
|
doc$2.content.forEach((node3) => {
|
|
181619
181705
|
const handler2 = nodeHandlers2[node3.type];
|
|
@@ -188000,7 +188086,8 @@ function createNumberingPlugin(editor) {
|
|
|
188000
188086
|
suffix,
|
|
188001
188087
|
justification,
|
|
188002
188088
|
path: path2,
|
|
188003
|
-
numberingType: listNumberingType
|
|
188089
|
+
numberingType: listNumberingType,
|
|
188090
|
+
...customFormat ? { customFormat } : {}
|
|
188004
188091
|
};
|
|
188005
188092
|
if (JSON.stringify(node3.attrs.listRendering) !== JSON.stringify(newListRendering)) {
|
|
188006
188093
|
tr.setNodeAttribute(pos, "listRendering", newListRendering);
|
|
@@ -195025,7 +195112,36 @@ var Node$13 = class Node$14 {
|
|
|
195025
195112
|
undoManager$1.destroy();
|
|
195026
195113
|
} };
|
|
195027
195114
|
}
|
|
195028
|
-
}), comments_module_events,
|
|
195115
|
+
}), comments_module_events, toFiniteNumber$2 = (value) => {
|
|
195116
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
195117
|
+
return value;
|
|
195118
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
195119
|
+
const parsed = Number(value);
|
|
195120
|
+
if (Number.isFinite(parsed))
|
|
195121
|
+
return parsed;
|
|
195122
|
+
}
|
|
195123
|
+
}, getListOrdinalFromPath = (path2) => {
|
|
195124
|
+
if (!Array.isArray(path2) || path2.length === 0)
|
|
195125
|
+
return;
|
|
195126
|
+
const ordinal = toFiniteNumber$2(path2[path2.length - 1]);
|
|
195127
|
+
return ordinal != null && ordinal > 0 ? ordinal : undefined;
|
|
195128
|
+
}, getListRendering = (value) => {
|
|
195129
|
+
if (!value || typeof value !== "object")
|
|
195130
|
+
return;
|
|
195131
|
+
const attrs = value;
|
|
195132
|
+
const markerText = typeof attrs.markerText === "string" ? attrs.markerText : undefined;
|
|
195133
|
+
const numberingType = typeof attrs.numberingType === "string" ? attrs.numberingType : undefined;
|
|
195134
|
+
const customFormat = typeof attrs.customFormat === "string" ? attrs.customFormat : undefined;
|
|
195135
|
+
const path2 = Array.isArray(attrs.path) ? attrs.path.map(toFiniteNumber$2).filter((entry) => entry != null) : undefined;
|
|
195136
|
+
if (!markerText && !numberingType && (!path2 || path2.length === 0))
|
|
195137
|
+
return;
|
|
195138
|
+
return {
|
|
195139
|
+
markerText,
|
|
195140
|
+
numberingType,
|
|
195141
|
+
...path2 && path2.length > 0 ? { path: path2 } : {},
|
|
195142
|
+
...customFormat ? { customFormat } : {}
|
|
195143
|
+
};
|
|
195144
|
+
}, v_click_outside_default, DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect", Telemetry = class {
|
|
195029
195145
|
constructor(config2) {
|
|
195030
195146
|
this.enabled = config2.enabled;
|
|
195031
195147
|
this.endpoint = config2.endpoint || DEFAULT_ENDPOINT;
|
|
@@ -203674,7 +203790,7 @@ var Node$13 = class Node$14 {
|
|
|
203674
203790
|
return parsed;
|
|
203675
203791
|
}
|
|
203676
203792
|
return fallback;
|
|
203677
|
-
}, normalizeFontFamily = (value, fallback = DEFAULT_PARAGRAPH_FONT_FAMILY) => typeof value === "string" && value.trim().length > 0 ? value : fallback, roundValue = (value) => measurementConfig.mode === "deterministic" ? Math.round(value * 10) / 10 : value, WORD_SINGLE_LINE_SPACING_MULTIPLIER = 1.15, isEmptyTextRun = (run2) => {
|
|
203793
|
+
}, normalizeFontFamily = (value, fallback = DEFAULT_PARAGRAPH_FONT_FAMILY) => typeof value === "string" && value.trim().length > 0 ? value : fallback, roundValue = (value) => measurementConfig.mode === "deterministic" ? Math.round(value * 10) / 10 : value, WORD_SINGLE_LINE_SPACING_MULTIPLIER = 1.15, isEmptyTextRun$1 = (run2) => {
|
|
203678
203794
|
if (run2.kind && run2.kind !== "text")
|
|
203679
203795
|
return false;
|
|
203680
203796
|
return typeof run2.text === "string" && run2.text.length === 0;
|
|
@@ -208554,6 +208670,161 @@ var Node$13 = class Node$14 {
|
|
|
208554
208670
|
if (aKeys[i$1] !== bKeys[i$1])
|
|
208555
208671
|
return false;
|
|
208556
208672
|
return true;
|
|
208673
|
+
}, toTrackChangeAttrs = (value) => {
|
|
208674
|
+
if (!value || typeof value !== "object")
|
|
208675
|
+
return;
|
|
208676
|
+
return value;
|
|
208677
|
+
}, getParagraphMarkTrackedChange = (paragraphProperties) => {
|
|
208678
|
+
const runProperties = paragraphProperties?.runProperties && typeof paragraphProperties.runProperties === "object" ? paragraphProperties.runProperties : undefined;
|
|
208679
|
+
if (!runProperties)
|
|
208680
|
+
return;
|
|
208681
|
+
const trackInsertAttrs = toTrackChangeAttrs(runProperties.trackInsert);
|
|
208682
|
+
const trackDeleteAttrs = toTrackChangeAttrs(runProperties.trackDelete);
|
|
208683
|
+
if (!trackInsertAttrs && !trackDeleteAttrs)
|
|
208684
|
+
return;
|
|
208685
|
+
const marks = [];
|
|
208686
|
+
if (trackInsertAttrs)
|
|
208687
|
+
marks.push({
|
|
208688
|
+
type: "trackInsert",
|
|
208689
|
+
attrs: trackInsertAttrs
|
|
208690
|
+
});
|
|
208691
|
+
if (trackDeleteAttrs)
|
|
208692
|
+
marks.push({
|
|
208693
|
+
type: "trackDelete",
|
|
208694
|
+
attrs: trackDeleteAttrs
|
|
208695
|
+
});
|
|
208696
|
+
return collectTrackedChangeFromMarks(marks);
|
|
208697
|
+
}, isEmptyTextRun = (run2) => {
|
|
208698
|
+
if (!isTextRun$2(run2))
|
|
208699
|
+
return false;
|
|
208700
|
+
return run2.text.length === 0;
|
|
208701
|
+
}, getBlockMarker = (block) => {
|
|
208702
|
+
if (!("attrs" in block) || !block.attrs || typeof block.attrs !== "object")
|
|
208703
|
+
return;
|
|
208704
|
+
const wordLayout = block.attrs.wordLayout;
|
|
208705
|
+
if (!wordLayout || typeof wordLayout !== "object")
|
|
208706
|
+
return;
|
|
208707
|
+
const marker = wordLayout.marker;
|
|
208708
|
+
if (!marker || typeof marker !== "object")
|
|
208709
|
+
return;
|
|
208710
|
+
return marker;
|
|
208711
|
+
}, getOriginalMarkerText = (marker) => {
|
|
208712
|
+
if (typeof marker.pmAdapterOriginalMarkerText === "string")
|
|
208713
|
+
return marker.pmAdapterOriginalMarkerText;
|
|
208714
|
+
return typeof marker.markerText === "string" ? marker.markerText : undefined;
|
|
208715
|
+
}, isGhostSuppressionMode = (mode) => mode !== "off" && mode !== "final" && mode !== "original", getListKey = (numId, ilvl) => {
|
|
208716
|
+
if (typeof numId !== "number" && typeof numId !== "string" || typeof ilvl !== "number")
|
|
208717
|
+
return;
|
|
208718
|
+
const normalizedNumId = String(numId).trim();
|
|
208719
|
+
if (!normalizedNumId)
|
|
208720
|
+
return;
|
|
208721
|
+
return `${normalizedNumId}:${ilvl}`;
|
|
208722
|
+
}, getParagraphListKeyFromAttrs = (attrs) => {
|
|
208723
|
+
if (!attrs || typeof attrs !== "object")
|
|
208724
|
+
return;
|
|
208725
|
+
const numberingProperties = attrs.numberingProperties;
|
|
208726
|
+
if (!numberingProperties)
|
|
208727
|
+
return;
|
|
208728
|
+
return getListKey(numberingProperties.numId, numberingProperties.ilvl);
|
|
208729
|
+
}, TRAILING_MARKER_TOKEN_RE, getNodeListOrdinal = (node3) => {
|
|
208730
|
+
const listRendering = getListRendering(node3.attrs?.listRendering);
|
|
208731
|
+
if (!listRendering || listRendering.numberingType === "bullet")
|
|
208732
|
+
return;
|
|
208733
|
+
return getListOrdinalFromPath(listRendering.path);
|
|
208734
|
+
}, formatListOrdinalToken = (numberingType, ordinal, customFormat) => {
|
|
208735
|
+
if (!Number.isFinite(ordinal) || ordinal < 1 || numberingType === "bullet")
|
|
208736
|
+
return;
|
|
208737
|
+
return generateOrderedListIndex({
|
|
208738
|
+
listLevel: [Math.trunc(ordinal)],
|
|
208739
|
+
lvlText: "%1",
|
|
208740
|
+
listNumberingType: numberingType,
|
|
208741
|
+
customFormat
|
|
208742
|
+
}) ?? undefined;
|
|
208743
|
+
}, replaceTrailingMarkerToken = (markerText, replacementToken) => {
|
|
208744
|
+
const match$1 = TRAILING_MARKER_TOKEN_RE.exec(markerText);
|
|
208745
|
+
if (!match$1)
|
|
208746
|
+
return;
|
|
208747
|
+
return `${match$1[1] ?? ""}${replacementToken}${match$1[3] ?? ""}`;
|
|
208748
|
+
}, updateGhostListMarkerOffsets = (node3, paragraphBlocks, context) => {
|
|
208749
|
+
if (!context.trackedChangesConfig.enabled)
|
|
208750
|
+
return;
|
|
208751
|
+
if (paragraphBlocks.some((block) => block.kind === "paragraph"))
|
|
208752
|
+
return;
|
|
208753
|
+
if (Array.isArray(node3.content) && node3.content.length > 0)
|
|
208754
|
+
return;
|
|
208755
|
+
if (!getParagraphMarkTrackedChange(typeof node3.attrs?.paragraphProperties === "object" && node3.attrs.paragraphProperties !== null ? node3.attrs.paragraphProperties : {}))
|
|
208756
|
+
return;
|
|
208757
|
+
const { paragraphAttrs } = computeParagraphAttrs(node3, context.converterContext);
|
|
208758
|
+
const key$1 = getParagraphListKeyFromAttrs(paragraphAttrs);
|
|
208759
|
+
if (!key$1)
|
|
208760
|
+
return;
|
|
208761
|
+
const offsets = context.trackedListMarkerOffsets;
|
|
208762
|
+
if (!offsets)
|
|
208763
|
+
return;
|
|
208764
|
+
offsets.set(key$1, (offsets.get(key$1) ?? 0) + 1);
|
|
208765
|
+
}, getNodeListKey = (node3, context) => {
|
|
208766
|
+
const { paragraphAttrs } = computeParagraphAttrs(node3, context.converterContext);
|
|
208767
|
+
return getParagraphListKeyFromAttrs(paragraphAttrs);
|
|
208768
|
+
}, applyGhostListMarkerOffsets = (node3, paragraphBlocks, context) => {
|
|
208769
|
+
const offsets = context.trackedListMarkerOffsets;
|
|
208770
|
+
const lastOrdinals = context.trackedListLastOrdinals;
|
|
208771
|
+
if (!offsets || offsets.size === 0 || !context.trackedChangesConfig.enabled)
|
|
208772
|
+
return;
|
|
208773
|
+
const listRendering = getListRendering(node3.attrs?.listRendering);
|
|
208774
|
+
const numberingType = listRendering?.numberingType;
|
|
208775
|
+
if (!numberingType || numberingType === "bullet")
|
|
208776
|
+
return;
|
|
208777
|
+
const sourceOrdinal = getNodeListOrdinal(node3);
|
|
208778
|
+
if (!sourceOrdinal)
|
|
208779
|
+
return;
|
|
208780
|
+
const nodeListKey = getNodeListKey(node3, context);
|
|
208781
|
+
if (!nodeListKey)
|
|
208782
|
+
return;
|
|
208783
|
+
const previousOrdinal = lastOrdinals?.get(nodeListKey);
|
|
208784
|
+
if (previousOrdinal != null && sourceOrdinal <= previousOrdinal)
|
|
208785
|
+
offsets.delete(nodeListKey);
|
|
208786
|
+
lastOrdinals?.set(nodeListKey, sourceOrdinal);
|
|
208787
|
+
const offset$1 = offsets.get(nodeListKey) ?? 0;
|
|
208788
|
+
if (offset$1 <= 0)
|
|
208789
|
+
return;
|
|
208790
|
+
const adjustedOrdinal = sourceOrdinal - offset$1;
|
|
208791
|
+
if (adjustedOrdinal < 1) {
|
|
208792
|
+
offsets.delete(nodeListKey);
|
|
208793
|
+
paragraphBlocks.forEach((block) => {
|
|
208794
|
+
if (block.kind !== "paragraph" || getParagraphListKeyFromAttrs(block.attrs) !== nodeListKey)
|
|
208795
|
+
return;
|
|
208796
|
+
const marker = getBlockMarker(block);
|
|
208797
|
+
if (!marker)
|
|
208798
|
+
return;
|
|
208799
|
+
const sourceMarkerText = getOriginalMarkerText(marker);
|
|
208800
|
+
if (sourceMarkerText)
|
|
208801
|
+
marker.markerText = sourceMarkerText;
|
|
208802
|
+
});
|
|
208803
|
+
return;
|
|
208804
|
+
}
|
|
208805
|
+
const replacementToken = formatListOrdinalToken(numberingType, adjustedOrdinal, listRendering.customFormat);
|
|
208806
|
+
if (!replacementToken)
|
|
208807
|
+
return;
|
|
208808
|
+
paragraphBlocks.forEach((block) => {
|
|
208809
|
+
if (block.kind !== "paragraph" || getParagraphListKeyFromAttrs(block.attrs) !== nodeListKey)
|
|
208810
|
+
return;
|
|
208811
|
+
const marker = getBlockMarker(block);
|
|
208812
|
+
if (!marker)
|
|
208813
|
+
return;
|
|
208814
|
+
const sourceMarkerText = getOriginalMarkerText(marker);
|
|
208815
|
+
if (!sourceMarkerText)
|
|
208816
|
+
return;
|
|
208817
|
+
const adjustedText = replaceTrailingMarkerToken(sourceMarkerText, replacementToken);
|
|
208818
|
+
if (!adjustedText || adjustedText === sourceMarkerText)
|
|
208819
|
+
return;
|
|
208820
|
+
marker.pmAdapterOriginalMarkerText = sourceMarkerText;
|
|
208821
|
+
marker.markerText = adjustedText;
|
|
208822
|
+
});
|
|
208823
|
+
}, applyTrackedGhostListAdjustments = (node3, paragraphBlocks, context) => {
|
|
208824
|
+
if (!context.trackedChangesConfig.enabled)
|
|
208825
|
+
return;
|
|
208826
|
+
updateGhostListMarkerOffsets(node3, paragraphBlocks, context);
|
|
208827
|
+
applyGhostListMarkerOffsets(node3, paragraphBlocks, context);
|
|
208557
208828
|
}, INLINE_CONVERTERS_REGISTRY, SHAPE_CONVERTERS_REGISTRY, DEFAULT_FONT = "Times New Roman", DEFAULT_SIZE, nodeHandlers2, converters, measurementCanvas = null, measurementCtx = null, TAB_CHAR_LENGTH = 1, SPACE_CHARS$1, isTabRun = (run2) => run2?.kind === "tab", isWordChar$2 = (char) => {
|
|
208558
208829
|
if (!char)
|
|
208559
208830
|
return false;
|
|
@@ -217722,38 +217993,19 @@ var Node$13 = class Node$14 {
|
|
|
217722
217993
|
return;
|
|
217723
217994
|
const matchingChange = trackedChanges[changeIndex];
|
|
217724
217995
|
const matchingId = matchingChange.mark.attrs.id;
|
|
217725
|
-
const getSegmentSize = ({ from: from$1, to }) => to - from$1;
|
|
217726
|
-
const areDirectlyConnected = (left$1, right$1) => {
|
|
217727
|
-
if (!left$1 || !right$1)
|
|
217728
|
-
return false;
|
|
217729
|
-
if (left$1.to !== right$1.from)
|
|
217730
|
-
return false;
|
|
217731
|
-
return !(state.doc.textBetween(left$1.from, right$1.to, `
|
|
217732
|
-
`).length > getSegmentSize(left$1) + getSegmentSize(right$1));
|
|
217733
|
-
};
|
|
217734
|
-
const isComplementaryPair = (firstType, secondType) => firstType === "trackDelete" && secondType === "trackInsert" || firstType === "trackInsert" && secondType === "trackDelete";
|
|
217735
217996
|
const linkedBefore = [];
|
|
217736
217997
|
const linkedAfter = [];
|
|
217737
217998
|
const collectDirection = (direction, collection) => {
|
|
217738
217999
|
let currentIndex = changeIndex;
|
|
217739
|
-
let currentChange = matchingChange;
|
|
217740
218000
|
while (true) {
|
|
217741
218001
|
const neighborIndex = currentIndex + direction;
|
|
217742
218002
|
const neighbor = trackedChanges[neighborIndex];
|
|
217743
218003
|
if (!neighbor)
|
|
217744
218004
|
break;
|
|
217745
|
-
|
|
217746
|
-
const sharesId = neighbor.mark.attrs.id === matchingId;
|
|
217747
|
-
const complementary = isComplementaryPair(currentChange.mark.type.name, neighbor.mark.type.name);
|
|
217748
|
-
if (!sharesId && !areDirectlyConnected(left$1, right$1))
|
|
217749
|
-
break;
|
|
217750
|
-
if (!sharesId && !complementary)
|
|
218005
|
+
if (!(neighbor.mark.attrs.id === matchingId))
|
|
217751
218006
|
break;
|
|
217752
218007
|
collection.push(neighbor);
|
|
217753
218008
|
currentIndex = neighborIndex;
|
|
217754
|
-
currentChange = neighbor;
|
|
217755
|
-
if (!sharesId)
|
|
217756
|
-
break;
|
|
217757
218009
|
}
|
|
217758
218010
|
};
|
|
217759
218011
|
collectDirection(-1, linkedBefore);
|
|
@@ -219444,9 +219696,9 @@ var Node$13 = class Node$14 {
|
|
|
219444
219696
|
return false;
|
|
219445
219697
|
return Boolean(checker(attrs));
|
|
219446
219698
|
}, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
|
|
219447
|
-
var
|
|
219699
|
+
var init_src_DpqULOk_es = __esm(() => {
|
|
219448
219700
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
219449
|
-
|
|
219701
|
+
init_SuperConverter_BQCVReWb_es();
|
|
219450
219702
|
init_jszip_ChlR43oI_es();
|
|
219451
219703
|
init_uuid_qzgm05fK_es();
|
|
219452
219704
|
init_constants_CMPtQbp7_es();
|
|
@@ -226553,7 +226805,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
226553
226805
|
iteratee$1(index2);
|
|
226554
226806
|
return result$1;
|
|
226555
226807
|
}
|
|
226556
|
-
function toPath
|
|
226808
|
+
function toPath(value) {
|
|
226557
226809
|
if (isArray$2(value))
|
|
226558
226810
|
return arrayMap(value, toKey);
|
|
226559
226811
|
return isSymbol2(value) ? [value] : copyArray(stringToPath(toString2(value)));
|
|
@@ -226723,7 +226975,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
226723
226975
|
lodash.toArray = toArray;
|
|
226724
226976
|
lodash.toPairs = toPairs2;
|
|
226725
226977
|
lodash.toPairsIn = toPairsIn;
|
|
226726
|
-
lodash.toPath = toPath
|
|
226978
|
+
lodash.toPath = toPath;
|
|
226727
226979
|
lodash.toPlainObject = toPlainObject;
|
|
226728
226980
|
lodash.transform = transform;
|
|
226729
226981
|
lodash.unary = unary;
|
|
@@ -237461,6 +237713,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
237461
237713
|
chartType: "unknown",
|
|
237462
237714
|
series: []
|
|
237463
237715
|
};
|
|
237716
|
+
TRAILING_MARKER_TOKEN_RE = /^(.*?)([\p{L}\p{N}]+)([^\p{L}\p{N}]*)$/u;
|
|
237464
237717
|
INLINE_CONVERTERS_REGISTRY = {
|
|
237465
237718
|
footnoteReference: { inlineConverter: footnoteReferenceToBlock },
|
|
237466
237719
|
endnoteReference: { inlineConverter: endnoteReferenceToBlock },
|
|
@@ -248246,6 +248499,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248246
248499
|
return { "data-date": attrs.date };
|
|
248247
248500
|
}
|
|
248248
248501
|
},
|
|
248502
|
+
sourceId: {
|
|
248503
|
+
default: "",
|
|
248504
|
+
rendered: false
|
|
248505
|
+
},
|
|
248249
248506
|
importedAuthor: {
|
|
248250
248507
|
default: "",
|
|
248251
248508
|
rendered: false
|
|
@@ -248317,6 +248574,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248317
248574
|
return { "data-date": attrs.date };
|
|
248318
248575
|
}
|
|
248319
248576
|
},
|
|
248577
|
+
sourceId: {
|
|
248578
|
+
default: "",
|
|
248579
|
+
rendered: false
|
|
248580
|
+
},
|
|
248320
248581
|
importedAuthor: {
|
|
248321
248582
|
default: "",
|
|
248322
248583
|
rendered: false
|
|
@@ -253128,8 +253389,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
253128
253389
|
|
|
253129
253390
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
253130
253391
|
var init_super_editor_es = __esm(() => {
|
|
253131
|
-
|
|
253132
|
-
|
|
253392
|
+
init_src_DpqULOk_es();
|
|
253393
|
+
init_SuperConverter_BQCVReWb_es();
|
|
253133
253394
|
init_jszip_ChlR43oI_es();
|
|
253134
253395
|
init_xml_js_DLE8mr0n_es();
|
|
253135
253396
|
init_constants_CMPtQbp7_es();
|
|
@@ -261133,6 +261394,41 @@ var init_get_adapter = __esm(() => {
|
|
|
261133
261394
|
init_sd_projection();
|
|
261134
261395
|
});
|
|
261135
261396
|
|
|
261397
|
+
// ../../shared/common/list-rendering.ts
|
|
261398
|
+
var toFiniteNumber3 = (value) => {
|
|
261399
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
261400
|
+
return value;
|
|
261401
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
261402
|
+
const parsed = Number(value);
|
|
261403
|
+
if (Number.isFinite(parsed))
|
|
261404
|
+
return parsed;
|
|
261405
|
+
}
|
|
261406
|
+
return;
|
|
261407
|
+
}, getListOrdinalFromPath2 = (path2) => {
|
|
261408
|
+
if (!Array.isArray(path2) || path2.length === 0)
|
|
261409
|
+
return;
|
|
261410
|
+
const ordinal = toFiniteNumber3(path2[path2.length - 1]);
|
|
261411
|
+
return ordinal != null && ordinal > 0 ? ordinal : undefined;
|
|
261412
|
+
}, getListRendering2 = (value) => {
|
|
261413
|
+
if (!value || typeof value !== "object") {
|
|
261414
|
+
return;
|
|
261415
|
+
}
|
|
261416
|
+
const attrs = value;
|
|
261417
|
+
const markerText = typeof attrs.markerText === "string" ? attrs.markerText : undefined;
|
|
261418
|
+
const numberingType = typeof attrs.numberingType === "string" ? attrs.numberingType : undefined;
|
|
261419
|
+
const customFormat = typeof attrs.customFormat === "string" ? attrs.customFormat : undefined;
|
|
261420
|
+
const path2 = Array.isArray(attrs.path) ? attrs.path.map(toFiniteNumber3).filter((entry) => entry != null) : undefined;
|
|
261421
|
+
if (!markerText && !numberingType && (!path2 || path2.length === 0)) {
|
|
261422
|
+
return;
|
|
261423
|
+
}
|
|
261424
|
+
return {
|
|
261425
|
+
markerText,
|
|
261426
|
+
numberingType,
|
|
261427
|
+
...path2 && path2.length > 0 ? { path: path2 } : {},
|
|
261428
|
+
...customFormat ? { customFormat } : {}
|
|
261429
|
+
};
|
|
261430
|
+
};
|
|
261431
|
+
|
|
261136
261432
|
// ../../packages/super-editor/src/document-api-adapters/helpers/content-controls/target-resolution.ts
|
|
261137
261433
|
function isSdtNode2(node3) {
|
|
261138
261434
|
return SDT_NODE_NAMES2.includes(node3.type.name);
|
|
@@ -261482,7 +261778,7 @@ function mapParagraphProperties2(attrs) {
|
|
|
261482
261778
|
};
|
|
261483
261779
|
}
|
|
261484
261780
|
function mapListNumbering2(attrs) {
|
|
261485
|
-
const listRendering = attrs?.listRendering
|
|
261781
|
+
const listRendering = getListRendering2(attrs?.listRendering);
|
|
261486
261782
|
if (!listRendering)
|
|
261487
261783
|
return;
|
|
261488
261784
|
const listNumbering = {};
|
|
@@ -261490,9 +261786,7 @@ function mapListNumbering2(attrs) {
|
|
|
261490
261786
|
listNumbering.marker = listRendering.markerText;
|
|
261491
261787
|
if (Array.isArray(listRendering.path))
|
|
261492
261788
|
listNumbering.path = listRendering.path;
|
|
261493
|
-
|
|
261494
|
-
listNumbering.ordinal = listRendering.path[listRendering.path.length - 1];
|
|
261495
|
-
}
|
|
261789
|
+
listNumbering.ordinal = getListOrdinalFromPath2(listRendering.path);
|
|
261496
261790
|
return Object.keys(listNumbering).length ? listNumbering : undefined;
|
|
261497
261791
|
}
|
|
261498
261792
|
function mapParagraphNode2(candidate) {
|
|
@@ -284004,6 +284298,40 @@ var init_cntxtAlts_translator = __esm(() => {
|
|
|
284004
284298
|
});
|
|
284005
284299
|
});
|
|
284006
284300
|
|
|
284301
|
+
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/rpr/track-change-run-property-translator.js
|
|
284302
|
+
var createTrackChangeRunPropertyTranslator2 = (xmlName, sdNodeOrKeyName) => NodeTranslator3.from({
|
|
284303
|
+
xmlName,
|
|
284304
|
+
sdNodeOrKeyName,
|
|
284305
|
+
attributes: [
|
|
284306
|
+
createAttributeHandler2("w:id", "id"),
|
|
284307
|
+
createAttributeHandler2("w:author", "author"),
|
|
284308
|
+
createAttributeHandler2("w:authorEmail", "authorEmail"),
|
|
284309
|
+
createAttributeHandler2("w:date", "date")
|
|
284310
|
+
],
|
|
284311
|
+
encode: (_params, encodedAttrs = {}) => {
|
|
284312
|
+
return Object.keys(encodedAttrs).length ? encodedAttrs : undefined;
|
|
284313
|
+
},
|
|
284314
|
+
decode: function({ node: node4 }) {
|
|
284315
|
+
const source = node4?.attrs?.[sdNodeOrKeyName];
|
|
284316
|
+
if (!source || typeof source !== "object") {
|
|
284317
|
+
return;
|
|
284318
|
+
}
|
|
284319
|
+
const decodedAttrs = this.decodeAttributes({
|
|
284320
|
+
node: {
|
|
284321
|
+
...node4,
|
|
284322
|
+
attrs: source
|
|
284323
|
+
}
|
|
284324
|
+
});
|
|
284325
|
+
return Object.keys(decodedAttrs).length ? { attributes: decodedAttrs } : undefined;
|
|
284326
|
+
}
|
|
284327
|
+
}), trackInsertRunPropertyTranslator, trackDeleteRunPropertyTranslator;
|
|
284328
|
+
var init_track_change_run_property_translator = __esm(() => {
|
|
284329
|
+
init_node_translator2();
|
|
284330
|
+
init_utils();
|
|
284331
|
+
trackInsertRunPropertyTranslator = createTrackChangeRunPropertyTranslator2("w:ins", "trackInsert");
|
|
284332
|
+
trackDeleteRunPropertyTranslator = createTrackChangeRunPropertyTranslator2("w:del", "trackDelete");
|
|
284333
|
+
});
|
|
284334
|
+
|
|
284007
284335
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/rpr/rpr-translator.js
|
|
284008
284336
|
var propertyTranslators2, translator47;
|
|
284009
284337
|
var init_rpr_translator = __esm(() => {
|
|
@@ -284053,6 +284381,7 @@ var init_rpr_translator = __esm(() => {
|
|
|
284053
284381
|
init_numSpacing_translator();
|
|
284054
284382
|
init_stylisticSets_translator();
|
|
284055
284383
|
init_cntxtAlts_translator();
|
|
284384
|
+
init_track_change_run_property_translator();
|
|
284056
284385
|
propertyTranslators2 = [
|
|
284057
284386
|
translator5,
|
|
284058
284387
|
translator4,
|
|
@@ -284096,6 +284425,8 @@ var init_rpr_translator = __esm(() => {
|
|
|
284096
284425
|
translator44,
|
|
284097
284426
|
translator45,
|
|
284098
284427
|
translator46,
|
|
284428
|
+
trackInsertRunPropertyTranslator,
|
|
284429
|
+
trackDeleteRunPropertyTranslator,
|
|
284099
284430
|
translator41,
|
|
284100
284431
|
translator33
|
|
284101
284432
|
];
|
|
@@ -309195,7 +309526,7 @@ function decode74(params3) {
|
|
|
309195
309526
|
return {
|
|
309196
309527
|
name: "w:del",
|
|
309197
309528
|
attributes: {
|
|
309198
|
-
"w:id": trackedMark.attrs.id,
|
|
309529
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
309199
309530
|
"w:author": trackedMark.attrs.author,
|
|
309200
309531
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
309201
309532
|
"w:date": trackedMark.attrs.date
|
|
@@ -309206,9 +309537,11 @@ function decode74(params3) {
|
|
|
309206
309537
|
var XML_NODE_NAME35 = "w:del", SD_ATTR_KEY5 = "trackDelete", validXmlAttributes11, encode70 = (params3, encodedAttrs = {}) => {
|
|
309207
309538
|
const { nodeListHandler, extraParams = {}, converter } = params3;
|
|
309208
309539
|
const { node: node4 } = extraParams;
|
|
309209
|
-
|
|
309210
|
-
|
|
309540
|
+
const originalWordId = encodedAttrs.id;
|
|
309541
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId)) {
|
|
309542
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
309211
309543
|
}
|
|
309544
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
309212
309545
|
const subs = nodeListHandler.handler({
|
|
309213
309546
|
...params3,
|
|
309214
309547
|
insideTrackChange: true,
|
|
@@ -309275,7 +309608,7 @@ function decode75(params3) {
|
|
|
309275
309608
|
return {
|
|
309276
309609
|
name: "w:ins",
|
|
309277
309610
|
attributes: {
|
|
309278
|
-
"w:id": trackedMark.attrs.id,
|
|
309611
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
309279
309612
|
"w:author": trackedMark.attrs.author,
|
|
309280
309613
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
309281
309614
|
"w:date": trackedMark.attrs.date
|
|
@@ -309286,9 +309619,11 @@ function decode75(params3) {
|
|
|
309286
309619
|
var XML_NODE_NAME36 = "w:ins", SD_ATTR_KEY6 = "trackInsert", validXmlAttributes12, encode71 = (params3, encodedAttrs = {}) => {
|
|
309287
309620
|
const { nodeListHandler, extraParams = {}, converter } = params3;
|
|
309288
309621
|
const { node: node4 } = extraParams;
|
|
309289
|
-
|
|
309290
|
-
|
|
309622
|
+
const originalWordId = encodedAttrs.id;
|
|
309623
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId)) {
|
|
309624
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
309291
309625
|
}
|
|
309626
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
309292
309627
|
const subs = nodeListHandler.handler({
|
|
309293
309628
|
...params3,
|
|
309294
309629
|
insideTrackChange: true,
|
|
@@ -311655,8 +311990,7 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311655
311990
|
let positionIndex = 0;
|
|
311656
311991
|
let lastElementWasCommentMarker = false;
|
|
311657
311992
|
const recentlyClosedComments = new Set;
|
|
311658
|
-
|
|
311659
|
-
const walkElements = (elements, currentTrackedChangeId = null) => {
|
|
311993
|
+
const walkElements2 = (elements, currentTrackedChangeId = null) => {
|
|
311660
311994
|
if (!elements || !Array.isArray(elements))
|
|
311661
311995
|
return;
|
|
311662
311996
|
elements.forEach((element3) => {
|
|
@@ -311699,50 +312033,18 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311699
312033
|
}
|
|
311700
312034
|
lastElementWasCommentMarker = true;
|
|
311701
312035
|
} else if (isTrackedChange) {
|
|
311702
|
-
const
|
|
311703
|
-
const
|
|
311704
|
-
const date = element3.attributes?.["w:date"];
|
|
311705
|
-
const elementType = element3.name;
|
|
311706
|
-
let mappedId = trackedChangeId;
|
|
311707
|
-
let isReplacement = false;
|
|
311708
|
-
if (trackedChangeId !== undefined && converter) {
|
|
311709
|
-
if (!converter.trackedChangeIdMap) {
|
|
311710
|
-
converter.trackedChangeIdMap = new Map;
|
|
311711
|
-
}
|
|
311712
|
-
if (lastTrackedChange && lastTrackedChange.type !== elementType && lastTrackedChange.author === author && lastTrackedChange.date === date) {
|
|
311713
|
-
mappedId = lastTrackedChange.mappedId;
|
|
311714
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), mappedId);
|
|
311715
|
-
isReplacement = true;
|
|
311716
|
-
} else {
|
|
311717
|
-
if (!converter.trackedChangeIdMap.has(String(trackedChangeId))) {
|
|
311718
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), v42());
|
|
311719
|
-
}
|
|
311720
|
-
mappedId = converter.trackedChangeIdMap.get(String(trackedChangeId));
|
|
311721
|
-
}
|
|
311722
|
-
}
|
|
311723
|
-
if (currentTrackedChangeId === null) {
|
|
311724
|
-
if (isReplacement) {
|
|
311725
|
-
lastTrackedChange = null;
|
|
311726
|
-
} else {
|
|
311727
|
-
lastTrackedChange = {
|
|
311728
|
-
type: elementType,
|
|
311729
|
-
author,
|
|
311730
|
-
date,
|
|
311731
|
-
mappedId,
|
|
311732
|
-
wordId: String(trackedChangeId)
|
|
311733
|
-
};
|
|
311734
|
-
}
|
|
311735
|
-
}
|
|
312036
|
+
const wordId = element3.attributes?.["w:id"];
|
|
312037
|
+
const mappedId = wordId != null ? converter?.trackedChangeIdMap?.get(String(wordId)) ?? String(wordId) : currentTrackedChangeId;
|
|
311736
312038
|
if (mappedId && recentlyClosedComments.size > 0) {
|
|
311737
312039
|
recentlyClosedComments.forEach((commentId) => {
|
|
311738
312040
|
if (!commentsInTrackedChanges.has(commentId)) {
|
|
311739
|
-
commentsInTrackedChanges.set(commentId,
|
|
312041
|
+
commentsInTrackedChanges.set(commentId, mappedId);
|
|
311740
312042
|
}
|
|
311741
312043
|
});
|
|
311742
312044
|
}
|
|
311743
312045
|
recentlyClosedComments.clear();
|
|
311744
312046
|
if (element3.elements && Array.isArray(element3.elements)) {
|
|
311745
|
-
|
|
312047
|
+
walkElements2(element3.elements, mappedId);
|
|
311746
312048
|
}
|
|
311747
312049
|
} else {
|
|
311748
312050
|
if (lastElementWasCommentMarker) {
|
|
@@ -311751,10 +312053,9 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311751
312053
|
}
|
|
311752
312054
|
if (element3.name === "w:p") {
|
|
311753
312055
|
recentlyClosedComments.clear();
|
|
311754
|
-
lastTrackedChange = null;
|
|
311755
312056
|
}
|
|
311756
312057
|
if (element3.elements && Array.isArray(element3.elements)) {
|
|
311757
|
-
|
|
312058
|
+
walkElements2(element3.elements, currentTrackedChangeId);
|
|
311758
312059
|
}
|
|
311759
312060
|
}
|
|
311760
312061
|
});
|
|
@@ -311762,7 +312063,7 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311762
312063
|
if (documentXml.elements && documentXml.elements.length > 0) {
|
|
311763
312064
|
const body = documentXml.elements[0];
|
|
311764
312065
|
if (body.elements) {
|
|
311765
|
-
|
|
312066
|
+
walkElements2(body.elements);
|
|
311766
312067
|
}
|
|
311767
312068
|
}
|
|
311768
312069
|
return { rangeEvents, rangePositions, commentsInTrackedChanges };
|
|
@@ -311916,6 +312217,82 @@ var init_documentCommentsImporter = __esm(() => {
|
|
|
311916
312217
|
init_docxImporter();
|
|
311917
312218
|
});
|
|
311918
312219
|
|
|
312220
|
+
// ../../packages/super-editor/src/core/super-converter/v2/importer/trackedChangeIdMapper.js
|
|
312221
|
+
function isReplacementPair2(previous5, current) {
|
|
312222
|
+
return previous5.type !== current.type && previous5.author === current.author && previous5.date === current.date;
|
|
312223
|
+
}
|
|
312224
|
+
function assignInternalId2(element3, idMap, context, insideTrackedChange) {
|
|
312225
|
+
const wordId = String(element3.attributes?.["w:id"] ?? "");
|
|
312226
|
+
if (!wordId)
|
|
312227
|
+
return;
|
|
312228
|
+
if (insideTrackedChange) {
|
|
312229
|
+
if (!idMap.has(wordId)) {
|
|
312230
|
+
idMap.set(wordId, v42());
|
|
312231
|
+
}
|
|
312232
|
+
return;
|
|
312233
|
+
}
|
|
312234
|
+
const current = {
|
|
312235
|
+
type: element3.name,
|
|
312236
|
+
author: element3.attributes?.["w:author"] ?? "",
|
|
312237
|
+
date: element3.attributes?.["w:date"] ?? ""
|
|
312238
|
+
};
|
|
312239
|
+
if (context.lastTrackedChange && isReplacementPair2(context.lastTrackedChange, current)) {
|
|
312240
|
+
if (!idMap.has(wordId)) {
|
|
312241
|
+
idMap.set(wordId, context.lastTrackedChange.internalId);
|
|
312242
|
+
}
|
|
312243
|
+
context.lastTrackedChange = null;
|
|
312244
|
+
} else {
|
|
312245
|
+
const internalId = idMap.get(wordId) ?? v42();
|
|
312246
|
+
idMap.set(wordId, internalId);
|
|
312247
|
+
context.lastTrackedChange = { ...current, internalId };
|
|
312248
|
+
}
|
|
312249
|
+
}
|
|
312250
|
+
function walkElements2(elements, idMap, context, insideTrackedChange = false) {
|
|
312251
|
+
if (!Array.isArray(elements))
|
|
312252
|
+
return;
|
|
312253
|
+
for (const element3 of elements) {
|
|
312254
|
+
if (TRACKED_CHANGE_NAMES2.has(element3.name)) {
|
|
312255
|
+
assignInternalId2(element3, idMap, context, insideTrackedChange);
|
|
312256
|
+
if (element3.elements) {
|
|
312257
|
+
walkElements2(element3.elements, idMap, { lastTrackedChange: null }, true);
|
|
312258
|
+
}
|
|
312259
|
+
} else {
|
|
312260
|
+
if (!PAIRING_TRANSPARENT_NAMES2.has(element3.name)) {
|
|
312261
|
+
context.lastTrackedChange = null;
|
|
312262
|
+
}
|
|
312263
|
+
if (element3.elements) {
|
|
312264
|
+
walkElements2(element3.elements, idMap, context, insideTrackedChange);
|
|
312265
|
+
}
|
|
312266
|
+
}
|
|
312267
|
+
}
|
|
312268
|
+
}
|
|
312269
|
+
function buildTrackedChangeIdMap2(docx) {
|
|
312270
|
+
const body = docx?.["word/document.xml"]?.elements?.[0];
|
|
312271
|
+
if (!body?.elements)
|
|
312272
|
+
return new Map;
|
|
312273
|
+
const idMap = new Map;
|
|
312274
|
+
walkElements2(body.elements, idMap, { lastTrackedChange: null });
|
|
312275
|
+
return idMap;
|
|
312276
|
+
}
|
|
312277
|
+
var TRACKED_CHANGE_NAMES2, PAIRING_TRANSPARENT_NAMES2;
|
|
312278
|
+
var init_trackedChangeIdMapper = __esm(() => {
|
|
312279
|
+
init_wrapper();
|
|
312280
|
+
TRACKED_CHANGE_NAMES2 = new Set(["w:ins", "w:del"]);
|
|
312281
|
+
PAIRING_TRANSPARENT_NAMES2 = new Set([
|
|
312282
|
+
"w:commentRangeStart",
|
|
312283
|
+
"w:commentRangeEnd",
|
|
312284
|
+
"w:bookmarkStart",
|
|
312285
|
+
"w:bookmarkEnd",
|
|
312286
|
+
"w:proofErr",
|
|
312287
|
+
"w:permStart",
|
|
312288
|
+
"w:permEnd",
|
|
312289
|
+
"w:moveFromRangeStart",
|
|
312290
|
+
"w:moveFromRangeEnd",
|
|
312291
|
+
"w:moveToRangeStart",
|
|
312292
|
+
"w:moveToRangeEnd"
|
|
312293
|
+
]);
|
|
312294
|
+
});
|
|
312295
|
+
|
|
311919
312296
|
// ../../packages/super-editor/src/core/super-converter/v2/importer/documentFootnotesImporter.js
|
|
311920
312297
|
function importNoteEntries2({
|
|
311921
312298
|
partXml,
|
|
@@ -313125,6 +313502,7 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
313125
313502
|
const inlineDocumentFonts = [];
|
|
313126
313503
|
patchNumberingDefinitions2(docx);
|
|
313127
313504
|
const numbering = getNumberingDefinitions2(docx);
|
|
313505
|
+
converter.trackedChangeIdMap = buildTrackedChangeIdMap2(docx);
|
|
313128
313506
|
const comments = importCommentData2({ docx, nodeListHandler, converter, editor });
|
|
313129
313507
|
const footnotes = importFootnoteData2({ docx, nodeListHandler, converter, editor, numbering });
|
|
313130
313508
|
const endnotes = importEndnoteData2({ docx, nodeListHandler, converter, editor, numbering });
|
|
@@ -313456,6 +313834,7 @@ var init_docxImporter = __esm(() => {
|
|
|
313456
313834
|
init_pageReferenceImporter();
|
|
313457
313835
|
init_pictNodeImporter();
|
|
313458
313836
|
init_documentCommentsImporter();
|
|
313837
|
+
init_trackedChangeIdMapper();
|
|
313459
313838
|
init_documentFootnotesImporter();
|
|
313460
313839
|
init_docx_helpers2();
|
|
313461
313840
|
init_ignoredNodes();
|
|
@@ -316143,7 +316522,7 @@ var init_citation_sources = __esm(() => {
|
|
|
316143
316522
|
// ../../packages/super-editor/src/core/super-converter/export-helpers/strip-orphaned-numbering.js
|
|
316144
316523
|
function collectReferencedNumIds2(convertedXml) {
|
|
316145
316524
|
const numIds = new Set;
|
|
316146
|
-
function
|
|
316525
|
+
function walkElements3(elements) {
|
|
316147
316526
|
if (!Array.isArray(elements))
|
|
316148
316527
|
return;
|
|
316149
316528
|
for (const el of elements) {
|
|
@@ -316153,12 +316532,12 @@ function collectReferencedNumIds2(convertedXml) {
|
|
|
316153
316532
|
numIds.add(Number(el.attributes["w:val"]));
|
|
316154
316533
|
}
|
|
316155
316534
|
if (el.elements)
|
|
316156
|
-
|
|
316535
|
+
walkElements3(el.elements);
|
|
316157
316536
|
}
|
|
316158
316537
|
}
|
|
316159
316538
|
for (const [path3, xml2] of Object.entries(convertedXml)) {
|
|
316160
316539
|
if (path3.startsWith("word/") && path3 !== "word/numbering.xml" && xml2?.elements) {
|
|
316161
|
-
|
|
316540
|
+
walkElements3(xml2.elements);
|
|
316162
316541
|
}
|
|
316163
316542
|
}
|
|
316164
316543
|
return numIds;
|
|
@@ -328716,12 +329095,6 @@ var init_list_sequence_helpers = __esm(() => {
|
|
|
328716
329095
|
});
|
|
328717
329096
|
|
|
328718
329097
|
// ../../packages/super-editor/src/document-api-adapters/helpers/list-item-resolver.ts
|
|
328719
|
-
function toPath2(value) {
|
|
328720
|
-
if (!Array.isArray(value))
|
|
328721
|
-
return;
|
|
328722
|
-
const parsed = value.map((entry) => toFiniteNumber2(entry)).filter((entry) => entry != null);
|
|
328723
|
-
return parsed.length > 0 ? parsed : undefined;
|
|
328724
|
-
}
|
|
328725
329098
|
function getNumberingProperties4(node4) {
|
|
328726
329099
|
const attrs = node4.attrs ?? {};
|
|
328727
329100
|
const paragraphNumbering = attrs.paragraphProperties?.numberingProperties ?? undefined;
|
|
@@ -328761,9 +329134,10 @@ function getListText2(candidate) {
|
|
|
328761
329134
|
function projectListItemCandidate2(editor, candidate) {
|
|
328762
329135
|
const attrs = candidate.node.attrs ?? {};
|
|
328763
329136
|
const { numId, level } = getNumberingProperties4(candidate.node);
|
|
328764
|
-
const
|
|
328765
|
-
const
|
|
328766
|
-
const
|
|
329137
|
+
const listRendering = getListRendering2(attrs.listRendering);
|
|
329138
|
+
const path3 = listRendering?.path;
|
|
329139
|
+
const ordinal = getListOrdinalFromPath2(path3);
|
|
329140
|
+
const marker = listRendering?.markerText;
|
|
328767
329141
|
return {
|
|
328768
329142
|
candidate,
|
|
328769
329143
|
address: {
|
|
@@ -397270,6 +397644,9 @@ function sleep2(ms) {
|
|
|
397270
397644
|
return Promise.resolve();
|
|
397271
397645
|
return new Promise((resolve3) => setTimeout(resolve3, ms));
|
|
397272
397646
|
}
|
|
397647
|
+
function nextTimerTurn() {
|
|
397648
|
+
return new Promise((resolve3) => setTimeout(resolve3, 0));
|
|
397649
|
+
}
|
|
397273
397650
|
async function claimBootstrap(ydoc, settlingMs, jitterMs = DEFAULT_BOOTSTRAP_JITTER_MS) {
|
|
397274
397651
|
const jitterDelayMs = Math.floor(Math.random() * jitterMs);
|
|
397275
397652
|
if (jitterDelayMs > 0)
|
|
@@ -397283,8 +397660,10 @@ async function claimBootstrap(ydoc, settlingMs, jitterMs = DEFAULT_BOOTSTRAP_JIT
|
|
|
397283
397660
|
});
|
|
397284
397661
|
const observer = observeCompetitor(ydoc);
|
|
397285
397662
|
try {
|
|
397286
|
-
if (settlingMs > 0)
|
|
397663
|
+
if (settlingMs > 0) {
|
|
397287
397664
|
await sleep2(settlingMs);
|
|
397665
|
+
await nextTimerTurn();
|
|
397666
|
+
}
|
|
397288
397667
|
const competitor = observer.getCompetitor();
|
|
397289
397668
|
if (competitor)
|
|
397290
397669
|
return { granted: false, competitor };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/cli",
|
|
3
|
-
"version": "0.2.0-next.
|
|
3
|
+
"version": "0.2.0-next.136",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc": "./dist/index.js"
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@types/bun": "^1.3.8",
|
|
21
21
|
"@types/node": "22.19.2",
|
|
22
22
|
"typescript": "^5.9.2",
|
|
23
|
-
"@superdoc/document-api": "0.0.1",
|
|
24
23
|
"@superdoc/pm-adapter": "0.0.0",
|
|
24
|
+
"@superdoc/document-api": "0.0.1",
|
|
25
25
|
"@superdoc/super-editor": "0.0.1",
|
|
26
26
|
"superdoc": "1.18.0"
|
|
27
27
|
},
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.
|
|
34
|
-
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.
|
|
35
|
-
"@superdoc-dev/cli-linux-x64": "0.2.0-next.
|
|
36
|
-
"@superdoc-dev/cli-windows-x64": "0.2.0-next.
|
|
37
|
-
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.
|
|
33
|
+
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.136",
|
|
34
|
+
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.136",
|
|
35
|
+
"@superdoc-dev/cli-linux-x64": "0.2.0-next.136",
|
|
36
|
+
"@superdoc-dev/cli-windows-x64": "0.2.0-next.136",
|
|
37
|
+
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.136"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"dev": "bun run src/index.ts",
|