@superdoc-dev/cli 0.2.0-next.130 → 0.2.0-next.132
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 +410 -126
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -38443,7 +38443,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
38443
38443
|
emptyOptions2 = {};
|
|
38444
38444
|
});
|
|
38445
38445
|
|
|
38446
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
38446
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-C9IFvZwR.es.js
|
|
38447
38447
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
38448
38448
|
const fieldValue = extension$1.config[field];
|
|
38449
38449
|
if (typeof fieldValue === "function")
|
|
@@ -57998,24 +57998,34 @@ function translateDocumentPartObj(params) {
|
|
|
57998
57998
|
}]
|
|
57999
57999
|
};
|
|
58000
58000
|
}
|
|
58001
|
+
function sanitizeId(id) {
|
|
58002
|
+
if (typeof id === "string" && id.trim() !== "")
|
|
58003
|
+
return id.trim();
|
|
58004
|
+
}
|
|
58001
58005
|
function generateSdtPrForDocPartObj(attrs) {
|
|
58002
58006
|
const existingDocPartObj = attrs.sdtPr?.elements?.find((el) => el.name === "w:docPartObj");
|
|
58003
58007
|
const existingDocPartGallery = existingDocPartObj?.elements?.find((el) => el.name === "w:docPartGallery")?.attributes?.["w:val"];
|
|
58004
58008
|
const docPartGallery = attrs.docPartGallery ?? existingDocPartGallery ?? null;
|
|
58005
|
-
const id = attrs.id ?? attrs.sdtPr?.elements?.find((el) => el.name === "w:id")?.attributes?.["w:val"]
|
|
58009
|
+
const id = sanitizeId(attrs.id ?? attrs.sdtPr?.elements?.find((el) => el.name === "w:id")?.attributes?.["w:val"]);
|
|
58006
58010
|
const docPartUnique = attrs.docPartUnique ?? existingDocPartObj?.elements?.some((el) => el.name === "w:docPartUnique") ?? false;
|
|
58007
58011
|
if (docPartGallery === null) {
|
|
58008
58012
|
if (attrs.sdtPr)
|
|
58009
|
-
return
|
|
58010
|
-
|
|
58011
|
-
|
|
58012
|
-
|
|
58013
|
+
return {
|
|
58014
|
+
...attrs.sdtPr,
|
|
58015
|
+
elements: Array.isArray(attrs.sdtPr.elements) ? attrs.sdtPr.elements.filter((el) => !(el.name === "w:id" && el.attributes?.["w:val"]?.trim() === "")) : attrs.sdtPr.elements
|
|
58016
|
+
};
|
|
58017
|
+
const elements = [{
|
|
58018
|
+
name: "w:docPartObj",
|
|
58019
|
+
elements: []
|
|
58020
|
+
}];
|
|
58021
|
+
if (id != null)
|
|
58022
|
+
elements.unshift({
|
|
58013
58023
|
name: "w:id",
|
|
58014
58024
|
attributes: { "w:val": id }
|
|
58015
|
-
}
|
|
58016
|
-
|
|
58017
|
-
|
|
58018
|
-
|
|
58025
|
+
});
|
|
58026
|
+
return {
|
|
58027
|
+
name: "w:sdtPr",
|
|
58028
|
+
elements
|
|
58019
58029
|
};
|
|
58020
58030
|
}
|
|
58021
58031
|
const docPartObjElements = [{
|
|
@@ -58025,12 +58035,14 @@ function generateSdtPrForDocPartObj(attrs) {
|
|
|
58025
58035
|
if (docPartUnique)
|
|
58026
58036
|
docPartObjElements.push({ name: "w:docPartUnique" });
|
|
58027
58037
|
const sdtPrElements = [{
|
|
58028
|
-
name: "w:id",
|
|
58029
|
-
attributes: { "w:val": id }
|
|
58030
|
-
}, {
|
|
58031
58038
|
name: "w:docPartObj",
|
|
58032
58039
|
elements: docPartObjElements
|
|
58033
58040
|
}];
|
|
58041
|
+
if (id != null)
|
|
58042
|
+
sdtPrElements.unshift({
|
|
58043
|
+
name: "w:id",
|
|
58044
|
+
attributes: { "w:val": id }
|
|
58045
|
+
});
|
|
58034
58046
|
if (attrs.sdtPr?.elements && Array.isArray(attrs.sdtPr.elements)) {
|
|
58035
58047
|
const elementsToExclude = ["w:id", "w:docPartObj"];
|
|
58036
58048
|
const passthroughElements = attrs.sdtPr.elements.filter((el) => el && el.name && !elementsToExclude.includes(el.name));
|
|
@@ -64076,11 +64088,7 @@ var isRegExp = (value) => {
|
|
|
64076
64088
|
};
|
|
64077
64089
|
}, tableOfContentsHandler = (params) => {
|
|
64078
64090
|
const node3 = params.nodes[0];
|
|
64079
|
-
const normalizedContent = normalizeDocPartContent(params
|
|
64080
|
-
...params,
|
|
64081
|
-
nodes: node3.elements,
|
|
64082
|
-
path: [...params.path || [], node3]
|
|
64083
|
-
}));
|
|
64091
|
+
const normalizedContent = normalizeDocPartContent(translateTocSdtContent(node3, params));
|
|
64084
64092
|
const sdtPr = params.extraParams.sdtPr;
|
|
64085
64093
|
return {
|
|
64086
64094
|
type: "documentPartObject",
|
|
@@ -64113,10 +64121,35 @@ var isRegExp = (value) => {
|
|
|
64113
64121
|
sdtPr
|
|
64114
64122
|
}
|
|
64115
64123
|
};
|
|
64116
|
-
}, validGalleryTypeMap, inlineNodeTypes, wrapInlineNode = (node3) => ({
|
|
64124
|
+
}, validGalleryTypeMap, inlineNodeTypes, SD_TOC_XML_NAME = "sd:tableOfContents", PARAGRAPH_XML_NAME = "w:p", PARAGRAPH_PROPERTIES_XML_NAME = "w:pPr", wrapInlineNode = (node3) => ({
|
|
64117
64125
|
type: "paragraph",
|
|
64118
64126
|
content: [node3]
|
|
64119
|
-
}),
|
|
64127
|
+
}), hasMeaningfulParagraphContent = (elements = []) => elements.some((element) => element?.name && element.name !== PARAGRAPH_PROPERTIES_XML_NAME), translateNodes = (params, nodes, pathTail = []) => params.nodeListHandler.handler({
|
|
64128
|
+
...params,
|
|
64129
|
+
nodes,
|
|
64130
|
+
path: [...params.path || [], ...pathTail]
|
|
64131
|
+
}), translateTocSdtContent = (sdtContent, params) => {
|
|
64132
|
+
const translatedContent = [];
|
|
64133
|
+
const parentPath = [sdtContent];
|
|
64134
|
+
(sdtContent?.elements || []).forEach((child) => {
|
|
64135
|
+
const childElements = Array.isArray(child?.elements) ? child.elements : [];
|
|
64136
|
+
const tocElements = child?.name === PARAGRAPH_XML_NAME ? childElements.filter((el) => el?.name === SD_TOC_XML_NAME) : [];
|
|
64137
|
+
if (tocElements.length === 0) {
|
|
64138
|
+
translatedContent.push(...translateNodes(params, [child], parentPath));
|
|
64139
|
+
return;
|
|
64140
|
+
}
|
|
64141
|
+
const remainingElements = childElements.filter((el) => el?.name !== SD_TOC_XML_NAME);
|
|
64142
|
+
if (hasMeaningfulParagraphContent(remainingElements))
|
|
64143
|
+
translatedContent.push(...translateNodes(params, [{
|
|
64144
|
+
...child,
|
|
64145
|
+
elements: remainingElements
|
|
64146
|
+
}], parentPath));
|
|
64147
|
+
tocElements.forEach((tocElement) => {
|
|
64148
|
+
translatedContent.push(...translateNodes(params, [tocElement], [...parentPath, child]));
|
|
64149
|
+
});
|
|
64150
|
+
});
|
|
64151
|
+
return translatedContent;
|
|
64152
|
+
}, normalizeDocPartContent = (nodes = []) => {
|
|
64120
64153
|
const normalized = [];
|
|
64121
64154
|
nodes.forEach((node3) => {
|
|
64122
64155
|
if (inlineNodeTypes.has(node3?.type))
|
|
@@ -68546,6 +68579,7 @@ var isRegExp = (value) => {
|
|
|
68546
68579
|
let currentFieldStack = [];
|
|
68547
68580
|
let unpairedEnd = null;
|
|
68548
68581
|
let collecting = false;
|
|
68582
|
+
const rawNodeSourceTokens = /* @__PURE__ */ new WeakMap;
|
|
68549
68583
|
const finalizeField = () => {
|
|
68550
68584
|
if (collecting) {
|
|
68551
68585
|
const collectedNodes = collectedNodesStack.pop().filter((n) => n !== null);
|
|
@@ -68562,16 +68596,30 @@ var isRegExp = (value) => {
|
|
|
68562
68596
|
} else
|
|
68563
68597
|
unpairedEnd = true;
|
|
68564
68598
|
};
|
|
68565
|
-
|
|
68566
|
-
|
|
68599
|
+
const captureRawNodeForCurrentField = (rawNode, capturedRawNodes, rawSourceToken) => {
|
|
68600
|
+
if (rawCollectedNodesStack.length === 0)
|
|
68601
|
+
return;
|
|
68602
|
+
if (capturedRawNodes.has(rawNode))
|
|
68603
|
+
return;
|
|
68604
|
+
const currentRawStack = rawCollectedNodesStack[rawCollectedNodesStack.length - 1];
|
|
68605
|
+
const lastRawNode = currentRawStack[currentRawStack.length - 1];
|
|
68606
|
+
if (lastRawNode?.name === "w:r" && rawNode?.name === "w:r" && rawNodeSourceTokens.get(lastRawNode) === rawSourceToken && Array.isArray(lastRawNode.elements) && Array.isArray(rawNode.elements))
|
|
68607
|
+
lastRawNode.elements.push(...carbonCopy(rawNode.elements));
|
|
68608
|
+
else {
|
|
68609
|
+
currentRawStack.push(rawNode);
|
|
68610
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
68611
|
+
}
|
|
68612
|
+
capturedRawNodes.add(rawNode);
|
|
68613
|
+
};
|
|
68614
|
+
const processNode = (node3, rawNode, capturedRawNodes, rawSourceToken) => {
|
|
68567
68615
|
collecting = collectedNodesStack.length > 0;
|
|
68568
68616
|
if (shouldSkipFieldProcessing$1(node3)) {
|
|
68569
68617
|
if (collecting) {
|
|
68570
68618
|
collectedNodesStack[collectedNodesStack.length - 1].push(node3);
|
|
68571
|
-
|
|
68619
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68572
68620
|
} else
|
|
68573
68621
|
processedNodes.push(node3);
|
|
68574
|
-
|
|
68622
|
+
return;
|
|
68575
68623
|
}
|
|
68576
68624
|
const fldType = node3.elements?.find((el) => el.name === "w:fldChar")?.attributes?.["w:fldCharType"];
|
|
68577
68625
|
const instrTextEl = node3.elements?.find((el) => el.name === "w:instrText");
|
|
@@ -68587,49 +68635,52 @@ var isRegExp = (value) => {
|
|
|
68587
68635
|
rawCollectedNodesStack[rawCollectedNodesStack.length - 1].push(...processed);
|
|
68588
68636
|
} else
|
|
68589
68637
|
processedNodes.push(...processed);
|
|
68590
|
-
|
|
68638
|
+
return;
|
|
68591
68639
|
}
|
|
68592
68640
|
}
|
|
68593
68641
|
}
|
|
68594
68642
|
if (fldType === "begin") {
|
|
68595
68643
|
collectedNodesStack.push([]);
|
|
68596
|
-
|
|
68644
|
+
const rawStack = [rawNode];
|
|
68645
|
+
rawCollectedNodesStack.push(rawStack);
|
|
68646
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
68647
|
+
capturedRawNodes.add(rawNode);
|
|
68597
68648
|
currentFieldStack.push({
|
|
68598
68649
|
instrText: "",
|
|
68599
68650
|
instructionTokens: [],
|
|
68600
68651
|
afterSeparate: false
|
|
68601
68652
|
});
|
|
68602
|
-
|
|
68653
|
+
return;
|
|
68603
68654
|
}
|
|
68604
68655
|
if (collecting && currentFieldStack.length > 0) {
|
|
68605
68656
|
const currentField = currentFieldStack[currentFieldStack.length - 1];
|
|
68606
68657
|
if (!currentField.afterSeparate) {
|
|
68607
68658
|
const instructionTokens = extractInstructionTokensFromNode(node3);
|
|
68608
68659
|
if (instructionTokens.length > 0) {
|
|
68609
|
-
|
|
68660
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68610
68661
|
currentField.instructionTokens.push(...instructionTokens);
|
|
68611
68662
|
const instrTextValue = instrTextEl?.elements?.[0]?.text;
|
|
68612
68663
|
if (instrTextValue != null)
|
|
68613
68664
|
currentField.instrText += `${instrTextValue} `;
|
|
68614
68665
|
if (instructionTokens.some((token) => token.type === "tab"))
|
|
68615
68666
|
currentField.instrText += "\t";
|
|
68616
|
-
|
|
68667
|
+
return;
|
|
68617
68668
|
}
|
|
68618
68669
|
}
|
|
68619
68670
|
}
|
|
68620
68671
|
if (fldType === "end") {
|
|
68621
68672
|
if (collecting)
|
|
68622
|
-
|
|
68673
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68623
68674
|
finalizeField();
|
|
68624
|
-
|
|
68675
|
+
return;
|
|
68625
68676
|
} else if (fldType === "separate") {
|
|
68626
68677
|
if (collecting) {
|
|
68627
|
-
|
|
68678
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68628
68679
|
const currentField = currentFieldStack[currentFieldStack.length - 1];
|
|
68629
68680
|
if (currentField)
|
|
68630
68681
|
currentField.afterSeparate = true;
|
|
68631
68682
|
}
|
|
68632
|
-
|
|
68683
|
+
return;
|
|
68633
68684
|
}
|
|
68634
68685
|
if (Array.isArray(node3.elements)) {
|
|
68635
68686
|
const childResult = preProcessNodesForFldChar(node3.elements, docx);
|
|
@@ -68638,22 +68689,35 @@ var isRegExp = (value) => {
|
|
|
68638
68689
|
childResult.unpairedBegin.forEach((pendingField) => {
|
|
68639
68690
|
currentFieldStack.push(pendingField.fieldInfo);
|
|
68640
68691
|
collectedNodesStack.push([node3]);
|
|
68641
|
-
|
|
68692
|
+
const rawStack = [rawNode];
|
|
68693
|
+
rawCollectedNodesStack.push(rawStack);
|
|
68694
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
68695
|
+
capturedRawNodes.add(rawNode);
|
|
68642
68696
|
});
|
|
68643
68697
|
else if (childResult.unpairedEnd) {
|
|
68644
68698
|
collectedNodesStack[collectedNodesStack.length - 1].push(node3);
|
|
68645
|
-
|
|
68699
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68646
68700
|
finalizeField();
|
|
68647
68701
|
} else if (collecting) {
|
|
68648
68702
|
collectedNodesStack[collectedNodesStack.length - 1].push(node3);
|
|
68649
|
-
|
|
68703
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68650
68704
|
} else
|
|
68651
68705
|
processedNodes.push(node3);
|
|
68652
68706
|
} else if (collecting) {
|
|
68653
68707
|
collectedNodesStack[collectedNodesStack.length - 1].push(node3);
|
|
68654
|
-
|
|
68708
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
68655
68709
|
} else
|
|
68656
68710
|
processedNodes.push(node3);
|
|
68711
|
+
};
|
|
68712
|
+
for (const node3 of nodes) {
|
|
68713
|
+
const rawNode = carbonCopy(node3);
|
|
68714
|
+
const logicalNodes = expandNodeForFieldProcessing(node3);
|
|
68715
|
+
const rawLogicalNodes = expandNodeForFieldProcessing(rawNode);
|
|
68716
|
+
const capturedRawNodes = /* @__PURE__ */ new Set;
|
|
68717
|
+
const rawSourceToken = {};
|
|
68718
|
+
logicalNodes.forEach((logicalNode, index2) => {
|
|
68719
|
+
processNode(logicalNode, rawLogicalNodes[index2] ?? rawNode, capturedRawNodes, rawSourceToken);
|
|
68720
|
+
});
|
|
68657
68721
|
}
|
|
68658
68722
|
let unpairedBegin = null;
|
|
68659
68723
|
if (collectedNodesStack.length > 0) {
|
|
@@ -68698,6 +68762,55 @@ var isRegExp = (value) => {
|
|
|
68698
68762
|
tokens.push({ type: "tab" });
|
|
68699
68763
|
});
|
|
68700
68764
|
return tokens;
|
|
68765
|
+
}, FIELD_CONTROL_ELEMENT_NAMES, INSTRUCTION_ELEMENT_NAMES, cloneNodeWithElements = (node3, elements) => ({
|
|
68766
|
+
...node3,
|
|
68767
|
+
elements: carbonCopy(elements)
|
|
68768
|
+
}), expandNodeForFieldProcessing = (node3) => {
|
|
68769
|
+
const elements = Array.isArray(node3?.elements) ? node3.elements : null;
|
|
68770
|
+
if (node3?.name !== "w:r" || !elements || elements.length === 0)
|
|
68771
|
+
return [node3];
|
|
68772
|
+
const runProperties = elements.filter((el) => el?.name === "w:rPr");
|
|
68773
|
+
const contentElements = elements.filter((el) => el?.name !== "w:rPr");
|
|
68774
|
+
const logicalNodes = [];
|
|
68775
|
+
let currentKind = null;
|
|
68776
|
+
let currentElements = [];
|
|
68777
|
+
const flushCurrentGroup = () => {
|
|
68778
|
+
if (currentElements.length === 0)
|
|
68779
|
+
return;
|
|
68780
|
+
logicalNodes.push(cloneNodeWithElements(node3, [...runProperties, ...currentElements]));
|
|
68781
|
+
currentElements = [];
|
|
68782
|
+
currentKind = null;
|
|
68783
|
+
};
|
|
68784
|
+
contentElements.forEach((element) => {
|
|
68785
|
+
if (!element?.name) {
|
|
68786
|
+
if (currentKind !== "content") {
|
|
68787
|
+
flushCurrentGroup();
|
|
68788
|
+
currentKind = "content";
|
|
68789
|
+
}
|
|
68790
|
+
currentElements.push(element);
|
|
68791
|
+
return;
|
|
68792
|
+
}
|
|
68793
|
+
if (FIELD_CONTROL_ELEMENT_NAMES.has(element.name)) {
|
|
68794
|
+
flushCurrentGroup();
|
|
68795
|
+
logicalNodes.push(cloneNodeWithElements(node3, [...runProperties, element]));
|
|
68796
|
+
return;
|
|
68797
|
+
}
|
|
68798
|
+
if (INSTRUCTION_ELEMENT_NAMES.has(element.name)) {
|
|
68799
|
+
if (currentKind !== "instruction") {
|
|
68800
|
+
flushCurrentGroup();
|
|
68801
|
+
currentKind = "instruction";
|
|
68802
|
+
}
|
|
68803
|
+
currentElements.push(element);
|
|
68804
|
+
return;
|
|
68805
|
+
}
|
|
68806
|
+
if (currentKind !== "content") {
|
|
68807
|
+
flushCurrentGroup();
|
|
68808
|
+
currentKind = "content";
|
|
68809
|
+
}
|
|
68810
|
+
currentElements.push(element);
|
|
68811
|
+
});
|
|
68812
|
+
flushCurrentGroup();
|
|
68813
|
+
return logicalNodes.length > 1 ? logicalNodes : [node3];
|
|
68701
68814
|
}, SKIP_FIELD_PROCESSING_NODE_NAMES, shouldSkipFieldProcessing = (node3) => SKIP_FIELD_PROCESSING_NODE_NAMES.has(node3?.name), preProcessPageFieldsOnly = (nodes = [], depth = 0) => {
|
|
68702
68815
|
const processedNodes = [];
|
|
68703
68816
|
let i2 = 0;
|
|
@@ -74860,7 +74973,7 @@ var isRegExp = (value) => {
|
|
|
74860
74973
|
state.kern = kernNode.attributes["w:val"];
|
|
74861
74974
|
}
|
|
74862
74975
|
}, SuperConverter;
|
|
74863
|
-
var
|
|
74976
|
+
var init_SuperConverter_C9IFvZwR_es = __esm(() => {
|
|
74864
74977
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
74865
74978
|
init_jszip_ChlR43oI_es();
|
|
74866
74979
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -100489,6 +100602,8 @@ var init_SuperConverter_Cw5CEerM_es = __esm(() => {
|
|
|
100489
100602
|
})();
|
|
100490
100603
|
}))(), 1);
|
|
100491
100604
|
SKIP_FIELD_PROCESSING_NODE_NAMES$1 = new Set(["w:drawing", "w:pict"]);
|
|
100605
|
+
FIELD_CONTROL_ELEMENT_NAMES = new Set(["w:fldChar"]);
|
|
100606
|
+
INSTRUCTION_ELEMENT_NAMES = new Set(["w:instrText", "w:tab"]);
|
|
100492
100607
|
SKIP_FIELD_PROCESSING_NODE_NAMES = new Set(["w:drawing", "w:pict"]);
|
|
100493
100608
|
HEADER_FOOTER_FILENAME_PATTERN = /^(header|footer)\d*\.xml$/i;
|
|
100494
100609
|
CHART_TYPE_MAP = {
|
|
@@ -135072,7 +135187,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
135072
135187
|
init_remark_gfm_z_sDF4ss_es();
|
|
135073
135188
|
});
|
|
135074
135189
|
|
|
135075
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
135190
|
+
// ../../packages/superdoc/dist/chunks/src-BVOVss6W.es.js
|
|
135076
135191
|
function deleteProps(obj, propOrProps) {
|
|
135077
135192
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
135078
135193
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -137920,6 +138035,12 @@ function createPositionTrackerPlugin() {
|
|
|
137920
138035
|
} }
|
|
137921
138036
|
});
|
|
137922
138037
|
}
|
|
138038
|
+
function getConverter$12(editor) {
|
|
138039
|
+
return editor.converter;
|
|
138040
|
+
}
|
|
138041
|
+
function readTranslatedLinkedStyles(editor) {
|
|
138042
|
+
return getConverter$12(editor)?.translatedLinkedStyles ?? null;
|
|
138043
|
+
}
|
|
137923
138044
|
function keyName(event) {
|
|
137924
138045
|
var name = !(mac$1 && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey || ie && event.shiftKey && event.key && event.key.length == 1 || event.key == "Unidentified") && event.key || (event.shiftKey ? shift : base4)[event.keyCode] || event.key || "Unidentified";
|
|
137925
138046
|
if (name == "Esc")
|
|
@@ -139799,6 +139920,7 @@ function splitBlockPatch(state, dispatch, editor) {
|
|
|
139799
139920
|
paraId: null,
|
|
139800
139921
|
textId: null
|
|
139801
139922
|
};
|
|
139923
|
+
paragraphAttrs = clearInheritedLinkedStyleId(paragraphAttrs, editor, { emptyParagraph: atEnd });
|
|
139802
139924
|
types3.unshift({
|
|
139803
139925
|
type: deflt || node3.type,
|
|
139804
139926
|
attrs: paragraphAttrs
|
|
@@ -139849,6 +139971,11 @@ function splitBlockPatch(state, dispatch, editor) {
|
|
|
139849
139971
|
}
|
|
139850
139972
|
function applyStyleMarks(state, tr, editor, paragraphAttrs, tableInfo) {
|
|
139851
139973
|
const styleId = paragraphAttrs?.paragraphProperties?.styleId;
|
|
139974
|
+
if (paragraphAttrs?.paragraphProperties && Object.prototype.hasOwnProperty.call(paragraphAttrs.paragraphProperties, "styleId") && paragraphAttrs.paragraphProperties.styleId == null) {
|
|
139975
|
+
tr.setStoredMarks([]);
|
|
139976
|
+
tr.setMeta("sdStyleMarks", []);
|
|
139977
|
+
return;
|
|
139978
|
+
}
|
|
139852
139979
|
if (!editor?.converter && !styleId)
|
|
139853
139980
|
return;
|
|
139854
139981
|
try {
|
|
@@ -140929,7 +141056,7 @@ function createPartPublisher(editor, ydoc, options = {}) {
|
|
|
140929
141056
|
destroy
|
|
140930
141057
|
};
|
|
140931
141058
|
}
|
|
140932
|
-
function getConverter$
|
|
141059
|
+
function getConverter$11(editor) {
|
|
140933
141060
|
return editor.converter;
|
|
140934
141061
|
}
|
|
140935
141062
|
function isHeaderPartId(partId) {
|
|
@@ -140964,7 +141091,7 @@ function ensureHeaderFooterDescriptor(partId, sectionId) {
|
|
|
140964
141091
|
};
|
|
140965
141092
|
},
|
|
140966
141093
|
afterCommit(ctx$1) {
|
|
140967
|
-
const converter = getConverter$
|
|
141094
|
+
const converter = getConverter$11(ctx$1.editor);
|
|
140968
141095
|
if (!converter)
|
|
140969
141096
|
return;
|
|
140970
141097
|
const resolvedSectionId = ctx$1.sectionId ?? sectionId;
|
|
@@ -140984,7 +141111,7 @@ function ensureHeaderFooterDescriptor(partId, sectionId) {
|
|
|
140984
141111
|
refreshActiveSubEditors(converter, type, resolvedSectionId);
|
|
140985
141112
|
},
|
|
140986
141113
|
onDelete(ctx$1) {
|
|
140987
|
-
const converter = getConverter$
|
|
141114
|
+
const converter = getConverter$11(ctx$1.editor);
|
|
140988
141115
|
if (!converter)
|
|
140989
141116
|
return;
|
|
140990
141117
|
const resolvedSectionId = ctx$1.sectionId ?? sectionId;
|
|
@@ -141031,11 +141158,11 @@ function registerHeaderFooterInvalidationHandler(partId) {
|
|
|
141031
141158
|
} catch {}
|
|
141032
141159
|
});
|
|
141033
141160
|
}
|
|
141034
|
-
function getConverter$
|
|
141161
|
+
function getConverter$10(editor) {
|
|
141035
141162
|
return editor.converter;
|
|
141036
141163
|
}
|
|
141037
141164
|
function resolvePartIdFromSectionId(editor, sectionId) {
|
|
141038
|
-
const relsRoot = getConverter$
|
|
141165
|
+
const relsRoot = getConverter$10(editor)?.convertedXml?.["word/_rels/document.xml.rels"]?.elements?.find((el) => el.name === "Relationships");
|
|
141039
141166
|
if (!relsRoot?.elements)
|
|
141040
141167
|
return null;
|
|
141041
141168
|
for (const el of relsRoot.elements) {
|
|
@@ -141077,14 +141204,14 @@ function resolveHeaderFooterRId(partId, relsData, editor) {
|
|
|
141077
141204
|
return rId;
|
|
141078
141205
|
}
|
|
141079
141206
|
if (editor) {
|
|
141080
|
-
const localRels = getConverter$
|
|
141207
|
+
const localRels = getConverter$10(editor)?.convertedXml?.["word/_rels/document.xml.rels"];
|
|
141081
141208
|
if (localRels)
|
|
141082
141209
|
return resolveRIdFromRelsData(localRels, partId);
|
|
141083
141210
|
}
|
|
141084
141211
|
return null;
|
|
141085
141212
|
}
|
|
141086
141213
|
function exportSubEditorToPart(mainEditor, subEditor, sectionId, type) {
|
|
141087
|
-
const converter = getConverter$
|
|
141214
|
+
const converter = getConverter$10(mainEditor);
|
|
141088
141215
|
if (!converter?.exportToXmlJson)
|
|
141089
141216
|
return false;
|
|
141090
141217
|
const partId = resolvePartIdFromSectionId(mainEditor, sectionId);
|
|
@@ -141147,7 +141274,7 @@ function exportSubEditorToPart(mainEditor, subEditor, sectionId, type) {
|
|
|
141147
141274
|
}
|
|
141148
141275
|
}
|
|
141149
141276
|
function registerExistingHeaderFooterDescriptors(editor) {
|
|
141150
|
-
const converter = getConverter$
|
|
141277
|
+
const converter = getConverter$10(editor);
|
|
141151
141278
|
if (!converter?.convertedXml)
|
|
141152
141279
|
return;
|
|
141153
141280
|
const relsRoot = converter.convertedXml["word/_rels/document.xml.rels"]?.elements?.find((el) => el.name === "Relationships");
|
|
@@ -144299,11 +144426,11 @@ function pxToInches$1(value) {
|
|
|
144299
144426
|
function buildSectionId(index2) {
|
|
144300
144427
|
return `section-${index2}`;
|
|
144301
144428
|
}
|
|
144302
|
-
function getConverter$
|
|
144429
|
+
function getConverter$9(editor) {
|
|
144303
144430
|
return editor.converter;
|
|
144304
144431
|
}
|
|
144305
144432
|
function getBodySectPrFromEditor(editor) {
|
|
144306
|
-
const converter = getConverter$
|
|
144433
|
+
const converter = getConverter$9(editor);
|
|
144307
144434
|
if (isSectPrElement$1(converter?.bodySectPr))
|
|
144308
144435
|
return cloneXmlElement(converter.bodySectPr);
|
|
144309
144436
|
const docAttrs = editor.state.doc.attrs ?? {};
|
|
@@ -144352,7 +144479,7 @@ function resolveAnalysisDoc(editor, paragraphs) {
|
|
|
144352
144479
|
return buildAnalysisDocFromParagraphs(paragraphs);
|
|
144353
144480
|
}
|
|
144354
144481
|
function getSettingsRoot(editor) {
|
|
144355
|
-
const settingsPart = getConverter$
|
|
144482
|
+
const settingsPart = getConverter$9(editor)?.convertedXml?.["word/settings.xml"];
|
|
144356
144483
|
if (!settingsPart)
|
|
144357
144484
|
return null;
|
|
144358
144485
|
if (settingsPart.name === "w:settings")
|
|
@@ -144362,7 +144489,7 @@ function getSettingsRoot(editor) {
|
|
|
144362
144489
|
return settingsPart.elements.find((entry) => entry.name === "w:settings") ?? null;
|
|
144363
144490
|
}
|
|
144364
144491
|
function readOddEvenHeadersFlag(editor) {
|
|
144365
|
-
const converter = getConverter$
|
|
144492
|
+
const converter = getConverter$9(editor);
|
|
144366
144493
|
if (converter?.pageStyles?.alternateHeaders != null)
|
|
144367
144494
|
return converter.pageStyles.alternateHeaders === true;
|
|
144368
144495
|
const settingsRoot = getSettingsRoot(editor);
|
|
@@ -149431,11 +149558,11 @@ function executePlan(editor, input2) {
|
|
|
149431
149558
|
expectedRevision: input2.expectedRevision
|
|
149432
149559
|
});
|
|
149433
149560
|
}
|
|
149434
|
-
function getConverter$
|
|
149561
|
+
function getConverter$8(editor) {
|
|
149435
149562
|
return editor.converter;
|
|
149436
149563
|
}
|
|
149437
149564
|
function takeSnapshot(editor, partIds) {
|
|
149438
|
-
const converter = getConverter$
|
|
149565
|
+
const converter = getConverter$8(editor);
|
|
149439
149566
|
const partEntries = /* @__PURE__ */ new Map;
|
|
149440
149567
|
if (converter?.convertedXml)
|
|
149441
149568
|
for (const partId of partIds) {
|
|
@@ -149459,7 +149586,7 @@ function takeSnapshot(editor, partIds) {
|
|
|
149459
149586
|
};
|
|
149460
149587
|
}
|
|
149461
149588
|
function restoreFromSnapshot(editor, snapshot2) {
|
|
149462
|
-
const converter = getConverter$
|
|
149589
|
+
const converter = getConverter$8(editor);
|
|
149463
149590
|
if (!converter)
|
|
149464
149591
|
return;
|
|
149465
149592
|
if (converter.convertedXml)
|
|
@@ -155313,12 +155440,6 @@ function assertRunTilingInvariant(runs2, blockRange, blockId) {
|
|
|
155313
155440
|
if (runs2[i$1].range.end !== runs2[i$1 + 1].range.start)
|
|
155314
155441
|
throw planError("INTERNAL_ERROR", `run-tiling: gap or overlap between runs[${i$1}] and runs[${i$1 + 1}] in block ${blockId}`);
|
|
155315
155442
|
}
|
|
155316
|
-
function getConverter$8(editor) {
|
|
155317
|
-
return editor.converter;
|
|
155318
|
-
}
|
|
155319
|
-
function readTranslatedLinkedStyles(editor) {
|
|
155320
|
-
return getConverter$8(editor)?.translatedLinkedStyles ?? null;
|
|
155321
|
-
}
|
|
155322
155443
|
function encodeV3Ref(payload) {
|
|
155323
155444
|
return `text:${btoa(JSON.stringify(payload))}`;
|
|
155324
155445
|
}
|
|
@@ -194027,6 +194148,27 @@ var Node$13 = class Node$14 {
|
|
|
194027
194148
|
}, command = (fn) => (props) => fn(props), insertTabChar = () => ({ tr }) => {
|
|
194028
194149
|
tr.insertText("\t", tr.selection.from, tr.selection.to);
|
|
194029
194150
|
return true;
|
|
194151
|
+
}, isLinkedParagraphStyleId = (editor, styleId) => {
|
|
194152
|
+
if (!styleId)
|
|
194153
|
+
return false;
|
|
194154
|
+
const styleDefinition = readTranslatedLinkedStyles(editor)?.styles?.[styleId];
|
|
194155
|
+
return Boolean(styleDefinition?.type === "paragraph" && styleDefinition?.link);
|
|
194156
|
+
}, clearInheritedLinkedStyleId = (attrs, editor, { emptyParagraph = false } = {}) => {
|
|
194157
|
+
if (!emptyParagraph)
|
|
194158
|
+
return attrs;
|
|
194159
|
+
if (!attrs || typeof attrs !== "object")
|
|
194160
|
+
return attrs;
|
|
194161
|
+
const paragraphProperties = attrs.paragraphProperties;
|
|
194162
|
+
const styleId = paragraphProperties?.styleId;
|
|
194163
|
+
if (!isLinkedParagraphStyleId(editor, styleId))
|
|
194164
|
+
return attrs;
|
|
194165
|
+
return {
|
|
194166
|
+
...attrs,
|
|
194167
|
+
paragraphProperties: {
|
|
194168
|
+
...paragraphProperties,
|
|
194169
|
+
styleId: null
|
|
194170
|
+
}
|
|
194171
|
+
};
|
|
194030
194172
|
}, base4, shift, mac$1, ie, i3, i3, i3, code6, mac, windows, readFromCache, addToCache, TableMap = class {
|
|
194031
194173
|
constructor(width, height, map$12, problems) {
|
|
194032
194174
|
this.width = width;
|
|
@@ -194356,6 +194498,7 @@ var Node$13 = class Node$14 {
|
|
|
194356
194498
|
return false;
|
|
194357
194499
|
if (dispatch) {
|
|
194358
194500
|
const atEnd = $to.parentOffset === $to.parent.content.size;
|
|
194501
|
+
newAttrs = clearInheritedLinkedStyleId(newAttrs, editor, { emptyParagraph: atEnd });
|
|
194359
194502
|
if (selection instanceof TextSelection2)
|
|
194360
194503
|
tr.deleteSelection();
|
|
194361
194504
|
const deflt = $from.depth === 0 ? null : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));
|
|
@@ -200042,7 +200185,7 @@ var Node$13 = class Node$14 {
|
|
|
200042
200185
|
return !!target?.closest(".button-text-input") || target?.classList?.contains("button-text-input");
|
|
200043
200186
|
}, isToolbarButton = (target) => {
|
|
200044
200187
|
return !!target?.closest(".toolbar-button") || target?.classList?.contains("toolbar-button");
|
|
200045
|
-
}, CustomSelection, LinkedStyles, getLinkedStyle = (styleId, styles = []) => {
|
|
200188
|
+
}, CustomSelection, LinkedStyles, FORMATTING_MARK_NAMES, getLinkedStyle = (styleId, styles = []) => {
|
|
200046
200189
|
const linkedStyle = styles.find((style2) => style2.id === styleId);
|
|
200047
200190
|
const basedOn = linkedStyle?.definition?.attrs?.basedOn;
|
|
200048
200191
|
return {
|
|
@@ -200162,6 +200305,7 @@ var Node$13 = class Node$14 {
|
|
|
200162
200305
|
}, applyLinkedStyleToTransaction = (tr, editor, style2) => {
|
|
200163
200306
|
if (!style2)
|
|
200164
200307
|
return false;
|
|
200308
|
+
tr.setMeta("sdStyleMarks", []);
|
|
200165
200309
|
let selection = tr.selection;
|
|
200166
200310
|
const state = editor.state;
|
|
200167
200311
|
const focusState = CustomSelectionPluginKey.getState(state);
|
|
@@ -200184,25 +200328,22 @@ var Node$13 = class Node$14 {
|
|
|
200184
200328
|
};
|
|
200185
200329
|
const clearFormattingMarks = (startPos, endPos) => {
|
|
200186
200330
|
tr.doc.nodesBetween(startPos, endPos, (node3, pos) => {
|
|
200187
|
-
if (node3.isText && node3.marks.length > 0)
|
|
200188
|
-
const marksToRemove = [
|
|
200189
|
-
"textStyle",
|
|
200190
|
-
"bold",
|
|
200191
|
-
"italic",
|
|
200192
|
-
"underline",
|
|
200193
|
-
"strike",
|
|
200194
|
-
"subscript",
|
|
200195
|
-
"superscript",
|
|
200196
|
-
"highlight"
|
|
200197
|
-
];
|
|
200331
|
+
if (node3.isText && node3.marks.length > 0)
|
|
200198
200332
|
node3.marks.forEach((mark2) => {
|
|
200199
|
-
if (
|
|
200333
|
+
if (FORMATTING_MARK_NAMES.has(mark2.type.name))
|
|
200200
200334
|
tr.removeMark(pos, pos + node3.nodeSize, mark2);
|
|
200201
200335
|
});
|
|
200202
|
-
}
|
|
200203
200336
|
return true;
|
|
200204
200337
|
});
|
|
200205
200338
|
};
|
|
200339
|
+
const clearStoredFormattingMarks = () => {
|
|
200340
|
+
const sourceMarks = tr.storedMarks ?? state.storedMarks ?? (selection.empty ? selection.$from.marks() : []);
|
|
200341
|
+
if (!sourceMarks?.length)
|
|
200342
|
+
return;
|
|
200343
|
+
const nextStoredMarks = sourceMarks.filter((mark2) => !FORMATTING_MARK_NAMES.has(mark2.type.name));
|
|
200344
|
+
if (nextStoredMarks.length !== sourceMarks.length)
|
|
200345
|
+
tr.setStoredMarks(nextStoredMarks);
|
|
200346
|
+
};
|
|
200206
200347
|
if (from$1 === to) {
|
|
200207
200348
|
let pos = from$1;
|
|
200208
200349
|
let paragraphNode = tr.doc.nodeAt(from$1);
|
|
@@ -200214,6 +200355,7 @@ var Node$13 = class Node$14 {
|
|
|
200214
200355
|
paragraphNode = parentNode$1.node;
|
|
200215
200356
|
}
|
|
200216
200357
|
clearFormattingMarks(pos + 1, pos + paragraphNode.nodeSize - 1);
|
|
200358
|
+
clearStoredFormattingMarks();
|
|
200217
200359
|
tr.setNodeMarkup(pos, undefined, getUpdatedParagraphAttrs(paragraphNode));
|
|
200218
200360
|
return true;
|
|
200219
200361
|
}
|
|
@@ -200230,6 +200372,7 @@ var Node$13 = class Node$14 {
|
|
|
200230
200372
|
clearFormattingMarks(pos + 1, pos + node3.nodeSize - 1);
|
|
200231
200373
|
tr.setNodeMarkup(pos, undefined, getUpdatedParagraphAttrs(node3));
|
|
200232
200374
|
});
|
|
200375
|
+
clearStoredFormattingMarks();
|
|
200233
200376
|
return true;
|
|
200234
200377
|
}, stepInsertsTextIntoStyledParagraph = (tr, oldEditorState, step3, stepIndex) => {
|
|
200235
200378
|
if (!step3.slice || step3.slice.size === 0 || typeof step3.from !== "number")
|
|
@@ -213291,6 +213434,9 @@ var Node$13 = class Node$14 {
|
|
|
213291
213434
|
}
|
|
213292
213435
|
} catch (_e) {}
|
|
213293
213436
|
return null;
|
|
213437
|
+
}, hasParagraphStyleOverride = (paragraphNode) => {
|
|
213438
|
+
const paragraphProperties = paragraphNode?.attrs?.paragraphProperties;
|
|
213439
|
+
return Boolean(paragraphProperties && typeof paragraphProperties === "object" && Object.prototype.hasOwnProperty.call(paragraphProperties, "styleId"));
|
|
213294
213440
|
}, createMarksFromDefs = (schema, markDefs = []) => markDefs.map((def2) => {
|
|
213295
213441
|
const markType = schema.marks[def2.type];
|
|
213296
213442
|
return markType ? markType.create(def2.attrs) : null;
|
|
@@ -213319,6 +213465,11 @@ var Node$13 = class Node$14 {
|
|
|
213319
213465
|
}, copyRunPropertiesFromPreviousParagraph = (state, pos, textNode, runType, editor) => {
|
|
213320
213466
|
let runProperties;
|
|
213321
213467
|
let updatedTextNode = textNode;
|
|
213468
|
+
if (hasParagraphStyleOverride(getParagraphAtPos(state.doc, pos)))
|
|
213469
|
+
return {
|
|
213470
|
+
runProperties,
|
|
213471
|
+
textNode: updatedTextNode
|
|
213472
|
+
};
|
|
213322
213473
|
const paragraphNode = getParagraphAtPos(state.doc, pos - 2);
|
|
213323
213474
|
if (paragraphNode && paragraphNode.content.size > 0) {
|
|
213324
213475
|
const lastChild = paragraphNode.child(paragraphNode.childCount - 1);
|
|
@@ -213420,9 +213571,9 @@ var Node$13 = class Node$14 {
|
|
|
213420
213571
|
pendingRanges = collectChangedRangesThroughTransactions(transactions, docSize, { extraRanges: pendingRanges });
|
|
213421
213572
|
if (view?.composing)
|
|
213422
213573
|
return null;
|
|
213423
|
-
const metaFromTxn = [...transactions].reverse().map((txn) => txn.getMeta("sdStyleMarks")).find(
|
|
213424
|
-
if (metaFromTxn
|
|
213425
|
-
lastStyleMarksMeta = metaFromTxn;
|
|
213574
|
+
const metaFromTxn = [...transactions].reverse().map((txn) => txn.getMeta("sdStyleMarks")).find((meta2) => meta2 !== undefined);
|
|
213575
|
+
if (metaFromTxn !== undefined)
|
|
213576
|
+
lastStyleMarksMeta = Array.isArray(metaFromTxn) ? metaFromTxn : [];
|
|
213426
213577
|
const tr = buildWrapTransaction(newState, pendingRanges, runType, editor, lastStyleMarksMeta);
|
|
213427
213578
|
pendingRanges = [];
|
|
213428
213579
|
return tr;
|
|
@@ -217807,9 +217958,9 @@ var Node$13 = class Node$14 {
|
|
|
217807
217958
|
return false;
|
|
217808
217959
|
return Boolean(checker(attrs));
|
|
217809
217960
|
}, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
|
|
217810
|
-
var
|
|
217961
|
+
var init_src_BVOVss6W_es = __esm(() => {
|
|
217811
217962
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
217812
|
-
|
|
217963
|
+
init_SuperConverter_C9IFvZwR_es();
|
|
217813
217964
|
init_jszip_ChlR43oI_es();
|
|
217814
217965
|
init_uuid_qzgm05fK_es();
|
|
217815
217966
|
init_constants_CMPtQbp7_es();
|
|
@@ -229391,6 +229542,16 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
229391
229542
|
};
|
|
229392
229543
|
}
|
|
229393
229544
|
});
|
|
229545
|
+
FORMATTING_MARK_NAMES = new Set([
|
|
229546
|
+
"textStyle",
|
|
229547
|
+
"bold",
|
|
229548
|
+
"italic",
|
|
229549
|
+
"underline",
|
|
229550
|
+
"strike",
|
|
229551
|
+
"subscript",
|
|
229552
|
+
"superscript",
|
|
229553
|
+
"highlight"
|
|
229554
|
+
]);
|
|
229394
229555
|
LinkedStylesPluginKey = new PluginKey("linkedStyles");
|
|
229395
229556
|
NodeResizerKey = new PluginKey("node-resizer");
|
|
229396
229557
|
NodeResizer = Extension.create({
|
|
@@ -244930,7 +245091,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
244930
245091
|
TableOfContents = Node$13.create({
|
|
244931
245092
|
name: "tableOfContents",
|
|
244932
245093
|
group: "block",
|
|
244933
|
-
content: "paragraph
|
|
245094
|
+
content: "paragraph*",
|
|
244934
245095
|
inline: false,
|
|
244935
245096
|
addStorage() {
|
|
244936
245097
|
return { pageMap: null };
|
|
@@ -251418,8 +251579,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
251418
251579
|
|
|
251419
251580
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
251420
251581
|
var init_super_editor_es = __esm(() => {
|
|
251421
|
-
|
|
251422
|
-
|
|
251582
|
+
init_src_BVOVss6W_es();
|
|
251583
|
+
init_SuperConverter_C9IFvZwR_es();
|
|
251423
251584
|
init_jszip_ChlR43oI_es();
|
|
251424
251585
|
init_xml_js_DLE8mr0n_es();
|
|
251425
251586
|
init_constants_CMPtQbp7_es();
|
|
@@ -284518,11 +284679,7 @@ function handleDocPartObj2(params3) {
|
|
|
284518
284679
|
}
|
|
284519
284680
|
var tableOfContentsHandler2 = (params3) => {
|
|
284520
284681
|
const node4 = params3.nodes[0];
|
|
284521
|
-
const translatedContent = params3
|
|
284522
|
-
...params3,
|
|
284523
|
-
nodes: node4.elements,
|
|
284524
|
-
path: [...params3.path || [], node4]
|
|
284525
|
-
});
|
|
284682
|
+
const translatedContent = translateTocSdtContent2(node4, params3);
|
|
284526
284683
|
const normalizedContent = normalizeDocPartContent2(translatedContent);
|
|
284527
284684
|
const sdtPr = params3.extraParams.sdtPr;
|
|
284528
284685
|
const id2 = sdtPr.elements?.find((el) => el.name === "w:id")?.attributes["w:val"] || "";
|
|
@@ -284563,10 +284720,38 @@ var tableOfContentsHandler2 = (params3) => {
|
|
|
284563
284720
|
}
|
|
284564
284721
|
};
|
|
284565
284722
|
return result;
|
|
284566
|
-
}, validGalleryTypeMap2, inlineNodeTypes2, wrapInlineNode2 = (node4) => ({
|
|
284723
|
+
}, validGalleryTypeMap2, inlineNodeTypes2, SD_TOC_XML_NAME2 = "sd:tableOfContents", PARAGRAPH_XML_NAME2 = "w:p", PARAGRAPH_PROPERTIES_XML_NAME2 = "w:pPr", wrapInlineNode2 = (node4) => ({
|
|
284567
284724
|
type: "paragraph",
|
|
284568
284725
|
content: [node4]
|
|
284569
|
-
}),
|
|
284726
|
+
}), hasMeaningfulParagraphContent2 = (elements = []) => elements.some((element3) => element3?.name && element3.name !== PARAGRAPH_PROPERTIES_XML_NAME2), translateNodes2 = (params3, nodes, pathTail = []) => params3.nodeListHandler.handler({
|
|
284727
|
+
...params3,
|
|
284728
|
+
nodes,
|
|
284729
|
+
path: [...params3.path || [], ...pathTail]
|
|
284730
|
+
}), translateTocSdtContent2 = (sdtContent, params3) => {
|
|
284731
|
+
const translatedContent = [];
|
|
284732
|
+
const parentPath = [sdtContent];
|
|
284733
|
+
(sdtContent?.elements || []).forEach((child) => {
|
|
284734
|
+
const childElements = Array.isArray(child?.elements) ? child.elements : [];
|
|
284735
|
+
const tocElements = child?.name === PARAGRAPH_XML_NAME2 ? childElements.filter((el) => el?.name === SD_TOC_XML_NAME2) : [];
|
|
284736
|
+
if (tocElements.length === 0) {
|
|
284737
|
+
translatedContent.push(...translateNodes2(params3, [child], parentPath));
|
|
284738
|
+
return;
|
|
284739
|
+
}
|
|
284740
|
+
const remainingElements = childElements.filter((el) => el?.name !== SD_TOC_XML_NAME2);
|
|
284741
|
+
if (hasMeaningfulParagraphContent2(remainingElements)) {
|
|
284742
|
+
translatedContent.push(...translateNodes2(params3, [
|
|
284743
|
+
{
|
|
284744
|
+
...child,
|
|
284745
|
+
elements: remainingElements
|
|
284746
|
+
}
|
|
284747
|
+
], parentPath));
|
|
284748
|
+
}
|
|
284749
|
+
tocElements.forEach((tocElement) => {
|
|
284750
|
+
translatedContent.push(...translateNodes2(params3, [tocElement], [...parentPath, child]));
|
|
284751
|
+
});
|
|
284752
|
+
});
|
|
284753
|
+
return translatedContent;
|
|
284754
|
+
}, normalizeDocPartContent2 = (nodes = []) => {
|
|
284570
284755
|
const normalized = [];
|
|
284571
284756
|
nodes.forEach((node4) => {
|
|
284572
284757
|
if (inlineNodeTypes2.has(node4?.type)) {
|
|
@@ -299235,6 +299420,7 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299235
299420
|
let currentFieldStack = [];
|
|
299236
299421
|
let unpairedEnd = null;
|
|
299237
299422
|
let collecting = false;
|
|
299423
|
+
const rawNodeSourceTokens = new WeakMap;
|
|
299238
299424
|
const finalizeField = () => {
|
|
299239
299425
|
if (collecting) {
|
|
299240
299426
|
const collectedNodes = collectedNodesStack.pop().filter((n) => n !== null);
|
|
@@ -299252,17 +299438,32 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299252
299438
|
unpairedEnd = true;
|
|
299253
299439
|
}
|
|
299254
299440
|
};
|
|
299255
|
-
|
|
299256
|
-
|
|
299441
|
+
const captureRawNodeForCurrentField = (rawNode, capturedRawNodes, rawSourceToken) => {
|
|
299442
|
+
if (rawCollectedNodesStack.length === 0)
|
|
299443
|
+
return;
|
|
299444
|
+
if (capturedRawNodes.has(rawNode))
|
|
299445
|
+
return;
|
|
299446
|
+
const currentRawStack = rawCollectedNodesStack[rawCollectedNodesStack.length - 1];
|
|
299447
|
+
const lastRawNode = currentRawStack[currentRawStack.length - 1];
|
|
299448
|
+
const canMergeIntoLastNode = lastRawNode?.name === "w:r" && rawNode?.name === "w:r" && rawNodeSourceTokens.get(lastRawNode) === rawSourceToken && Array.isArray(lastRawNode.elements) && Array.isArray(rawNode.elements);
|
|
299449
|
+
if (canMergeIntoLastNode) {
|
|
299450
|
+
lastRawNode.elements.push(...carbonCopy2(rawNode.elements));
|
|
299451
|
+
} else {
|
|
299452
|
+
currentRawStack.push(rawNode);
|
|
299453
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
299454
|
+
}
|
|
299455
|
+
capturedRawNodes.add(rawNode);
|
|
299456
|
+
};
|
|
299457
|
+
const processNode = (node4, rawNode, capturedRawNodes, rawSourceToken) => {
|
|
299257
299458
|
collecting = collectedNodesStack.length > 0;
|
|
299258
299459
|
if (shouldSkipFieldProcessing2(node4)) {
|
|
299259
299460
|
if (collecting) {
|
|
299260
299461
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
299261
|
-
|
|
299462
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299262
299463
|
} else {
|
|
299263
299464
|
processedNodes.push(node4);
|
|
299264
299465
|
}
|
|
299265
|
-
|
|
299466
|
+
return;
|
|
299266
299467
|
}
|
|
299267
299468
|
const fldCharEl = node4.elements?.find((el) => el.name === "w:fldChar");
|
|
299268
299469
|
const fldType = fldCharEl?.attributes?.["w:fldCharType"];
|
|
@@ -299280,22 +299481,25 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299280
299481
|
} else {
|
|
299281
299482
|
processedNodes.push(...processed);
|
|
299282
299483
|
}
|
|
299283
|
-
|
|
299484
|
+
return;
|
|
299284
299485
|
}
|
|
299285
299486
|
}
|
|
299286
299487
|
}
|
|
299287
299488
|
if (fldType === "begin") {
|
|
299288
299489
|
collectedNodesStack.push([]);
|
|
299289
|
-
|
|
299490
|
+
const rawStack = [rawNode];
|
|
299491
|
+
rawCollectedNodesStack.push(rawStack);
|
|
299492
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
299493
|
+
capturedRawNodes.add(rawNode);
|
|
299290
299494
|
currentFieldStack.push({ instrText: "", instructionTokens: [], afterSeparate: false });
|
|
299291
|
-
|
|
299495
|
+
return;
|
|
299292
299496
|
}
|
|
299293
299497
|
if (collecting && currentFieldStack.length > 0) {
|
|
299294
299498
|
const currentField = currentFieldStack[currentFieldStack.length - 1];
|
|
299295
299499
|
if (!currentField.afterSeparate) {
|
|
299296
299500
|
const instructionTokens = extractInstructionTokensFromNode2(node4);
|
|
299297
299501
|
if (instructionTokens.length > 0) {
|
|
299298
|
-
|
|
299502
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299299
299503
|
currentField.instructionTokens.push(...instructionTokens);
|
|
299300
299504
|
const instrTextValue = instrTextEl?.elements?.[0]?.text;
|
|
299301
299505
|
if (instrTextValue != null) {
|
|
@@ -299304,25 +299508,25 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299304
299508
|
if (instructionTokens.some((token) => token.type === "tab")) {
|
|
299305
299509
|
currentField.instrText += "\t";
|
|
299306
299510
|
}
|
|
299307
|
-
|
|
299511
|
+
return;
|
|
299308
299512
|
}
|
|
299309
299513
|
}
|
|
299310
299514
|
}
|
|
299311
299515
|
if (fldType === "end") {
|
|
299312
299516
|
if (collecting) {
|
|
299313
|
-
|
|
299517
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299314
299518
|
}
|
|
299315
299519
|
finalizeField();
|
|
299316
|
-
|
|
299520
|
+
return;
|
|
299317
299521
|
} else if (fldType === "separate") {
|
|
299318
299522
|
if (collecting) {
|
|
299319
|
-
|
|
299523
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299320
299524
|
const currentField = currentFieldStack[currentFieldStack.length - 1];
|
|
299321
299525
|
if (currentField) {
|
|
299322
299526
|
currentField.afterSeparate = true;
|
|
299323
299527
|
}
|
|
299324
299528
|
}
|
|
299325
|
-
|
|
299529
|
+
return;
|
|
299326
299530
|
}
|
|
299327
299531
|
if (Array.isArray(node4.elements)) {
|
|
299328
299532
|
const childResult = preProcessNodesForFldChar2(node4.elements, docx);
|
|
@@ -299331,24 +299535,37 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299331
299535
|
childResult.unpairedBegin.forEach((pendingField) => {
|
|
299332
299536
|
currentFieldStack.push(pendingField.fieldInfo);
|
|
299333
299537
|
collectedNodesStack.push([node4]);
|
|
299334
|
-
|
|
299538
|
+
const rawStack = [rawNode];
|
|
299539
|
+
rawCollectedNodesStack.push(rawStack);
|
|
299540
|
+
rawNodeSourceTokens.set(rawNode, rawSourceToken);
|
|
299541
|
+
capturedRawNodes.add(rawNode);
|
|
299335
299542
|
});
|
|
299336
299543
|
} else if (childResult.unpairedEnd) {
|
|
299337
299544
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
299338
|
-
|
|
299545
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299339
299546
|
finalizeField();
|
|
299340
299547
|
} else if (collecting) {
|
|
299341
299548
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
299342
|
-
|
|
299549
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299343
299550
|
} else {
|
|
299344
299551
|
processedNodes.push(node4);
|
|
299345
299552
|
}
|
|
299346
299553
|
} else if (collecting) {
|
|
299347
299554
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
299348
|
-
|
|
299555
|
+
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
299349
299556
|
} else {
|
|
299350
299557
|
processedNodes.push(node4);
|
|
299351
299558
|
}
|
|
299559
|
+
};
|
|
299560
|
+
for (const node4 of nodes) {
|
|
299561
|
+
const rawNode = carbonCopy2(node4);
|
|
299562
|
+
const logicalNodes = expandNodeForFieldProcessing2(node4);
|
|
299563
|
+
const rawLogicalNodes = expandNodeForFieldProcessing2(rawNode);
|
|
299564
|
+
const capturedRawNodes = new Set;
|
|
299565
|
+
const rawSourceToken = {};
|
|
299566
|
+
logicalNodes.forEach((logicalNode, index3) => {
|
|
299567
|
+
processNode(logicalNode, rawLogicalNodes[index3] ?? rawNode, capturedRawNodes, rawSourceToken);
|
|
299568
|
+
});
|
|
299352
299569
|
}
|
|
299353
299570
|
let unpairedBegin = null;
|
|
299354
299571
|
if (collectedNodesStack.length > 0) {
|
|
@@ -299382,10 +299599,62 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
299382
299599
|
}
|
|
299383
299600
|
});
|
|
299384
299601
|
return tokens;
|
|
299602
|
+
}, FIELD_CONTROL_ELEMENT_NAMES2, INSTRUCTION_ELEMENT_NAMES2, cloneNodeWithElements2 = (node4, elements) => ({
|
|
299603
|
+
...node4,
|
|
299604
|
+
elements: carbonCopy2(elements)
|
|
299605
|
+
}), expandNodeForFieldProcessing2 = (node4) => {
|
|
299606
|
+
const elements = Array.isArray(node4?.elements) ? node4.elements : null;
|
|
299607
|
+
if (node4?.name !== "w:r" || !elements || elements.length === 0) {
|
|
299608
|
+
return [node4];
|
|
299609
|
+
}
|
|
299610
|
+
const runProperties = elements.filter((el) => el?.name === "w:rPr");
|
|
299611
|
+
const contentElements = elements.filter((el) => el?.name !== "w:rPr");
|
|
299612
|
+
const logicalNodes = [];
|
|
299613
|
+
let currentKind = null;
|
|
299614
|
+
let currentElements = [];
|
|
299615
|
+
const flushCurrentGroup = () => {
|
|
299616
|
+
if (currentElements.length === 0)
|
|
299617
|
+
return;
|
|
299618
|
+
logicalNodes.push(cloneNodeWithElements2(node4, [...runProperties, ...currentElements]));
|
|
299619
|
+
currentElements = [];
|
|
299620
|
+
currentKind = null;
|
|
299621
|
+
};
|
|
299622
|
+
contentElements.forEach((element3) => {
|
|
299623
|
+
if (!element3?.name) {
|
|
299624
|
+
if (currentKind !== "content") {
|
|
299625
|
+
flushCurrentGroup();
|
|
299626
|
+
currentKind = "content";
|
|
299627
|
+
}
|
|
299628
|
+
currentElements.push(element3);
|
|
299629
|
+
return;
|
|
299630
|
+
}
|
|
299631
|
+
if (FIELD_CONTROL_ELEMENT_NAMES2.has(element3.name)) {
|
|
299632
|
+
flushCurrentGroup();
|
|
299633
|
+
logicalNodes.push(cloneNodeWithElements2(node4, [...runProperties, element3]));
|
|
299634
|
+
return;
|
|
299635
|
+
}
|
|
299636
|
+
if (INSTRUCTION_ELEMENT_NAMES2.has(element3.name)) {
|
|
299637
|
+
if (currentKind !== "instruction") {
|
|
299638
|
+
flushCurrentGroup();
|
|
299639
|
+
currentKind = "instruction";
|
|
299640
|
+
}
|
|
299641
|
+
currentElements.push(element3);
|
|
299642
|
+
return;
|
|
299643
|
+
}
|
|
299644
|
+
if (currentKind !== "content") {
|
|
299645
|
+
flushCurrentGroup();
|
|
299646
|
+
currentKind = "content";
|
|
299647
|
+
}
|
|
299648
|
+
currentElements.push(element3);
|
|
299649
|
+
});
|
|
299650
|
+
flushCurrentGroup();
|
|
299651
|
+
return logicalNodes.length > 1 ? logicalNodes : [node4];
|
|
299385
299652
|
};
|
|
299386
299653
|
var init_preProcessNodesForFldChar = __esm(() => {
|
|
299387
299654
|
init_fld_preprocessors();
|
|
299388
299655
|
SKIP_FIELD_PROCESSING_NODE_NAMES2 = new Set(["w:drawing", "w:pict"]);
|
|
299656
|
+
FIELD_CONTROL_ELEMENT_NAMES2 = new Set(["w:fldChar"]);
|
|
299657
|
+
INSTRUCTION_ELEMENT_NAMES2 = new Set(["w:instrText", "w:tab"]);
|
|
299389
299658
|
});
|
|
299390
299659
|
|
|
299391
299660
|
// ../../packages/super-editor/src/core/super-converter/field-references/preProcessPageFieldsOnly.js
|
|
@@ -303014,30 +303283,43 @@ function translateDocumentPartObj2(params3) {
|
|
|
303014
303283
|
};
|
|
303015
303284
|
return result;
|
|
303016
303285
|
}
|
|
303286
|
+
function sanitizeId2(id2) {
|
|
303287
|
+
if (typeof id2 === "string" && id2.trim() !== "") {
|
|
303288
|
+
return id2.trim();
|
|
303289
|
+
}
|
|
303290
|
+
return;
|
|
303291
|
+
}
|
|
303017
303292
|
function generateSdtPrForDocPartObj2(attrs) {
|
|
303018
303293
|
const existingDocPartObj = attrs.sdtPr?.elements?.find((el) => el.name === "w:docPartObj");
|
|
303019
303294
|
const existingDocPartGallery = existingDocPartObj?.elements?.find((el) => el.name === "w:docPartGallery")?.attributes?.["w:val"];
|
|
303020
303295
|
const docPartGallery = attrs.docPartGallery ?? existingDocPartGallery ?? null;
|
|
303021
|
-
const id2 = attrs.id ?? attrs.sdtPr?.elements?.find((el) => el.name === "w:id")?.attributes?.["w:val"]
|
|
303296
|
+
const id2 = sanitizeId2(attrs.id ?? attrs.sdtPr?.elements?.find((el) => el.name === "w:id")?.attributes?.["w:val"]);
|
|
303022
303297
|
const docPartUnique = attrs.docPartUnique ?? existingDocPartObj?.elements?.some((el) => el.name === "w:docPartUnique") ?? false;
|
|
303023
303298
|
if (docPartGallery === null) {
|
|
303024
303299
|
if (attrs.sdtPr) {
|
|
303025
|
-
|
|
303300
|
+
const filteredSdtPr = {
|
|
303301
|
+
...attrs.sdtPr,
|
|
303302
|
+
elements: Array.isArray(attrs.sdtPr.elements) ? attrs.sdtPr.elements.filter((el) => !(el.name === "w:id" && el.attributes?.["w:val"]?.trim() === "")) : attrs.sdtPr.elements
|
|
303303
|
+
};
|
|
303304
|
+
return filteredSdtPr;
|
|
303305
|
+
}
|
|
303306
|
+
const elements = [
|
|
303307
|
+
{
|
|
303308
|
+
name: "w:docPartObj",
|
|
303309
|
+
elements: []
|
|
303310
|
+
}
|
|
303311
|
+
];
|
|
303312
|
+
if (id2 != null) {
|
|
303313
|
+
elements.unshift({
|
|
303314
|
+
name: "w:id",
|
|
303315
|
+
attributes: {
|
|
303316
|
+
"w:val": id2
|
|
303317
|
+
}
|
|
303318
|
+
});
|
|
303026
303319
|
}
|
|
303027
303320
|
return {
|
|
303028
303321
|
name: "w:sdtPr",
|
|
303029
|
-
elements
|
|
303030
|
-
{
|
|
303031
|
-
name: "w:id",
|
|
303032
|
-
attributes: {
|
|
303033
|
-
"w:val": id2
|
|
303034
|
-
}
|
|
303035
|
-
},
|
|
303036
|
-
{
|
|
303037
|
-
name: "w:docPartObj",
|
|
303038
|
-
elements: []
|
|
303039
|
-
}
|
|
303040
|
-
]
|
|
303322
|
+
elements
|
|
303041
303323
|
};
|
|
303042
303324
|
}
|
|
303043
303325
|
const docPartObjElements = [
|
|
@@ -303052,17 +303334,19 @@ function generateSdtPrForDocPartObj2(attrs) {
|
|
|
303052
303334
|
docPartObjElements.push({ name: "w:docPartUnique" });
|
|
303053
303335
|
}
|
|
303054
303336
|
const sdtPrElements = [
|
|
303055
|
-
{
|
|
303056
|
-
name: "w:id",
|
|
303057
|
-
attributes: {
|
|
303058
|
-
"w:val": id2
|
|
303059
|
-
}
|
|
303060
|
-
},
|
|
303061
303337
|
{
|
|
303062
303338
|
name: "w:docPartObj",
|
|
303063
303339
|
elements: docPartObjElements
|
|
303064
303340
|
}
|
|
303065
303341
|
];
|
|
303342
|
+
if (id2 != null) {
|
|
303343
|
+
sdtPrElements.unshift({
|
|
303344
|
+
name: "w:id",
|
|
303345
|
+
attributes: {
|
|
303346
|
+
"w:val": id2
|
|
303347
|
+
}
|
|
303348
|
+
});
|
|
303349
|
+
}
|
|
303066
303350
|
if (attrs.sdtPr?.elements && Array.isArray(attrs.sdtPr.elements)) {
|
|
303067
303351
|
const elementsToExclude = ["w:id", "w:docPartObj"];
|
|
303068
303352
|
const passthroughElements = attrs.sdtPr.elements.filter((el) => el && el.name && !elementsToExclude.includes(el.name));
|
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.132",
|
|
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/
|
|
23
|
+
"@superdoc/document-api": "0.0.1",
|
|
24
24
|
"@superdoc/super-editor": "0.0.1",
|
|
25
25
|
"superdoc": "1.18.0",
|
|
26
|
-
"@superdoc/
|
|
26
|
+
"@superdoc/pm-adapter": "0.0.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-linux-
|
|
36
|
-
"@superdoc-dev/cli-linux-
|
|
37
|
-
"@superdoc-dev/cli-windows-x64": "0.2.0-next.
|
|
33
|
+
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.132",
|
|
34
|
+
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.132",
|
|
35
|
+
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.132",
|
|
36
|
+
"@superdoc-dev/cli-linux-x64": "0.2.0-next.132",
|
|
37
|
+
"@superdoc-dev/cli-windows-x64": "0.2.0-next.132"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"dev": "bun run src/index.ts",
|