@superdoc-dev/cli 0.2.0-next.133 → 0.2.0-next.134
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 +214 -91
- package/package.json +9 -9
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-CEAHNaZj.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")
|
|
@@ -58112,12 +58112,21 @@ function decode$46(params) {
|
|
|
58112
58112
|
}, []);
|
|
58113
58113
|
}
|
|
58114
58114
|
function getTextNodeForExport(text$2, marks, params) {
|
|
58115
|
+
const normalizedMarks = Array.isArray(marks) ? marks : [];
|
|
58115
58116
|
const space = /^\s|\s$/.test(text$2) ? "preserve" : null;
|
|
58116
58117
|
const nodeAttrs = space ? { "xml:space": space } : null;
|
|
58117
58118
|
const textNodes = [];
|
|
58118
|
-
const textRunProperties = decodeRPrFromMarks(
|
|
58119
|
+
const textRunProperties = decodeRPrFromMarks(normalizedMarks);
|
|
58119
58120
|
const combinedRunProperties = combineRunProperties([params.extraParams?.runProperties || {}, textRunProperties]);
|
|
58120
|
-
const
|
|
58121
|
+
const trackFormatMark = findTrackFormatMark(normalizedMarks);
|
|
58122
|
+
let rPrNode = translator$128.decode({ node: { attrs: { runProperties: combinedRunProperties } } });
|
|
58123
|
+
if (!rPrNode && trackFormatMark)
|
|
58124
|
+
rPrNode = {
|
|
58125
|
+
type: "element",
|
|
58126
|
+
name: "w:rPr",
|
|
58127
|
+
elements: []
|
|
58128
|
+
};
|
|
58129
|
+
appendTrackFormatChangeToRunProperties(rPrNode, normalizedMarks);
|
|
58121
58130
|
textNodes.push({
|
|
58122
58131
|
name: "w:t",
|
|
58123
58132
|
elements: [{
|
|
@@ -58126,10 +58135,9 @@ function getTextNodeForExport(text$2, marks, params) {
|
|
|
58126
58135
|
}],
|
|
58127
58136
|
attributes: nodeAttrs
|
|
58128
58137
|
});
|
|
58129
|
-
if (params) {
|
|
58130
|
-
const
|
|
58131
|
-
|
|
58132
|
-
marks.forEach((mark) => {
|
|
58138
|
+
if (params?.editor?.extensionService?.extensions) {
|
|
58139
|
+
const customMarks = params.editor.extensionService.extensions.filter((extension$1) => extension$1.isExternal === true);
|
|
58140
|
+
normalizedMarks.forEach((mark) => {
|
|
58133
58141
|
const isCustomMark = customMarks.some((customMark) => {
|
|
58134
58142
|
const customMarkName = customMark.name;
|
|
58135
58143
|
return mark.type === customMarkName;
|
|
@@ -59071,17 +59079,12 @@ function decode$10(params) {
|
|
|
59071
59079
|
const { node: node3 } = params;
|
|
59072
59080
|
if (!node3 || !node3.type)
|
|
59073
59081
|
return null;
|
|
59074
|
-
const trackingMarks = [
|
|
59075
|
-
|
|
59076
|
-
"trackFormat",
|
|
59077
|
-
"trackDelete"
|
|
59078
|
-
];
|
|
59079
|
-
const marks = node3.marks;
|
|
59082
|
+
const trackingMarks = ["trackInsert", "trackDelete"];
|
|
59083
|
+
const marks = Array.isArray(node3.marks) ? node3.marks : [];
|
|
59080
59084
|
const trackedMark = marks.find((m) => m.type === "trackDelete");
|
|
59081
|
-
|
|
59085
|
+
if (!trackedMark)
|
|
59086
|
+
return null;
|
|
59082
59087
|
node3.marks = marks.filter((m) => !trackingMarks.includes(m.type));
|
|
59083
|
-
if (trackStyleMark)
|
|
59084
|
-
node3.marks.push(trackStyleMark);
|
|
59085
59088
|
const translatedTextNode = exportSchemaToJson({
|
|
59086
59089
|
...params,
|
|
59087
59090
|
node: node3
|
|
@@ -59103,17 +59106,12 @@ function decode$9(params) {
|
|
|
59103
59106
|
const { node: node3 } = params;
|
|
59104
59107
|
if (!node3 || !node3.type)
|
|
59105
59108
|
return null;
|
|
59106
|
-
const trackingMarks = [
|
|
59107
|
-
|
|
59108
|
-
"trackFormat",
|
|
59109
|
-
"trackDelete"
|
|
59110
|
-
];
|
|
59111
|
-
const marks = node3.marks;
|
|
59109
|
+
const trackingMarks = ["trackInsert", "trackDelete"];
|
|
59110
|
+
const marks = Array.isArray(node3.marks) ? node3.marks : [];
|
|
59112
59111
|
const trackedMark = marks.find((m) => m.type === "trackInsert");
|
|
59113
|
-
|
|
59112
|
+
if (!trackedMark)
|
|
59113
|
+
return null;
|
|
59114
59114
|
node3.marks = marks.filter((m) => !trackingMarks.includes(m.type));
|
|
59115
|
-
if (trackStyleMark)
|
|
59116
|
-
node3.marks.push(trackStyleMark);
|
|
59117
59115
|
const translatedTextNode = exportSchemaToJson({
|
|
59118
59116
|
...params,
|
|
59119
59117
|
node: node3
|
|
@@ -63967,6 +63965,39 @@ var isRegExp = (value) => {
|
|
|
63967
63965
|
}];
|
|
63968
63966
|
}
|
|
63969
63967
|
return runs;
|
|
63968
|
+
}, getMarkType$1 = (mark) => mark?.type?.name ?? mark?.type ?? null, toRunPropertyElements = (marks = []) => processOutputMarks(marks).filter((element) => element && typeof element === "object" && element.name), findTrackFormatMark = (marks = []) => marks.find((mark) => getMarkType$1(mark) === "trackFormat") ?? null, createRunPropertiesChangeElement = (trackFormatMark) => {
|
|
63969
|
+
if (!trackFormatMark)
|
|
63970
|
+
return;
|
|
63971
|
+
const previousRunProperties = {
|
|
63972
|
+
type: "element",
|
|
63973
|
+
name: "w:rPr",
|
|
63974
|
+
elements: toRunPropertyElements(Array.isArray(trackFormatMark.attrs?.before) ? trackFormatMark.attrs.before : [])
|
|
63975
|
+
};
|
|
63976
|
+
return {
|
|
63977
|
+
type: "element",
|
|
63978
|
+
name: "w:rPrChange",
|
|
63979
|
+
attributes: {
|
|
63980
|
+
"w:id": trackFormatMark.attrs?.id,
|
|
63981
|
+
"w:author": trackFormatMark.attrs?.author,
|
|
63982
|
+
"w:authorEmail": trackFormatMark.attrs?.authorEmail,
|
|
63983
|
+
"w:date": trackFormatMark.attrs?.date
|
|
63984
|
+
},
|
|
63985
|
+
elements: [previousRunProperties]
|
|
63986
|
+
};
|
|
63987
|
+
}, appendTrackFormatChangeToRunProperties = (runPropertiesNode, marks = []) => {
|
|
63988
|
+
if (!runPropertiesNode)
|
|
63989
|
+
return runPropertiesNode;
|
|
63990
|
+
const trackFormatMark = findTrackFormatMark(marks);
|
|
63991
|
+
if (!trackFormatMark)
|
|
63992
|
+
return runPropertiesNode;
|
|
63993
|
+
if (!Array.isArray(runPropertiesNode.elements))
|
|
63994
|
+
runPropertiesNode.elements = [];
|
|
63995
|
+
if (runPropertiesNode.elements.some((element) => element?.name === "w:rPrChange"))
|
|
63996
|
+
return runPropertiesNode;
|
|
63997
|
+
const changeElement = createRunPropertiesChangeElement(trackFormatMark);
|
|
63998
|
+
if (changeElement)
|
|
63999
|
+
runPropertiesNode.elements.push(changeElement);
|
|
64000
|
+
return runPropertiesNode;
|
|
63970
64001
|
}, XML_NODE_NAME$33 = "w:hyperlink", SD_NODE_NAME$29 = "link", _createAttributeHandler = (xmlName, sdName) => ({
|
|
63971
64002
|
xmlName,
|
|
63972
64003
|
sdName,
|
|
@@ -64031,6 +64062,39 @@ var isRegExp = (value) => {
|
|
|
64031
64062
|
if (!Array.isArray(node3.elements))
|
|
64032
64063
|
return false;
|
|
64033
64064
|
return node3.elements.some((child) => hasXmlNodeNamed(child, targetName));
|
|
64065
|
+
}, getRunPropertiesNode = (runNode) => {
|
|
64066
|
+
if (!runNode)
|
|
64067
|
+
return null;
|
|
64068
|
+
if (!Array.isArray(runNode.elements))
|
|
64069
|
+
runNode.elements = [];
|
|
64070
|
+
let runPropertiesNode = runNode.elements.find((element) => element?.name === "w:rPr");
|
|
64071
|
+
if (!runPropertiesNode) {
|
|
64072
|
+
runPropertiesNode = {
|
|
64073
|
+
type: "element",
|
|
64074
|
+
name: "w:rPr",
|
|
64075
|
+
elements: []
|
|
64076
|
+
};
|
|
64077
|
+
runNode.elements.unshift(runPropertiesNode);
|
|
64078
|
+
}
|
|
64079
|
+
if (!Array.isArray(runPropertiesNode.elements))
|
|
64080
|
+
runPropertiesNode.elements = [];
|
|
64081
|
+
return runPropertiesNode;
|
|
64082
|
+
}, collectRunPropertyChanges = (runNode) => {
|
|
64083
|
+
const runPropertiesNode = runNode?.elements?.find((element) => element?.name === "w:rPr");
|
|
64084
|
+
if (!Array.isArray(runPropertiesNode?.elements))
|
|
64085
|
+
return [];
|
|
64086
|
+
return runPropertiesNode.elements.filter((element) => element?.name === "w:rPrChange").map((element) => cloneXmlNode(element));
|
|
64087
|
+
}, restoreRunPropertyChanges = (runNode, runPropertyChanges = []) => {
|
|
64088
|
+
if (!runPropertyChanges.length)
|
|
64089
|
+
return;
|
|
64090
|
+
const runPropertiesNode = getRunPropertiesNode(runNode);
|
|
64091
|
+
const existingNames = new Set(runPropertiesNode.elements.map((element) => element?.name));
|
|
64092
|
+
runPropertyChanges.forEach((changeElement) => {
|
|
64093
|
+
if (!changeElement?.name || existingNames.has(changeElement.name))
|
|
64094
|
+
return;
|
|
64095
|
+
runPropertiesNode.elements.push(changeElement);
|
|
64096
|
+
existingNames.add(changeElement.name);
|
|
64097
|
+
});
|
|
64034
64098
|
}, ensureReferenceRunFormatting = (runNode, referenceXmlName) => {
|
|
64035
64099
|
const styleId = REFERENCE_RUN_STYLE_BY_XML_NAME[referenceXmlName];
|
|
64036
64100
|
if (!styleId)
|
|
@@ -64180,6 +64244,7 @@ var isRegExp = (value) => {
|
|
|
64180
64244
|
});
|
|
64181
64245
|
}
|
|
64182
64246
|
const { runNode: runNodeForExport, trackingMarksByType } = prepareRunTrackingContext(node3);
|
|
64247
|
+
const runTrackFormatMark = findTrackFormatMark(runNodeForExport.marks);
|
|
64183
64248
|
const runProperties = (runNodeForExport.attrs || {}).runProperties || {};
|
|
64184
64249
|
const exportParams = {
|
|
64185
64250
|
...params,
|
|
@@ -64199,12 +64264,16 @@ var isRegExp = (value) => {
|
|
|
64199
64264
|
const runPropsTemplate = runPropertiesElement ? cloneXmlNode(runPropertiesElement) : null;
|
|
64200
64265
|
const applyBaseRunProps = (runNode) => applyRunPropertiesTemplate(runNode, runPropsTemplate);
|
|
64201
64266
|
const replaceRunProps = (runNode) => {
|
|
64267
|
+
const existingRunPropertyChanges = collectRunPropertyChanges(runNode);
|
|
64202
64268
|
if (Array.isArray(runNode.elements))
|
|
64203
64269
|
runNode.elements = runNode.elements.filter((el) => el?.name !== "w:rPr");
|
|
64204
64270
|
else
|
|
64205
64271
|
runNode.elements = [];
|
|
64206
64272
|
if (runPropsTemplate)
|
|
64207
64273
|
runNode.elements.unshift(cloneXmlNode(runPropsTemplate));
|
|
64274
|
+
restoreRunPropertyChanges(runNode, existingRunPropertyChanges);
|
|
64275
|
+
if (!existingRunPropertyChanges.length && runTrackFormatMark)
|
|
64276
|
+
appendTrackFormatChangeToRunProperties(getRunPropertiesNode(runNode), [runTrackFormatMark]);
|
|
64208
64277
|
};
|
|
64209
64278
|
const runs = [];
|
|
64210
64279
|
childElements.forEach((child) => {
|
|
@@ -73275,21 +73344,7 @@ var isRegExp = (value) => {
|
|
|
73275
73344
|
nodes: schemaNode ? [schemaNode] : [],
|
|
73276
73345
|
consumed: 1
|
|
73277
73346
|
};
|
|
73278
|
-
}, drawingNodeHandlerEntity,
|
|
73279
|
-
const trackStyleMark = marks.find((mark) => mark.type === "trackFormat");
|
|
73280
|
-
if (trackStyleMark)
|
|
73281
|
-
return {
|
|
73282
|
-
type: "element",
|
|
73283
|
-
name: "w:rPrChange",
|
|
73284
|
-
attributes: {
|
|
73285
|
-
"w:id": trackStyleMark.attrs.id,
|
|
73286
|
-
"w:author": trackStyleMark.attrs.author,
|
|
73287
|
-
"w:authorEmail": trackStyleMark.attrs.authorEmail,
|
|
73288
|
-
"w:date": trackStyleMark.attrs.date
|
|
73289
|
-
},
|
|
73290
|
-
elements: trackStyleMark.attrs.before.map((mark) => processOutputMarks([mark])).filter((r) => r !== undefined)
|
|
73291
|
-
};
|
|
73292
|
-
}, XML_NODE_NAME$6 = "w:del", SD_ATTR_KEY$1 = "trackDelete", validXmlAttributes$3, encode$10 = (params, encodedAttrs = {}) => {
|
|
73347
|
+
}, drawingNodeHandlerEntity, XML_NODE_NAME$6 = "w:del", SD_ATTR_KEY$1 = "trackDelete", validXmlAttributes$3, encode$10 = (params, encodedAttrs = {}) => {
|
|
73293
73348
|
const { nodeListHandler, extraParams = {}, converter } = params;
|
|
73294
73349
|
const { node: node3 } = extraParams;
|
|
73295
73350
|
if (encodedAttrs.id && converter?.trackedChangeIdMap?.has(encodedAttrs.id))
|
|
@@ -75453,7 +75508,7 @@ var isRegExp = (value) => {
|
|
|
75453
75508
|
state.kern = kernNode.attributes["w:val"];
|
|
75454
75509
|
}
|
|
75455
75510
|
}, SuperConverter;
|
|
75456
|
-
var
|
|
75511
|
+
var init_SuperConverter_CEAHNaZj_es = __esm(() => {
|
|
75457
75512
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
75458
75513
|
init_jszip_ChlR43oI_es();
|
|
75459
75514
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -135858,7 +135913,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
135858
135913
|
init_remark_gfm_z_sDF4ss_es();
|
|
135859
135914
|
});
|
|
135860
135915
|
|
|
135861
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
135916
|
+
// ../../packages/superdoc/dist/chunks/src-DWexXOnd.es.js
|
|
135862
135917
|
function deleteProps(obj, propOrProps) {
|
|
135863
135918
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
135864
135919
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -199925,7 +199980,9 @@ var Node$13 = class Node$14 {
|
|
|
199925
199980
|
const provider = editor.options.collaborationProvider;
|
|
199926
199981
|
if (!provider)
|
|
199927
199982
|
return;
|
|
199928
|
-
const emit2 = () => {
|
|
199983
|
+
const emit2 = (synced) => {
|
|
199984
|
+
if (synced === false)
|
|
199985
|
+
return;
|
|
199929
199986
|
extension2.options.isReady = true;
|
|
199930
199987
|
editor.emit("collaborationReady", {
|
|
199931
199988
|
editor,
|
|
@@ -219387,9 +219444,9 @@ var Node$13 = class Node$14 {
|
|
|
219387
219444
|
return false;
|
|
219388
219445
|
return Boolean(checker(attrs));
|
|
219389
219446
|
}, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
|
|
219390
|
-
var
|
|
219447
|
+
var init_src_DWexXOnd_es = __esm(() => {
|
|
219391
219448
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
219392
|
-
|
|
219449
|
+
init_SuperConverter_CEAHNaZj_es();
|
|
219393
219450
|
init_jszip_ChlR43oI_es();
|
|
219394
219451
|
init_uuid_qzgm05fK_es();
|
|
219395
219452
|
init_constants_CMPtQbp7_es();
|
|
@@ -227139,7 +227196,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
227139
227196
|
cleanupState.partSyncHandle = bootstrapPartSync(editor, ydoc);
|
|
227140
227197
|
};
|
|
227141
227198
|
const provider = editor.options.collaborationProvider;
|
|
227142
|
-
if (!provider)
|
|
227199
|
+
if (!provider || isCollaborationProviderSynced(provider))
|
|
227143
227200
|
doBootstrap();
|
|
227144
227201
|
else
|
|
227145
227202
|
cleanupState.partSyncPendingCleanup = onCollaborationProviderSynced(provider, doBootstrap);
|
|
@@ -230117,9 +230174,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230117
230174
|
const ydoc = this.options.ydoc;
|
|
230118
230175
|
const provider = this.options.collaborationProvider;
|
|
230119
230176
|
const doReplaceFileSync = () => {
|
|
230120
|
-
const mediaFiles$1 = this.options.mediaFiles ?? {};
|
|
230121
230177
|
this.#insertNewFileData();
|
|
230122
230178
|
seedPartsFromEditor(this, ydoc, { replaceExisting: true });
|
|
230179
|
+
const mediaFiles$1 = this.options.mediaFiles ?? {};
|
|
230123
230180
|
const mediaMap = ydoc.getMap("media");
|
|
230124
230181
|
for (const key$1 of mediaMap.keys())
|
|
230125
230182
|
if (!(key$1 in mediaFiles$1))
|
|
@@ -230151,6 +230208,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230151
230208
|
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.`));
|
|
230152
230209
|
}, SYNC_TIMEOUT_MS);
|
|
230153
230210
|
});
|
|
230211
|
+
doReplaceFileSync();
|
|
230154
230212
|
} else
|
|
230155
230213
|
this.#insertNewFileData();
|
|
230156
230214
|
if (!this.options.ydoc)
|
|
@@ -253071,8 +253129,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
253071
253129
|
|
|
253072
253130
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
253073
253131
|
var init_super_editor_es = __esm(() => {
|
|
253074
|
-
|
|
253075
|
-
|
|
253132
|
+
init_src_DWexXOnd_es();
|
|
253133
|
+
init_SuperConverter_CEAHNaZj_es();
|
|
253076
253134
|
init_jszip_ChlR43oI_es();
|
|
253077
253135
|
init_xml_js_DLE8mr0n_es();
|
|
253078
253136
|
init_constants_CMPtQbp7_es();
|
|
@@ -285907,6 +285965,49 @@ var cloneMark3 = (mark2) => {
|
|
|
285907
285965
|
};
|
|
285908
285966
|
var init_track_change_helpers = () => {};
|
|
285909
285967
|
|
|
285968
|
+
// ../../packages/super-editor/src/core/super-converter/v3/handlers/helpers.js
|
|
285969
|
+
var getMarkType3 = (mark2) => mark2?.type?.name ?? mark2?.type ?? null, toRunPropertyElements2 = (marks = []) => processOutputMarks2(marks).filter((element3) => element3 && typeof element3 === "object" && element3.name), findTrackFormatMark2 = (marks = []) => marks.find((mark2) => getMarkType3(mark2) === TrackFormatMarkName2) ?? null, createRunPropertiesChangeElement2 = (trackFormatMark) => {
|
|
285970
|
+
if (!trackFormatMark)
|
|
285971
|
+
return;
|
|
285972
|
+
const beforeMarks = Array.isArray(trackFormatMark.attrs?.before) ? trackFormatMark.attrs.before : [];
|
|
285973
|
+
const previousRunProperties = {
|
|
285974
|
+
type: "element",
|
|
285975
|
+
name: "w:rPr",
|
|
285976
|
+
elements: toRunPropertyElements2(beforeMarks)
|
|
285977
|
+
};
|
|
285978
|
+
return {
|
|
285979
|
+
type: "element",
|
|
285980
|
+
name: "w:rPrChange",
|
|
285981
|
+
attributes: {
|
|
285982
|
+
"w:id": trackFormatMark.attrs?.id,
|
|
285983
|
+
"w:author": trackFormatMark.attrs?.author,
|
|
285984
|
+
"w:authorEmail": trackFormatMark.attrs?.authorEmail,
|
|
285985
|
+
"w:date": trackFormatMark.attrs?.date
|
|
285986
|
+
},
|
|
285987
|
+
elements: [previousRunProperties]
|
|
285988
|
+
};
|
|
285989
|
+
}, appendTrackFormatChangeToRunProperties2 = (runPropertiesNode, marks = []) => {
|
|
285990
|
+
if (!runPropertiesNode)
|
|
285991
|
+
return runPropertiesNode;
|
|
285992
|
+
const trackFormatMark = findTrackFormatMark2(marks);
|
|
285993
|
+
if (!trackFormatMark)
|
|
285994
|
+
return runPropertiesNode;
|
|
285995
|
+
if (!Array.isArray(runPropertiesNode.elements)) {
|
|
285996
|
+
runPropertiesNode.elements = [];
|
|
285997
|
+
}
|
|
285998
|
+
const hasExistingChange = runPropertiesNode.elements.some((element3) => element3?.name === "w:rPrChange");
|
|
285999
|
+
if (hasExistingChange)
|
|
286000
|
+
return runPropertiesNode;
|
|
286001
|
+
const changeElement = createRunPropertiesChangeElement2(trackFormatMark);
|
|
286002
|
+
if (changeElement) {
|
|
286003
|
+
runPropertiesNode.elements.push(changeElement);
|
|
286004
|
+
}
|
|
286005
|
+
return runPropertiesNode;
|
|
286006
|
+
};
|
|
286007
|
+
var init_helpers4 = __esm(() => {
|
|
286008
|
+
init_exporter();
|
|
286009
|
+
});
|
|
286010
|
+
|
|
285910
286011
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/hyperlink/hyperlink-translator.js
|
|
285911
286012
|
function decode28(params3) {
|
|
285912
286013
|
const { hyperlinkGroup = [params3.node] } = params3.extraParams || {};
|
|
@@ -286090,6 +286191,36 @@ var XML_NODE_NAME9 = "w:r", SD_KEY_NAME2 = "run", REFERENCE_RUN_STYLE_BY_XML_NAM
|
|
|
286090
286191
|
if (!Array.isArray(node4.elements))
|
|
286091
286192
|
return false;
|
|
286092
286193
|
return node4.elements.some((child) => hasXmlNodeNamed2(child, targetName));
|
|
286194
|
+
}, getRunPropertiesNode2 = (runNode) => {
|
|
286195
|
+
if (!runNode)
|
|
286196
|
+
return null;
|
|
286197
|
+
if (!Array.isArray(runNode.elements))
|
|
286198
|
+
runNode.elements = [];
|
|
286199
|
+
let runPropertiesNode = runNode.elements.find((element3) => element3?.name === "w:rPr");
|
|
286200
|
+
if (!runPropertiesNode) {
|
|
286201
|
+
runPropertiesNode = { type: "element", name: "w:rPr", elements: [] };
|
|
286202
|
+
runNode.elements.unshift(runPropertiesNode);
|
|
286203
|
+
}
|
|
286204
|
+
if (!Array.isArray(runPropertiesNode.elements)) {
|
|
286205
|
+
runPropertiesNode.elements = [];
|
|
286206
|
+
}
|
|
286207
|
+
return runPropertiesNode;
|
|
286208
|
+
}, collectRunPropertyChanges2 = (runNode) => {
|
|
286209
|
+
const runPropertiesNode = runNode?.elements?.find((element3) => element3?.name === "w:rPr");
|
|
286210
|
+
if (!Array.isArray(runPropertiesNode?.elements))
|
|
286211
|
+
return [];
|
|
286212
|
+
return runPropertiesNode.elements.filter((element3) => element3?.name === "w:rPrChange").map((element3) => cloneXmlNode2(element3));
|
|
286213
|
+
}, restoreRunPropertyChanges2 = (runNode, runPropertyChanges = []) => {
|
|
286214
|
+
if (!runPropertyChanges.length)
|
|
286215
|
+
return;
|
|
286216
|
+
const runPropertiesNode = getRunPropertiesNode2(runNode);
|
|
286217
|
+
const existingNames = new Set(runPropertiesNode.elements.map((element3) => element3?.name));
|
|
286218
|
+
runPropertyChanges.forEach((changeElement) => {
|
|
286219
|
+
if (!changeElement?.name || existingNames.has(changeElement.name))
|
|
286220
|
+
return;
|
|
286221
|
+
runPropertiesNode.elements.push(changeElement);
|
|
286222
|
+
existingNames.add(changeElement.name);
|
|
286223
|
+
});
|
|
286093
286224
|
}, ensureReferenceRunFormatting2 = (runNode, referenceXmlName) => {
|
|
286094
286225
|
const styleId = REFERENCE_RUN_STYLE_BY_XML_NAME2[referenceXmlName];
|
|
286095
286226
|
if (!styleId)
|
|
@@ -286221,6 +286352,7 @@ var XML_NODE_NAME9 = "w:r", SD_KEY_NAME2 = "run", REFERENCE_RUN_STYLE_BY_XML_NAM
|
|
|
286221
286352
|
return translator95.decode({ ...params3, extraParams });
|
|
286222
286353
|
}
|
|
286223
286354
|
const { runNode: runNodeForExport, trackingMarksByType } = prepareRunTrackingContext2(node4);
|
|
286355
|
+
const runTrackFormatMark = findTrackFormatMark2(runNodeForExport.marks);
|
|
286224
286356
|
const runAttrs = runNodeForExport.attrs || {};
|
|
286225
286357
|
const runProperties = runAttrs.runProperties || {};
|
|
286226
286358
|
const exportParams = {
|
|
@@ -286239,6 +286371,7 @@ var XML_NODE_NAME9 = "w:r", SD_KEY_NAME2 = "run", REFERENCE_RUN_STYLE_BY_XML_NAM
|
|
|
286239
286371
|
const runPropsTemplate = runPropertiesElement ? cloneXmlNode2(runPropertiesElement) : null;
|
|
286240
286372
|
const applyBaseRunProps = (runNode) => applyRunPropertiesTemplate2(runNode, runPropsTemplate);
|
|
286241
286373
|
const replaceRunProps = (runNode) => {
|
|
286374
|
+
const existingRunPropertyChanges = collectRunPropertyChanges2(runNode);
|
|
286242
286375
|
if (Array.isArray(runNode.elements)) {
|
|
286243
286376
|
runNode.elements = runNode.elements.filter((el) => el?.name !== "w:rPr");
|
|
286244
286377
|
} else {
|
|
@@ -286247,6 +286380,11 @@ var XML_NODE_NAME9 = "w:r", SD_KEY_NAME2 = "run", REFERENCE_RUN_STYLE_BY_XML_NAM
|
|
|
286247
286380
|
if (runPropsTemplate) {
|
|
286248
286381
|
runNode.elements.unshift(cloneXmlNode2(runPropsTemplate));
|
|
286249
286382
|
}
|
|
286383
|
+
restoreRunPropertyChanges2(runNode, existingRunPropertyChanges);
|
|
286384
|
+
if (!existingRunPropertyChanges.length && runTrackFormatMark) {
|
|
286385
|
+
const runPropertiesNode = getRunPropertiesNode2(runNode);
|
|
286386
|
+
appendTrackFormatChangeToRunProperties2(runPropertiesNode, [runTrackFormatMark]);
|
|
286387
|
+
}
|
|
286250
286388
|
};
|
|
286251
286389
|
const runs2 = [];
|
|
286252
286390
|
childElements.forEach((child) => {
|
|
@@ -286323,6 +286461,7 @@ var init_r_translator = __esm(() => {
|
|
|
286323
286461
|
init_helpers2();
|
|
286324
286462
|
init_helpers3();
|
|
286325
286463
|
init_track_change_helpers();
|
|
286464
|
+
init_helpers4();
|
|
286326
286465
|
init_hyperlink_translator();
|
|
286327
286466
|
init_rpr();
|
|
286328
286467
|
init_attributes6();
|
|
@@ -305254,23 +305393,32 @@ var init_drawing = __esm(() => {
|
|
|
305254
305393
|
|
|
305255
305394
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/t/helpers/translate-text-node.js
|
|
305256
305395
|
function getTextNodeForExport2(text7, marks, params3) {
|
|
305396
|
+
const normalizedMarks = Array.isArray(marks) ? marks : [];
|
|
305257
305397
|
const hasLeadingOrTrailingSpace = /^\s|\s$/.test(text7);
|
|
305258
305398
|
const space = hasLeadingOrTrailingSpace ? "preserve" : null;
|
|
305259
305399
|
const nodeAttrs = space ? { "xml:space": space } : null;
|
|
305260
305400
|
const textNodes = [];
|
|
305261
|
-
const textRunProperties = decodeRPrFromMarks2(
|
|
305401
|
+
const textRunProperties = decodeRPrFromMarks2(normalizedMarks);
|
|
305262
305402
|
const parentRunProperties = params3.extraParams?.runProperties || {};
|
|
305263
305403
|
const combinedRunProperties = combineRunProperties2([parentRunProperties, textRunProperties]);
|
|
305264
|
-
const
|
|
305404
|
+
const trackFormatMark = findTrackFormatMark2(normalizedMarks);
|
|
305405
|
+
let rPrNode = translator47.decode({ node: { attrs: { runProperties: combinedRunProperties } } });
|
|
305406
|
+
if (!rPrNode && trackFormatMark) {
|
|
305407
|
+
rPrNode = {
|
|
305408
|
+
type: "element",
|
|
305409
|
+
name: "w:rPr",
|
|
305410
|
+
elements: []
|
|
305411
|
+
};
|
|
305412
|
+
}
|
|
305413
|
+
appendTrackFormatChangeToRunProperties2(rPrNode, normalizedMarks);
|
|
305265
305414
|
textNodes.push({
|
|
305266
305415
|
name: "w:t",
|
|
305267
305416
|
elements: [{ text: text7, type: "text" }],
|
|
305268
305417
|
attributes: nodeAttrs
|
|
305269
305418
|
});
|
|
305270
|
-
if (params3) {
|
|
305271
|
-
const
|
|
305272
|
-
|
|
305273
|
-
marks.forEach((mark2) => {
|
|
305419
|
+
if (params3?.editor?.extensionService?.extensions) {
|
|
305420
|
+
const customMarks = params3.editor.extensionService.extensions.filter((extension2) => extension2.isExternal === true);
|
|
305421
|
+
normalizedMarks.forEach((mark2) => {
|
|
305274
305422
|
const isCustomMark = customMarks.some((customMark) => {
|
|
305275
305423
|
const customMarkName = customMark.name;
|
|
305276
305424
|
return mark2.type === customMarkName;
|
|
@@ -305310,6 +305458,7 @@ function getTextNodeForExport2(text7, marks, params3) {
|
|
|
305310
305458
|
var init_translate_text_node = __esm(() => {
|
|
305311
305459
|
init_rpr_translator();
|
|
305312
305460
|
init_styles3();
|
|
305461
|
+
init_helpers4();
|
|
305313
305462
|
});
|
|
305314
305463
|
|
|
305315
305464
|
// ../../node_modules/.pnpm/he@1.2.0/node_modules/he/he.js
|
|
@@ -309028,42 +309177,19 @@ var init_imageImporter = __esm(() => {
|
|
|
309028
309177
|
};
|
|
309029
309178
|
});
|
|
309030
309179
|
|
|
309031
|
-
// ../../packages/super-editor/src/core/super-converter/v3/handlers/helpers.js
|
|
309032
|
-
var createTrackStyleMark2 = (marks) => {
|
|
309033
|
-
const trackStyleMark = marks.find((mark2) => mark2.type === "trackFormat");
|
|
309034
|
-
if (trackStyleMark) {
|
|
309035
|
-
return {
|
|
309036
|
-
type: "element",
|
|
309037
|
-
name: "w:rPrChange",
|
|
309038
|
-
attributes: {
|
|
309039
|
-
"w:id": trackStyleMark.attrs.id,
|
|
309040
|
-
"w:author": trackStyleMark.attrs.author,
|
|
309041
|
-
"w:authorEmail": trackStyleMark.attrs.authorEmail,
|
|
309042
|
-
"w:date": trackStyleMark.attrs.date
|
|
309043
|
-
},
|
|
309044
|
-
elements: trackStyleMark.attrs.before.map((mark2) => processOutputMarks2([mark2])).filter((r2) => r2 !== undefined)
|
|
309045
|
-
};
|
|
309046
|
-
}
|
|
309047
|
-
return;
|
|
309048
|
-
};
|
|
309049
|
-
var init_helpers4 = __esm(() => {
|
|
309050
|
-
init_exporter();
|
|
309051
|
-
});
|
|
309052
|
-
|
|
309053
309180
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/del/del-translator.js
|
|
309054
309181
|
function decode74(params3) {
|
|
309055
309182
|
const { node: node4 } = params3;
|
|
309056
309183
|
if (!node4 || !node4.type) {
|
|
309057
309184
|
return null;
|
|
309058
309185
|
}
|
|
309059
|
-
const trackingMarks = ["trackInsert", "
|
|
309060
|
-
const marks = node4.marks;
|
|
309186
|
+
const trackingMarks = ["trackInsert", "trackDelete"];
|
|
309187
|
+
const marks = Array.isArray(node4.marks) ? node4.marks : [];
|
|
309061
309188
|
const trackedMark = marks.find((m2) => m2.type === "trackDelete");
|
|
309062
|
-
|
|
309063
|
-
|
|
309064
|
-
if (trackStyleMark) {
|
|
309065
|
-
node4.marks.push(trackStyleMark);
|
|
309189
|
+
if (!trackedMark) {
|
|
309190
|
+
return null;
|
|
309066
309191
|
}
|
|
309192
|
+
node4.marks = marks.filter((m2) => !trackingMarks.includes(m2.type));
|
|
309067
309193
|
const translatedTextNode = exportSchemaToJson2({ ...params3, node: node4 });
|
|
309068
309194
|
const textNode = translatedTextNode.elements.find((n) => n.name === "w:t");
|
|
309069
309195
|
textNode.name = "w:delText";
|
|
@@ -309111,7 +309237,6 @@ var init_del_translator = __esm(() => {
|
|
|
309111
309237
|
init_node_translator2();
|
|
309112
309238
|
init_utils();
|
|
309113
309239
|
init_exporter();
|
|
309114
|
-
init_helpers4();
|
|
309115
309240
|
validXmlAttributes11 = [
|
|
309116
309241
|
createAttributeHandler2("w:id", "id"),
|
|
309117
309242
|
createAttributeHandler2("w:date", "date"),
|
|
@@ -309140,14 +309265,13 @@ function decode75(params3) {
|
|
|
309140
309265
|
if (!node4 || !node4.type) {
|
|
309141
309266
|
return null;
|
|
309142
309267
|
}
|
|
309143
|
-
const trackingMarks = ["trackInsert", "
|
|
309144
|
-
const marks = node4.marks;
|
|
309268
|
+
const trackingMarks = ["trackInsert", "trackDelete"];
|
|
309269
|
+
const marks = Array.isArray(node4.marks) ? node4.marks : [];
|
|
309145
309270
|
const trackedMark = marks.find((m2) => m2.type === "trackInsert");
|
|
309146
|
-
|
|
309147
|
-
|
|
309148
|
-
if (trackStyleMark) {
|
|
309149
|
-
node4.marks.push(trackStyleMark);
|
|
309271
|
+
if (!trackedMark) {
|
|
309272
|
+
return null;
|
|
309150
309273
|
}
|
|
309274
|
+
node4.marks = marks.filter((m2) => !trackingMarks.includes(m2.type));
|
|
309151
309275
|
const translatedTextNode = exportSchemaToJson2({ ...params3, node: node4 });
|
|
309152
309276
|
return {
|
|
309153
309277
|
name: "w:ins",
|
|
@@ -309193,7 +309317,6 @@ var init_ins_translator = __esm(() => {
|
|
|
309193
309317
|
init_node_translator2();
|
|
309194
309318
|
init_utils();
|
|
309195
309319
|
init_exporter();
|
|
309196
|
-
init_helpers4();
|
|
309197
309320
|
validXmlAttributes12 = [
|
|
309198
309321
|
createAttributeHandler2("w:id", "id"),
|
|
309199
309322
|
createAttributeHandler2("w:date", "date"),
|
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.134",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc": "./dist/index.js"
|
|
@@ -20,21 +20,21 @@
|
|
|
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",
|
|
25
|
-
"superdoc": "
|
|
26
|
-
"@superdoc/super-editor": "0.0.1"
|
|
24
|
+
"@superdoc/document-api": "0.0.1",
|
|
25
|
+
"@superdoc/super-editor": "0.0.1",
|
|
26
|
+
"superdoc": "1.18.0"
|
|
27
27
|
},
|
|
28
28
|
"module": "src/index.ts",
|
|
29
29
|
"publishConfig": {
|
|
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-
|
|
36
|
-
"@superdoc-dev/cli-linux-
|
|
37
|
-
"@superdoc-dev/cli-
|
|
33
|
+
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.134",
|
|
34
|
+
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.134",
|
|
35
|
+
"@superdoc-dev/cli-linux-x64": "0.2.0-next.134",
|
|
36
|
+
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.134",
|
|
37
|
+
"@superdoc-dev/cli-windows-x64": "0.2.0-next.134"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"dev": "bun run src/index.ts",
|