@superdoc-dev/mcp 0.3.0-next.73 → 0.3.0-next.74
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 +1312 -582
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -51891,7 +51891,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
|
|
|
51891
51891
|
emptyOptions2 = {};
|
|
51892
51892
|
});
|
|
51893
51893
|
|
|
51894
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
51894
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-CcvDw1Yc.es.js
|
|
51895
51895
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
51896
51896
|
const fieldValue = extension$1.config[field];
|
|
51897
51897
|
if (typeof fieldValue === "function")
|
|
@@ -64449,12 +64449,11 @@ function preProcessPageRefInstruction(nodesToCombine, instrText) {
|
|
|
64449
64449
|
elements: nodesToCombine
|
|
64450
64450
|
}];
|
|
64451
64451
|
}
|
|
64452
|
-
function
|
|
64452
|
+
function resolveHyperlinkAttributes(instruction, docx) {
|
|
64453
64453
|
const urlMatch = instruction.match(/HYPERLINK\s+"([^"]+)"/);
|
|
64454
|
-
let linkAttributes;
|
|
64455
64454
|
if (urlMatch && urlMatch.length >= 2) {
|
|
64456
64455
|
const url2 = urlMatch[1];
|
|
64457
|
-
const relationships = docx["word/_rels/document.xml.rels"]?.elements
|
|
64456
|
+
const relationships = docx?.["word/_rels/document.xml.rels"]?.elements?.find((el) => el.name === "Relationships");
|
|
64458
64457
|
if (relationships) {
|
|
64459
64458
|
const rId = "rId" + generateDocxRandomId();
|
|
64460
64459
|
relationships.elements.push({
|
|
@@ -64467,32 +64466,35 @@ function preProcessHyperlinkInstruction(nodesToCombine, instruction, docx) {
|
|
|
64467
64466
|
TargetMode: "External"
|
|
64468
64467
|
}
|
|
64469
64468
|
});
|
|
64470
|
-
|
|
64471
|
-
} else
|
|
64472
|
-
linkAttributes = { "w:anchor": url2 };
|
|
64473
|
-
} else {
|
|
64474
|
-
const availableSwitches = {
|
|
64475
|
-
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
64476
|
-
new_window: /(?:\\n|\n)/,
|
|
64477
|
-
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
64478
|
-
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
64479
|
-
};
|
|
64480
|
-
const parsedSwitches = {};
|
|
64481
|
-
for (const [key, pattern] of Object.entries(availableSwitches)) {
|
|
64482
|
-
const match = instruction.match(pattern);
|
|
64483
|
-
if (match)
|
|
64484
|
-
parsedSwitches[key] = match.groups?.value || true;
|
|
64485
|
-
}
|
|
64486
|
-
if (parsedSwitches.new_window) {
|
|
64487
|
-
parsedSwitches["w:tgtFrame"] = "_blank";
|
|
64488
|
-
delete parsedSwitches.new_window;
|
|
64469
|
+
return { "r:id": rId };
|
|
64489
64470
|
}
|
|
64490
|
-
|
|
64471
|
+
return { "w:anchor": url2 };
|
|
64491
64472
|
}
|
|
64473
|
+
const availableSwitches = {
|
|
64474
|
+
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
64475
|
+
new_window: /(?:\\n|\n)/,
|
|
64476
|
+
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
64477
|
+
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
64478
|
+
};
|
|
64479
|
+
const parsedSwitches = {};
|
|
64480
|
+
for (const [key, pattern] of Object.entries(availableSwitches)) {
|
|
64481
|
+
const match = instruction.match(pattern);
|
|
64482
|
+
if (match)
|
|
64483
|
+
parsedSwitches[key] = match.groups?.value || true;
|
|
64484
|
+
}
|
|
64485
|
+
if (parsedSwitches.new_window) {
|
|
64486
|
+
parsedSwitches["w:tgtFrame"] = "_blank";
|
|
64487
|
+
delete parsedSwitches.new_window;
|
|
64488
|
+
}
|
|
64489
|
+
if (Object.keys(parsedSwitches).length === 0)
|
|
64490
|
+
return null;
|
|
64491
|
+
return { ...parsedSwitches };
|
|
64492
|
+
}
|
|
64493
|
+
function preProcessHyperlinkInstruction(nodesToCombine, instruction, docx) {
|
|
64492
64494
|
return [{
|
|
64493
64495
|
name: "w:hyperlink",
|
|
64494
64496
|
type: "element",
|
|
64495
|
-
attributes:
|
|
64497
|
+
attributes: resolveHyperlinkAttributes(instruction, docx) ?? {},
|
|
64496
64498
|
elements: nodesToCombine
|
|
64497
64499
|
}];
|
|
64498
64500
|
}
|
|
@@ -65418,6 +65420,29 @@ function extractTextFromTextBox(textBoxContent, bodyPr, params = {}) {
|
|
|
65418
65420
|
} else if (el.name === "sd:totalPageNumber") {
|
|
65419
65421
|
hasText = true;
|
|
65420
65422
|
appendFieldPart("NUMPAGES", el, paragraphProperties);
|
|
65423
|
+
} else if (el.name === "w:drawing") {
|
|
65424
|
+
const inline = el.elements?.find((child) => child?.name === "wp:inline");
|
|
65425
|
+
if (inline) {
|
|
65426
|
+
const imagePm = handleImageNode(inline, {
|
|
65427
|
+
...params,
|
|
65428
|
+
nodes: [el]
|
|
65429
|
+
}, false);
|
|
65430
|
+
if (imagePm?.attrs?.src && imagePm.attrs.hidden !== true) {
|
|
65431
|
+
hasText = true;
|
|
65432
|
+
const sizeAttr = imagePm.attrs.size || imagePm.attrs;
|
|
65433
|
+
textParts.push({
|
|
65434
|
+
text: "",
|
|
65435
|
+
formatting,
|
|
65436
|
+
kind: "image",
|
|
65437
|
+
src: imagePm.attrs.src,
|
|
65438
|
+
extension: imagePm.attrs.extension,
|
|
65439
|
+
rId: imagePm.attrs.rId,
|
|
65440
|
+
width: typeof sizeAttr?.width === "number" ? sizeAttr.width : undefined,
|
|
65441
|
+
height: typeof sizeAttr?.height === "number" ? sizeAttr.height : undefined,
|
|
65442
|
+
alt: imagePm.attrs.alt || ""
|
|
65443
|
+
});
|
|
65444
|
+
}
|
|
65445
|
+
}
|
|
65421
65446
|
}
|
|
65422
65447
|
});
|
|
65423
65448
|
return hasText;
|
|
@@ -71547,7 +71572,7 @@ function handlePlainTextUrlPaste(editor, view, plainText, detected) {
|
|
|
71547
71572
|
rId
|
|
71548
71573
|
}));
|
|
71549
71574
|
if (underlineMarkType)
|
|
71550
|
-
tr = tr.addMark(from2, to, underlineMarkType.create());
|
|
71575
|
+
tr = tr.addMark(from2, to, underlineMarkType.create({ autoAdded: true }));
|
|
71551
71576
|
view.dispatch(tr.scrollIntoView());
|
|
71552
71577
|
return true;
|
|
71553
71578
|
}
|
|
@@ -73407,7 +73432,9 @@ function handleHtmlPaste(html2, editor, source) {
|
|
|
73407
73432
|
const { node: paragraphNode } = findParagraphAncestor($from);
|
|
73408
73433
|
const isInParagraph = paragraphNode !== null;
|
|
73409
73434
|
const isSingleParagraph = doc$2.childCount === 1 && doc$2.firstChild.type.name === "paragraph";
|
|
73410
|
-
|
|
73435
|
+
const sourceStyleId = isSingleParagraph ? doc$2.firstChild.attrs?.paragraphProperties?.styleId ?? null : null;
|
|
73436
|
+
const sourceIsHeading = typeof sourceStyleId === "string" && /^Heading[1-9]$/i.test(sourceStyleId);
|
|
73437
|
+
if (isInParagraph && isSingleParagraph && !sourceIsHeading) {
|
|
73411
73438
|
const paragraphContent = doc$2.firstChild.content;
|
|
73412
73439
|
const tr = state.tr.replaceSelectionWith(paragraphContent, false);
|
|
73413
73440
|
normalizePastedLinks(tr, editor);
|
|
@@ -96164,7 +96191,7 @@ var isRegExp = (value) => {
|
|
|
96164
96191
|
default:
|
|
96165
96192
|
return null;
|
|
96166
96193
|
}
|
|
96167
|
-
}, TRACK_CHANGE_ELEMENT_NAMES, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES, isTrackChangeElement = (node2) => TRACK_CHANGE_ELEMENT_NAMES.has(node2?.name), isTranslatedTrackChangeElement = (node2) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES.has(node2?.name), SKIP_FIELD_PROCESSING_NODE_NAMES$1, shouldSkipFieldProcessing$1 = (node2) => SKIP_FIELD_PROCESSING_NODE_NAMES$1.has(node2?.name), preProcessNodesForFldChar = (nodes = [], docx) => {
|
|
96194
|
+
}, TRACK_CHANGE_ELEMENT_NAMES, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES, CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES, isTrackChangeElement = (node2) => TRACK_CHANGE_ELEMENT_NAMES.has(node2?.name), isTranslatedTrackChangeElement = (node2) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES.has(node2?.name), isConstructiveTrackChangeElement = (node2) => CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES.has(node2?.name), SKIP_FIELD_PROCESSING_NODE_NAMES$1, shouldSkipFieldProcessing$1 = (node2) => SKIP_FIELD_PROCESSING_NODE_NAMES$1.has(node2?.name), preProcessNodesForFldChar = (nodes = [], docx) => {
|
|
96168
96195
|
const processedNodes = [];
|
|
96169
96196
|
let collectedNodesStack = [];
|
|
96170
96197
|
let rawCollectedNodesStack = [];
|
|
@@ -96184,7 +96211,8 @@ var isRegExp = (value) => {
|
|
|
96184
96211
|
if (!currentField.preserveRaw) {
|
|
96185
96212
|
const combinedResult = _processCombinedNodesForFldChar(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
|
|
96186
96213
|
outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
|
|
96187
|
-
}
|
|
96214
|
+
} else if (currentField.preserveRawConstructive)
|
|
96215
|
+
applyConstructiveFieldInterpretation(outputNodes, currentField.instrText.trim(), docx);
|
|
96188
96216
|
if (collectedNodesStack.length === 0)
|
|
96189
96217
|
processedNodes.push(...outputNodes);
|
|
96190
96218
|
else {
|
|
@@ -96295,6 +96323,8 @@ var isRegExp = (value) => {
|
|
|
96295
96323
|
const fieldInfo = { ...pendingField.fieldInfo };
|
|
96296
96324
|
if (fieldInfo.preserveRaw || isTrackChangeElement(node2))
|
|
96297
96325
|
fieldInfo.preserveRaw = true;
|
|
96326
|
+
if (isConstructiveTrackChangeElement(node2))
|
|
96327
|
+
fieldInfo.preserveRawConstructive = true;
|
|
96298
96328
|
currentFieldStack.push(fieldInfo);
|
|
96299
96329
|
collectedNodesStack.push([node2]);
|
|
96300
96330
|
const rawStack = [rawNode];
|
|
@@ -96313,6 +96343,8 @@ var isRegExp = (value) => {
|
|
|
96313
96343
|
}
|
|
96314
96344
|
if (shouldPreserveRaw)
|
|
96315
96345
|
currentFieldStack[currentFieldStack.length - 1].preserveRaw = true;
|
|
96346
|
+
if (isConstructiveTrackChangeElement(node2))
|
|
96347
|
+
currentFieldStack[currentFieldStack.length - 1].preserveRawConstructive = true;
|
|
96316
96348
|
collectedNodesStack[collectedNodesStack.length - 1].push(node2);
|
|
96317
96349
|
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
96318
96350
|
finalizeField();
|
|
@@ -96366,6 +96398,80 @@ var isRegExp = (value) => {
|
|
|
96366
96398
|
nodes: nodesToCombine,
|
|
96367
96399
|
handled: false
|
|
96368
96400
|
};
|
|
96401
|
+
}, applyConstructiveFieldInterpretation = (rawNodes, instrText, docx) => {
|
|
96402
|
+
if (instrText.split(" ")[0] !== "HYPERLINK")
|
|
96403
|
+
return;
|
|
96404
|
+
const linkAttributes = resolveHyperlinkAttributes(instrText, docx);
|
|
96405
|
+
if (!linkAttributes)
|
|
96406
|
+
return;
|
|
96407
|
+
let visible = false;
|
|
96408
|
+
const walk = (parent) => {
|
|
96409
|
+
if (!parent || !Array.isArray(parent.elements))
|
|
96410
|
+
return;
|
|
96411
|
+
const next = [];
|
|
96412
|
+
let pendingHyperlinkRuns = null;
|
|
96413
|
+
const flushHyperlink = () => {
|
|
96414
|
+
if (!pendingHyperlinkRuns || pendingHyperlinkRuns.length === 0) {
|
|
96415
|
+
pendingHyperlinkRuns = null;
|
|
96416
|
+
return;
|
|
96417
|
+
}
|
|
96418
|
+
next.push({
|
|
96419
|
+
type: "element",
|
|
96420
|
+
name: "w:hyperlink",
|
|
96421
|
+
attributes: linkAttributes,
|
|
96422
|
+
elements: pendingHyperlinkRuns
|
|
96423
|
+
});
|
|
96424
|
+
pendingHyperlinkRuns = null;
|
|
96425
|
+
};
|
|
96426
|
+
for (const child of parent.elements) {
|
|
96427
|
+
if (!child)
|
|
96428
|
+
continue;
|
|
96429
|
+
if (child.name === "w:p" || child.name === "w:ins" || child.name === "w:moveTo") {
|
|
96430
|
+
flushHyperlink();
|
|
96431
|
+
walk(child);
|
|
96432
|
+
next.push(child);
|
|
96433
|
+
continue;
|
|
96434
|
+
}
|
|
96435
|
+
if (child.name === "w:r") {
|
|
96436
|
+
const fldType = child.elements?.find((el) => el?.name === "w:fldChar")?.attributes?.["w:fldCharType"];
|
|
96437
|
+
if (fldType === "separate") {
|
|
96438
|
+
flushHyperlink();
|
|
96439
|
+
visible = true;
|
|
96440
|
+
next.push(child);
|
|
96441
|
+
continue;
|
|
96442
|
+
}
|
|
96443
|
+
if (fldType === "end") {
|
|
96444
|
+
flushHyperlink();
|
|
96445
|
+
visible = false;
|
|
96446
|
+
next.push(child);
|
|
96447
|
+
continue;
|
|
96448
|
+
}
|
|
96449
|
+
if (fldType === "begin") {
|
|
96450
|
+
flushHyperlink();
|
|
96451
|
+
next.push(child);
|
|
96452
|
+
continue;
|
|
96453
|
+
}
|
|
96454
|
+
if (child.elements?.some((el) => el?.name === "w:instrText")) {
|
|
96455
|
+
flushHyperlink();
|
|
96456
|
+
next.push(child);
|
|
96457
|
+
continue;
|
|
96458
|
+
}
|
|
96459
|
+
if (visible) {
|
|
96460
|
+
if (!pendingHyperlinkRuns)
|
|
96461
|
+
pendingHyperlinkRuns = [];
|
|
96462
|
+
pendingHyperlinkRuns.push(child);
|
|
96463
|
+
continue;
|
|
96464
|
+
}
|
|
96465
|
+
next.push(child);
|
|
96466
|
+
continue;
|
|
96467
|
+
}
|
|
96468
|
+
flushHyperlink();
|
|
96469
|
+
next.push(child);
|
|
96470
|
+
}
|
|
96471
|
+
flushHyperlink();
|
|
96472
|
+
parent.elements = next;
|
|
96473
|
+
};
|
|
96474
|
+
rawNodes.forEach(walk);
|
|
96369
96475
|
}, extractFieldRunRPr = (node2) => {
|
|
96370
96476
|
const rPrNode = node2?.elements?.find((el) => el.name === "w:rPr");
|
|
96371
96477
|
if (!rPrNode?.elements?.length)
|
|
@@ -104936,7 +105042,7 @@ var isRegExp = (value) => {
|
|
|
104936
105042
|
if (id)
|
|
104937
105043
|
return trackedChanges.filter(({ mark }) => mark.attrs.id === id);
|
|
104938
105044
|
return trackedChanges;
|
|
104939
|
-
}, DERIVED_ID_LENGTH = 24, groupedCache, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", VALID_CONTROL_TYPES, VALID_LOCK_MODES, VALID_APPEARANCES, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, BIBLIOGRAPHY_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/bibliography", CUSTOM_XML_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", DEFAULT_SELECTED_STYLE = "/APA.XSL", DEFAULT_STYLE_NAME = "APA", DEFAULT_VERSION = "6", API_TO_OOXML_SOURCE_TYPE, OOXML_TO_API_SOURCE_TYPE, SIMPLE_FIELD_TO_XML_TAG, XML_TAG_TO_SIMPLE_FIELD, import_lib2, FONT_FAMILY_FALLBACKS, DEFAULT_GENERIC_FALLBACK = "sans-serif", DEFAULT_FONT_SIZE_PT = 10, CURRENT_APP_VERSION = "1.
|
|
105045
|
+
}, DERIVED_ID_LENGTH = 24, groupedCache, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", VALID_CONTROL_TYPES, VALID_LOCK_MODES, VALID_APPEARANCES, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, BIBLIOGRAPHY_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/bibliography", CUSTOM_XML_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", DEFAULT_SELECTED_STYLE = "/APA.XSL", DEFAULT_STYLE_NAME = "APA", DEFAULT_VERSION = "6", API_TO_OOXML_SOURCE_TYPE, OOXML_TO_API_SOURCE_TYPE, SIMPLE_FIELD_TO_XML_TAG, XML_TAG_TO_SIMPLE_FIELD, import_lib2, FONT_FAMILY_FALLBACKS, DEFAULT_GENERIC_FALLBACK = "sans-serif", DEFAULT_FONT_SIZE_PT = 10, CURRENT_APP_VERSION = "1.32.0", collectRunDefaultProperties = (runProps, { allowOverrideTypeface = true, allowOverrideSize = true, themeResolver, state }) => {
|
|
104940
105046
|
if (!runProps?.elements?.length || !state)
|
|
104941
105047
|
return;
|
|
104942
105048
|
const fontsNode = runProps.elements.find((el) => el.name === "w:rFonts");
|
|
@@ -104970,7 +105076,7 @@ var isRegExp = (value) => {
|
|
|
104970
105076
|
state.kern = kernNode.attributes["w:val"];
|
|
104971
105077
|
}
|
|
104972
105078
|
}, SuperConverter;
|
|
104973
|
-
var
|
|
105079
|
+
var init_SuperConverter_CcvDw1Yc_es = __esm(() => {
|
|
104974
105080
|
init_rolldown_runtime_Bg48TavK_es();
|
|
104975
105081
|
init_jszip_C49i9kUs_es();
|
|
104976
105082
|
init_xml_js_CqGKpaft_es();
|
|
@@ -133114,6 +133220,7 @@ var init_SuperConverter_BecdrRIX_es = __esm(() => {
|
|
|
133114
133220
|
"w:moveTo"
|
|
133115
133221
|
]);
|
|
133116
133222
|
TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES = new Set(["w:del", "w:ins"]);
|
|
133223
|
+
CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES = new Set(["w:ins", "w:moveTo"]);
|
|
133117
133224
|
SKIP_FIELD_PROCESSING_NODE_NAMES$1 = new Set(["w:drawing", "w:pict"]);
|
|
133118
133225
|
FIELD_CONTROL_ELEMENT_NAMES = new Set(["w:fldChar"]);
|
|
133119
133226
|
INSTRUCTION_ELEMENT_NAMES = new Set(["w:instrText", "w:tab"]);
|
|
@@ -142838,7 +142945,7 @@ var init_SuperConverter_BecdrRIX_es = __esm(() => {
|
|
|
142838
142945
|
};
|
|
142839
142946
|
});
|
|
142840
142947
|
|
|
142841
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
142948
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-D5yv7LyN.es.js
|
|
142842
142949
|
function parseSizeUnit(val = "0") {
|
|
142843
142950
|
const length = val.toString() || "0";
|
|
142844
142951
|
const value = Number.parseFloat(length);
|
|
@@ -145505,8 +145612,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
|
|
|
145505
145612
|
}
|
|
145506
145613
|
};
|
|
145507
145614
|
};
|
|
145508
|
-
var
|
|
145509
|
-
|
|
145615
|
+
var init_create_headless_toolbar_D5yv7LyN_es = __esm(() => {
|
|
145616
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
145510
145617
|
init_constants_DrU4EASo_es();
|
|
145511
145618
|
init_dist_B8HfvhaK_es();
|
|
145512
145619
|
CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
|
|
@@ -199725,7 +199832,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
199725
199832
|
init_remark_gfm_BhnWr3yf_es();
|
|
199726
199833
|
});
|
|
199727
199834
|
|
|
199728
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
199835
|
+
// ../../packages/superdoc/dist/chunks/src-BpYr_7Wm.es.js
|
|
199729
199836
|
function deleteProps(obj, propOrProps) {
|
|
199730
199837
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
199731
199838
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -200488,7 +200595,7 @@ function prosemirrorToYXmlFragment(doc$12, xmlFragment) {
|
|
|
200488
200595
|
}
|
|
200489
200596
|
function getSuperdocVersion() {
|
|
200490
200597
|
try {
|
|
200491
|
-
return "1.
|
|
200598
|
+
return "1.32.0";
|
|
200492
200599
|
} catch {
|
|
200493
200600
|
return "unknown";
|
|
200494
200601
|
}
|
|
@@ -201597,13 +201704,37 @@ function createStructuredContentLockPlugin() {
|
|
|
201597
201704
|
const sdtNodes = STRUCTURED_CONTENT_LOCK_KEY.getState(state);
|
|
201598
201705
|
if (sdtNodes.length === 0)
|
|
201599
201706
|
return false;
|
|
201707
|
+
if (from$1 !== to && !(selection instanceof NodeSelection)) {
|
|
201708
|
+
const exactContentSDT = sdtNodes.find((s2) => from$1 === s2.pos + 1 && to === s2.end - 1);
|
|
201709
|
+
if (exactContentSDT) {
|
|
201710
|
+
if (!(exactContentSDT.lockMode === "sdtLocked" || exactContentSDT.lockMode === "sdtContentLocked")) {
|
|
201711
|
+
const tr = state.tr.setSelection(NodeSelection.create(state.doc, exactContentSDT.pos));
|
|
201712
|
+
view.dispatch(tr);
|
|
201713
|
+
if (isCut)
|
|
201714
|
+
return false;
|
|
201715
|
+
event.preventDefault();
|
|
201716
|
+
return true;
|
|
201717
|
+
}
|
|
201718
|
+
}
|
|
201719
|
+
}
|
|
201600
201720
|
let affectedFrom = from$1;
|
|
201601
201721
|
let affectedTo = to;
|
|
201602
201722
|
if (from$1 === to) {
|
|
201603
|
-
if (isBackspace && from$1 > 0)
|
|
201723
|
+
if (isBackspace && from$1 > 0) {
|
|
201604
201724
|
affectedFrom = from$1 - 1;
|
|
201605
|
-
|
|
201725
|
+
const adjacentSDT = sdtNodes.find((s2) => s2.end === from$1);
|
|
201726
|
+
if (adjacentSDT) {
|
|
201727
|
+
affectedFrom = adjacentSDT.pos;
|
|
201728
|
+
affectedTo = adjacentSDT.end;
|
|
201729
|
+
}
|
|
201730
|
+
} else if (isDelete && to < state.doc.content.size) {
|
|
201606
201731
|
affectedTo = to + 1;
|
|
201732
|
+
const adjacentSDT = sdtNodes.find((s2) => s2.pos === to);
|
|
201733
|
+
if (adjacentSDT) {
|
|
201734
|
+
affectedFrom = adjacentSDT.pos;
|
|
201735
|
+
affectedTo = adjacentSDT.end;
|
|
201736
|
+
}
|
|
201737
|
+
}
|
|
201607
201738
|
}
|
|
201608
201739
|
if (checkLockViolation(sdtNodes, affectedFrom, affectedTo).blocked) {
|
|
201609
201740
|
event.preventDefault();
|
|
@@ -202525,8 +202656,8 @@ function findNearestParagraphWithSectPr(doc$12, pos) {
|
|
|
202525
202656
|
});
|
|
202526
202657
|
return target;
|
|
202527
202658
|
}
|
|
202528
|
-
function calculateNewIndentation(node2, delta) {
|
|
202529
|
-
let { indent: indent2 } =
|
|
202659
|
+
function calculateNewIndentation(node2, delta, resolvedProps) {
|
|
202660
|
+
let { indent: indent2 } = resolvedProps ?? {};
|
|
202530
202661
|
let { left: left$1 } = indent2 || {};
|
|
202531
202662
|
const increment2 = ptToTwips(delta * defaultIncrementPoints);
|
|
202532
202663
|
if (!left$1)
|
|
@@ -202537,14 +202668,14 @@ function calculateNewIndentation(node2, delta) {
|
|
|
202537
202668
|
left$1 = null;
|
|
202538
202669
|
return left$1;
|
|
202539
202670
|
}
|
|
202540
|
-
function modifyIndentation(calcFunc) {
|
|
202541
|
-
return ({ state, dispatch }) => {
|
|
202671
|
+
function modifyIndentation(calcFunc, { resolveProps = false } = {}) {
|
|
202672
|
+
return ({ editor, state, dispatch }) => {
|
|
202542
202673
|
const tr = state.tr;
|
|
202543
202674
|
const { from: from$1, to } = state.selection;
|
|
202544
202675
|
const results = [];
|
|
202545
202676
|
state.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
202546
202677
|
if (node2.type.name === "paragraph") {
|
|
202547
|
-
let left$1 = calcFunc(node2);
|
|
202678
|
+
let left$1 = calcFunc(node2, resolveProps ? getResolvedParagraphProperties(node2) || calculateResolvedParagraphProperties(editor ?? {}, node2, state.doc.resolve(pos)) : undefined);
|
|
202548
202679
|
if (Number.isNaN(left$1)) {
|
|
202549
202680
|
results.push(false);
|
|
202550
202681
|
return false;
|
|
@@ -206008,6 +206139,301 @@ function extractFieldType$1(instruction) {
|
|
|
206008
206139
|
const firstSpace = trimmed.indexOf(" ");
|
|
206009
206140
|
return firstSpace > 0 ? trimmed.slice(0, firstSpace).toUpperCase() : trimmed.toUpperCase();
|
|
206010
206141
|
}
|
|
206142
|
+
function parseLevelRange(value) {
|
|
206143
|
+
const match$1 = value.match(/^(\d+)-(\d+)$/);
|
|
206144
|
+
if (!match$1)
|
|
206145
|
+
return;
|
|
206146
|
+
return {
|
|
206147
|
+
from: parseInt(match$1[1], 10),
|
|
206148
|
+
to: parseInt(match$1[2], 10)
|
|
206149
|
+
};
|
|
206150
|
+
}
|
|
206151
|
+
function parseCustomStyles(value) {
|
|
206152
|
+
const entries = [];
|
|
206153
|
+
const parts = value.split(",");
|
|
206154
|
+
for (let i4 = 0;i4 < parts.length - 1; i4 += 2) {
|
|
206155
|
+
const styleName = parts[i4].trim();
|
|
206156
|
+
const level = parseInt(parts[i4 + 1].trim(), 10);
|
|
206157
|
+
if (styleName && !isNaN(level))
|
|
206158
|
+
entries.push({
|
|
206159
|
+
styleName,
|
|
206160
|
+
level
|
|
206161
|
+
});
|
|
206162
|
+
}
|
|
206163
|
+
return entries;
|
|
206164
|
+
}
|
|
206165
|
+
function deriveIncludePageNumbers(omitRange, outlineLevels) {
|
|
206166
|
+
if (!omitRange)
|
|
206167
|
+
return true;
|
|
206168
|
+
const effectiveRange = outlineLevels ?? {
|
|
206169
|
+
from: 1,
|
|
206170
|
+
to: 9
|
|
206171
|
+
};
|
|
206172
|
+
return !(omitRange.from <= effectiveRange.from && omitRange.to >= effectiveRange.to);
|
|
206173
|
+
}
|
|
206174
|
+
function deriveTabLeader(separator) {
|
|
206175
|
+
if (separator === undefined)
|
|
206176
|
+
return;
|
|
206177
|
+
if (separator === "")
|
|
206178
|
+
return "none";
|
|
206179
|
+
return SEPARATOR_TO_TAB_LEADER[separator];
|
|
206180
|
+
}
|
|
206181
|
+
function parseTocInstruction(instruction) {
|
|
206182
|
+
const source = {};
|
|
206183
|
+
const display = {};
|
|
206184
|
+
const preserved = {};
|
|
206185
|
+
const rawExtensions = [];
|
|
206186
|
+
let match$1;
|
|
206187
|
+
SWITCH_PATTERN$1.lastIndex = 0;
|
|
206188
|
+
while ((match$1 = SWITCH_PATTERN$1.exec(instruction)) !== null) {
|
|
206189
|
+
const switchChar = match$1[1].toLowerCase();
|
|
206190
|
+
const rawArg = match$1[2];
|
|
206191
|
+
const arg = rawArg ?? "";
|
|
206192
|
+
switch (switchChar) {
|
|
206193
|
+
case "o": {
|
|
206194
|
+
const range = parseLevelRange(arg);
|
|
206195
|
+
if (range)
|
|
206196
|
+
source.outlineLevels = range;
|
|
206197
|
+
break;
|
|
206198
|
+
}
|
|
206199
|
+
case "u":
|
|
206200
|
+
source.useAppliedOutlineLevel = true;
|
|
206201
|
+
break;
|
|
206202
|
+
case "f":
|
|
206203
|
+
if (arg)
|
|
206204
|
+
source.tcFieldIdentifier = arg;
|
|
206205
|
+
break;
|
|
206206
|
+
case "l": {
|
|
206207
|
+
const range = parseLevelRange(arg);
|
|
206208
|
+
if (range)
|
|
206209
|
+
source.tcFieldLevels = range;
|
|
206210
|
+
break;
|
|
206211
|
+
}
|
|
206212
|
+
case "h":
|
|
206213
|
+
display.hyperlinks = true;
|
|
206214
|
+
break;
|
|
206215
|
+
case "z":
|
|
206216
|
+
display.hideInWebView = true;
|
|
206217
|
+
break;
|
|
206218
|
+
case "n": {
|
|
206219
|
+
const range = parseLevelRange(arg);
|
|
206220
|
+
if (range)
|
|
206221
|
+
display.omitPageNumberLevels = range;
|
|
206222
|
+
break;
|
|
206223
|
+
}
|
|
206224
|
+
case "p":
|
|
206225
|
+
if (rawArg !== undefined)
|
|
206226
|
+
display.separator = rawArg;
|
|
206227
|
+
break;
|
|
206228
|
+
case "t":
|
|
206229
|
+
if (arg)
|
|
206230
|
+
preserved.customStyles = parseCustomStyles(arg);
|
|
206231
|
+
break;
|
|
206232
|
+
case "b":
|
|
206233
|
+
if (arg)
|
|
206234
|
+
preserved.bookmarkName = arg;
|
|
206235
|
+
break;
|
|
206236
|
+
case "a":
|
|
206237
|
+
if (arg)
|
|
206238
|
+
preserved.captionType = arg;
|
|
206239
|
+
break;
|
|
206240
|
+
case "c":
|
|
206241
|
+
if (arg)
|
|
206242
|
+
preserved.seqFieldIdentifier = arg;
|
|
206243
|
+
break;
|
|
206244
|
+
case "d":
|
|
206245
|
+
if (arg)
|
|
206246
|
+
preserved.chapterSeparator = arg;
|
|
206247
|
+
break;
|
|
206248
|
+
case "s":
|
|
206249
|
+
if (arg)
|
|
206250
|
+
preserved.chapterNumberSource = arg;
|
|
206251
|
+
break;
|
|
206252
|
+
case "w":
|
|
206253
|
+
preserved.preserveTabEntries = true;
|
|
206254
|
+
break;
|
|
206255
|
+
default:
|
|
206256
|
+
rawExtensions.push(arg ? `\\${switchChar} "${arg}"` : `\\${switchChar}`);
|
|
206257
|
+
break;
|
|
206258
|
+
}
|
|
206259
|
+
}
|
|
206260
|
+
if (rawExtensions.length > 0)
|
|
206261
|
+
preserved.rawExtensions = rawExtensions;
|
|
206262
|
+
display.includePageNumbers = deriveIncludePageNumbers(display.omitPageNumberLevels, source.outlineLevels);
|
|
206263
|
+
const tabLeader = deriveTabLeader(display.separator);
|
|
206264
|
+
if (tabLeader !== undefined)
|
|
206265
|
+
display.tabLeader = tabLeader;
|
|
206266
|
+
return {
|
|
206267
|
+
source,
|
|
206268
|
+
display,
|
|
206269
|
+
preserved
|
|
206270
|
+
};
|
|
206271
|
+
}
|
|
206272
|
+
function serializeTocInstruction(config3) {
|
|
206273
|
+
const parts = ["TOC"];
|
|
206274
|
+
const { source, display, preserved } = config3;
|
|
206275
|
+
if (source.outlineLevels)
|
|
206276
|
+
parts.push(`\\o "${source.outlineLevels.from}-${source.outlineLevels.to}"`);
|
|
206277
|
+
if (source.useAppliedOutlineLevel)
|
|
206278
|
+
parts.push("\\u");
|
|
206279
|
+
if (source.tcFieldIdentifier)
|
|
206280
|
+
parts.push(`\\f "${source.tcFieldIdentifier}"`);
|
|
206281
|
+
if (source.tcFieldLevels)
|
|
206282
|
+
parts.push(`\\l "${source.tcFieldLevels.from}-${source.tcFieldLevels.to}"`);
|
|
206283
|
+
if (preserved.customStyles?.length) {
|
|
206284
|
+
const pairs = preserved.customStyles.map((s2) => `${s2.styleName},${s2.level}`).join(",");
|
|
206285
|
+
parts.push(`\\t "${pairs}"`);
|
|
206286
|
+
}
|
|
206287
|
+
if (display.hyperlinks)
|
|
206288
|
+
parts.push("\\h");
|
|
206289
|
+
if (display.hideInWebView)
|
|
206290
|
+
parts.push("\\z");
|
|
206291
|
+
if (display.omitPageNumberLevels)
|
|
206292
|
+
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
206293
|
+
if (display.separator !== undefined)
|
|
206294
|
+
parts.push(`\\p "${display.separator}"`);
|
|
206295
|
+
if (preserved.captionType)
|
|
206296
|
+
parts.push(`\\a "${preserved.captionType}"`);
|
|
206297
|
+
if (preserved.bookmarkName)
|
|
206298
|
+
parts.push(`\\b "${preserved.bookmarkName}"`);
|
|
206299
|
+
if (preserved.seqFieldIdentifier)
|
|
206300
|
+
parts.push(`\\c "${preserved.seqFieldIdentifier}"`);
|
|
206301
|
+
if (preserved.chapterSeparator)
|
|
206302
|
+
parts.push(`\\d "${preserved.chapterSeparator}"`);
|
|
206303
|
+
if (preserved.chapterNumberSource)
|
|
206304
|
+
parts.push(`\\s "${preserved.chapterNumberSource}"`);
|
|
206305
|
+
if (preserved.preserveTabEntries)
|
|
206306
|
+
parts.push("\\w");
|
|
206307
|
+
if (preserved.rawExtensions?.length)
|
|
206308
|
+
parts.push(...preserved.rawExtensions);
|
|
206309
|
+
return parts.join(" ");
|
|
206310
|
+
}
|
|
206311
|
+
function computeOmitPageNumberRange(source) {
|
|
206312
|
+
return source.outlineLevels ?? {
|
|
206313
|
+
from: 1,
|
|
206314
|
+
to: 9
|
|
206315
|
+
};
|
|
206316
|
+
}
|
|
206317
|
+
function applyTocPatch(existing, patch3) {
|
|
206318
|
+
if (patch3.tabLeader !== undefined && patch3.separator !== undefined)
|
|
206319
|
+
throw new Error("INVALID_INPUT: cannot set both tabLeader and separator in the same patch");
|
|
206320
|
+
if (patch3.includePageNumbers !== undefined && patch3.omitPageNumberLevels !== undefined)
|
|
206321
|
+
throw new Error("INVALID_INPUT: cannot set both includePageNumbers and omitPageNumberLevels in the same patch");
|
|
206322
|
+
const newSource = {
|
|
206323
|
+
...existing.source,
|
|
206324
|
+
...patch3.outlineLevels !== undefined && { outlineLevels: patch3.outlineLevels },
|
|
206325
|
+
...patch3.useAppliedOutlineLevel !== undefined && { useAppliedOutlineLevel: patch3.useAppliedOutlineLevel },
|
|
206326
|
+
...patch3.tcFieldIdentifier !== undefined && { tcFieldIdentifier: patch3.tcFieldIdentifier },
|
|
206327
|
+
...patch3.tcFieldLevels !== undefined && { tcFieldLevels: patch3.tcFieldLevels }
|
|
206328
|
+
};
|
|
206329
|
+
const newDisplay = {
|
|
206330
|
+
...existing.display,
|
|
206331
|
+
...patch3.hyperlinks !== undefined && { hyperlinks: patch3.hyperlinks },
|
|
206332
|
+
...patch3.hideInWebView !== undefined && { hideInWebView: patch3.hideInWebView }
|
|
206333
|
+
};
|
|
206334
|
+
if (patch3.includePageNumbers !== undefined) {
|
|
206335
|
+
if (patch3.includePageNumbers)
|
|
206336
|
+
delete newDisplay.omitPageNumberLevels;
|
|
206337
|
+
else
|
|
206338
|
+
newDisplay.omitPageNumberLevels = computeOmitPageNumberRange(newSource);
|
|
206339
|
+
newDisplay.includePageNumbers = patch3.includePageNumbers;
|
|
206340
|
+
} else if (patch3.omitPageNumberLevels !== undefined) {
|
|
206341
|
+
newDisplay.omitPageNumberLevels = patch3.omitPageNumberLevels;
|
|
206342
|
+
newDisplay.includePageNumbers = deriveIncludePageNumbers(patch3.omitPageNumberLevels, newSource.outlineLevels);
|
|
206343
|
+
}
|
|
206344
|
+
if (patch3.tabLeader !== undefined) {
|
|
206345
|
+
if (patch3.tabLeader === "none")
|
|
206346
|
+
newDisplay.separator = "";
|
|
206347
|
+
else
|
|
206348
|
+
newDisplay.separator = TAB_LEADER_TO_SEPARATOR[patch3.tabLeader];
|
|
206349
|
+
newDisplay.tabLeader = patch3.tabLeader;
|
|
206350
|
+
} else if (patch3.separator !== undefined) {
|
|
206351
|
+
newDisplay.separator = patch3.separator;
|
|
206352
|
+
const derived = deriveTabLeader(patch3.separator);
|
|
206353
|
+
if (derived !== undefined)
|
|
206354
|
+
newDisplay.tabLeader = derived;
|
|
206355
|
+
else
|
|
206356
|
+
delete newDisplay.tabLeader;
|
|
206357
|
+
}
|
|
206358
|
+
return {
|
|
206359
|
+
source: newSource,
|
|
206360
|
+
display: newDisplay,
|
|
206361
|
+
preserved: { ...existing.preserved }
|
|
206362
|
+
};
|
|
206363
|
+
}
|
|
206364
|
+
function areTocConfigsEqual(a2, b$1) {
|
|
206365
|
+
return serializeTocInstruction(a2) === serializeTocInstruction(b$1);
|
|
206366
|
+
}
|
|
206367
|
+
function findAllTocNodes(doc$12) {
|
|
206368
|
+
const results = [];
|
|
206369
|
+
doc$12.descendants((node2, pos) => {
|
|
206370
|
+
if (node2.type.name === "tableOfContents") {
|
|
206371
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
206372
|
+
const nodeId = resolvePublicTocNodeId(node2, pos);
|
|
206373
|
+
const commandNodeId = sdBlockId;
|
|
206374
|
+
results.push({
|
|
206375
|
+
node: node2,
|
|
206376
|
+
pos,
|
|
206377
|
+
nodeId,
|
|
206378
|
+
commandNodeId
|
|
206379
|
+
});
|
|
206380
|
+
return false;
|
|
206381
|
+
}
|
|
206382
|
+
return true;
|
|
206383
|
+
});
|
|
206384
|
+
return results;
|
|
206385
|
+
}
|
|
206386
|
+
function resolveTocTarget(doc$12, target) {
|
|
206387
|
+
const found2 = findAllTocNodes(doc$12).find((t) => t.nodeId === target.nodeId || t.commandNodeId === target.nodeId);
|
|
206388
|
+
if (!found2)
|
|
206389
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Table of contents with nodeId "${target.nodeId}" not found.`);
|
|
206390
|
+
return found2;
|
|
206391
|
+
}
|
|
206392
|
+
function resolvePostMutationTocId(doc$12, sdBlockId) {
|
|
206393
|
+
return findAllTocNodes(doc$12).find((t) => t.commandNodeId === sdBlockId)?.nodeId ?? sdBlockId;
|
|
206394
|
+
}
|
|
206395
|
+
function extractTocInfo(node2) {
|
|
206396
|
+
const instruction = node2.attrs?.instruction ?? "";
|
|
206397
|
+
const config3 = parseTocInstruction(instruction);
|
|
206398
|
+
const rightAlign = node2.attrs?.rightAlignPageNumbers;
|
|
206399
|
+
return {
|
|
206400
|
+
nodeType: "tableOfContents",
|
|
206401
|
+
kind: "block",
|
|
206402
|
+
properties: {
|
|
206403
|
+
instruction,
|
|
206404
|
+
sourceConfig: config3.source,
|
|
206405
|
+
displayConfig: {
|
|
206406
|
+
...config3.display,
|
|
206407
|
+
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
206408
|
+
},
|
|
206409
|
+
preservedSwitches: config3.preserved,
|
|
206410
|
+
entryCount: node2.childCount
|
|
206411
|
+
}
|
|
206412
|
+
};
|
|
206413
|
+
}
|
|
206414
|
+
function buildTocDiscoveryItem(resolved, evaluatedRevision) {
|
|
206415
|
+
const instruction = resolved.node.attrs?.instruction ?? "";
|
|
206416
|
+
const config3 = parseTocInstruction(instruction);
|
|
206417
|
+
const address = {
|
|
206418
|
+
kind: "block",
|
|
206419
|
+
nodeType: "tableOfContents",
|
|
206420
|
+
nodeId: resolved.nodeId
|
|
206421
|
+
};
|
|
206422
|
+
const handle3 = buildResolvedHandle(resolved.nodeId, "stable", "tableOfContents");
|
|
206423
|
+
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
206424
|
+
const domain3 = {
|
|
206425
|
+
address,
|
|
206426
|
+
instruction,
|
|
206427
|
+
sourceConfig: config3.source,
|
|
206428
|
+
displayConfig: {
|
|
206429
|
+
...config3.display,
|
|
206430
|
+
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
206431
|
+
},
|
|
206432
|
+
preserved: config3.preserved,
|
|
206433
|
+
entryCount: resolved.node.childCount
|
|
206434
|
+
};
|
|
206435
|
+
return buildDiscoveryItem(`toc:${resolved.nodeId}:${evaluatedRevision}`, handle3, domain3);
|
|
206436
|
+
}
|
|
206011
206437
|
function createCascadeToggleCommands({ markName, setCommand, unsetCommand, toggleCommand, negationAttrs, isNegation, extendEmptyMarkRange } = {}) {
|
|
206012
206438
|
if (!markName)
|
|
206013
206439
|
throw new Error("createCascadeToggleCommands requires a markName");
|
|
@@ -212595,6 +213021,40 @@ function buildSchemaSummary(schema, schemaVersion) {
|
|
|
212595
213021
|
function getFirstElementChild(node2) {
|
|
212596
213022
|
return Array.from(node2.childNodes).find((n) => n.nodeType === Node.ELEMENT_NODE) || null;
|
|
212597
213023
|
}
|
|
213024
|
+
function wrapHeadingSelectionAsParagraph(slice2, state) {
|
|
213025
|
+
const firstChild = slice2.content.firstChild;
|
|
213026
|
+
if (!firstChild || firstChild.type.name === "paragraph")
|
|
213027
|
+
return slice2;
|
|
213028
|
+
const $from = state.selection.$from;
|
|
213029
|
+
const $to = state.selection.$to;
|
|
213030
|
+
if (!$from || !$to)
|
|
213031
|
+
return slice2;
|
|
213032
|
+
let parentParagraph = null;
|
|
213033
|
+
let parentDepth = -1;
|
|
213034
|
+
for (let depth = $from.depth;depth >= 0; depth--) {
|
|
213035
|
+
const node2 = $from.node(depth);
|
|
213036
|
+
if (node2?.type?.name === "paragraph") {
|
|
213037
|
+
if ($to.depth >= depth && $to.node(depth) === node2) {
|
|
213038
|
+
parentParagraph = node2;
|
|
213039
|
+
parentDepth = depth;
|
|
213040
|
+
}
|
|
213041
|
+
break;
|
|
213042
|
+
}
|
|
213043
|
+
}
|
|
213044
|
+
if (!parentParagraph)
|
|
213045
|
+
return slice2;
|
|
213046
|
+
const startOffset = $from.parentOffset;
|
|
213047
|
+
const endOffset = $to.parentOffset;
|
|
213048
|
+
if (startOffset !== 0 || endOffset !== parentParagraph.content.size)
|
|
213049
|
+
return slice2;
|
|
213050
|
+
if ($from.depth !== parentDepth || $to.depth !== parentDepth)
|
|
213051
|
+
return slice2;
|
|
213052
|
+
const styleId = parentParagraph.attrs?.paragraphProperties?.styleId;
|
|
213053
|
+
if (typeof styleId !== "string" || !HEADING_STYLE_RE.test(styleId))
|
|
213054
|
+
return slice2;
|
|
213055
|
+
const wrapped = parentParagraph.type.create(parentParagraph.attrs, slice2.content, parentParagraph.marks);
|
|
213056
|
+
return new Slice(Fragment.from(wrapped), 0, 0);
|
|
213057
|
+
}
|
|
212598
213058
|
function closestCopyBlock(node2, root3) {
|
|
212599
213059
|
let current = node2;
|
|
212600
213060
|
while (current && current !== root3) {
|
|
@@ -212817,228 +213277,6 @@ function buildSelectionClipboardHtml(view, editor) {
|
|
|
212817
213277
|
annotateCopiedSectionMetadata(container, view);
|
|
212818
213278
|
return serializeSelectionAsWordHtml(container) || container.innerHTML || null;
|
|
212819
213279
|
}
|
|
212820
|
-
function parseLevelRange(value) {
|
|
212821
|
-
const match$1 = value.match(/^(\d+)-(\d+)$/);
|
|
212822
|
-
if (!match$1)
|
|
212823
|
-
return;
|
|
212824
|
-
return {
|
|
212825
|
-
from: parseInt(match$1[1], 10),
|
|
212826
|
-
to: parseInt(match$1[2], 10)
|
|
212827
|
-
};
|
|
212828
|
-
}
|
|
212829
|
-
function parseCustomStyles(value) {
|
|
212830
|
-
const entries = [];
|
|
212831
|
-
const parts = value.split(",");
|
|
212832
|
-
for (let i4 = 0;i4 < parts.length - 1; i4 += 2) {
|
|
212833
|
-
const styleName = parts[i4].trim();
|
|
212834
|
-
const level = parseInt(parts[i4 + 1].trim(), 10);
|
|
212835
|
-
if (styleName && !isNaN(level))
|
|
212836
|
-
entries.push({
|
|
212837
|
-
styleName,
|
|
212838
|
-
level
|
|
212839
|
-
});
|
|
212840
|
-
}
|
|
212841
|
-
return entries;
|
|
212842
|
-
}
|
|
212843
|
-
function deriveIncludePageNumbers(omitRange, outlineLevels) {
|
|
212844
|
-
if (!omitRange)
|
|
212845
|
-
return true;
|
|
212846
|
-
const effectiveRange = outlineLevels ?? {
|
|
212847
|
-
from: 1,
|
|
212848
|
-
to: 9
|
|
212849
|
-
};
|
|
212850
|
-
return !(omitRange.from <= effectiveRange.from && omitRange.to >= effectiveRange.to);
|
|
212851
|
-
}
|
|
212852
|
-
function deriveTabLeader(separator) {
|
|
212853
|
-
if (!separator)
|
|
212854
|
-
return "none";
|
|
212855
|
-
return SEPARATOR_TO_TAB_LEADER[separator];
|
|
212856
|
-
}
|
|
212857
|
-
function parseTocInstruction(instruction) {
|
|
212858
|
-
const source = {};
|
|
212859
|
-
const display = {};
|
|
212860
|
-
const preserved = {};
|
|
212861
|
-
const rawExtensions = [];
|
|
212862
|
-
let match$1;
|
|
212863
|
-
SWITCH_PATTERN$1.lastIndex = 0;
|
|
212864
|
-
while ((match$1 = SWITCH_PATTERN$1.exec(instruction)) !== null) {
|
|
212865
|
-
const switchChar = match$1[1].toLowerCase();
|
|
212866
|
-
const arg = match$1[2] ?? "";
|
|
212867
|
-
switch (switchChar) {
|
|
212868
|
-
case "o": {
|
|
212869
|
-
const range = parseLevelRange(arg);
|
|
212870
|
-
if (range)
|
|
212871
|
-
source.outlineLevels = range;
|
|
212872
|
-
break;
|
|
212873
|
-
}
|
|
212874
|
-
case "u":
|
|
212875
|
-
source.useAppliedOutlineLevel = true;
|
|
212876
|
-
break;
|
|
212877
|
-
case "f":
|
|
212878
|
-
if (arg)
|
|
212879
|
-
source.tcFieldIdentifier = arg;
|
|
212880
|
-
break;
|
|
212881
|
-
case "l": {
|
|
212882
|
-
const range = parseLevelRange(arg);
|
|
212883
|
-
if (range)
|
|
212884
|
-
source.tcFieldLevels = range;
|
|
212885
|
-
break;
|
|
212886
|
-
}
|
|
212887
|
-
case "h":
|
|
212888
|
-
display.hyperlinks = true;
|
|
212889
|
-
break;
|
|
212890
|
-
case "z":
|
|
212891
|
-
display.hideInWebView = true;
|
|
212892
|
-
break;
|
|
212893
|
-
case "n": {
|
|
212894
|
-
const range = parseLevelRange(arg);
|
|
212895
|
-
if (range)
|
|
212896
|
-
display.omitPageNumberLevels = range;
|
|
212897
|
-
break;
|
|
212898
|
-
}
|
|
212899
|
-
case "p":
|
|
212900
|
-
if (arg)
|
|
212901
|
-
display.separator = arg;
|
|
212902
|
-
break;
|
|
212903
|
-
case "t":
|
|
212904
|
-
if (arg)
|
|
212905
|
-
preserved.customStyles = parseCustomStyles(arg);
|
|
212906
|
-
break;
|
|
212907
|
-
case "b":
|
|
212908
|
-
if (arg)
|
|
212909
|
-
preserved.bookmarkName = arg;
|
|
212910
|
-
break;
|
|
212911
|
-
case "a":
|
|
212912
|
-
if (arg)
|
|
212913
|
-
preserved.captionType = arg;
|
|
212914
|
-
break;
|
|
212915
|
-
case "c":
|
|
212916
|
-
if (arg)
|
|
212917
|
-
preserved.seqFieldIdentifier = arg;
|
|
212918
|
-
break;
|
|
212919
|
-
case "d":
|
|
212920
|
-
if (arg)
|
|
212921
|
-
preserved.chapterSeparator = arg;
|
|
212922
|
-
break;
|
|
212923
|
-
case "s":
|
|
212924
|
-
if (arg)
|
|
212925
|
-
preserved.chapterNumberSource = arg;
|
|
212926
|
-
break;
|
|
212927
|
-
case "w":
|
|
212928
|
-
preserved.preserveTabEntries = true;
|
|
212929
|
-
break;
|
|
212930
|
-
default:
|
|
212931
|
-
rawExtensions.push(arg ? `\\${switchChar} "${arg}"` : `\\${switchChar}`);
|
|
212932
|
-
break;
|
|
212933
|
-
}
|
|
212934
|
-
}
|
|
212935
|
-
if (rawExtensions.length > 0)
|
|
212936
|
-
preserved.rawExtensions = rawExtensions;
|
|
212937
|
-
display.includePageNumbers = deriveIncludePageNumbers(display.omitPageNumberLevels, source.outlineLevels);
|
|
212938
|
-
const tabLeader = deriveTabLeader(display.separator);
|
|
212939
|
-
if (tabLeader !== undefined)
|
|
212940
|
-
display.tabLeader = tabLeader;
|
|
212941
|
-
return {
|
|
212942
|
-
source,
|
|
212943
|
-
display,
|
|
212944
|
-
preserved
|
|
212945
|
-
};
|
|
212946
|
-
}
|
|
212947
|
-
function serializeTocInstruction(config3) {
|
|
212948
|
-
const parts = ["TOC"];
|
|
212949
|
-
const { source, display, preserved } = config3;
|
|
212950
|
-
if (source.outlineLevels)
|
|
212951
|
-
parts.push(`\\o "${source.outlineLevels.from}-${source.outlineLevels.to}"`);
|
|
212952
|
-
if (source.useAppliedOutlineLevel)
|
|
212953
|
-
parts.push("\\u");
|
|
212954
|
-
if (source.tcFieldIdentifier)
|
|
212955
|
-
parts.push(`\\f "${source.tcFieldIdentifier}"`);
|
|
212956
|
-
if (source.tcFieldLevels)
|
|
212957
|
-
parts.push(`\\l "${source.tcFieldLevels.from}-${source.tcFieldLevels.to}"`);
|
|
212958
|
-
if (preserved.customStyles?.length) {
|
|
212959
|
-
const pairs = preserved.customStyles.map((s2) => `${s2.styleName},${s2.level}`).join(",");
|
|
212960
|
-
parts.push(`\\t "${pairs}"`);
|
|
212961
|
-
}
|
|
212962
|
-
if (display.hyperlinks)
|
|
212963
|
-
parts.push("\\h");
|
|
212964
|
-
if (display.hideInWebView)
|
|
212965
|
-
parts.push("\\z");
|
|
212966
|
-
if (display.omitPageNumberLevels)
|
|
212967
|
-
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
212968
|
-
if (display.separator)
|
|
212969
|
-
parts.push(`\\p "${display.separator}"`);
|
|
212970
|
-
if (preserved.captionType)
|
|
212971
|
-
parts.push(`\\a "${preserved.captionType}"`);
|
|
212972
|
-
if (preserved.bookmarkName)
|
|
212973
|
-
parts.push(`\\b "${preserved.bookmarkName}"`);
|
|
212974
|
-
if (preserved.seqFieldIdentifier)
|
|
212975
|
-
parts.push(`\\c "${preserved.seqFieldIdentifier}"`);
|
|
212976
|
-
if (preserved.chapterSeparator)
|
|
212977
|
-
parts.push(`\\d "${preserved.chapterSeparator}"`);
|
|
212978
|
-
if (preserved.chapterNumberSource)
|
|
212979
|
-
parts.push(`\\s "${preserved.chapterNumberSource}"`);
|
|
212980
|
-
if (preserved.preserveTabEntries)
|
|
212981
|
-
parts.push("\\w");
|
|
212982
|
-
if (preserved.rawExtensions?.length)
|
|
212983
|
-
parts.push(...preserved.rawExtensions);
|
|
212984
|
-
return parts.join(" ");
|
|
212985
|
-
}
|
|
212986
|
-
function computeOmitPageNumberRange(source) {
|
|
212987
|
-
return source.outlineLevels ?? {
|
|
212988
|
-
from: 1,
|
|
212989
|
-
to: 9
|
|
212990
|
-
};
|
|
212991
|
-
}
|
|
212992
|
-
function applyTocPatch(existing, patch3) {
|
|
212993
|
-
if (patch3.tabLeader !== undefined && patch3.separator !== undefined)
|
|
212994
|
-
throw new Error("INVALID_INPUT: cannot set both tabLeader and separator in the same patch");
|
|
212995
|
-
if (patch3.includePageNumbers !== undefined && patch3.omitPageNumberLevels !== undefined)
|
|
212996
|
-
throw new Error("INVALID_INPUT: cannot set both includePageNumbers and omitPageNumberLevels in the same patch");
|
|
212997
|
-
const newSource = {
|
|
212998
|
-
...existing.source,
|
|
212999
|
-
...patch3.outlineLevels !== undefined && { outlineLevels: patch3.outlineLevels },
|
|
213000
|
-
...patch3.useAppliedOutlineLevel !== undefined && { useAppliedOutlineLevel: patch3.useAppliedOutlineLevel },
|
|
213001
|
-
...patch3.tcFieldIdentifier !== undefined && { tcFieldIdentifier: patch3.tcFieldIdentifier },
|
|
213002
|
-
...patch3.tcFieldLevels !== undefined && { tcFieldLevels: patch3.tcFieldLevels }
|
|
213003
|
-
};
|
|
213004
|
-
const newDisplay = {
|
|
213005
|
-
...existing.display,
|
|
213006
|
-
...patch3.hyperlinks !== undefined && { hyperlinks: patch3.hyperlinks },
|
|
213007
|
-
...patch3.hideInWebView !== undefined && { hideInWebView: patch3.hideInWebView }
|
|
213008
|
-
};
|
|
213009
|
-
if (patch3.includePageNumbers !== undefined) {
|
|
213010
|
-
if (patch3.includePageNumbers)
|
|
213011
|
-
delete newDisplay.omitPageNumberLevels;
|
|
213012
|
-
else
|
|
213013
|
-
newDisplay.omitPageNumberLevels = computeOmitPageNumberRange(newSource);
|
|
213014
|
-
newDisplay.includePageNumbers = patch3.includePageNumbers;
|
|
213015
|
-
} else if (patch3.omitPageNumberLevels !== undefined) {
|
|
213016
|
-
newDisplay.omitPageNumberLevels = patch3.omitPageNumberLevels;
|
|
213017
|
-
newDisplay.includePageNumbers = deriveIncludePageNumbers(patch3.omitPageNumberLevels, newSource.outlineLevels);
|
|
213018
|
-
}
|
|
213019
|
-
if (patch3.tabLeader !== undefined) {
|
|
213020
|
-
if (patch3.tabLeader === "none")
|
|
213021
|
-
delete newDisplay.separator;
|
|
213022
|
-
else
|
|
213023
|
-
newDisplay.separator = TAB_LEADER_TO_SEPARATOR[patch3.tabLeader];
|
|
213024
|
-
newDisplay.tabLeader = patch3.tabLeader;
|
|
213025
|
-
} else if (patch3.separator !== undefined) {
|
|
213026
|
-
newDisplay.separator = patch3.separator;
|
|
213027
|
-
const derived = deriveTabLeader(patch3.separator);
|
|
213028
|
-
if (derived !== undefined)
|
|
213029
|
-
newDisplay.tabLeader = derived;
|
|
213030
|
-
else
|
|
213031
|
-
delete newDisplay.tabLeader;
|
|
213032
|
-
}
|
|
213033
|
-
return {
|
|
213034
|
-
source: newSource,
|
|
213035
|
-
display: newDisplay,
|
|
213036
|
-
preserved: { ...existing.preserved }
|
|
213037
|
-
};
|
|
213038
|
-
}
|
|
213039
|
-
function areTocConfigsEqual(a2, b$1) {
|
|
213040
|
-
return serializeTocInstruction(a2) === serializeTocInstruction(b$1);
|
|
213041
|
-
}
|
|
213042
213280
|
function projectContentNode(pmNode) {
|
|
213043
213281
|
return projectBlock(pmNode);
|
|
213044
213282
|
}
|
|
@@ -214861,11 +215099,11 @@ function checkUniformity(runs2) {
|
|
|
214861
215099
|
return true;
|
|
214862
215100
|
const reference$1 = runs2[0].marks;
|
|
214863
215101
|
for (let i4 = 1;i4 < runs2.length; i4++)
|
|
214864
|
-
if (!marksEqual$
|
|
215102
|
+
if (!marksEqual$2(reference$1, runs2[i4].marks))
|
|
214865
215103
|
return false;
|
|
214866
215104
|
return true;
|
|
214867
215105
|
}
|
|
214868
|
-
function marksEqual$
|
|
215106
|
+
function marksEqual$2(a2, b$1) {
|
|
214869
215107
|
if (a2.length !== b$1.length)
|
|
214870
215108
|
return false;
|
|
214871
215109
|
for (let i4 = 0;i4 < a2.length; i4++)
|
|
@@ -215141,7 +215379,7 @@ function buildInlineRpr(marks) {
|
|
|
215141
215379
|
}
|
|
215142
215380
|
return rpr;
|
|
215143
215381
|
}
|
|
215144
|
-
function marksEqual(a2, b$1) {
|
|
215382
|
+
function marksEqual$1(a2, b$1) {
|
|
215145
215383
|
if (a2.length !== b$1.length)
|
|
215146
215384
|
return false;
|
|
215147
215385
|
for (let i4 = 0;i4 < a2.length; i4++)
|
|
@@ -215164,7 +215402,7 @@ function coalesceRuns(runs2) {
|
|
|
215164
215402
|
const next2 = sorted[i4];
|
|
215165
215403
|
if (next2.from >= next2.to)
|
|
215166
215404
|
continue;
|
|
215167
|
-
if (next2.from === current.to && marksEqual(current.marks, next2.marks))
|
|
215405
|
+
if (next2.from === current.to && marksEqual$1(current.marks, next2.marks))
|
|
215168
215406
|
current = {
|
|
215169
215407
|
from: current.from,
|
|
215170
215408
|
to: next2.to,
|
|
@@ -232289,76 +232527,6 @@ function wrapServiceCall(fn2) {
|
|
|
232289
232527
|
throw error48;
|
|
232290
232528
|
}
|
|
232291
232529
|
}
|
|
232292
|
-
function findAllTocNodes(doc$12) {
|
|
232293
|
-
const results = [];
|
|
232294
|
-
doc$12.descendants((node2, pos) => {
|
|
232295
|
-
if (node2.type.name === "tableOfContents") {
|
|
232296
|
-
const sdBlockId = node2.attrs?.sdBlockId;
|
|
232297
|
-
const nodeId = resolvePublicTocNodeId(node2, pos);
|
|
232298
|
-
const commandNodeId = sdBlockId;
|
|
232299
|
-
results.push({
|
|
232300
|
-
node: node2,
|
|
232301
|
-
pos,
|
|
232302
|
-
nodeId,
|
|
232303
|
-
commandNodeId
|
|
232304
|
-
});
|
|
232305
|
-
return false;
|
|
232306
|
-
}
|
|
232307
|
-
return true;
|
|
232308
|
-
});
|
|
232309
|
-
return results;
|
|
232310
|
-
}
|
|
232311
|
-
function resolveTocTarget(doc$12, target) {
|
|
232312
|
-
const found2 = findAllTocNodes(doc$12).find((t) => t.nodeId === target.nodeId || t.commandNodeId === target.nodeId);
|
|
232313
|
-
if (!found2)
|
|
232314
|
-
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Table of contents with nodeId "${target.nodeId}" not found.`);
|
|
232315
|
-
return found2;
|
|
232316
|
-
}
|
|
232317
|
-
function resolvePostMutationTocId(doc$12, sdBlockId) {
|
|
232318
|
-
return findAllTocNodes(doc$12).find((t) => t.commandNodeId === sdBlockId)?.nodeId ?? sdBlockId;
|
|
232319
|
-
}
|
|
232320
|
-
function extractTocInfo(node2) {
|
|
232321
|
-
const instruction = node2.attrs?.instruction ?? "";
|
|
232322
|
-
const config3 = parseTocInstruction(instruction);
|
|
232323
|
-
const rightAlign = node2.attrs?.rightAlignPageNumbers;
|
|
232324
|
-
return {
|
|
232325
|
-
nodeType: "tableOfContents",
|
|
232326
|
-
kind: "block",
|
|
232327
|
-
properties: {
|
|
232328
|
-
instruction,
|
|
232329
|
-
sourceConfig: config3.source,
|
|
232330
|
-
displayConfig: {
|
|
232331
|
-
...config3.display,
|
|
232332
|
-
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
232333
|
-
},
|
|
232334
|
-
preservedSwitches: config3.preserved,
|
|
232335
|
-
entryCount: node2.childCount
|
|
232336
|
-
}
|
|
232337
|
-
};
|
|
232338
|
-
}
|
|
232339
|
-
function buildTocDiscoveryItem(resolved, evaluatedRevision) {
|
|
232340
|
-
const instruction = resolved.node.attrs?.instruction ?? "";
|
|
232341
|
-
const config3 = parseTocInstruction(instruction);
|
|
232342
|
-
const address = {
|
|
232343
|
-
kind: "block",
|
|
232344
|
-
nodeType: "tableOfContents",
|
|
232345
|
-
nodeId: resolved.nodeId
|
|
232346
|
-
};
|
|
232347
|
-
const handle3 = buildResolvedHandle(resolved.nodeId, "stable", "tableOfContents");
|
|
232348
|
-
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
232349
|
-
const domain3 = {
|
|
232350
|
-
address,
|
|
232351
|
-
instruction,
|
|
232352
|
-
sourceConfig: config3.source,
|
|
232353
|
-
displayConfig: {
|
|
232354
|
-
...config3.display,
|
|
232355
|
-
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
232356
|
-
},
|
|
232357
|
-
preserved: config3.preserved,
|
|
232358
|
-
entryCount: resolved.node.childCount
|
|
232359
|
-
};
|
|
232360
|
-
return buildDiscoveryItem(`toc:${resolved.nodeId}:${evaluatedRevision}`, handle3, domain3);
|
|
232361
|
-
}
|
|
232362
232530
|
function extractEntryText(instruction) {
|
|
232363
232531
|
const withoutPrefix = instruction.replace(/^TC\s+/i, "");
|
|
232364
232532
|
const quoteMatch = withoutPrefix.match(/^"([^"]*)"/);
|
|
@@ -232567,28 +232735,53 @@ function dispatchTransaction$2(editor, tr) {
|
|
|
232567
232735
|
else if (typeof editor.view?.dispatch === "function")
|
|
232568
232736
|
editor.view.dispatch(tr);
|
|
232569
232737
|
}
|
|
232738
|
+
function sanitizeSourceMark(mark2) {
|
|
232739
|
+
if (!mark2?.type)
|
|
232740
|
+
return null;
|
|
232741
|
+
if (mark2.type === "textStyle") {
|
|
232742
|
+
const attrs = mark2.attrs ?? {};
|
|
232743
|
+
const kept = {};
|
|
232744
|
+
for (const key2 of Object.keys(attrs))
|
|
232745
|
+
if (TEXT_STYLE_ALLOWED_ATTRS.has(key2) && attrs[key2] != null)
|
|
232746
|
+
kept[key2] = attrs[key2];
|
|
232747
|
+
return Object.keys(kept).length > 0 ? {
|
|
232748
|
+
type: "textStyle",
|
|
232749
|
+
attrs: kept
|
|
232750
|
+
} : null;
|
|
232751
|
+
}
|
|
232752
|
+
if (!ALLOWED_SOURCE_MARK_TYPES.has(mark2.type))
|
|
232753
|
+
return null;
|
|
232754
|
+
return mark2.attrs && Object.keys(mark2.attrs).length > 0 ? {
|
|
232755
|
+
type: mark2.type,
|
|
232756
|
+
attrs: { ...mark2.attrs }
|
|
232757
|
+
} : { type: mark2.type };
|
|
232758
|
+
}
|
|
232570
232759
|
function collectTocSources(doc$12, config3) {
|
|
232571
232760
|
const sources = [];
|
|
232572
232761
|
const { outlineLevels, useAppliedOutlineLevel, tcFieldIdentifier, tcFieldLevels } = config3.source;
|
|
232573
232762
|
const useApplied = useAppliedOutlineLevel ?? false;
|
|
232574
232763
|
const collectTcFields = tcFieldIdentifier !== undefined || tcFieldLevels !== undefined;
|
|
232575
232764
|
let currentParagraphSdBlockId;
|
|
232576
|
-
doc$12.descendants((node2,
|
|
232765
|
+
doc$12.descendants((node2, pos) => {
|
|
232577
232766
|
if (node2.type.name === "tableOfContents")
|
|
232578
232767
|
return false;
|
|
232579
232768
|
if (node2.type.name === "paragraph") {
|
|
232580
232769
|
const attrs = node2.attrs;
|
|
232581
232770
|
const paragraphProps = attrs?.paragraphProperties;
|
|
232582
232771
|
const styleId = paragraphProps?.styleId;
|
|
232583
|
-
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId;
|
|
232772
|
+
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId ?? buildFallbackBlockNodeId("paragraph", pos);
|
|
232584
232773
|
currentParagraphSdBlockId = sdBlockId;
|
|
232585
232774
|
if (!sdBlockId)
|
|
232586
232775
|
return true;
|
|
232776
|
+
const text5 = flattenText(node2);
|
|
232777
|
+
if (text5.trim().length === 0)
|
|
232778
|
+
return true;
|
|
232587
232779
|
if (outlineLevels) {
|
|
232588
232780
|
const headingLevel = getHeadingLevel(styleId);
|
|
232589
232781
|
if (headingLevel != null && headingLevel >= outlineLevels.from && headingLevel <= outlineLevels.to) {
|
|
232590
232782
|
sources.push({
|
|
232591
|
-
text:
|
|
232783
|
+
text: text5,
|
|
232784
|
+
segments: extractTextSegments(node2),
|
|
232592
232785
|
level: headingLevel,
|
|
232593
232786
|
sdBlockId,
|
|
232594
232787
|
kind: "heading"
|
|
@@ -232606,7 +232799,8 @@ function collectTocSources(doc$12, config3) {
|
|
|
232606
232799
|
const tocLevel = rawOutlineLevel + 1;
|
|
232607
232800
|
if (tocLevel >= effectiveLevels.from && tocLevel <= effectiveLevels.to) {
|
|
232608
232801
|
sources.push({
|
|
232609
|
-
text:
|
|
232802
|
+
text: text5,
|
|
232803
|
+
segments: extractTextSegments(node2),
|
|
232610
232804
|
level: tocLevel,
|
|
232611
232805
|
sdBlockId,
|
|
232612
232806
|
kind: "appliedOutline"
|
|
@@ -232647,50 +232841,91 @@ function flattenText(node2) {
|
|
|
232647
232841
|
});
|
|
232648
232842
|
return text5;
|
|
232649
232843
|
}
|
|
232650
|
-
function
|
|
232651
|
-
|
|
232844
|
+
function extractTextSegments(node2) {
|
|
232845
|
+
const segments = [];
|
|
232846
|
+
node2.descendants((child) => {
|
|
232847
|
+
if (!child.isText || !child.text)
|
|
232848
|
+
return true;
|
|
232849
|
+
const marks = [];
|
|
232850
|
+
for (const mark2 of child.marks ?? []) {
|
|
232851
|
+
const raw = { type: mark2.type?.name ?? "" };
|
|
232852
|
+
if (mark2.attrs && Object.keys(mark2.attrs).length > 0)
|
|
232853
|
+
raw.attrs = { ...mark2.attrs };
|
|
232854
|
+
const sanitized = sanitizeSourceMark(raw);
|
|
232855
|
+
if (sanitized)
|
|
232856
|
+
marks.push(sanitized);
|
|
232857
|
+
}
|
|
232858
|
+
const last2 = segments[segments.length - 1];
|
|
232859
|
+
if (last2 && marksEqual(last2.marks, marks))
|
|
232860
|
+
last2.text += child.text;
|
|
232861
|
+
else
|
|
232862
|
+
segments.push(marks.length > 0 ? {
|
|
232863
|
+
text: child.text,
|
|
232864
|
+
marks
|
|
232865
|
+
} : { text: child.text });
|
|
232866
|
+
return true;
|
|
232867
|
+
});
|
|
232868
|
+
return segments;
|
|
232869
|
+
}
|
|
232870
|
+
function marksEqual(a2, b$1) {
|
|
232871
|
+
const aLen = a2?.length ?? 0;
|
|
232872
|
+
if (aLen !== (b$1?.length ?? 0))
|
|
232873
|
+
return false;
|
|
232874
|
+
if (aLen === 0)
|
|
232875
|
+
return true;
|
|
232876
|
+
return JSON.stringify(a2) === JSON.stringify(b$1);
|
|
232652
232877
|
}
|
|
232653
|
-
function
|
|
232654
|
-
|
|
232655
|
-
|
|
232656
|
-
|
|
232657
|
-
|
|
232658
|
-
|
|
232878
|
+
function buildTocEntryParagraphs(sources, config3, options = {}) {
|
|
232879
|
+
return sources.map((source) => buildEntryParagraph(source, config3, options));
|
|
232880
|
+
}
|
|
232881
|
+
function asRun(children) {
|
|
232882
|
+
return {
|
|
232883
|
+
type: "run",
|
|
232884
|
+
content: children
|
|
232659
232885
|
};
|
|
232660
|
-
|
|
232661
|
-
|
|
232662
|
-
|
|
232663
|
-
|
|
232664
|
-
|
|
232665
|
-
|
|
232666
|
-
|
|
232667
|
-
|
|
232668
|
-
|
|
232669
|
-
|
|
232886
|
+
}
|
|
232887
|
+
function buildEntryParagraph(source, config3, options = {}) {
|
|
232888
|
+
const { display } = config3;
|
|
232889
|
+
const linkMark = display.hyperlinks ? {
|
|
232890
|
+
type: "link",
|
|
232891
|
+
attrs: {
|
|
232892
|
+
anchor: generateTocBookmarkName(source.sdBlockId),
|
|
232893
|
+
rId: null,
|
|
232894
|
+
history: true
|
|
232895
|
+
}
|
|
232896
|
+
} : undefined;
|
|
232897
|
+
const content3 = [asRun((source.segments && source.segments.length > 0 ? source.segments : [{ text: source.text || " " }]).map((segment) => {
|
|
232898
|
+
const marks = [...(segment.marks ?? []).map((m$1) => sanitizeSourceMark(m$1)).filter((m$1) => m$1 !== null)];
|
|
232899
|
+
if (linkMark)
|
|
232900
|
+
marks.push(linkMark);
|
|
232901
|
+
const node2 = {
|
|
232902
|
+
type: "text",
|
|
232903
|
+
text: segment.text || " "
|
|
232904
|
+
};
|
|
232905
|
+
if (marks.length > 0)
|
|
232906
|
+
node2.marks = marks;
|
|
232907
|
+
return node2;
|
|
232908
|
+
}))];
|
|
232670
232909
|
const omitRange = display.omitPageNumberLevels;
|
|
232671
|
-
const
|
|
232672
|
-
const entryOmitted = source.omitPageNumber;
|
|
232673
|
-
const omitPageNumber = levelOmitted || entryOmitted;
|
|
232910
|
+
const omitPageNumber = Boolean(omitRange && source.level >= omitRange.from && source.level <= omitRange.to || source.omitPageNumber);
|
|
232674
232911
|
if (!omitPageNumber) {
|
|
232675
|
-
|
|
232676
|
-
|
|
232677
|
-
|
|
232678
|
-
|
|
232679
|
-
|
|
232680
|
-
|
|
232681
|
-
content3.push({ type: "tab" });
|
|
232682
|
-
content3.push({
|
|
232912
|
+
content3.push(asRun([display.separator ? {
|
|
232913
|
+
type: "text",
|
|
232914
|
+
text: display.separator
|
|
232915
|
+
} : { type: "tab" }]));
|
|
232916
|
+
const resolvedPage = options.pageMap?.get(source.sdBlockId);
|
|
232917
|
+
content3.push(asRun([{
|
|
232683
232918
|
type: "text",
|
|
232684
|
-
text: "0",
|
|
232919
|
+
text: resolvedPage != null ? String(resolvedPage) : "0",
|
|
232685
232920
|
marks: [{ type: "tocPageNumber" }]
|
|
232686
|
-
});
|
|
232921
|
+
}]));
|
|
232687
232922
|
}
|
|
232688
232923
|
const paragraphProperties = { styleId: `TOC${source.level}` };
|
|
232689
232924
|
if (display.rightAlignPageNumbers !== false && !omitPageNumber) {
|
|
232690
|
-
const leader = display.tabLeader
|
|
232925
|
+
const leader = display.tabLeader === "none" ? undefined : display.tabLeader && TAB_LEADER_MAP[display.tabLeader] || "dot";
|
|
232691
232926
|
paragraphProperties.tabStops = [{ tab: {
|
|
232692
232927
|
tabType: "right",
|
|
232693
|
-
pos: DEFAULT_RIGHT_TAB_POS,
|
|
232928
|
+
pos: options.tabPos ?? DEFAULT_RIGHT_TAB_POS,
|
|
232694
232929
|
...leader ? { leader } : {}
|
|
232695
232930
|
} }];
|
|
232696
232931
|
}
|
|
@@ -232825,6 +233060,50 @@ function withRightAlign(config3, rightAlignPageNumbers) {
|
|
|
232825
233060
|
}
|
|
232826
233061
|
};
|
|
232827
233062
|
}
|
|
233063
|
+
function stripTocPageNumberFromNode(node2) {
|
|
233064
|
+
if (!node2 || typeof node2 !== "object")
|
|
233065
|
+
return {
|
|
233066
|
+
node: node2,
|
|
233067
|
+
changed: false
|
|
233068
|
+
};
|
|
233069
|
+
const typedNode = node2;
|
|
233070
|
+
let changed = false;
|
|
233071
|
+
let next2 = typedNode;
|
|
233072
|
+
if (Array.isArray(typedNode.marks)) {
|
|
233073
|
+
const filtered = typedNode.marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
233074
|
+
if (filtered.length !== typedNode.marks.length) {
|
|
233075
|
+
changed = true;
|
|
233076
|
+
if (filtered.length === 0) {
|
|
233077
|
+
const { marks: _removed, ...rest } = next2;
|
|
233078
|
+
next2 = rest;
|
|
233079
|
+
} else
|
|
233080
|
+
next2 = {
|
|
233081
|
+
...next2,
|
|
233082
|
+
marks: filtered
|
|
233083
|
+
};
|
|
233084
|
+
}
|
|
233085
|
+
}
|
|
233086
|
+
if (Array.isArray(typedNode.content)) {
|
|
233087
|
+
let childChanged = false;
|
|
233088
|
+
const nextChildren = typedNode.content.map((child) => {
|
|
233089
|
+
const result = stripTocPageNumberFromNode(child);
|
|
233090
|
+
if (result.changed)
|
|
233091
|
+
childChanged = true;
|
|
233092
|
+
return result.node;
|
|
233093
|
+
});
|
|
233094
|
+
if (childChanged) {
|
|
233095
|
+
changed = true;
|
|
233096
|
+
next2 = {
|
|
233097
|
+
...next2,
|
|
233098
|
+
content: nextChildren
|
|
233099
|
+
};
|
|
233100
|
+
}
|
|
233101
|
+
}
|
|
233102
|
+
return {
|
|
233103
|
+
node: next2,
|
|
233104
|
+
changed
|
|
233105
|
+
};
|
|
233106
|
+
}
|
|
232828
233107
|
function sanitizeTocContentForSchema(content3, editor) {
|
|
232829
233108
|
if (editor.state.schema?.marks?.tocPageNumber)
|
|
232830
233109
|
return content3;
|
|
@@ -232834,24 +233113,10 @@ function sanitizeTocContentForSchema(content3, editor) {
|
|
|
232834
233113
|
return paragraph2;
|
|
232835
233114
|
let changed = false;
|
|
232836
233115
|
const sanitizedContent = paragraphContent.map((node2) => {
|
|
232837
|
-
|
|
232838
|
-
|
|
232839
|
-
|
|
232840
|
-
|
|
232841
|
-
if (!Array.isArray(marks))
|
|
232842
|
-
return node2;
|
|
232843
|
-
const filteredMarks = marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
232844
|
-
if (filteredMarks.length === marks.length)
|
|
232845
|
-
return node2;
|
|
232846
|
-
changed = true;
|
|
232847
|
-
if (filteredMarks.length === 0) {
|
|
232848
|
-
const { marks: _removed, ...rest } = typedNode;
|
|
232849
|
-
return rest;
|
|
232850
|
-
}
|
|
232851
|
-
return {
|
|
232852
|
-
...typedNode,
|
|
232853
|
-
marks: filteredMarks
|
|
232854
|
-
};
|
|
233116
|
+
const result = stripTocPageNumberFromNode(node2);
|
|
233117
|
+
if (result.changed)
|
|
233118
|
+
changed = true;
|
|
233119
|
+
return result.node;
|
|
232855
233120
|
});
|
|
232856
233121
|
return changed ? {
|
|
232857
233122
|
...paragraph2,
|
|
@@ -232859,14 +233124,50 @@ function sanitizeTocContentForSchema(content3, editor) {
|
|
|
232859
233124
|
} : paragraph2;
|
|
232860
233125
|
});
|
|
232861
233126
|
}
|
|
232862
|
-
function materializeTocContent(doc$12, config3, editor) {
|
|
233127
|
+
function materializeTocContent(doc$12, config3, editor, options = {}) {
|
|
232863
233128
|
const sources = collectTocSources(doc$12, config3);
|
|
232864
|
-
const entryParagraphs = buildTocEntryParagraphs(sources, config3);
|
|
233129
|
+
const entryParagraphs = buildTocEntryParagraphs(sources, config3, options);
|
|
232865
233130
|
return {
|
|
232866
233131
|
content: sanitizeTocContentForSchema(entryParagraphs.length > 0 ? entryParagraphs : NO_ENTRIES_PLACEHOLDER, editor),
|
|
232867
233132
|
sources
|
|
232868
233133
|
};
|
|
232869
233134
|
}
|
|
233135
|
+
function findFirstTocEntryParagraph(node2) {
|
|
233136
|
+
let entry;
|
|
233137
|
+
node2.forEach((paragraph2) => {
|
|
233138
|
+
if (entry || paragraph2.type.name !== "paragraph")
|
|
233139
|
+
return;
|
|
233140
|
+
const styleId = paragraph2.attrs?.paragraphProperties?.styleId;
|
|
233141
|
+
if (styleId && TOC_ENTRY_STYLE_RE.test(styleId))
|
|
233142
|
+
entry = paragraph2;
|
|
233143
|
+
});
|
|
233144
|
+
return entry;
|
|
233145
|
+
}
|
|
233146
|
+
function readExistingTocTabPos(node2) {
|
|
233147
|
+
const pos = (findFirstTocEntryParagraph(node2) ?? node2.firstChild ?? undefined)?.attrs?.paragraphProperties?.tabStops?.find((t) => t?.tab?.tabType === "right")?.tab?.pos;
|
|
233148
|
+
return typeof pos === "number" ? pos : undefined;
|
|
233149
|
+
}
|
|
233150
|
+
function readExistingTocTrailingParagraph(node2) {
|
|
233151
|
+
const last2 = node2.lastChild;
|
|
233152
|
+
if (!last2 || last2.type.name !== "paragraph")
|
|
233153
|
+
return;
|
|
233154
|
+
const styleId = last2.attrs?.paragraphProperties?.styleId;
|
|
233155
|
+
if (styleId && TOC_ENTRY_STYLE_RE.test(styleId))
|
|
233156
|
+
return;
|
|
233157
|
+
let hasPrecedingEntry = false;
|
|
233158
|
+
node2.forEach((child) => {
|
|
233159
|
+
if (hasPrecedingEntry || child === last2)
|
|
233160
|
+
return;
|
|
233161
|
+
if (child.type.name !== "paragraph")
|
|
233162
|
+
return;
|
|
233163
|
+
const childStyleId = child.attrs?.paragraphProperties?.styleId;
|
|
233164
|
+
if (childStyleId && TOC_ENTRY_STYLE_RE.test(childStyleId))
|
|
233165
|
+
hasPrecedingEntry = true;
|
|
233166
|
+
});
|
|
233167
|
+
if (!hasPrecedingEntry)
|
|
233168
|
+
return;
|
|
233169
|
+
return typeof last2.toJSON === "function" ? last2.toJSON() : undefined;
|
|
233170
|
+
}
|
|
232870
233171
|
function tocConfigureWrapper(editor, input2, options) {
|
|
232871
233172
|
rejectTrackedMode("toc.configure", options);
|
|
232872
233173
|
const resolved = resolveTocTarget(editor.state.doc, input2.target);
|
|
@@ -232875,7 +233176,12 @@ function tocConfigureWrapper(editor, input2, options) {
|
|
|
232875
233176
|
const instruction = serializeTocInstruction(patched);
|
|
232876
233177
|
const rightAlignChanged = input2.patch.rightAlignPageNumbers !== undefined && input2.patch.rightAlignPageNumbers !== resolved.node.attrs?.rightAlignPageNumbers;
|
|
232877
233178
|
const effectiveRightAlign = input2.patch.rightAlignPageNumbers ?? resolved.node.attrs?.rightAlignPageNumbers;
|
|
232878
|
-
const { content:
|
|
233179
|
+
const { content: rebuiltEntries, sources } = materializeTocContent(editor.state.doc, withRightAlign(patched, effectiveRightAlign), editor, {
|
|
233180
|
+
pageMap: getPageMap(editor) ?? undefined,
|
|
233181
|
+
tabPos: readExistingTocTabPos(resolved.node)
|
|
233182
|
+
});
|
|
233183
|
+
const trailing = readExistingTocTrailingParagraph(resolved.node);
|
|
233184
|
+
const nextContent = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
232879
233185
|
if (areTocConfigsEqual(currentConfig, patched) && !rightAlignChanged)
|
|
232880
233186
|
return tocFailure("NO_OP", "Configuration patch produced no change.");
|
|
232881
233187
|
if (options?.dryRun)
|
|
@@ -232921,7 +233227,12 @@ function tocUpdateAll(editor, input2, options) {
|
|
|
232921
233227
|
const resolved = resolveTocTarget(editor.state.doc, input2.target);
|
|
232922
233228
|
const config3 = parseTocInstruction(resolved.node.attrs?.instruction ?? "");
|
|
232923
233229
|
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
232924
|
-
const { content:
|
|
233230
|
+
const { content: rebuiltEntries, sources } = materializeTocContent(editor.state.doc, withRightAlign(config3, rightAlign), editor, {
|
|
233231
|
+
pageMap: getPageMap(editor) ?? undefined,
|
|
233232
|
+
tabPos: readExistingTocTabPos(resolved.node)
|
|
233233
|
+
});
|
|
233234
|
+
const trailing = readExistingTocTrailingParagraph(resolved.node);
|
|
233235
|
+
const content3 = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
232925
233236
|
if (isTocContentUnchanged(resolved.node, content3))
|
|
232926
233237
|
return tocFailure("NO_OP", "TOC update produced no change.");
|
|
232927
233238
|
if (options?.dryRun)
|
|
@@ -233000,25 +233311,33 @@ function buildPageNumberUpdatedContent(tocNode, pageMap) {
|
|
|
233000
233311
|
}
|
|
233001
233312
|
const tocSourceId = child.attrs?.tocSourceId;
|
|
233002
233313
|
const childJson = child.toJSON();
|
|
233003
|
-
const content3 = childJson.content ?? [];
|
|
233004
233314
|
let paragraphChanged = false;
|
|
233005
|
-
const
|
|
233006
|
-
if (
|
|
233007
|
-
|
|
233008
|
-
|
|
233009
|
-
|
|
233315
|
+
const visit2 = (node2) => {
|
|
233316
|
+
if (node2.marks?.some((m$1) => m$1.type === "tocPageNumber")) {
|
|
233317
|
+
hasPageNumberMarks = true;
|
|
233318
|
+
if (!tocSourceId)
|
|
233319
|
+
return node2;
|
|
233320
|
+
const pageNumber = pageMap.get(tocSourceId);
|
|
233321
|
+
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
233322
|
+
if (node2.text !== newText) {
|
|
233323
|
+
paragraphChanged = true;
|
|
233324
|
+
return {
|
|
233325
|
+
...node2,
|
|
233326
|
+
text: newText
|
|
233327
|
+
};
|
|
233328
|
+
}
|
|
233010
233329
|
return node2;
|
|
233011
|
-
const pageNumber = pageMap.get(tocSourceId);
|
|
233012
|
-
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
233013
|
-
if (node2.text !== newText) {
|
|
233014
|
-
paragraphChanged = true;
|
|
233015
|
-
return {
|
|
233016
|
-
...node2,
|
|
233017
|
-
text: newText
|
|
233018
|
-
};
|
|
233019
233330
|
}
|
|
233020
|
-
|
|
233021
|
-
|
|
233331
|
+
const nested = node2.content;
|
|
233332
|
+
if (!Array.isArray(nested) || nested.length === 0)
|
|
233333
|
+
return node2;
|
|
233334
|
+
const visited = nested.map(visit2);
|
|
233335
|
+
return visited.some((next2, idx) => next2 !== nested[idx]) ? {
|
|
233336
|
+
...node2,
|
|
233337
|
+
content: visited
|
|
233338
|
+
} : node2;
|
|
233339
|
+
};
|
|
233340
|
+
const updatedContentArray = (childJson.content ?? []).map(visit2);
|
|
233022
233341
|
if (paragraphChanged) {
|
|
233023
233342
|
anyChanged = true;
|
|
233024
233343
|
updatedContent.push({
|
|
@@ -254021,6 +254340,36 @@ function hydrateImageBlocks(blocks2, mediaFiles) {
|
|
|
254021
254340
|
}
|
|
254022
254341
|
if (blk.kind === "drawing") {
|
|
254023
254342
|
const drawingBlock = blk;
|
|
254343
|
+
if (drawingBlock.drawingKind === "vectorShape") {
|
|
254344
|
+
const parts = drawingBlock.textContent?.parts;
|
|
254345
|
+
if (!parts || parts.length === 0)
|
|
254346
|
+
return blk;
|
|
254347
|
+
let partsChanged = false;
|
|
254348
|
+
const hydratedParts = parts.map((part) => {
|
|
254349
|
+
if (part?.kind !== "image" || !part.src || part.src.startsWith("data:"))
|
|
254350
|
+
return part;
|
|
254351
|
+
const resolvedSrc = resolveImageSrc(part.src, part.rId, undefined, part.extension);
|
|
254352
|
+
if (resolvedSrc) {
|
|
254353
|
+
partsChanged = true;
|
|
254354
|
+
return {
|
|
254355
|
+
...part,
|
|
254356
|
+
src: resolvedSrc
|
|
254357
|
+
};
|
|
254358
|
+
}
|
|
254359
|
+
return part;
|
|
254360
|
+
});
|
|
254361
|
+
if (partsChanged) {
|
|
254362
|
+
const vectorShapeBlock = drawingBlock;
|
|
254363
|
+
return {
|
|
254364
|
+
...vectorShapeBlock,
|
|
254365
|
+
textContent: {
|
|
254366
|
+
...vectorShapeBlock.textContent,
|
|
254367
|
+
parts: hydratedParts
|
|
254368
|
+
}
|
|
254369
|
+
};
|
|
254370
|
+
}
|
|
254371
|
+
return blk;
|
|
254372
|
+
}
|
|
254024
254373
|
if (drawingBlock.drawingKind !== "shapeGroup")
|
|
254025
254374
|
return blk;
|
|
254026
254375
|
const shapeGroupBlock = drawingBlock;
|
|
@@ -266867,7 +267216,7 @@ var Node$13 = class Node$14 {
|
|
|
266867
267216
|
};
|
|
266868
267217
|
tr.setNodeMarkup(paraPos, undefined, nextAttrs, paragraph2.marks);
|
|
266869
267218
|
return true;
|
|
266870
|
-
}, defaultIncrementPoints = 36, increaseTextIndent = () => modifyIndentation((node2) => calculateNewIndentation(node2, 1)), decreaseTextIndent = () => modifyIndentation((node2) => calculateNewIndentation(node2, -1)), setTextIndentation = (points) => modifyIndentation(() => ptToTwips(points)), unsetTextIndentation = () => modifyIndentation(() => null), setLineHeight = (lineHeight) => ({ commands: commands$1 }) => {
|
|
267219
|
+
}, defaultIncrementPoints = 36, increaseTextIndent = () => modifyIndentation((node2, resolvedProps) => calculateNewIndentation(node2, 1, resolvedProps), { resolveProps: true }), decreaseTextIndent = () => modifyIndentation((node2, resolvedProps) => calculateNewIndentation(node2, -1, resolvedProps), { resolveProps: true }), setTextIndentation = (points) => modifyIndentation(() => ptToTwips(points)), unsetTextIndentation = () => modifyIndentation(() => null), setLineHeight = (lineHeight) => ({ commands: commands$1 }) => {
|
|
266871
267220
|
if (!lineHeight)
|
|
266872
267221
|
return false;
|
|
266873
267222
|
return commands$1.updateAttributes("paragraph", {
|
|
@@ -271387,7 +271736,7 @@ var Node$13 = class Node$14 {
|
|
|
271387
271736
|
}), hiddenRender = (type) => ["sd-passthrough", {
|
|
271388
271737
|
"data-sd-passthrough": type,
|
|
271389
271738
|
style: "display: none;"
|
|
271390
|
-
}], PassthroughBlock, PassthroughInline, IndexEntry, TableOfContentsEntry, CrossReference, SequenceField, DocumentStatField, FIELD_NODE_TYPES, SYNTHETIC_FIELD_NODE_TYPES, UPDATABLE_FIELD_TYPES, FieldUpdate, Citation, Bibliography, AuthorityEntry, TableOfAuthorities, hasExplicitPosition = (position4) => {
|
|
271739
|
+
}], PassthroughBlock, PassthroughInline, IndexEntry, TableOfContentsEntry, CrossReference, SequenceField, DocumentStatField, FIELD_NODE_TYPES, SYNTHETIC_FIELD_NODE_TYPES, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, UPDATABLE_FIELD_TYPES, FieldUpdate, Citation, Bibliography, AuthorityEntry, TableOfAuthorities, hasExplicitPosition = (position4) => {
|
|
271391
271740
|
if (typeof position4 !== "string")
|
|
271392
271741
|
return false;
|
|
271393
271742
|
return normalizeBaselineShift(parseFloat(position4)) != null;
|
|
@@ -276190,7 +276539,7 @@ var Node$13 = class Node$14 {
|
|
|
276190
276539
|
domAvailabilityCache = false;
|
|
276191
276540
|
return false;
|
|
276192
276541
|
}
|
|
276193
|
-
}, summaryVersion = "1.
|
|
276542
|
+
}, summaryVersion = "1.32.0", nodeKeys, markKeys, transformListsInCopiedContent = (html3) => {
|
|
276194
276543
|
const container = document.createElement("div");
|
|
276195
276544
|
container.innerHTML = html3;
|
|
276196
276545
|
const result = [];
|
|
@@ -276263,7 +276612,7 @@ var Node$13 = class Node$14 {
|
|
|
276263
276612
|
}, getLevel = (node2) => {
|
|
276264
276613
|
const lvl = node2.getAttribute("data-level");
|
|
276265
276614
|
return lvl ? parseInt(lvl, 10) : 0;
|
|
276266
|
-
}, DEFAULT_FALLBACK_MARGIN_INCHES = 1, MIN_MOBILE_SIDE_MARGIN_PX = 10, RESIZE_DEBOUNCE_MS = 150, DEFAULT_LINE_HEIGHT = 1.2, HEADER_FOOTER_LINE_HEIGHT = 1, RUNTIME_COPY_STRIP_SELECTOR, PARAGRAPH_CONTENT_SELECTOR = "span.sd-paragraph-content", BLOCK_COPY_CONTEXT_SELECTOR = "p, div, h1, h2, h3, h4, h5, h6, blockquote, table", WORD_HTML_META = '<meta name="Generator" content="Microsoft Word">', WORD_NUM_FMT_BY_LIST_FMT, ProseMirrorRenderer = class {
|
|
276615
|
+
}, HEADING_STYLE_RE, DEFAULT_FALLBACK_MARGIN_INCHES = 1, MIN_MOBILE_SIDE_MARGIN_PX = 10, RESIZE_DEBOUNCE_MS = 150, DEFAULT_LINE_HEIGHT = 1.2, HEADER_FOOTER_LINE_HEIGHT = 1, RUNTIME_COPY_STRIP_SELECTOR, PARAGRAPH_CONTENT_SELECTOR = "span.sd-paragraph-content", BLOCK_COPY_CONTEXT_SELECTOR = "p, div, h1, h2, h3, h4, h5, h6, blockquote, table", WORD_HTML_META = '<meta name="Generator" content="Microsoft Word">', WORD_NUM_FMT_BY_LIST_FMT, ProseMirrorRenderer = class {
|
|
276267
276616
|
constructor() {
|
|
276268
276617
|
this.view = null;
|
|
276269
276618
|
this.eventListenerCleanups = [];
|
|
@@ -276470,7 +276819,7 @@ var Node$13 = class Node$14 {
|
|
|
276470
276819
|
let sliceJson = "";
|
|
276471
276820
|
let mediaJson = "";
|
|
276472
276821
|
if (from$1 !== to) {
|
|
276473
|
-
const slice2 = this.view.state.doc.slice(from$1, to);
|
|
276822
|
+
const slice2 = wrapHeadingSelectionAsParagraph(this.view.state.doc.slice(from$1, to), this.view.state);
|
|
276474
276823
|
sliceJson = JSON.stringify(slice2.toJSON());
|
|
276475
276824
|
clipboardData.setData("application/x-superdoc-slice", sliceJson);
|
|
276476
276825
|
mediaJson = collectReferencedImageMediaForClipboard(sliceJson, editor);
|
|
@@ -276516,7 +276865,7 @@ var Node$13 = class Node$14 {
|
|
|
276516
276865
|
console.warn("Failed to initialize developer tools:", error48);
|
|
276517
276866
|
}
|
|
276518
276867
|
}
|
|
276519
|
-
}, BLANK_DOCX_BASE64 = `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`, BLANK_DOCX_DATA_URI, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, V3_PREFIX = "text:", V4_PREFIX = "text:v4:", HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, HEADING_STYLE_PATTERN, registry2, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, PARAGRAPH_NODE_TYPES, TEXT_STYLE_CHARACTER_STYLE_ATTR = "styleId", DIRECT_FORMATTING_MARK_NAMES, ALIGNMENT_TO_JUSTIFICATION, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, DEBUG_TEXT_REWRITE, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, BODY_LOCATOR2, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES2, FALLBACK_STORE_KEY = "__documentApiComments", TRACKED_CHANGE_ANCHOR_KEY_PREFIX = "tc::", COMMENT_ANCHOR_KEY_PREFIX = "comment::", indexByHost, TrackedChangeIndexImpl = class {
|
|
276868
|
+
}, BLANK_DOCX_BASE64 = `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`, BLANK_DOCX_DATA_URI, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, V3_PREFIX = "text:", V4_PREFIX = "text:v4:", HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, HEADING_STYLE_PATTERN, registry2, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, PARAGRAPH_NODE_TYPES, TEXT_STYLE_CHARACTER_STYLE_ATTR = "styleId", DIRECT_FORMATTING_MARK_NAMES, ALIGNMENT_TO_JUSTIFICATION, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, DEBUG_TEXT_REWRITE, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, BODY_LOCATOR2, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES2, FALLBACK_STORE_KEY = "__documentApiComments", TRACKED_CHANGE_ANCHOR_KEY_PREFIX = "tc::", COMMENT_ANCHOR_KEY_PREFIX = "comment::", indexByHost, TrackedChangeIndexImpl = class {
|
|
276520
276869
|
#hostEditor;
|
|
276521
276870
|
#snapshots = /* @__PURE__ */ new Map;
|
|
276522
276871
|
#aggregated = null;
|
|
@@ -277365,7 +277714,7 @@ var Node$13 = class Node$14 {
|
|
|
277365
277714
|
return () => {};
|
|
277366
277715
|
const handle3 = setInterval(callback, intervalMs);
|
|
277367
277716
|
return () => clearInterval(handle3);
|
|
277368
|
-
}, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.
|
|
277717
|
+
}, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", ALLOWED_SOURCE_MARK_TYPES, TEXT_STYLE_ALLOWED_ATTRS, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TOC_ENTRY_STYLE_RE, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.32.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension2) => {
|
|
277369
277718
|
const extensionLike = extension2;
|
|
277370
277719
|
const config3 = extensionLike?.config;
|
|
277371
277720
|
const ExtensionCtor = extensionLike?.constructor;
|
|
@@ -293036,12 +293385,12 @@ menclose::after {
|
|
|
293036
293385
|
return;
|
|
293037
293386
|
console.log(...args$1);
|
|
293038
293387
|
}, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions;
|
|
293039
|
-
var
|
|
293388
|
+
var init_src_BpYr_7Wm_es = __esm(() => {
|
|
293040
293389
|
init_rolldown_runtime_Bg48TavK_es();
|
|
293041
|
-
|
|
293390
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
293042
293391
|
init_jszip_C49i9kUs_es();
|
|
293043
293392
|
init_uuid_qzgm05fK_es();
|
|
293044
|
-
|
|
293393
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
293045
293394
|
init_constants_DrU4EASo_es();
|
|
293046
293395
|
init_dist_B8HfvhaK_es();
|
|
293047
293396
|
init_unified_Dsuw2be5_es();
|
|
@@ -300266,10 +300615,10 @@ ${err.toString()}`);
|
|
|
300266
300615
|
addOptions() {
|
|
300267
300616
|
return { htmlAttributes: {} };
|
|
300268
300617
|
},
|
|
300269
|
-
|
|
300618
|
+
parseDOM() {
|
|
300270
300619
|
return [{ tag: "span[data-toc-page-number]" }];
|
|
300271
300620
|
},
|
|
300272
|
-
|
|
300621
|
+
renderDOM() {
|
|
300273
300622
|
return [
|
|
300274
300623
|
"span",
|
|
300275
300624
|
{ "data-toc-page-number": "" },
|
|
@@ -303562,6 +303911,33 @@ ${err.toString()}`);
|
|
|
303562
303911
|
fieldType: "NUMPAGES",
|
|
303563
303912
|
instruction: "NUMPAGES"
|
|
303564
303913
|
} };
|
|
303914
|
+
TAB_LEADER_TO_SEPARATOR = {
|
|
303915
|
+
dot: ".",
|
|
303916
|
+
hyphen: "-",
|
|
303917
|
+
underscore: "_",
|
|
303918
|
+
middleDot: "·"
|
|
303919
|
+
};
|
|
303920
|
+
SEPARATOR_TO_TAB_LEADER = {
|
|
303921
|
+
".": "dot",
|
|
303922
|
+
"-": "hyphen",
|
|
303923
|
+
_: "underscore",
|
|
303924
|
+
"·": "middleDot"
|
|
303925
|
+
};
|
|
303926
|
+
DEFAULT_TOC_CONFIG = {
|
|
303927
|
+
source: {
|
|
303928
|
+
outlineLevels: {
|
|
303929
|
+
from: 1,
|
|
303930
|
+
to: 3
|
|
303931
|
+
},
|
|
303932
|
+
useAppliedOutlineLevel: true
|
|
303933
|
+
},
|
|
303934
|
+
display: {
|
|
303935
|
+
hyperlinks: true,
|
|
303936
|
+
hideInWebView: true
|
|
303937
|
+
},
|
|
303938
|
+
preserved: {}
|
|
303939
|
+
};
|
|
303940
|
+
SWITCH_PATTERN$1 = /\\([a-z])\s*(?:"([^"]*)")?/gi;
|
|
303565
303941
|
UPDATABLE_FIELD_TYPES = new Set([
|
|
303566
303942
|
"NUMWORDS",
|
|
303567
303943
|
"NUMCHARS",
|
|
@@ -303570,11 +303946,41 @@ ${err.toString()}`);
|
|
|
303570
303946
|
FieldUpdate = Extension.create({
|
|
303571
303947
|
name: "fieldUpdate",
|
|
303572
303948
|
addCommands() {
|
|
303573
|
-
return { updateFieldsInSelection: () => ({ editor, state, dispatch }) => {
|
|
303949
|
+
return { updateFieldsInSelection: () => ({ editor, state, tr: outerTr, dispatch }) => {
|
|
303574
303950
|
const { from: from$1, to } = state.selection;
|
|
303951
|
+
let tocPathRan = false;
|
|
303952
|
+
if (editor?.doc?.toc?.update) {
|
|
303953
|
+
const tocTargets = findAllTocNodes(state.doc).map((toc) => toc.commandNodeId).filter((id2) => typeof id2 === "string" && id2);
|
|
303954
|
+
if (tocTargets.length > 0) {
|
|
303955
|
+
if (!dispatch)
|
|
303956
|
+
return true;
|
|
303957
|
+
const tocStorage = editor.storage?.tableOfContents;
|
|
303958
|
+
const cachedPageMap = tocStorage?.pageMap ?? null;
|
|
303959
|
+
for (const sdBlockId of tocTargets) {
|
|
303960
|
+
if (tocStorage && cachedPageMap) {
|
|
303961
|
+
tocStorage.pageMap = cachedPageMap;
|
|
303962
|
+
tocStorage.pageMapDoc = editor.state.doc;
|
|
303963
|
+
}
|
|
303964
|
+
try {
|
|
303965
|
+
editor.doc.toc.update({
|
|
303966
|
+
target: {
|
|
303967
|
+
kind: "block",
|
|
303968
|
+
nodeType: "tableOfContents",
|
|
303969
|
+
nodeId: sdBlockId
|
|
303970
|
+
},
|
|
303971
|
+
mode: "all"
|
|
303972
|
+
});
|
|
303973
|
+
} catch (error48) {
|
|
303974
|
+
console.warn("[FieldUpdate] toc.update failed for", sdBlockId, error48);
|
|
303975
|
+
}
|
|
303976
|
+
}
|
|
303977
|
+
outerTr?.setMeta?.("preventDispatch", true);
|
|
303978
|
+
tocPathRan = true;
|
|
303979
|
+
}
|
|
303980
|
+
}
|
|
303575
303981
|
const updatable = findFieldsInRange(state.doc, from$1, to).filter((f2) => UPDATABLE_FIELD_TYPES.has(f2.fieldType));
|
|
303576
303982
|
if (updatable.length === 0)
|
|
303577
|
-
return
|
|
303983
|
+
return tocPathRan;
|
|
303578
303984
|
const stats = getWordStatistics(resolveMainBodyEditor(editor));
|
|
303579
303985
|
const tr = state.tr;
|
|
303580
303986
|
let changed = false;
|
|
@@ -303605,7 +304011,7 @@ ${err.toString()}`);
|
|
|
303605
304011
|
}
|
|
303606
304012
|
}
|
|
303607
304013
|
if (!changed)
|
|
303608
|
-
return
|
|
304014
|
+
return tocPathRan;
|
|
303609
304015
|
if (dispatch)
|
|
303610
304016
|
dispatch(tr);
|
|
303611
304017
|
return true;
|
|
@@ -304065,7 +304471,11 @@ ${err.toString()}`);
|
|
|
304065
304471
|
underlineColor: { default: null },
|
|
304066
304472
|
underlineThemeColor: { default: null },
|
|
304067
304473
|
underlineThemeTint: { default: null },
|
|
304068
|
-
underlineThemeShade: { default: null }
|
|
304474
|
+
underlineThemeShade: { default: null },
|
|
304475
|
+
autoAdded: {
|
|
304476
|
+
default: false,
|
|
304477
|
+
rendered: false
|
|
304478
|
+
}
|
|
304069
304479
|
};
|
|
304070
304480
|
},
|
|
304071
304481
|
addCommands() {
|
|
@@ -304312,10 +304722,26 @@ ${err.toString()}`);
|
|
|
304312
304722
|
}
|
|
304313
304723
|
if (linkMarkType)
|
|
304314
304724
|
tr = tr.removeMark(from$1, to, linkMarkType);
|
|
304315
|
-
if (underlineMarkType)
|
|
304316
|
-
|
|
304317
|
-
|
|
304318
|
-
|
|
304725
|
+
if (underlineMarkType) {
|
|
304726
|
+
const rangesMissingUnderline = [];
|
|
304727
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304728
|
+
if (!node2.isText || node2.nodeSize <= 0)
|
|
304729
|
+
return;
|
|
304730
|
+
if (node2.marks.some((mark2) => mark2.type === underlineMarkType))
|
|
304731
|
+
return;
|
|
304732
|
+
const rangeFrom = Math.max(pos, from$1);
|
|
304733
|
+
const rangeTo = Math.min(pos + node2.nodeSize, to);
|
|
304734
|
+
if (rangeFrom >= rangeTo)
|
|
304735
|
+
return;
|
|
304736
|
+
rangesMissingUnderline.push({
|
|
304737
|
+
from: rangeFrom,
|
|
304738
|
+
to: rangeTo
|
|
304739
|
+
});
|
|
304740
|
+
});
|
|
304741
|
+
rangesMissingUnderline.forEach((range) => {
|
|
304742
|
+
tr = tr.addMark(range.from, range.to, underlineMarkType.create({ autoAdded: true }));
|
|
304743
|
+
});
|
|
304744
|
+
}
|
|
304319
304745
|
let rId = null;
|
|
304320
304746
|
if (editor.options.mode === "docx") {
|
|
304321
304747
|
const id2 = addLinkRelationship({
|
|
@@ -304336,8 +304762,72 @@ ${err.toString()}`);
|
|
|
304336
304762
|
dispatch(tr.scrollIntoView());
|
|
304337
304763
|
return true;
|
|
304338
304764
|
},
|
|
304339
|
-
unsetLink: () => ({ chain }) => {
|
|
304340
|
-
|
|
304765
|
+
unsetLink: () => ({ chain, state, editor }) => {
|
|
304766
|
+
const { selection } = state;
|
|
304767
|
+
const linkMarkType = editor.schema.marks.link;
|
|
304768
|
+
const underlineMarkType = editor.schema.marks.underline;
|
|
304769
|
+
let { from: from$1, to } = selection;
|
|
304770
|
+
if (selection.empty && linkMarkType) {
|
|
304771
|
+
const range = getMarkRange(selection.$from, linkMarkType);
|
|
304772
|
+
if (range) {
|
|
304773
|
+
from$1 = range.from;
|
|
304774
|
+
to = range.to;
|
|
304775
|
+
}
|
|
304776
|
+
}
|
|
304777
|
+
return chain().unsetColor().unsetMark("link", { extendEmptyMarkRange: true }).command(({ tr }) => {
|
|
304778
|
+
if (underlineMarkType)
|
|
304779
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304780
|
+
if (!node2.isText)
|
|
304781
|
+
return;
|
|
304782
|
+
node2.marks.forEach((mark2) => {
|
|
304783
|
+
if (mark2.type !== underlineMarkType)
|
|
304784
|
+
return;
|
|
304785
|
+
if (mark2.attrs?.autoAdded !== true)
|
|
304786
|
+
return;
|
|
304787
|
+
tr.removeMark(pos, pos + node2.nodeSize, mark2);
|
|
304788
|
+
});
|
|
304789
|
+
});
|
|
304790
|
+
const textStyleMarkType = tr.doc.type.schema.marks.textStyle;
|
|
304791
|
+
if (textStyleMarkType)
|
|
304792
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304793
|
+
if (!node2.isText)
|
|
304794
|
+
return;
|
|
304795
|
+
node2.marks.forEach((mark2) => {
|
|
304796
|
+
if (mark2.type !== textStyleMarkType)
|
|
304797
|
+
return;
|
|
304798
|
+
if (!TRANSIENT_HYPERLINK_STYLE_IDS.has(mark2.attrs?.styleId))
|
|
304799
|
+
return;
|
|
304800
|
+
const clearedAttrs = {
|
|
304801
|
+
...mark2.attrs,
|
|
304802
|
+
styleId: null
|
|
304803
|
+
};
|
|
304804
|
+
tr.removeMark(pos, pos + node2.nodeSize, mark2);
|
|
304805
|
+
tr.addMark(pos, pos + node2.nodeSize, textStyleMarkType.create(clearedAttrs));
|
|
304806
|
+
});
|
|
304807
|
+
});
|
|
304808
|
+
const runNodesToUpdate = [];
|
|
304809
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304810
|
+
if (node2.type.name !== "run")
|
|
304811
|
+
return;
|
|
304812
|
+
if (!TRANSIENT_HYPERLINK_STYLE_IDS.has(node2.attrs?.runProperties?.styleId))
|
|
304813
|
+
return;
|
|
304814
|
+
runNodesToUpdate.push({
|
|
304815
|
+
node: node2,
|
|
304816
|
+
pos
|
|
304817
|
+
});
|
|
304818
|
+
});
|
|
304819
|
+
runNodesToUpdate.sort((a2, b$1) => b$1.pos - a2.pos).forEach(({ node: node2, pos }) => {
|
|
304820
|
+
const mappedPos = tr.mapping.map(pos);
|
|
304821
|
+
tr.setNodeMarkup(mappedPos, node2.type, {
|
|
304822
|
+
...node2.attrs,
|
|
304823
|
+
runProperties: {
|
|
304824
|
+
...node2.attrs.runProperties,
|
|
304825
|
+
styleId: null
|
|
304826
|
+
}
|
|
304827
|
+
}, node2.marks);
|
|
304828
|
+
});
|
|
304829
|
+
return true;
|
|
304830
|
+
}).run();
|
|
304341
304831
|
},
|
|
304342
304832
|
toggleLink: ({ href, text: text5 } = {}) => ({ commands: commands$1 }) => {
|
|
304343
304833
|
if (!href)
|
|
@@ -315512,6 +316002,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315512
316002
|
"spanning",
|
|
315513
316003
|
"code"
|
|
315514
316004
|
];
|
|
316005
|
+
HEADING_STYLE_RE = /^Heading[1-9]$/i;
|
|
315515
316006
|
RUNTIME_COPY_STRIP_SELECTOR = [
|
|
315516
316007
|
".list-marker",
|
|
315517
316008
|
".sd-editor-tab",
|
|
@@ -315526,33 +316017,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315526
316017
|
["bullet", "bullet"]
|
|
315527
316018
|
]);
|
|
315528
316019
|
BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${BLANK_DOCX_BASE64}`;
|
|
315529
|
-
TAB_LEADER_TO_SEPARATOR = {
|
|
315530
|
-
dot: ".",
|
|
315531
|
-
hyphen: "-",
|
|
315532
|
-
underscore: "_",
|
|
315533
|
-
middleDot: "·"
|
|
315534
|
-
};
|
|
315535
|
-
SEPARATOR_TO_TAB_LEADER = {
|
|
315536
|
-
".": "dot",
|
|
315537
|
-
"-": "hyphen",
|
|
315538
|
-
_: "underscore",
|
|
315539
|
-
"·": "middleDot"
|
|
315540
|
-
};
|
|
315541
|
-
DEFAULT_TOC_CONFIG = {
|
|
315542
|
-
source: {
|
|
315543
|
-
outlineLevels: {
|
|
315544
|
-
from: 1,
|
|
315545
|
-
to: 3
|
|
315546
|
-
},
|
|
315547
|
-
useAppliedOutlineLevel: true
|
|
315548
|
-
},
|
|
315549
|
-
display: {
|
|
315550
|
-
hyperlinks: true,
|
|
315551
|
-
hideInWebView: true
|
|
315552
|
-
},
|
|
315553
|
-
preserved: {}
|
|
315554
|
-
};
|
|
315555
|
-
SWITCH_PATTERN$1 = /\\([a-z])\s*(?:"([^"]*)")?/gi;
|
|
315556
316020
|
BULLET_FORMATS$1 = new Set(["bullet"]);
|
|
315557
316021
|
LOCK_MODE_TO_SDT_LOCK = {
|
|
315558
316022
|
unlocked: "none",
|
|
@@ -317095,6 +317559,15 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317095
317559
|
}
|
|
317096
317560
|
};
|
|
317097
317561
|
SWITCH_PATTERN = /\\([a-z])(?:\s*(?:"([^"]*)"|([^\s\\]+)))?/gi;
|
|
317562
|
+
ALLOWED_SOURCE_MARK_TYPES = new Set([
|
|
317563
|
+
"bold",
|
|
317564
|
+
"italic",
|
|
317565
|
+
"underline",
|
|
317566
|
+
"color",
|
|
317567
|
+
"highlight",
|
|
317568
|
+
"fontFamily"
|
|
317569
|
+
]);
|
|
317570
|
+
TEXT_STYLE_ALLOWED_ATTRS = new Set(["fontFamily"]);
|
|
317098
317571
|
TAB_LEADER_MAP = {
|
|
317099
317572
|
dot: "dot",
|
|
317100
317573
|
hyphen: "hyphen",
|
|
@@ -317109,6 +317582,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317109
317582
|
text: "No table of contents entries found."
|
|
317110
317583
|
}]
|
|
317111
317584
|
}];
|
|
317585
|
+
TOC_ENTRY_STYLE_RE = /^TOC[1-9]$/;
|
|
317112
317586
|
ALLOWED_WRAP_ATTRS = {
|
|
317113
317587
|
None: ["behindDoc"],
|
|
317114
317588
|
Square: [
|
|
@@ -321752,6 +322226,17 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
321752
322226
|
currentParagraph.style.whiteSpace = "normal";
|
|
321753
322227
|
if (part.isEmptyParagraph)
|
|
321754
322228
|
currentParagraph.style.minHeight = "1em";
|
|
322229
|
+
} else if (part.kind === "image" && part.src) {
|
|
322230
|
+
const img2 = this.doc.createElement("img");
|
|
322231
|
+
img2.src = part.src;
|
|
322232
|
+
img2.alt = part.alt ?? "";
|
|
322233
|
+
if (typeof part.width === "number")
|
|
322234
|
+
img2.style.width = `${part.width}px`;
|
|
322235
|
+
if (typeof part.height === "number")
|
|
322236
|
+
img2.style.height = `${part.height}px`;
|
|
322237
|
+
img2.style.display = "inline-block";
|
|
322238
|
+
img2.style.verticalAlign = "bottom";
|
|
322239
|
+
currentParagraph.appendChild(img2);
|
|
321755
322240
|
} else {
|
|
321756
322241
|
const span = this.doc.createElement("span");
|
|
321757
322242
|
span.textContent = this.resolveShapeTextPartText(part, context);
|
|
@@ -330744,6 +331229,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330744
331229
|
trackChangesAccept: check_solid_default,
|
|
330745
331230
|
trackChangesReject: xmark_solid_default,
|
|
330746
331231
|
cellBackground: paint_roller_solid_default,
|
|
331232
|
+
updateTableOfContents: rotate_right_solid_default,
|
|
330747
331233
|
listRestartNumbering: list_ol_solid_default,
|
|
330748
331234
|
listContinueNumbering: list_ol_solid_default,
|
|
330749
331235
|
listDecreaseIndent: outdent_solid_default,
|
|
@@ -330774,6 +331260,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330774
331260
|
trackChangesAccept: "Accept change",
|
|
330775
331261
|
trackChangesReject: "Reject change",
|
|
330776
331262
|
cellBackground: "Cell background",
|
|
331263
|
+
updateTableOfContents: "Update table of contents",
|
|
330777
331264
|
listRestartNumbering: "Restart numbering",
|
|
330778
331265
|
listContinueNumbering: "Continue numbering",
|
|
330779
331266
|
listDecreaseIndent: "Decrease indent",
|
|
@@ -330884,11 +331371,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330884
331371
|
];
|
|
330885
331372
|
});
|
|
330886
331373
|
|
|
330887
|
-
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-
|
|
331374
|
+
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-CEK13syX.es.js
|
|
330888
331375
|
var MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
|
|
330889
|
-
var
|
|
330890
|
-
|
|
330891
|
-
|
|
331376
|
+
var init_create_super_doc_ui_CEK13syX_es = __esm(() => {
|
|
331377
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
331378
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
330892
331379
|
MOD_ALIASES = new Set([
|
|
330893
331380
|
"Mod",
|
|
330894
331381
|
"Meta",
|
|
@@ -330930,16 +331417,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
|
|
|
330930
331417
|
|
|
330931
331418
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
330932
331419
|
var init_super_editor_es = __esm(() => {
|
|
330933
|
-
|
|
330934
|
-
|
|
331420
|
+
init_src_BpYr_7Wm_es();
|
|
331421
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
330935
331422
|
init_jszip_C49i9kUs_es();
|
|
330936
331423
|
init_xml_js_CqGKpaft_es();
|
|
330937
|
-
|
|
331424
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
330938
331425
|
init_constants_DrU4EASo_es();
|
|
330939
331426
|
init_dist_B8HfvhaK_es();
|
|
330940
331427
|
init_unified_Dsuw2be5_es();
|
|
330941
331428
|
init_DocxZipper_Dh4RtvcE_es();
|
|
330942
|
-
|
|
331429
|
+
init_create_super_doc_ui_CEK13syX_es();
|
|
330943
331430
|
init_ui_CGB3qmy3_es();
|
|
330944
331431
|
init_eventemitter3_UwU_CLPU_es();
|
|
330945
331432
|
init_errors_C_DoKMoN_es();
|
|
@@ -331330,7 +331817,9 @@ function deriveIncludePageNumbers2(omitRange, outlineLevels) {
|
|
|
331330
331817
|
return !fullyCovered;
|
|
331331
331818
|
}
|
|
331332
331819
|
function deriveTabLeader2(separator) {
|
|
331333
|
-
if (
|
|
331820
|
+
if (separator === undefined)
|
|
331821
|
+
return;
|
|
331822
|
+
if (separator === "")
|
|
331334
331823
|
return "none";
|
|
331335
331824
|
const leader = SEPARATOR_TO_TAB_LEADER2[separator];
|
|
331336
331825
|
return leader;
|
|
@@ -331344,7 +331833,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331344
331833
|
SWITCH_PATTERN2.lastIndex = 0;
|
|
331345
331834
|
while ((match2 = SWITCH_PATTERN2.exec(instruction)) !== null) {
|
|
331346
331835
|
const switchChar = match2[1].toLowerCase();
|
|
331347
|
-
const
|
|
331836
|
+
const rawArg = match2[2];
|
|
331837
|
+
const arg = rawArg ?? "";
|
|
331348
331838
|
switch (switchChar) {
|
|
331349
331839
|
case "o": {
|
|
331350
331840
|
const range = parseLevelRange2(arg);
|
|
@@ -331378,8 +331868,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331378
331868
|
break;
|
|
331379
331869
|
}
|
|
331380
331870
|
case "p":
|
|
331381
|
-
if (
|
|
331382
|
-
display.separator =
|
|
331871
|
+
if (rawArg !== undefined)
|
|
331872
|
+
display.separator = rawArg;
|
|
331383
331873
|
break;
|
|
331384
331874
|
case "t":
|
|
331385
331875
|
if (arg)
|
|
@@ -331451,7 +331941,7 @@ function serializeTocInstruction2(config3) {
|
|
|
331451
331941
|
if (display.omitPageNumberLevels) {
|
|
331452
331942
|
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
331453
331943
|
}
|
|
331454
|
-
if (display.separator) {
|
|
331944
|
+
if (display.separator !== undefined) {
|
|
331455
331945
|
parts.push(`\\p "${display.separator}"`);
|
|
331456
331946
|
}
|
|
331457
331947
|
if (preserved.captionType) {
|
|
@@ -331512,7 +332002,7 @@ function applyTocPatch2(existing, patch3) {
|
|
|
331512
332002
|
}
|
|
331513
332003
|
if (patch3.tabLeader !== undefined) {
|
|
331514
332004
|
if (patch3.tabLeader === "none") {
|
|
331515
|
-
|
|
332005
|
+
newDisplay.separator = "";
|
|
331516
332006
|
} else {
|
|
331517
332007
|
newDisplay.separator = TAB_LEADER_TO_SEPARATOR2[patch3.tabLeader];
|
|
331518
332008
|
}
|
|
@@ -409843,13 +410333,12 @@ function preProcessPageRefInstruction2(nodesToCombine, instrText) {
|
|
|
409843
410333
|
}
|
|
409844
410334
|
|
|
409845
410335
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/fld-preprocessors/hyperlink-preprocessor.js
|
|
409846
|
-
function
|
|
410336
|
+
function resolveHyperlinkAttributes2(instruction, docx) {
|
|
409847
410337
|
const urlMatch = instruction.match(/HYPERLINK\s+"([^"]+)"/);
|
|
409848
|
-
let linkAttributes;
|
|
409849
410338
|
if (urlMatch && urlMatch.length >= 2) {
|
|
409850
410339
|
const url2 = urlMatch[1];
|
|
409851
|
-
const rels = docx["word/_rels/document.xml.rels"];
|
|
409852
|
-
const relationships = rels?.elements
|
|
410340
|
+
const rels = docx?.["word/_rels/document.xml.rels"];
|
|
410341
|
+
const relationships = rels?.elements?.find((el) => el.name === "Relationships");
|
|
409853
410342
|
if (relationships) {
|
|
409854
410343
|
const rId = "rId" + generateDocxRandomId2();
|
|
409855
410344
|
relationships.elements.push({
|
|
@@ -409862,30 +410351,34 @@ function preProcessHyperlinkInstruction2(nodesToCombine, instruction, docx) {
|
|
|
409862
410351
|
TargetMode: "External"
|
|
409863
410352
|
}
|
|
409864
410353
|
});
|
|
409865
|
-
|
|
409866
|
-
} else {
|
|
409867
|
-
linkAttributes = { "w:anchor": url2 };
|
|
409868
|
-
}
|
|
409869
|
-
} else {
|
|
409870
|
-
const availableSwitches = {
|
|
409871
|
-
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
409872
|
-
new_window: /(?:\\n|\n)/,
|
|
409873
|
-
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
409874
|
-
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
409875
|
-
};
|
|
409876
|
-
const parsedSwitches = {};
|
|
409877
|
-
for (const [key2, pattern] of Object.entries(availableSwitches)) {
|
|
409878
|
-
const match2 = instruction.match(pattern);
|
|
409879
|
-
if (match2) {
|
|
409880
|
-
parsedSwitches[key2] = match2.groups?.value || true;
|
|
409881
|
-
}
|
|
410354
|
+
return { "r:id": rId };
|
|
409882
410355
|
}
|
|
409883
|
-
|
|
409884
|
-
|
|
409885
|
-
|
|
410356
|
+
return { "w:anchor": url2 };
|
|
410357
|
+
}
|
|
410358
|
+
const availableSwitches = {
|
|
410359
|
+
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
410360
|
+
new_window: /(?:\\n|\n)/,
|
|
410361
|
+
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
410362
|
+
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
410363
|
+
};
|
|
410364
|
+
const parsedSwitches = {};
|
|
410365
|
+
for (const [key2, pattern] of Object.entries(availableSwitches)) {
|
|
410366
|
+
const match2 = instruction.match(pattern);
|
|
410367
|
+
if (match2) {
|
|
410368
|
+
parsedSwitches[key2] = match2.groups?.value || true;
|
|
409886
410369
|
}
|
|
409887
|
-
linkAttributes = { ...parsedSwitches };
|
|
409888
410370
|
}
|
|
410371
|
+
if (parsedSwitches.new_window) {
|
|
410372
|
+
parsedSwitches["w:tgtFrame"] = "_blank";
|
|
410373
|
+
delete parsedSwitches.new_window;
|
|
410374
|
+
}
|
|
410375
|
+
if (Object.keys(parsedSwitches).length === 0) {
|
|
410376
|
+
return null;
|
|
410377
|
+
}
|
|
410378
|
+
return { ...parsedSwitches };
|
|
410379
|
+
}
|
|
410380
|
+
function preProcessHyperlinkInstruction2(nodesToCombine, instruction, docx) {
|
|
410381
|
+
const linkAttributes = resolveHyperlinkAttributes2(instruction, docx) ?? {};
|
|
409889
410382
|
return [
|
|
409890
410383
|
{
|
|
409891
410384
|
name: "w:hyperlink",
|
|
@@ -410157,10 +410650,11 @@ var init_fld_preprocessors = __esm(() => {
|
|
|
410157
410650
|
});
|
|
410158
410651
|
|
|
410159
410652
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/v2/importer/trackChangeElements.js
|
|
410160
|
-
var TRACK_CHANGE_ELEMENT_NAMES2, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2, isTrackChangeElement2 = (node4) => TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isTranslatedTrackChangeElement2 = (node4) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name);
|
|
410653
|
+
var TRACK_CHANGE_ELEMENT_NAMES2, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2, CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2, isTrackChangeElement2 = (node4) => TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isTranslatedTrackChangeElement2 = (node4) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isConstructiveTrackChangeElement2 = (node4) => CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name);
|
|
410161
410654
|
var init_trackChangeElements = __esm(() => {
|
|
410162
410655
|
TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins", "w:moveFrom", "w:moveTo"]);
|
|
410163
410656
|
TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins"]);
|
|
410657
|
+
CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:ins", "w:moveTo"]);
|
|
410164
410658
|
});
|
|
410165
410659
|
|
|
410166
410660
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/preProcessNodesForFldChar.js
|
|
@@ -410184,6 +410678,8 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410184
410678
|
if (!currentField.preserveRaw) {
|
|
410185
410679
|
const combinedResult = _processCombinedNodesForFldChar2(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
|
|
410186
410680
|
outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
|
|
410681
|
+
} else if (currentField.preserveRawConstructive) {
|
|
410682
|
+
applyConstructiveFieldInterpretation2(outputNodes, currentField.instrText.trim(), docx);
|
|
410187
410683
|
}
|
|
410188
410684
|
if (collectedNodesStack.length === 0) {
|
|
410189
410685
|
processedNodes.push(...outputNodes);
|
|
@@ -410303,6 +410799,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410303
410799
|
if (fieldInfo.preserveRaw || isTrackChangeElement2(node4)) {
|
|
410304
410800
|
fieldInfo.preserveRaw = true;
|
|
410305
410801
|
}
|
|
410802
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410803
|
+
fieldInfo.preserveRawConstructive = true;
|
|
410804
|
+
}
|
|
410306
410805
|
currentFieldStack.push(fieldInfo);
|
|
410307
410806
|
collectedNodesStack.push([node4]);
|
|
410308
410807
|
const rawStack = [rawNode];
|
|
@@ -410322,6 +410821,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410322
410821
|
if (shouldPreserveRaw) {
|
|
410323
410822
|
currentFieldStack[currentFieldStack.length - 1].preserveRaw = true;
|
|
410324
410823
|
}
|
|
410824
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410825
|
+
currentFieldStack[currentFieldStack.length - 1].preserveRawConstructive = true;
|
|
410826
|
+
}
|
|
410325
410827
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
410326
410828
|
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
410327
410829
|
finalizeField();
|
|
@@ -410370,6 +410872,83 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410370
410872
|
};
|
|
410371
410873
|
}
|
|
410372
410874
|
return { nodes: nodesToCombine, handled: false };
|
|
410875
|
+
}, applyConstructiveFieldInterpretation2 = (rawNodes, instrText, docx) => {
|
|
410876
|
+
const instructionType = instrText.split(" ")[0];
|
|
410877
|
+
if (instructionType !== "HYPERLINK")
|
|
410878
|
+
return;
|
|
410879
|
+
const linkAttributes = resolveHyperlinkAttributes2(instrText, docx);
|
|
410880
|
+
if (!linkAttributes)
|
|
410881
|
+
return;
|
|
410882
|
+
let visible = false;
|
|
410883
|
+
const walk = (parent) => {
|
|
410884
|
+
if (!parent || !Array.isArray(parent.elements))
|
|
410885
|
+
return;
|
|
410886
|
+
const next2 = [];
|
|
410887
|
+
let pendingHyperlinkRuns = null;
|
|
410888
|
+
const flushHyperlink = () => {
|
|
410889
|
+
if (!pendingHyperlinkRuns || pendingHyperlinkRuns.length === 0) {
|
|
410890
|
+
pendingHyperlinkRuns = null;
|
|
410891
|
+
return;
|
|
410892
|
+
}
|
|
410893
|
+
next2.push({
|
|
410894
|
+
type: "element",
|
|
410895
|
+
name: "w:hyperlink",
|
|
410896
|
+
attributes: linkAttributes,
|
|
410897
|
+
elements: pendingHyperlinkRuns
|
|
410898
|
+
});
|
|
410899
|
+
pendingHyperlinkRuns = null;
|
|
410900
|
+
};
|
|
410901
|
+
for (const child of parent.elements) {
|
|
410902
|
+
if (!child)
|
|
410903
|
+
continue;
|
|
410904
|
+
if (child.name === "w:p" || child.name === "w:ins" || child.name === "w:moveTo") {
|
|
410905
|
+
flushHyperlink();
|
|
410906
|
+
walk(child);
|
|
410907
|
+
next2.push(child);
|
|
410908
|
+
continue;
|
|
410909
|
+
}
|
|
410910
|
+
if (child.name === "w:r") {
|
|
410911
|
+
const fldChar = child.elements?.find((el) => el?.name === "w:fldChar");
|
|
410912
|
+
const fldType = fldChar?.attributes?.["w:fldCharType"];
|
|
410913
|
+
if (fldType === "separate") {
|
|
410914
|
+
flushHyperlink();
|
|
410915
|
+
visible = true;
|
|
410916
|
+
next2.push(child);
|
|
410917
|
+
continue;
|
|
410918
|
+
}
|
|
410919
|
+
if (fldType === "end") {
|
|
410920
|
+
flushHyperlink();
|
|
410921
|
+
visible = false;
|
|
410922
|
+
next2.push(child);
|
|
410923
|
+
continue;
|
|
410924
|
+
}
|
|
410925
|
+
if (fldType === "begin") {
|
|
410926
|
+
flushHyperlink();
|
|
410927
|
+
next2.push(child);
|
|
410928
|
+
continue;
|
|
410929
|
+
}
|
|
410930
|
+
const hasInstrText = child.elements?.some((el) => el?.name === "w:instrText");
|
|
410931
|
+
if (hasInstrText) {
|
|
410932
|
+
flushHyperlink();
|
|
410933
|
+
next2.push(child);
|
|
410934
|
+
continue;
|
|
410935
|
+
}
|
|
410936
|
+
if (visible) {
|
|
410937
|
+
if (!pendingHyperlinkRuns)
|
|
410938
|
+
pendingHyperlinkRuns = [];
|
|
410939
|
+
pendingHyperlinkRuns.push(child);
|
|
410940
|
+
continue;
|
|
410941
|
+
}
|
|
410942
|
+
next2.push(child);
|
|
410943
|
+
continue;
|
|
410944
|
+
}
|
|
410945
|
+
flushHyperlink();
|
|
410946
|
+
next2.push(child);
|
|
410947
|
+
}
|
|
410948
|
+
flushHyperlink();
|
|
410949
|
+
parent.elements = next2;
|
|
410950
|
+
};
|
|
410951
|
+
rawNodes.forEach(walk);
|
|
410373
410952
|
}, extractFieldRunRPr2 = (node4) => {
|
|
410374
410953
|
const rPrNode = node4?.elements?.find((el) => el.name === "w:rPr");
|
|
410375
410954
|
if (!rPrNode?.elements?.length) {
|
|
@@ -410442,6 +411021,7 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410442
411021
|
};
|
|
410443
411022
|
var init_preProcessNodesForFldChar = __esm(() => {
|
|
410444
411023
|
init_fld_preprocessors();
|
|
411024
|
+
init_hyperlink_preprocessor();
|
|
410445
411025
|
init_trackChangeElements();
|
|
410446
411026
|
SKIP_FIELD_PROCESSING_NODE_NAMES2 = new Set(["w:drawing", "w:pict"]);
|
|
410447
411027
|
FIELD_CONTROL_ELEMENT_NAMES2 = new Set(["w:fldChar"]);
|
|
@@ -411383,6 +411963,26 @@ function extractTextFromTextBox2(textBoxContent, bodyPr, params3 = {}) {
|
|
|
411383
411963
|
} else if (el.name === "sd:totalPageNumber") {
|
|
411384
411964
|
hasText = true;
|
|
411385
411965
|
appendFieldPart("NUMPAGES", el, paragraphProperties);
|
|
411966
|
+
} else if (el.name === "w:drawing") {
|
|
411967
|
+
const inline = el.elements?.find((child) => child?.name === "wp:inline");
|
|
411968
|
+
if (inline) {
|
|
411969
|
+
const imagePm = handleImageNode3(inline, { ...params3, nodes: [el] }, false);
|
|
411970
|
+
if (imagePm?.attrs?.src && imagePm.attrs.hidden !== true) {
|
|
411971
|
+
hasText = true;
|
|
411972
|
+
const sizeAttr = imagePm.attrs.size || imagePm.attrs;
|
|
411973
|
+
textParts.push({
|
|
411974
|
+
text: "",
|
|
411975
|
+
formatting,
|
|
411976
|
+
kind: "image",
|
|
411977
|
+
src: imagePm.attrs.src,
|
|
411978
|
+
extension: imagePm.attrs.extension,
|
|
411979
|
+
rId: imagePm.attrs.rId,
|
|
411980
|
+
width: typeof sizeAttr?.width === "number" ? sizeAttr.width : undefined,
|
|
411981
|
+
height: typeof sizeAttr?.height === "number" ? sizeAttr.height : undefined,
|
|
411982
|
+
alt: imagePm.attrs.alt || ""
|
|
411983
|
+
});
|
|
411984
|
+
}
|
|
411985
|
+
}
|
|
411386
411986
|
}
|
|
411387
411987
|
});
|
|
411388
411988
|
return hasText;
|
|
@@ -453939,27 +454539,46 @@ function dispatchTransaction2(editor, tr) {
|
|
|
453939
454539
|
var TOC_BOOKMARK_PREFIX2 = "_Toc";
|
|
453940
454540
|
|
|
453941
454541
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/toc-entry-builder.ts
|
|
454542
|
+
function sanitizeSourceMark2(mark2) {
|
|
454543
|
+
if (!mark2?.type)
|
|
454544
|
+
return null;
|
|
454545
|
+
if (mark2.type === "textStyle") {
|
|
454546
|
+
const attrs = mark2.attrs ?? {};
|
|
454547
|
+
const kept = {};
|
|
454548
|
+
for (const key2 of Object.keys(attrs)) {
|
|
454549
|
+
if (TEXT_STYLE_ALLOWED_ATTRS2.has(key2) && attrs[key2] != null)
|
|
454550
|
+
kept[key2] = attrs[key2];
|
|
454551
|
+
}
|
|
454552
|
+
return Object.keys(kept).length > 0 ? { type: "textStyle", attrs: kept } : null;
|
|
454553
|
+
}
|
|
454554
|
+
if (!ALLOWED_SOURCE_MARK_TYPES2.has(mark2.type))
|
|
454555
|
+
return null;
|
|
454556
|
+
return mark2.attrs && Object.keys(mark2.attrs).length > 0 ? { type: mark2.type, attrs: { ...mark2.attrs } } : { type: mark2.type };
|
|
454557
|
+
}
|
|
453942
454558
|
function collectTocSources2(doc6, config44) {
|
|
453943
454559
|
const sources = [];
|
|
453944
454560
|
const { outlineLevels, useAppliedOutlineLevel, tcFieldIdentifier, tcFieldLevels } = config44.source;
|
|
453945
454561
|
const useApplied = useAppliedOutlineLevel ?? false;
|
|
453946
454562
|
const collectTcFields = tcFieldIdentifier !== undefined || tcFieldLevels !== undefined;
|
|
453947
454563
|
let currentParagraphSdBlockId;
|
|
453948
|
-
doc6.descendants((node4,
|
|
454564
|
+
doc6.descendants((node4, pos) => {
|
|
453949
454565
|
if (node4.type.name === "tableOfContents")
|
|
453950
454566
|
return false;
|
|
453951
454567
|
if (node4.type.name === "paragraph") {
|
|
453952
454568
|
const attrs = node4.attrs;
|
|
453953
454569
|
const paragraphProps = attrs?.paragraphProperties;
|
|
453954
454570
|
const styleId = paragraphProps?.styleId;
|
|
453955
|
-
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId;
|
|
454571
|
+
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId ?? buildFallbackBlockNodeId2("paragraph", pos);
|
|
453956
454572
|
currentParagraphSdBlockId = sdBlockId;
|
|
453957
454573
|
if (!sdBlockId)
|
|
453958
454574
|
return true;
|
|
454575
|
+
const text9 = flattenText2(node4);
|
|
454576
|
+
if (text9.trim().length === 0)
|
|
454577
|
+
return true;
|
|
453959
454578
|
if (outlineLevels) {
|
|
453960
454579
|
const headingLevel = getHeadingLevel2(styleId);
|
|
453961
454580
|
if (headingLevel != null && headingLevel >= outlineLevels.from && headingLevel <= outlineLevels.to) {
|
|
453962
|
-
sources.push({ text:
|
|
454581
|
+
sources.push({ text: text9, segments: extractTextSegments2(node4), level: headingLevel, sdBlockId, kind: "heading" });
|
|
453963
454582
|
return true;
|
|
453964
454583
|
}
|
|
453965
454584
|
}
|
|
@@ -453969,7 +454588,13 @@ function collectTocSources2(doc6, config44) {
|
|
|
453969
454588
|
if (rawOutlineLevel != null) {
|
|
453970
454589
|
const tocLevel = rawOutlineLevel + 1;
|
|
453971
454590
|
if (tocLevel >= effectiveLevels.from && tocLevel <= effectiveLevels.to) {
|
|
453972
|
-
sources.push({
|
|
454591
|
+
sources.push({
|
|
454592
|
+
text: text9,
|
|
454593
|
+
segments: extractTextSegments2(node4),
|
|
454594
|
+
level: tocLevel,
|
|
454595
|
+
sdBlockId,
|
|
454596
|
+
kind: "appliedOutline"
|
|
454597
|
+
});
|
|
453973
454598
|
return true;
|
|
453974
454599
|
}
|
|
453975
454600
|
}
|
|
@@ -454009,54 +454634,79 @@ function flattenText2(node4) {
|
|
|
454009
454634
|
});
|
|
454010
454635
|
return text9;
|
|
454011
454636
|
}
|
|
454012
|
-
function
|
|
454013
|
-
|
|
454637
|
+
function extractTextSegments2(node4) {
|
|
454638
|
+
const segments = [];
|
|
454639
|
+
node4.descendants((child) => {
|
|
454640
|
+
if (!child.isText || !child.text)
|
|
454641
|
+
return true;
|
|
454642
|
+
const marks = [];
|
|
454643
|
+
for (const mark2 of child.marks ?? []) {
|
|
454644
|
+
const raw = { type: mark2.type?.name ?? "" };
|
|
454645
|
+
if (mark2.attrs && Object.keys(mark2.attrs).length > 0)
|
|
454646
|
+
raw.attrs = { ...mark2.attrs };
|
|
454647
|
+
const sanitized = sanitizeSourceMark2(raw);
|
|
454648
|
+
if (sanitized)
|
|
454649
|
+
marks.push(sanitized);
|
|
454650
|
+
}
|
|
454651
|
+
const last2 = segments[segments.length - 1];
|
|
454652
|
+
if (last2 && marksEqual4(last2.marks, marks)) {
|
|
454653
|
+
last2.text += child.text;
|
|
454654
|
+
} else {
|
|
454655
|
+
segments.push(marks.length > 0 ? { text: child.text, marks } : { text: child.text });
|
|
454656
|
+
}
|
|
454657
|
+
return true;
|
|
454658
|
+
});
|
|
454659
|
+
return segments;
|
|
454660
|
+
}
|
|
454661
|
+
function marksEqual4(a2, b2) {
|
|
454662
|
+
const aLen = a2?.length ?? 0;
|
|
454663
|
+
const bLen = b2?.length ?? 0;
|
|
454664
|
+
if (aLen !== bLen)
|
|
454665
|
+
return false;
|
|
454666
|
+
if (aLen === 0)
|
|
454667
|
+
return true;
|
|
454668
|
+
return JSON.stringify(a2) === JSON.stringify(b2);
|
|
454669
|
+
}
|
|
454670
|
+
function buildTocEntryParagraphs2(sources, config44, options = {}) {
|
|
454671
|
+
return sources.map((source) => buildEntryParagraph2(source, config44, options));
|
|
454014
454672
|
}
|
|
454015
|
-
function
|
|
454673
|
+
function asRun2(children) {
|
|
454674
|
+
return { type: "run", content: children };
|
|
454675
|
+
}
|
|
454676
|
+
function buildEntryParagraph2(source, config44, options = {}) {
|
|
454016
454677
|
const { display } = config44;
|
|
454017
|
-
const
|
|
454018
|
-
const
|
|
454019
|
-
|
|
454020
|
-
|
|
454021
|
-
|
|
454022
|
-
|
|
454023
|
-
|
|
454024
|
-
|
|
454025
|
-
|
|
454026
|
-
|
|
454027
|
-
|
|
454028
|
-
|
|
454029
|
-
|
|
454030
|
-
}
|
|
454031
|
-
}
|
|
454032
|
-
];
|
|
454033
|
-
}
|
|
454034
|
-
content5.push(textNode);
|
|
454678
|
+
const linkMark = display.hyperlinks ? { type: "link", attrs: { anchor: generateTocBookmarkName2(source.sdBlockId), rId: null, history: true } } : undefined;
|
|
454679
|
+
const segments = source.segments && source.segments.length > 0 ? source.segments : [{ text: source.text || " " }];
|
|
454680
|
+
const titleTextNodes = segments.map((segment) => {
|
|
454681
|
+
const sourceMarks = (segment.marks ?? []).map((m2) => sanitizeSourceMark2(m2)).filter((m2) => m2 !== null);
|
|
454682
|
+
const marks = [...sourceMarks];
|
|
454683
|
+
if (linkMark)
|
|
454684
|
+
marks.push(linkMark);
|
|
454685
|
+
const node4 = { type: "text", text: segment.text || " " };
|
|
454686
|
+
if (marks.length > 0)
|
|
454687
|
+
node4.marks = marks;
|
|
454688
|
+
return node4;
|
|
454689
|
+
});
|
|
454690
|
+
const content5 = [asRun2(titleTextNodes)];
|
|
454035
454691
|
const omitRange = display.omitPageNumberLevels;
|
|
454036
|
-
const
|
|
454037
|
-
const entryOmitted = source.omitPageNumber;
|
|
454038
|
-
const omitPageNumber = levelOmitted || entryOmitted;
|
|
454692
|
+
const omitPageNumber = Boolean(omitRange && source.level >= omitRange.from && source.level <= omitRange.to || source.omitPageNumber);
|
|
454039
454693
|
if (!omitPageNumber) {
|
|
454040
|
-
|
|
454041
|
-
|
|
454042
|
-
|
|
454043
|
-
|
|
454044
|
-
|
|
454045
|
-
|
|
454046
|
-
|
|
454047
|
-
|
|
454048
|
-
|
|
454049
|
-
});
|
|
454694
|
+
content5.push(asRun2([display.separator ? { type: "text", text: display.separator } : { type: "tab" }]));
|
|
454695
|
+
const resolvedPage = options.pageMap?.get(source.sdBlockId);
|
|
454696
|
+
content5.push(asRun2([
|
|
454697
|
+
{
|
|
454698
|
+
type: "text",
|
|
454699
|
+
text: resolvedPage != null ? String(resolvedPage) : "0",
|
|
454700
|
+
marks: [{ type: "tocPageNumber" }]
|
|
454701
|
+
}
|
|
454702
|
+
]));
|
|
454050
454703
|
}
|
|
454051
|
-
const paragraphProperties = {
|
|
454052
|
-
styleId: `TOC${source.level}`
|
|
454053
|
-
};
|
|
454704
|
+
const paragraphProperties = { styleId: `TOC${source.level}` };
|
|
454054
454705
|
const rightAlign = display.rightAlignPageNumbers !== false;
|
|
454055
454706
|
if (rightAlign && !omitPageNumber) {
|
|
454056
|
-
const leader = display.tabLeader
|
|
454057
|
-
|
|
454058
|
-
|
|
454059
|
-
];
|
|
454707
|
+
const leader = display.tabLeader === "none" ? undefined : display.tabLeader && TAB_LEADER_MAP2[display.tabLeader] || "dot";
|
|
454708
|
+
const pos = options.tabPos ?? DEFAULT_RIGHT_TAB_POS2;
|
|
454709
|
+
paragraphProperties.tabStops = [{ tab: { tabType: "right", pos, ...leader ? { leader } : {} } }];
|
|
454060
454710
|
}
|
|
454061
454711
|
return {
|
|
454062
454712
|
type: "paragraph",
|
|
@@ -454068,10 +454718,13 @@ function buildEntryParagraph2(source, config44) {
|
|
|
454068
454718
|
content: content5
|
|
454069
454719
|
};
|
|
454070
454720
|
}
|
|
454071
|
-
var DEFAULT_RIGHT_TAB_POS2 = 9350, TAB_LEADER_MAP2;
|
|
454721
|
+
var ALLOWED_SOURCE_MARK_TYPES2, TEXT_STYLE_ALLOWED_ATTRS2, DEFAULT_RIGHT_TAB_POS2 = 9350, TAB_LEADER_MAP2;
|
|
454072
454722
|
var init_toc_entry_builder = __esm(() => {
|
|
454073
454723
|
init_tc_switches();
|
|
454074
454724
|
init_node_address_resolver();
|
|
454725
|
+
init_deterministic_node_id();
|
|
454726
|
+
ALLOWED_SOURCE_MARK_TYPES2 = new Set(["bold", "italic", "underline", "color", "highlight", "fontFamily"]);
|
|
454727
|
+
TEXT_STYLE_ALLOWED_ATTRS2 = new Set(["fontFamily"]);
|
|
454075
454728
|
TAB_LEADER_MAP2 = {
|
|
454076
454729
|
dot: "dot",
|
|
454077
454730
|
hyphen: "hyphen",
|
|
@@ -454184,6 +454837,39 @@ function withRightAlign2(config44, rightAlignPageNumbers) {
|
|
|
454184
454837
|
return config44;
|
|
454185
454838
|
return { ...config44, display: { ...config44.display, rightAlignPageNumbers } };
|
|
454186
454839
|
}
|
|
454840
|
+
function stripTocPageNumberFromNode2(node4) {
|
|
454841
|
+
if (!node4 || typeof node4 !== "object")
|
|
454842
|
+
return { node: node4, changed: false };
|
|
454843
|
+
const typedNode = node4;
|
|
454844
|
+
let changed = false;
|
|
454845
|
+
let next2 = typedNode;
|
|
454846
|
+
if (Array.isArray(typedNode.marks)) {
|
|
454847
|
+
const filtered = typedNode.marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
454848
|
+
if (filtered.length !== typedNode.marks.length) {
|
|
454849
|
+
changed = true;
|
|
454850
|
+
if (filtered.length === 0) {
|
|
454851
|
+
const { marks: _removed, ...rest } = next2;
|
|
454852
|
+
next2 = rest;
|
|
454853
|
+
} else {
|
|
454854
|
+
next2 = { ...next2, marks: filtered };
|
|
454855
|
+
}
|
|
454856
|
+
}
|
|
454857
|
+
}
|
|
454858
|
+
if (Array.isArray(typedNode.content)) {
|
|
454859
|
+
let childChanged = false;
|
|
454860
|
+
const nextChildren = typedNode.content.map((child) => {
|
|
454861
|
+
const result = stripTocPageNumberFromNode2(child);
|
|
454862
|
+
if (result.changed)
|
|
454863
|
+
childChanged = true;
|
|
454864
|
+
return result.node;
|
|
454865
|
+
});
|
|
454866
|
+
if (childChanged) {
|
|
454867
|
+
changed = true;
|
|
454868
|
+
next2 = { ...next2, content: nextChildren };
|
|
454869
|
+
}
|
|
454870
|
+
}
|
|
454871
|
+
return { node: next2, changed };
|
|
454872
|
+
}
|
|
454187
454873
|
function sanitizeTocContentForSchema2(content5, editor) {
|
|
454188
454874
|
if (editor.state.schema?.marks?.tocPageNumber)
|
|
454189
454875
|
return content5;
|
|
@@ -454193,31 +454879,58 @@ function sanitizeTocContentForSchema2(content5, editor) {
|
|
|
454193
454879
|
return paragraph4;
|
|
454194
454880
|
let changed = false;
|
|
454195
454881
|
const sanitizedContent = paragraphContent.map((node4) => {
|
|
454196
|
-
|
|
454197
|
-
|
|
454198
|
-
|
|
454199
|
-
|
|
454200
|
-
if (!Array.isArray(marks))
|
|
454201
|
-
return node4;
|
|
454202
|
-
const filteredMarks = marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
454203
|
-
if (filteredMarks.length === marks.length)
|
|
454204
|
-
return node4;
|
|
454205
|
-
changed = true;
|
|
454206
|
-
if (filteredMarks.length === 0) {
|
|
454207
|
-
const { marks: _removed, ...rest } = typedNode;
|
|
454208
|
-
return rest;
|
|
454209
|
-
}
|
|
454210
|
-
return { ...typedNode, marks: filteredMarks };
|
|
454882
|
+
const result = stripTocPageNumberFromNode2(node4);
|
|
454883
|
+
if (result.changed)
|
|
454884
|
+
changed = true;
|
|
454885
|
+
return result.node;
|
|
454211
454886
|
});
|
|
454212
454887
|
return changed ? { ...paragraph4, content: sanitizedContent } : paragraph4;
|
|
454213
454888
|
});
|
|
454214
454889
|
}
|
|
454215
|
-
function materializeTocContent2(doc6, config44, editor) {
|
|
454890
|
+
function materializeTocContent2(doc6, config44, editor, options = {}) {
|
|
454216
454891
|
const sources = collectTocSources2(doc6, config44);
|
|
454217
|
-
const entryParagraphs = buildTocEntryParagraphs2(sources, config44);
|
|
454892
|
+
const entryParagraphs = buildTocEntryParagraphs2(sources, config44, options);
|
|
454218
454893
|
const content5 = entryParagraphs.length > 0 ? entryParagraphs : NO_ENTRIES_PLACEHOLDER2;
|
|
454219
454894
|
return { content: sanitizeTocContentForSchema2(content5, editor), sources };
|
|
454220
454895
|
}
|
|
454896
|
+
function findFirstTocEntryParagraph2(node4) {
|
|
454897
|
+
let entry;
|
|
454898
|
+
node4.forEach((paragraph4) => {
|
|
454899
|
+
if (entry || paragraph4.type.name !== "paragraph")
|
|
454900
|
+
return;
|
|
454901
|
+
const styleId = paragraph4.attrs?.paragraphProperties?.styleId;
|
|
454902
|
+
if (styleId && TOC_ENTRY_STYLE_RE2.test(styleId))
|
|
454903
|
+
entry = paragraph4;
|
|
454904
|
+
});
|
|
454905
|
+
return entry;
|
|
454906
|
+
}
|
|
454907
|
+
function readExistingTocTabPos2(node4) {
|
|
454908
|
+
const entry = findFirstTocEntryParagraph2(node4) ?? node4.firstChild ?? undefined;
|
|
454909
|
+
const tabStops = entry?.attrs?.paragraphProperties?.tabStops;
|
|
454910
|
+
const pos = tabStops?.find((t) => t?.tab?.tabType === "right")?.tab?.pos;
|
|
454911
|
+
return typeof pos === "number" ? pos : undefined;
|
|
454912
|
+
}
|
|
454913
|
+
function readExistingTocTrailingParagraph2(node4) {
|
|
454914
|
+
const last2 = node4.lastChild;
|
|
454915
|
+
if (!last2 || last2.type.name !== "paragraph")
|
|
454916
|
+
return;
|
|
454917
|
+
const styleId = last2.attrs?.paragraphProperties?.styleId;
|
|
454918
|
+
if (styleId && TOC_ENTRY_STYLE_RE2.test(styleId))
|
|
454919
|
+
return;
|
|
454920
|
+
let hasPrecedingEntry = false;
|
|
454921
|
+
node4.forEach((child) => {
|
|
454922
|
+
if (hasPrecedingEntry || child === last2)
|
|
454923
|
+
return;
|
|
454924
|
+
if (child.type.name !== "paragraph")
|
|
454925
|
+
return;
|
|
454926
|
+
const childStyleId = child.attrs?.paragraphProperties?.styleId;
|
|
454927
|
+
if (childStyleId && TOC_ENTRY_STYLE_RE2.test(childStyleId))
|
|
454928
|
+
hasPrecedingEntry = true;
|
|
454929
|
+
});
|
|
454930
|
+
if (!hasPrecedingEntry)
|
|
454931
|
+
return;
|
|
454932
|
+
return typeof last2.toJSON === "function" ? last2.toJSON() : undefined;
|
|
454933
|
+
}
|
|
454221
454934
|
function tocConfigureWrapper2(editor, input2, options) {
|
|
454222
454935
|
rejectTrackedMode2("toc.configure", options);
|
|
454223
454936
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
@@ -454226,7 +454939,12 @@ function tocConfigureWrapper2(editor, input2, options) {
|
|
|
454226
454939
|
const instruction = serializeTocInstruction2(patched);
|
|
454227
454940
|
const rightAlignChanged = input2.patch.rightAlignPageNumbers !== undefined && input2.patch.rightAlignPageNumbers !== resolved.node.attrs?.rightAlignPageNumbers;
|
|
454228
454941
|
const effectiveRightAlign = input2.patch.rightAlignPageNumbers ?? resolved.node.attrs?.rightAlignPageNumbers;
|
|
454229
|
-
const { content:
|
|
454942
|
+
const { content: rebuiltEntries, sources } = materializeTocContent2(editor.state.doc, withRightAlign2(patched, effectiveRightAlign), editor, {
|
|
454943
|
+
pageMap: getPageMap2(editor) ?? undefined,
|
|
454944
|
+
tabPos: readExistingTocTabPos2(resolved.node)
|
|
454945
|
+
});
|
|
454946
|
+
const trailing = readExistingTocTrailingParagraph2(resolved.node);
|
|
454947
|
+
const nextContent = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
454230
454948
|
if (areTocConfigsEqual2(currentConfig, patched) && !rightAlignChanged) {
|
|
454231
454949
|
return tocFailure2("NO_OP", "Configuration patch produced no change.");
|
|
454232
454950
|
}
|
|
@@ -454279,7 +454997,12 @@ function tocUpdateAll2(editor, input2, options) {
|
|
|
454279
454997
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
454280
454998
|
const config44 = parseTocInstruction2(resolved.node.attrs?.instruction ?? "");
|
|
454281
454999
|
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
454282
|
-
const { content:
|
|
455000
|
+
const { content: rebuiltEntries, sources } = materializeTocContent2(editor.state.doc, withRightAlign2(config44, rightAlign), editor, {
|
|
455001
|
+
pageMap: getPageMap2(editor) ?? undefined,
|
|
455002
|
+
tabPos: readExistingTocTabPos2(resolved.node)
|
|
455003
|
+
});
|
|
455004
|
+
const trailing = readExistingTocTrailingParagraph2(resolved.node);
|
|
455005
|
+
const content5 = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
454283
455006
|
if (isTocContentUnchanged2(resolved.node, content5)) {
|
|
454284
455007
|
return tocFailure2("NO_OP", "TOC update produced no change.");
|
|
454285
455008
|
}
|
|
@@ -454369,24 +455092,30 @@ function buildPageNumberUpdatedContent2(tocNode, pageMap) {
|
|
|
454369
455092
|
}
|
|
454370
455093
|
const tocSourceId = child.attrs?.tocSourceId;
|
|
454371
455094
|
const childJson = child.toJSON();
|
|
454372
|
-
const content5 = childJson.content ?? [];
|
|
454373
455095
|
let paragraphChanged = false;
|
|
454374
|
-
const
|
|
455096
|
+
const visit3 = (node4) => {
|
|
454375
455097
|
const marks = node4.marks;
|
|
454376
455098
|
const hasTocPageNumberMark = marks?.some((m2) => m2.type === "tocPageNumber");
|
|
454377
|
-
if (
|
|
454378
|
-
|
|
454379
|
-
|
|
454380
|
-
|
|
455099
|
+
if (hasTocPageNumberMark) {
|
|
455100
|
+
hasPageNumberMarks = true;
|
|
455101
|
+
if (!tocSourceId)
|
|
455102
|
+
return node4;
|
|
455103
|
+
const pageNumber = pageMap.get(tocSourceId);
|
|
455104
|
+
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
455105
|
+
if (node4.text !== newText) {
|
|
455106
|
+
paragraphChanged = true;
|
|
455107
|
+
return { ...node4, text: newText };
|
|
455108
|
+
}
|
|
454381
455109
|
return node4;
|
|
454382
|
-
const pageNumber = pageMap.get(tocSourceId);
|
|
454383
|
-
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
454384
|
-
if (node4.text !== newText) {
|
|
454385
|
-
paragraphChanged = true;
|
|
454386
|
-
return { ...node4, text: newText };
|
|
454387
455110
|
}
|
|
454388
|
-
|
|
454389
|
-
|
|
455111
|
+
const nested = node4.content;
|
|
455112
|
+
if (!Array.isArray(nested) || nested.length === 0)
|
|
455113
|
+
return node4;
|
|
455114
|
+
const visited = nested.map(visit3);
|
|
455115
|
+
const replaced = visited.some((next2, idx) => next2 !== nested[idx]);
|
|
455116
|
+
return replaced ? { ...node4, content: visited } : node4;
|
|
455117
|
+
};
|
|
455118
|
+
const updatedContentArray = (childJson.content ?? []).map(visit3);
|
|
454390
455119
|
if (paragraphChanged) {
|
|
454391
455120
|
anyChanged = true;
|
|
454392
455121
|
updatedContent.push({ ...childJson, content: updatedContentArray });
|
|
@@ -454480,7 +455209,7 @@ function createTableOfContentsWrapper2(editor, input2, options) {
|
|
|
454480
455209
|
const postMutationId = resolvePostMutationTocId2(editor.state.doc, sdBlockId);
|
|
454481
455210
|
return { success: true, toc: buildTocAddress2(postMutationId) };
|
|
454482
455211
|
}
|
|
454483
|
-
var NO_ENTRIES_PLACEHOLDER2;
|
|
455212
|
+
var NO_ENTRIES_PLACEHOLDER2, TOC_ENTRY_STYLE_RE2;
|
|
454484
455213
|
var init_toc_wrappers = __esm(() => {
|
|
454485
455214
|
init_wrapper();
|
|
454486
455215
|
init_src();
|
|
@@ -454500,6 +455229,7 @@ var init_toc_wrappers = __esm(() => {
|
|
|
454500
455229
|
content: [{ type: "text", text: "No table of contents entries found." }]
|
|
454501
455230
|
}
|
|
454502
455231
|
];
|
|
455232
|
+
TOC_ENTRY_STYLE_RE2 = /^TOC[1-9]$/;
|
|
454503
455233
|
});
|
|
454504
455234
|
|
|
454505
455235
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/toc-entry-node-id.ts
|