@superdoc-dev/cli 0.2.0-next.134 → 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 -184
- package/package.json +6 -6
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;
|
|
@@ -230208,7 +230460,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230208
230460
|
reject(/* @__PURE__ */ new Error(`replaceFile(): collaboration provider did not sync within ${SYNC_TIMEOUT_MS}ms. The provider exposes on/off but never emitted sync(true) or synced.`));
|
|
230209
230461
|
}, SYNC_TIMEOUT_MS);
|
|
230210
230462
|
});
|
|
230211
|
-
doReplaceFileSync();
|
|
230212
230463
|
} else
|
|
230213
230464
|
this.#insertNewFileData();
|
|
230214
230465
|
if (!this.options.ydoc)
|
|
@@ -237462,6 +237713,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
237462
237713
|
chartType: "unknown",
|
|
237463
237714
|
series: []
|
|
237464
237715
|
};
|
|
237716
|
+
TRAILING_MARKER_TOKEN_RE = /^(.*?)([\p{L}\p{N}]+)([^\p{L}\p{N}]*)$/u;
|
|
237465
237717
|
INLINE_CONVERTERS_REGISTRY = {
|
|
237466
237718
|
footnoteReference: { inlineConverter: footnoteReferenceToBlock },
|
|
237467
237719
|
endnoteReference: { inlineConverter: endnoteReferenceToBlock },
|
|
@@ -248247,6 +248499,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248247
248499
|
return { "data-date": attrs.date };
|
|
248248
248500
|
}
|
|
248249
248501
|
},
|
|
248502
|
+
sourceId: {
|
|
248503
|
+
default: "",
|
|
248504
|
+
rendered: false
|
|
248505
|
+
},
|
|
248250
248506
|
importedAuthor: {
|
|
248251
248507
|
default: "",
|
|
248252
248508
|
rendered: false
|
|
@@ -248318,6 +248574,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248318
248574
|
return { "data-date": attrs.date };
|
|
248319
248575
|
}
|
|
248320
248576
|
},
|
|
248577
|
+
sourceId: {
|
|
248578
|
+
default: "",
|
|
248579
|
+
rendered: false
|
|
248580
|
+
},
|
|
248321
248581
|
importedAuthor: {
|
|
248322
248582
|
default: "",
|
|
248323
248583
|
rendered: false
|
|
@@ -253129,8 +253389,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
253129
253389
|
|
|
253130
253390
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
253131
253391
|
var init_super_editor_es = __esm(() => {
|
|
253132
|
-
|
|
253133
|
-
|
|
253392
|
+
init_src_DpqULOk_es();
|
|
253393
|
+
init_SuperConverter_BQCVReWb_es();
|
|
253134
253394
|
init_jszip_ChlR43oI_es();
|
|
253135
253395
|
init_xml_js_DLE8mr0n_es();
|
|
253136
253396
|
init_constants_CMPtQbp7_es();
|
|
@@ -261134,6 +261394,41 @@ var init_get_adapter = __esm(() => {
|
|
|
261134
261394
|
init_sd_projection();
|
|
261135
261395
|
});
|
|
261136
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
|
+
|
|
261137
261432
|
// ../../packages/super-editor/src/document-api-adapters/helpers/content-controls/target-resolution.ts
|
|
261138
261433
|
function isSdtNode2(node3) {
|
|
261139
261434
|
return SDT_NODE_NAMES2.includes(node3.type.name);
|
|
@@ -261483,7 +261778,7 @@ function mapParagraphProperties2(attrs) {
|
|
|
261483
261778
|
};
|
|
261484
261779
|
}
|
|
261485
261780
|
function mapListNumbering2(attrs) {
|
|
261486
|
-
const listRendering = attrs?.listRendering
|
|
261781
|
+
const listRendering = getListRendering2(attrs?.listRendering);
|
|
261487
261782
|
if (!listRendering)
|
|
261488
261783
|
return;
|
|
261489
261784
|
const listNumbering = {};
|
|
@@ -261491,9 +261786,7 @@ function mapListNumbering2(attrs) {
|
|
|
261491
261786
|
listNumbering.marker = listRendering.markerText;
|
|
261492
261787
|
if (Array.isArray(listRendering.path))
|
|
261493
261788
|
listNumbering.path = listRendering.path;
|
|
261494
|
-
|
|
261495
|
-
listNumbering.ordinal = listRendering.path[listRendering.path.length - 1];
|
|
261496
|
-
}
|
|
261789
|
+
listNumbering.ordinal = getListOrdinalFromPath2(listRendering.path);
|
|
261497
261790
|
return Object.keys(listNumbering).length ? listNumbering : undefined;
|
|
261498
261791
|
}
|
|
261499
261792
|
function mapParagraphNode2(candidate) {
|
|
@@ -284005,6 +284298,40 @@ var init_cntxtAlts_translator = __esm(() => {
|
|
|
284005
284298
|
});
|
|
284006
284299
|
});
|
|
284007
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
|
+
|
|
284008
284335
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/rpr/rpr-translator.js
|
|
284009
284336
|
var propertyTranslators2, translator47;
|
|
284010
284337
|
var init_rpr_translator = __esm(() => {
|
|
@@ -284054,6 +284381,7 @@ var init_rpr_translator = __esm(() => {
|
|
|
284054
284381
|
init_numSpacing_translator();
|
|
284055
284382
|
init_stylisticSets_translator();
|
|
284056
284383
|
init_cntxtAlts_translator();
|
|
284384
|
+
init_track_change_run_property_translator();
|
|
284057
284385
|
propertyTranslators2 = [
|
|
284058
284386
|
translator5,
|
|
284059
284387
|
translator4,
|
|
@@ -284097,6 +284425,8 @@ var init_rpr_translator = __esm(() => {
|
|
|
284097
284425
|
translator44,
|
|
284098
284426
|
translator45,
|
|
284099
284427
|
translator46,
|
|
284428
|
+
trackInsertRunPropertyTranslator,
|
|
284429
|
+
trackDeleteRunPropertyTranslator,
|
|
284100
284430
|
translator41,
|
|
284101
284431
|
translator33
|
|
284102
284432
|
];
|
|
@@ -309196,7 +309526,7 @@ function decode74(params3) {
|
|
|
309196
309526
|
return {
|
|
309197
309527
|
name: "w:del",
|
|
309198
309528
|
attributes: {
|
|
309199
|
-
"w:id": trackedMark.attrs.id,
|
|
309529
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
309200
309530
|
"w:author": trackedMark.attrs.author,
|
|
309201
309531
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
309202
309532
|
"w:date": trackedMark.attrs.date
|
|
@@ -309207,9 +309537,11 @@ function decode74(params3) {
|
|
|
309207
309537
|
var XML_NODE_NAME35 = "w:del", SD_ATTR_KEY5 = "trackDelete", validXmlAttributes11, encode70 = (params3, encodedAttrs = {}) => {
|
|
309208
309538
|
const { nodeListHandler, extraParams = {}, converter } = params3;
|
|
309209
309539
|
const { node: node4 } = extraParams;
|
|
309210
|
-
|
|
309211
|
-
|
|
309540
|
+
const originalWordId = encodedAttrs.id;
|
|
309541
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId)) {
|
|
309542
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
309212
309543
|
}
|
|
309544
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
309213
309545
|
const subs = nodeListHandler.handler({
|
|
309214
309546
|
...params3,
|
|
309215
309547
|
insideTrackChange: true,
|
|
@@ -309276,7 +309608,7 @@ function decode75(params3) {
|
|
|
309276
309608
|
return {
|
|
309277
309609
|
name: "w:ins",
|
|
309278
309610
|
attributes: {
|
|
309279
|
-
"w:id": trackedMark.attrs.id,
|
|
309611
|
+
"w:id": trackedMark.attrs.sourceId || trackedMark.attrs.id,
|
|
309280
309612
|
"w:author": trackedMark.attrs.author,
|
|
309281
309613
|
"w:authorEmail": trackedMark.attrs.authorEmail,
|
|
309282
309614
|
"w:date": trackedMark.attrs.date
|
|
@@ -309287,9 +309619,11 @@ function decode75(params3) {
|
|
|
309287
309619
|
var XML_NODE_NAME36 = "w:ins", SD_ATTR_KEY6 = "trackInsert", validXmlAttributes12, encode71 = (params3, encodedAttrs = {}) => {
|
|
309288
309620
|
const { nodeListHandler, extraParams = {}, converter } = params3;
|
|
309289
309621
|
const { node: node4 } = extraParams;
|
|
309290
|
-
|
|
309291
|
-
|
|
309622
|
+
const originalWordId = encodedAttrs.id;
|
|
309623
|
+
if (originalWordId && converter?.trackedChangeIdMap?.has(originalWordId)) {
|
|
309624
|
+
encodedAttrs.id = converter.trackedChangeIdMap.get(originalWordId);
|
|
309292
309625
|
}
|
|
309626
|
+
encodedAttrs.sourceId = originalWordId || "";
|
|
309293
309627
|
const subs = nodeListHandler.handler({
|
|
309294
309628
|
...params3,
|
|
309295
309629
|
insideTrackChange: true,
|
|
@@ -311656,8 +311990,7 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311656
311990
|
let positionIndex = 0;
|
|
311657
311991
|
let lastElementWasCommentMarker = false;
|
|
311658
311992
|
const recentlyClosedComments = new Set;
|
|
311659
|
-
|
|
311660
|
-
const walkElements = (elements, currentTrackedChangeId = null) => {
|
|
311993
|
+
const walkElements2 = (elements, currentTrackedChangeId = null) => {
|
|
311661
311994
|
if (!elements || !Array.isArray(elements))
|
|
311662
311995
|
return;
|
|
311663
311996
|
elements.forEach((element3) => {
|
|
@@ -311700,50 +312033,18 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311700
312033
|
}
|
|
311701
312034
|
lastElementWasCommentMarker = true;
|
|
311702
312035
|
} else if (isTrackedChange) {
|
|
311703
|
-
const
|
|
311704
|
-
const
|
|
311705
|
-
const date = element3.attributes?.["w:date"];
|
|
311706
|
-
const elementType = element3.name;
|
|
311707
|
-
let mappedId = trackedChangeId;
|
|
311708
|
-
let isReplacement = false;
|
|
311709
|
-
if (trackedChangeId !== undefined && converter) {
|
|
311710
|
-
if (!converter.trackedChangeIdMap) {
|
|
311711
|
-
converter.trackedChangeIdMap = new Map;
|
|
311712
|
-
}
|
|
311713
|
-
if (lastTrackedChange && lastTrackedChange.type !== elementType && lastTrackedChange.author === author && lastTrackedChange.date === date) {
|
|
311714
|
-
mappedId = lastTrackedChange.mappedId;
|
|
311715
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), mappedId);
|
|
311716
|
-
isReplacement = true;
|
|
311717
|
-
} else {
|
|
311718
|
-
if (!converter.trackedChangeIdMap.has(String(trackedChangeId))) {
|
|
311719
|
-
converter.trackedChangeIdMap.set(String(trackedChangeId), v42());
|
|
311720
|
-
}
|
|
311721
|
-
mappedId = converter.trackedChangeIdMap.get(String(trackedChangeId));
|
|
311722
|
-
}
|
|
311723
|
-
}
|
|
311724
|
-
if (currentTrackedChangeId === null) {
|
|
311725
|
-
if (isReplacement) {
|
|
311726
|
-
lastTrackedChange = null;
|
|
311727
|
-
} else {
|
|
311728
|
-
lastTrackedChange = {
|
|
311729
|
-
type: elementType,
|
|
311730
|
-
author,
|
|
311731
|
-
date,
|
|
311732
|
-
mappedId,
|
|
311733
|
-
wordId: String(trackedChangeId)
|
|
311734
|
-
};
|
|
311735
|
-
}
|
|
311736
|
-
}
|
|
312036
|
+
const wordId = element3.attributes?.["w:id"];
|
|
312037
|
+
const mappedId = wordId != null ? converter?.trackedChangeIdMap?.get(String(wordId)) ?? String(wordId) : currentTrackedChangeId;
|
|
311737
312038
|
if (mappedId && recentlyClosedComments.size > 0) {
|
|
311738
312039
|
recentlyClosedComments.forEach((commentId) => {
|
|
311739
312040
|
if (!commentsInTrackedChanges.has(commentId)) {
|
|
311740
|
-
commentsInTrackedChanges.set(commentId,
|
|
312041
|
+
commentsInTrackedChanges.set(commentId, mappedId);
|
|
311741
312042
|
}
|
|
311742
312043
|
});
|
|
311743
312044
|
}
|
|
311744
312045
|
recentlyClosedComments.clear();
|
|
311745
312046
|
if (element3.elements && Array.isArray(element3.elements)) {
|
|
311746
|
-
|
|
312047
|
+
walkElements2(element3.elements, mappedId);
|
|
311747
312048
|
}
|
|
311748
312049
|
} else {
|
|
311749
312050
|
if (lastElementWasCommentMarker) {
|
|
@@ -311752,10 +312053,9 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311752
312053
|
}
|
|
311753
312054
|
if (element3.name === "w:p") {
|
|
311754
312055
|
recentlyClosedComments.clear();
|
|
311755
|
-
lastTrackedChange = null;
|
|
311756
312056
|
}
|
|
311757
312057
|
if (element3.elements && Array.isArray(element3.elements)) {
|
|
311758
|
-
|
|
312058
|
+
walkElements2(element3.elements, currentTrackedChangeId);
|
|
311759
312059
|
}
|
|
311760
312060
|
}
|
|
311761
312061
|
});
|
|
@@ -311763,7 +312063,7 @@ var generateCommentsWithExtendedData2 = ({ docx, comments, converter, threadingP
|
|
|
311763
312063
|
if (documentXml.elements && documentXml.elements.length > 0) {
|
|
311764
312064
|
const body = documentXml.elements[0];
|
|
311765
312065
|
if (body.elements) {
|
|
311766
|
-
|
|
312066
|
+
walkElements2(body.elements);
|
|
311767
312067
|
}
|
|
311768
312068
|
}
|
|
311769
312069
|
return { rangeEvents, rangePositions, commentsInTrackedChanges };
|
|
@@ -311917,6 +312217,82 @@ var init_documentCommentsImporter = __esm(() => {
|
|
|
311917
312217
|
init_docxImporter();
|
|
311918
312218
|
});
|
|
311919
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
|
+
|
|
311920
312296
|
// ../../packages/super-editor/src/core/super-converter/v2/importer/documentFootnotesImporter.js
|
|
311921
312297
|
function importNoteEntries2({
|
|
311922
312298
|
partXml,
|
|
@@ -313126,6 +313502,7 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
313126
313502
|
const inlineDocumentFonts = [];
|
|
313127
313503
|
patchNumberingDefinitions2(docx);
|
|
313128
313504
|
const numbering = getNumberingDefinitions2(docx);
|
|
313505
|
+
converter.trackedChangeIdMap = buildTrackedChangeIdMap2(docx);
|
|
313129
313506
|
const comments = importCommentData2({ docx, nodeListHandler, converter, editor });
|
|
313130
313507
|
const footnotes = importFootnoteData2({ docx, nodeListHandler, converter, editor, numbering });
|
|
313131
313508
|
const endnotes = importEndnoteData2({ docx, nodeListHandler, converter, editor, numbering });
|
|
@@ -313457,6 +313834,7 @@ var init_docxImporter = __esm(() => {
|
|
|
313457
313834
|
init_pageReferenceImporter();
|
|
313458
313835
|
init_pictNodeImporter();
|
|
313459
313836
|
init_documentCommentsImporter();
|
|
313837
|
+
init_trackedChangeIdMapper();
|
|
313460
313838
|
init_documentFootnotesImporter();
|
|
313461
313839
|
init_docx_helpers2();
|
|
313462
313840
|
init_ignoredNodes();
|
|
@@ -316144,7 +316522,7 @@ var init_citation_sources = __esm(() => {
|
|
|
316144
316522
|
// ../../packages/super-editor/src/core/super-converter/export-helpers/strip-orphaned-numbering.js
|
|
316145
316523
|
function collectReferencedNumIds2(convertedXml) {
|
|
316146
316524
|
const numIds = new Set;
|
|
316147
|
-
function
|
|
316525
|
+
function walkElements3(elements) {
|
|
316148
316526
|
if (!Array.isArray(elements))
|
|
316149
316527
|
return;
|
|
316150
316528
|
for (const el of elements) {
|
|
@@ -316154,12 +316532,12 @@ function collectReferencedNumIds2(convertedXml) {
|
|
|
316154
316532
|
numIds.add(Number(el.attributes["w:val"]));
|
|
316155
316533
|
}
|
|
316156
316534
|
if (el.elements)
|
|
316157
|
-
|
|
316535
|
+
walkElements3(el.elements);
|
|
316158
316536
|
}
|
|
316159
316537
|
}
|
|
316160
316538
|
for (const [path3, xml2] of Object.entries(convertedXml)) {
|
|
316161
316539
|
if (path3.startsWith("word/") && path3 !== "word/numbering.xml" && xml2?.elements) {
|
|
316162
|
-
|
|
316540
|
+
walkElements3(xml2.elements);
|
|
316163
316541
|
}
|
|
316164
316542
|
}
|
|
316165
316543
|
return numIds;
|
|
@@ -328717,12 +329095,6 @@ var init_list_sequence_helpers = __esm(() => {
|
|
|
328717
329095
|
});
|
|
328718
329096
|
|
|
328719
329097
|
// ../../packages/super-editor/src/document-api-adapters/helpers/list-item-resolver.ts
|
|
328720
|
-
function toPath2(value) {
|
|
328721
|
-
if (!Array.isArray(value))
|
|
328722
|
-
return;
|
|
328723
|
-
const parsed = value.map((entry) => toFiniteNumber2(entry)).filter((entry) => entry != null);
|
|
328724
|
-
return parsed.length > 0 ? parsed : undefined;
|
|
328725
|
-
}
|
|
328726
329098
|
function getNumberingProperties4(node4) {
|
|
328727
329099
|
const attrs = node4.attrs ?? {};
|
|
328728
329100
|
const paragraphNumbering = attrs.paragraphProperties?.numberingProperties ?? undefined;
|
|
@@ -328762,9 +329134,10 @@ function getListText2(candidate) {
|
|
|
328762
329134
|
function projectListItemCandidate2(editor, candidate) {
|
|
328763
329135
|
const attrs = candidate.node.attrs ?? {};
|
|
328764
329136
|
const { numId, level } = getNumberingProperties4(candidate.node);
|
|
328765
|
-
const
|
|
328766
|
-
const
|
|
328767
|
-
const
|
|
329137
|
+
const listRendering = getListRendering2(attrs.listRendering);
|
|
329138
|
+
const path3 = listRendering?.path;
|
|
329139
|
+
const ordinal = getListOrdinalFromPath2(path3);
|
|
329140
|
+
const marker = listRendering?.markerText;
|
|
328768
329141
|
return {
|
|
328769
329142
|
candidate,
|
|
328770
329143
|
address: {
|
|
@@ -397271,6 +397644,9 @@ function sleep2(ms) {
|
|
|
397271
397644
|
return Promise.resolve();
|
|
397272
397645
|
return new Promise((resolve3) => setTimeout(resolve3, ms));
|
|
397273
397646
|
}
|
|
397647
|
+
function nextTimerTurn() {
|
|
397648
|
+
return new Promise((resolve3) => setTimeout(resolve3, 0));
|
|
397649
|
+
}
|
|
397274
397650
|
async function claimBootstrap(ydoc, settlingMs, jitterMs = DEFAULT_BOOTSTRAP_JITTER_MS) {
|
|
397275
397651
|
const jitterDelayMs = Math.floor(Math.random() * jitterMs);
|
|
397276
397652
|
if (jitterDelayMs > 0)
|
|
@@ -397284,8 +397660,10 @@ async function claimBootstrap(ydoc, settlingMs, jitterMs = DEFAULT_BOOTSTRAP_JIT
|
|
|
397284
397660
|
});
|
|
397285
397661
|
const observer = observeCompetitor(ydoc);
|
|
397286
397662
|
try {
|
|
397287
|
-
if (settlingMs > 0)
|
|
397663
|
+
if (settlingMs > 0) {
|
|
397288
397664
|
await sleep2(settlingMs);
|
|
397665
|
+
await nextTimerTurn();
|
|
397666
|
+
}
|
|
397289
397667
|
const competitor = observer.getCompetitor();
|
|
397290
397668
|
if (competitor)
|
|
397291
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"
|
|
@@ -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-
|
|
37
|
-
"@superdoc-dev/cli-
|
|
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",
|