@superdoc-dev/mcp 0.3.0-next.72 → 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 +1323 -585
- 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;
|
|
@@ -284856,7 +285205,10 @@ menclose::after {
|
|
|
284856
285205
|
const attrs = block.attrs;
|
|
284857
285206
|
if (!attrs)
|
|
284858
285207
|
return false;
|
|
284859
|
-
const
|
|
285208
|
+
const directionContext = attrs.directionContext;
|
|
285209
|
+
if (directionContext?.inlineDirection != null)
|
|
285210
|
+
return directionContext.inlineDirection === "rtl";
|
|
285211
|
+
const directionAttr = attrs.direction ?? attrs.dir;
|
|
284860
285212
|
if (typeof directionAttr === "string" && directionAttr.toLowerCase() === "rtl")
|
|
284861
285213
|
return true;
|
|
284862
285214
|
return false;
|
|
@@ -293033,12 +293385,12 @@ menclose::after {
|
|
|
293033
293385
|
return;
|
|
293034
293386
|
console.log(...args$1);
|
|
293035
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;
|
|
293036
|
-
var
|
|
293388
|
+
var init_src_BpYr_7Wm_es = __esm(() => {
|
|
293037
293389
|
init_rolldown_runtime_Bg48TavK_es();
|
|
293038
|
-
|
|
293390
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
293039
293391
|
init_jszip_C49i9kUs_es();
|
|
293040
293392
|
init_uuid_qzgm05fK_es();
|
|
293041
|
-
|
|
293393
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
293042
293394
|
init_constants_DrU4EASo_es();
|
|
293043
293395
|
init_dist_B8HfvhaK_es();
|
|
293044
293396
|
init_unified_Dsuw2be5_es();
|
|
@@ -300263,10 +300615,10 @@ ${err.toString()}`);
|
|
|
300263
300615
|
addOptions() {
|
|
300264
300616
|
return { htmlAttributes: {} };
|
|
300265
300617
|
},
|
|
300266
|
-
|
|
300618
|
+
parseDOM() {
|
|
300267
300619
|
return [{ tag: "span[data-toc-page-number]" }];
|
|
300268
300620
|
},
|
|
300269
|
-
|
|
300621
|
+
renderDOM() {
|
|
300270
300622
|
return [
|
|
300271
300623
|
"span",
|
|
300272
300624
|
{ "data-toc-page-number": "" },
|
|
@@ -303559,6 +303911,33 @@ ${err.toString()}`);
|
|
|
303559
303911
|
fieldType: "NUMPAGES",
|
|
303560
303912
|
instruction: "NUMPAGES"
|
|
303561
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;
|
|
303562
303941
|
UPDATABLE_FIELD_TYPES = new Set([
|
|
303563
303942
|
"NUMWORDS",
|
|
303564
303943
|
"NUMCHARS",
|
|
@@ -303567,11 +303946,41 @@ ${err.toString()}`);
|
|
|
303567
303946
|
FieldUpdate = Extension.create({
|
|
303568
303947
|
name: "fieldUpdate",
|
|
303569
303948
|
addCommands() {
|
|
303570
|
-
return { updateFieldsInSelection: () => ({ editor, state, dispatch }) => {
|
|
303949
|
+
return { updateFieldsInSelection: () => ({ editor, state, tr: outerTr, dispatch }) => {
|
|
303571
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
|
+
}
|
|
303572
303981
|
const updatable = findFieldsInRange(state.doc, from$1, to).filter((f2) => UPDATABLE_FIELD_TYPES.has(f2.fieldType));
|
|
303573
303982
|
if (updatable.length === 0)
|
|
303574
|
-
return
|
|
303983
|
+
return tocPathRan;
|
|
303575
303984
|
const stats = getWordStatistics(resolveMainBodyEditor(editor));
|
|
303576
303985
|
const tr = state.tr;
|
|
303577
303986
|
let changed = false;
|
|
@@ -303602,7 +304011,7 @@ ${err.toString()}`);
|
|
|
303602
304011
|
}
|
|
303603
304012
|
}
|
|
303604
304013
|
if (!changed)
|
|
303605
|
-
return
|
|
304014
|
+
return tocPathRan;
|
|
303606
304015
|
if (dispatch)
|
|
303607
304016
|
dispatch(tr);
|
|
303608
304017
|
return true;
|
|
@@ -304062,7 +304471,11 @@ ${err.toString()}`);
|
|
|
304062
304471
|
underlineColor: { default: null },
|
|
304063
304472
|
underlineThemeColor: { default: null },
|
|
304064
304473
|
underlineThemeTint: { default: null },
|
|
304065
|
-
underlineThemeShade: { default: null }
|
|
304474
|
+
underlineThemeShade: { default: null },
|
|
304475
|
+
autoAdded: {
|
|
304476
|
+
default: false,
|
|
304477
|
+
rendered: false
|
|
304478
|
+
}
|
|
304066
304479
|
};
|
|
304067
304480
|
},
|
|
304068
304481
|
addCommands() {
|
|
@@ -304309,10 +304722,26 @@ ${err.toString()}`);
|
|
|
304309
304722
|
}
|
|
304310
304723
|
if (linkMarkType)
|
|
304311
304724
|
tr = tr.removeMark(from$1, to, linkMarkType);
|
|
304312
|
-
if (underlineMarkType)
|
|
304313
|
-
|
|
304314
|
-
|
|
304315
|
-
|
|
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
|
+
}
|
|
304316
304745
|
let rId = null;
|
|
304317
304746
|
if (editor.options.mode === "docx") {
|
|
304318
304747
|
const id2 = addLinkRelationship({
|
|
@@ -304333,8 +304762,72 @@ ${err.toString()}`);
|
|
|
304333
304762
|
dispatch(tr.scrollIntoView());
|
|
304334
304763
|
return true;
|
|
304335
304764
|
},
|
|
304336
|
-
unsetLink: () => ({ chain }) => {
|
|
304337
|
-
|
|
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();
|
|
304338
304831
|
},
|
|
304339
304832
|
toggleLink: ({ href, text: text5 } = {}) => ({ commands: commands$1 }) => {
|
|
304340
304833
|
if (!href)
|
|
@@ -315509,6 +316002,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315509
316002
|
"spanning",
|
|
315510
316003
|
"code"
|
|
315511
316004
|
];
|
|
316005
|
+
HEADING_STYLE_RE = /^Heading[1-9]$/i;
|
|
315512
316006
|
RUNTIME_COPY_STRIP_SELECTOR = [
|
|
315513
316007
|
".list-marker",
|
|
315514
316008
|
".sd-editor-tab",
|
|
@@ -315523,33 +316017,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315523
316017
|
["bullet", "bullet"]
|
|
315524
316018
|
]);
|
|
315525
316019
|
BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${BLANK_DOCX_BASE64}`;
|
|
315526
|
-
TAB_LEADER_TO_SEPARATOR = {
|
|
315527
|
-
dot: ".",
|
|
315528
|
-
hyphen: "-",
|
|
315529
|
-
underscore: "_",
|
|
315530
|
-
middleDot: "·"
|
|
315531
|
-
};
|
|
315532
|
-
SEPARATOR_TO_TAB_LEADER = {
|
|
315533
|
-
".": "dot",
|
|
315534
|
-
"-": "hyphen",
|
|
315535
|
-
_: "underscore",
|
|
315536
|
-
"·": "middleDot"
|
|
315537
|
-
};
|
|
315538
|
-
DEFAULT_TOC_CONFIG = {
|
|
315539
|
-
source: {
|
|
315540
|
-
outlineLevels: {
|
|
315541
|
-
from: 1,
|
|
315542
|
-
to: 3
|
|
315543
|
-
},
|
|
315544
|
-
useAppliedOutlineLevel: true
|
|
315545
|
-
},
|
|
315546
|
-
display: {
|
|
315547
|
-
hyperlinks: true,
|
|
315548
|
-
hideInWebView: true
|
|
315549
|
-
},
|
|
315550
|
-
preserved: {}
|
|
315551
|
-
};
|
|
315552
|
-
SWITCH_PATTERN$1 = /\\([a-z])\s*(?:"([^"]*)")?/gi;
|
|
315553
316020
|
BULLET_FORMATS$1 = new Set(["bullet"]);
|
|
315554
316021
|
LOCK_MODE_TO_SDT_LOCK = {
|
|
315555
316022
|
unlocked: "none",
|
|
@@ -317092,6 +317559,15 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317092
317559
|
}
|
|
317093
317560
|
};
|
|
317094
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"]);
|
|
317095
317571
|
TAB_LEADER_MAP = {
|
|
317096
317572
|
dot: "dot",
|
|
317097
317573
|
hyphen: "hyphen",
|
|
@@ -317106,6 +317582,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317106
317582
|
text: "No table of contents entries found."
|
|
317107
317583
|
}]
|
|
317108
317584
|
}];
|
|
317585
|
+
TOC_ENTRY_STYLE_RE = /^TOC[1-9]$/;
|
|
317109
317586
|
ALLOWED_WRAP_ATTRS = {
|
|
317110
317587
|
None: ["behindDoc"],
|
|
317111
317588
|
Square: [
|
|
@@ -321749,6 +322226,17 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
321749
322226
|
currentParagraph.style.whiteSpace = "normal";
|
|
321750
322227
|
if (part.isEmptyParagraph)
|
|
321751
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);
|
|
321752
322240
|
} else {
|
|
321753
322241
|
const span = this.doc.createElement("span");
|
|
321754
322242
|
span.textContent = this.resolveShapeTextPartText(part, context);
|
|
@@ -330741,6 +331229,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330741
331229
|
trackChangesAccept: check_solid_default,
|
|
330742
331230
|
trackChangesReject: xmark_solid_default,
|
|
330743
331231
|
cellBackground: paint_roller_solid_default,
|
|
331232
|
+
updateTableOfContents: rotate_right_solid_default,
|
|
330744
331233
|
listRestartNumbering: list_ol_solid_default,
|
|
330745
331234
|
listContinueNumbering: list_ol_solid_default,
|
|
330746
331235
|
listDecreaseIndent: outdent_solid_default,
|
|
@@ -330771,6 +331260,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330771
331260
|
trackChangesAccept: "Accept change",
|
|
330772
331261
|
trackChangesReject: "Reject change",
|
|
330773
331262
|
cellBackground: "Cell background",
|
|
331263
|
+
updateTableOfContents: "Update table of contents",
|
|
330774
331264
|
listRestartNumbering: "Restart numbering",
|
|
330775
331265
|
listContinueNumbering: "Continue numbering",
|
|
330776
331266
|
listDecreaseIndent: "Decrease indent",
|
|
@@ -330881,11 +331371,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330881
331371
|
];
|
|
330882
331372
|
});
|
|
330883
331373
|
|
|
330884
|
-
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-
|
|
331374
|
+
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-CEK13syX.es.js
|
|
330885
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;
|
|
330886
|
-
var
|
|
330887
|
-
|
|
330888
|
-
|
|
331376
|
+
var init_create_super_doc_ui_CEK13syX_es = __esm(() => {
|
|
331377
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
331378
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
330889
331379
|
MOD_ALIASES = new Set([
|
|
330890
331380
|
"Mod",
|
|
330891
331381
|
"Meta",
|
|
@@ -330927,16 +331417,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
|
|
|
330927
331417
|
|
|
330928
331418
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
330929
331419
|
var init_super_editor_es = __esm(() => {
|
|
330930
|
-
|
|
330931
|
-
|
|
331420
|
+
init_src_BpYr_7Wm_es();
|
|
331421
|
+
init_SuperConverter_CcvDw1Yc_es();
|
|
330932
331422
|
init_jszip_C49i9kUs_es();
|
|
330933
331423
|
init_xml_js_CqGKpaft_es();
|
|
330934
|
-
|
|
331424
|
+
init_create_headless_toolbar_D5yv7LyN_es();
|
|
330935
331425
|
init_constants_DrU4EASo_es();
|
|
330936
331426
|
init_dist_B8HfvhaK_es();
|
|
330937
331427
|
init_unified_Dsuw2be5_es();
|
|
330938
331428
|
init_DocxZipper_Dh4RtvcE_es();
|
|
330939
|
-
|
|
331429
|
+
init_create_super_doc_ui_CEK13syX_es();
|
|
330940
331430
|
init_ui_CGB3qmy3_es();
|
|
330941
331431
|
init_eventemitter3_UwU_CLPU_es();
|
|
330942
331432
|
init_errors_C_DoKMoN_es();
|
|
@@ -331327,7 +331817,9 @@ function deriveIncludePageNumbers2(omitRange, outlineLevels) {
|
|
|
331327
331817
|
return !fullyCovered;
|
|
331328
331818
|
}
|
|
331329
331819
|
function deriveTabLeader2(separator) {
|
|
331330
|
-
if (
|
|
331820
|
+
if (separator === undefined)
|
|
331821
|
+
return;
|
|
331822
|
+
if (separator === "")
|
|
331331
331823
|
return "none";
|
|
331332
331824
|
const leader = SEPARATOR_TO_TAB_LEADER2[separator];
|
|
331333
331825
|
return leader;
|
|
@@ -331341,7 +331833,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331341
331833
|
SWITCH_PATTERN2.lastIndex = 0;
|
|
331342
331834
|
while ((match2 = SWITCH_PATTERN2.exec(instruction)) !== null) {
|
|
331343
331835
|
const switchChar = match2[1].toLowerCase();
|
|
331344
|
-
const
|
|
331836
|
+
const rawArg = match2[2];
|
|
331837
|
+
const arg = rawArg ?? "";
|
|
331345
331838
|
switch (switchChar) {
|
|
331346
331839
|
case "o": {
|
|
331347
331840
|
const range = parseLevelRange2(arg);
|
|
@@ -331375,8 +331868,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331375
331868
|
break;
|
|
331376
331869
|
}
|
|
331377
331870
|
case "p":
|
|
331378
|
-
if (
|
|
331379
|
-
display.separator =
|
|
331871
|
+
if (rawArg !== undefined)
|
|
331872
|
+
display.separator = rawArg;
|
|
331380
331873
|
break;
|
|
331381
331874
|
case "t":
|
|
331382
331875
|
if (arg)
|
|
@@ -331448,7 +331941,7 @@ function serializeTocInstruction2(config3) {
|
|
|
331448
331941
|
if (display.omitPageNumberLevels) {
|
|
331449
331942
|
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
331450
331943
|
}
|
|
331451
|
-
if (display.separator) {
|
|
331944
|
+
if (display.separator !== undefined) {
|
|
331452
331945
|
parts.push(`\\p "${display.separator}"`);
|
|
331453
331946
|
}
|
|
331454
331947
|
if (preserved.captionType) {
|
|
@@ -331509,7 +332002,7 @@ function applyTocPatch2(existing, patch3) {
|
|
|
331509
332002
|
}
|
|
331510
332003
|
if (patch3.tabLeader !== undefined) {
|
|
331511
332004
|
if (patch3.tabLeader === "none") {
|
|
331512
|
-
|
|
332005
|
+
newDisplay.separator = "";
|
|
331513
332006
|
} else {
|
|
331514
332007
|
newDisplay.separator = TAB_LEADER_TO_SEPARATOR2[patch3.tabLeader];
|
|
331515
332008
|
}
|
|
@@ -409840,13 +410333,12 @@ function preProcessPageRefInstruction2(nodesToCombine, instrText) {
|
|
|
409840
410333
|
}
|
|
409841
410334
|
|
|
409842
410335
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/fld-preprocessors/hyperlink-preprocessor.js
|
|
409843
|
-
function
|
|
410336
|
+
function resolveHyperlinkAttributes2(instruction, docx) {
|
|
409844
410337
|
const urlMatch = instruction.match(/HYPERLINK\s+"([^"]+)"/);
|
|
409845
|
-
let linkAttributes;
|
|
409846
410338
|
if (urlMatch && urlMatch.length >= 2) {
|
|
409847
410339
|
const url2 = urlMatch[1];
|
|
409848
|
-
const rels = docx["word/_rels/document.xml.rels"];
|
|
409849
|
-
const relationships = rels?.elements
|
|
410340
|
+
const rels = docx?.["word/_rels/document.xml.rels"];
|
|
410341
|
+
const relationships = rels?.elements?.find((el) => el.name === "Relationships");
|
|
409850
410342
|
if (relationships) {
|
|
409851
410343
|
const rId = "rId" + generateDocxRandomId2();
|
|
409852
410344
|
relationships.elements.push({
|
|
@@ -409859,30 +410351,34 @@ function preProcessHyperlinkInstruction2(nodesToCombine, instruction, docx) {
|
|
|
409859
410351
|
TargetMode: "External"
|
|
409860
410352
|
}
|
|
409861
410353
|
});
|
|
409862
|
-
|
|
409863
|
-
} else {
|
|
409864
|
-
linkAttributes = { "w:anchor": url2 };
|
|
409865
|
-
}
|
|
409866
|
-
} else {
|
|
409867
|
-
const availableSwitches = {
|
|
409868
|
-
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
409869
|
-
new_window: /(?:\\n|\n)/,
|
|
409870
|
-
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
409871
|
-
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
409872
|
-
};
|
|
409873
|
-
const parsedSwitches = {};
|
|
409874
|
-
for (const [key2, pattern] of Object.entries(availableSwitches)) {
|
|
409875
|
-
const match2 = instruction.match(pattern);
|
|
409876
|
-
if (match2) {
|
|
409877
|
-
parsedSwitches[key2] = match2.groups?.value || true;
|
|
409878
|
-
}
|
|
410354
|
+
return { "r:id": rId };
|
|
409879
410355
|
}
|
|
409880
|
-
|
|
409881
|
-
|
|
409882
|
-
|
|
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;
|
|
409883
410369
|
}
|
|
409884
|
-
linkAttributes = { ...parsedSwitches };
|
|
409885
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) ?? {};
|
|
409886
410382
|
return [
|
|
409887
410383
|
{
|
|
409888
410384
|
name: "w:hyperlink",
|
|
@@ -410154,10 +410650,11 @@ var init_fld_preprocessors = __esm(() => {
|
|
|
410154
410650
|
});
|
|
410155
410651
|
|
|
410156
410652
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/v2/importer/trackChangeElements.js
|
|
410157
|
-
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);
|
|
410158
410654
|
var init_trackChangeElements = __esm(() => {
|
|
410159
410655
|
TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins", "w:moveFrom", "w:moveTo"]);
|
|
410160
410656
|
TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins"]);
|
|
410657
|
+
CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:ins", "w:moveTo"]);
|
|
410161
410658
|
});
|
|
410162
410659
|
|
|
410163
410660
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/preProcessNodesForFldChar.js
|
|
@@ -410181,6 +410678,8 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410181
410678
|
if (!currentField.preserveRaw) {
|
|
410182
410679
|
const combinedResult = _processCombinedNodesForFldChar2(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
|
|
410183
410680
|
outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
|
|
410681
|
+
} else if (currentField.preserveRawConstructive) {
|
|
410682
|
+
applyConstructiveFieldInterpretation2(outputNodes, currentField.instrText.trim(), docx);
|
|
410184
410683
|
}
|
|
410185
410684
|
if (collectedNodesStack.length === 0) {
|
|
410186
410685
|
processedNodes.push(...outputNodes);
|
|
@@ -410300,6 +410799,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410300
410799
|
if (fieldInfo.preserveRaw || isTrackChangeElement2(node4)) {
|
|
410301
410800
|
fieldInfo.preserveRaw = true;
|
|
410302
410801
|
}
|
|
410802
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410803
|
+
fieldInfo.preserveRawConstructive = true;
|
|
410804
|
+
}
|
|
410303
410805
|
currentFieldStack.push(fieldInfo);
|
|
410304
410806
|
collectedNodesStack.push([node4]);
|
|
410305
410807
|
const rawStack = [rawNode];
|
|
@@ -410319,6 +410821,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410319
410821
|
if (shouldPreserveRaw) {
|
|
410320
410822
|
currentFieldStack[currentFieldStack.length - 1].preserveRaw = true;
|
|
410321
410823
|
}
|
|
410824
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410825
|
+
currentFieldStack[currentFieldStack.length - 1].preserveRawConstructive = true;
|
|
410826
|
+
}
|
|
410322
410827
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
410323
410828
|
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
410324
410829
|
finalizeField();
|
|
@@ -410367,6 +410872,83 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410367
410872
|
};
|
|
410368
410873
|
}
|
|
410369
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);
|
|
410370
410952
|
}, extractFieldRunRPr2 = (node4) => {
|
|
410371
410953
|
const rPrNode = node4?.elements?.find((el) => el.name === "w:rPr");
|
|
410372
410954
|
if (!rPrNode?.elements?.length) {
|
|
@@ -410439,6 +411021,7 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410439
411021
|
};
|
|
410440
411022
|
var init_preProcessNodesForFldChar = __esm(() => {
|
|
410441
411023
|
init_fld_preprocessors();
|
|
411024
|
+
init_hyperlink_preprocessor();
|
|
410442
411025
|
init_trackChangeElements();
|
|
410443
411026
|
SKIP_FIELD_PROCESSING_NODE_NAMES2 = new Set(["w:drawing", "w:pict"]);
|
|
410444
411027
|
FIELD_CONTROL_ELEMENT_NAMES2 = new Set(["w:fldChar"]);
|
|
@@ -411380,6 +411963,26 @@ function extractTextFromTextBox2(textBoxContent, bodyPr, params3 = {}) {
|
|
|
411380
411963
|
} else if (el.name === "sd:totalPageNumber") {
|
|
411381
411964
|
hasText = true;
|
|
411382
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
|
+
}
|
|
411383
411986
|
}
|
|
411384
411987
|
});
|
|
411385
411988
|
return hasText;
|
|
@@ -453936,27 +454539,46 @@ function dispatchTransaction2(editor, tr) {
|
|
|
453936
454539
|
var TOC_BOOKMARK_PREFIX2 = "_Toc";
|
|
453937
454540
|
|
|
453938
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
|
+
}
|
|
453939
454558
|
function collectTocSources2(doc6, config44) {
|
|
453940
454559
|
const sources = [];
|
|
453941
454560
|
const { outlineLevels, useAppliedOutlineLevel, tcFieldIdentifier, tcFieldLevels } = config44.source;
|
|
453942
454561
|
const useApplied = useAppliedOutlineLevel ?? false;
|
|
453943
454562
|
const collectTcFields = tcFieldIdentifier !== undefined || tcFieldLevels !== undefined;
|
|
453944
454563
|
let currentParagraphSdBlockId;
|
|
453945
|
-
doc6.descendants((node4,
|
|
454564
|
+
doc6.descendants((node4, pos) => {
|
|
453946
454565
|
if (node4.type.name === "tableOfContents")
|
|
453947
454566
|
return false;
|
|
453948
454567
|
if (node4.type.name === "paragraph") {
|
|
453949
454568
|
const attrs = node4.attrs;
|
|
453950
454569
|
const paragraphProps = attrs?.paragraphProperties;
|
|
453951
454570
|
const styleId = paragraphProps?.styleId;
|
|
453952
|
-
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId;
|
|
454571
|
+
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId ?? buildFallbackBlockNodeId2("paragraph", pos);
|
|
453953
454572
|
currentParagraphSdBlockId = sdBlockId;
|
|
453954
454573
|
if (!sdBlockId)
|
|
453955
454574
|
return true;
|
|
454575
|
+
const text9 = flattenText2(node4);
|
|
454576
|
+
if (text9.trim().length === 0)
|
|
454577
|
+
return true;
|
|
453956
454578
|
if (outlineLevels) {
|
|
453957
454579
|
const headingLevel = getHeadingLevel2(styleId);
|
|
453958
454580
|
if (headingLevel != null && headingLevel >= outlineLevels.from && headingLevel <= outlineLevels.to) {
|
|
453959
|
-
sources.push({ text:
|
|
454581
|
+
sources.push({ text: text9, segments: extractTextSegments2(node4), level: headingLevel, sdBlockId, kind: "heading" });
|
|
453960
454582
|
return true;
|
|
453961
454583
|
}
|
|
453962
454584
|
}
|
|
@@ -453966,7 +454588,13 @@ function collectTocSources2(doc6, config44) {
|
|
|
453966
454588
|
if (rawOutlineLevel != null) {
|
|
453967
454589
|
const tocLevel = rawOutlineLevel + 1;
|
|
453968
454590
|
if (tocLevel >= effectiveLevels.from && tocLevel <= effectiveLevels.to) {
|
|
453969
|
-
sources.push({
|
|
454591
|
+
sources.push({
|
|
454592
|
+
text: text9,
|
|
454593
|
+
segments: extractTextSegments2(node4),
|
|
454594
|
+
level: tocLevel,
|
|
454595
|
+
sdBlockId,
|
|
454596
|
+
kind: "appliedOutline"
|
|
454597
|
+
});
|
|
453970
454598
|
return true;
|
|
453971
454599
|
}
|
|
453972
454600
|
}
|
|
@@ -454006,54 +454634,79 @@ function flattenText2(node4) {
|
|
|
454006
454634
|
});
|
|
454007
454635
|
return text9;
|
|
454008
454636
|
}
|
|
454009
|
-
function
|
|
454010
|
-
|
|
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));
|
|
454011
454672
|
}
|
|
454012
|
-
function
|
|
454673
|
+
function asRun2(children) {
|
|
454674
|
+
return { type: "run", content: children };
|
|
454675
|
+
}
|
|
454676
|
+
function buildEntryParagraph2(source, config44, options = {}) {
|
|
454013
454677
|
const { display } = config44;
|
|
454014
|
-
const
|
|
454015
|
-
const
|
|
454016
|
-
|
|
454017
|
-
|
|
454018
|
-
|
|
454019
|
-
|
|
454020
|
-
|
|
454021
|
-
|
|
454022
|
-
|
|
454023
|
-
|
|
454024
|
-
|
|
454025
|
-
|
|
454026
|
-
|
|
454027
|
-
}
|
|
454028
|
-
}
|
|
454029
|
-
];
|
|
454030
|
-
}
|
|
454031
|
-
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)];
|
|
454032
454691
|
const omitRange = display.omitPageNumberLevels;
|
|
454033
|
-
const
|
|
454034
|
-
const entryOmitted = source.omitPageNumber;
|
|
454035
|
-
const omitPageNumber = levelOmitted || entryOmitted;
|
|
454692
|
+
const omitPageNumber = Boolean(omitRange && source.level >= omitRange.from && source.level <= omitRange.to || source.omitPageNumber);
|
|
454036
454693
|
if (!omitPageNumber) {
|
|
454037
|
-
|
|
454038
|
-
|
|
454039
|
-
|
|
454040
|
-
|
|
454041
|
-
|
|
454042
|
-
|
|
454043
|
-
|
|
454044
|
-
|
|
454045
|
-
|
|
454046
|
-
});
|
|
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
|
+
]));
|
|
454047
454703
|
}
|
|
454048
|
-
const paragraphProperties = {
|
|
454049
|
-
styleId: `TOC${source.level}`
|
|
454050
|
-
};
|
|
454704
|
+
const paragraphProperties = { styleId: `TOC${source.level}` };
|
|
454051
454705
|
const rightAlign = display.rightAlignPageNumbers !== false;
|
|
454052
454706
|
if (rightAlign && !omitPageNumber) {
|
|
454053
|
-
const leader = display.tabLeader
|
|
454054
|
-
|
|
454055
|
-
|
|
454056
|
-
];
|
|
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 } : {} } }];
|
|
454057
454710
|
}
|
|
454058
454711
|
return {
|
|
454059
454712
|
type: "paragraph",
|
|
@@ -454065,10 +454718,13 @@ function buildEntryParagraph2(source, config44) {
|
|
|
454065
454718
|
content: content5
|
|
454066
454719
|
};
|
|
454067
454720
|
}
|
|
454068
|
-
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;
|
|
454069
454722
|
var init_toc_entry_builder = __esm(() => {
|
|
454070
454723
|
init_tc_switches();
|
|
454071
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"]);
|
|
454072
454728
|
TAB_LEADER_MAP2 = {
|
|
454073
454729
|
dot: "dot",
|
|
454074
454730
|
hyphen: "hyphen",
|
|
@@ -454181,6 +454837,39 @@ function withRightAlign2(config44, rightAlignPageNumbers) {
|
|
|
454181
454837
|
return config44;
|
|
454182
454838
|
return { ...config44, display: { ...config44.display, rightAlignPageNumbers } };
|
|
454183
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
|
+
}
|
|
454184
454873
|
function sanitizeTocContentForSchema2(content5, editor) {
|
|
454185
454874
|
if (editor.state.schema?.marks?.tocPageNumber)
|
|
454186
454875
|
return content5;
|
|
@@ -454190,31 +454879,58 @@ function sanitizeTocContentForSchema2(content5, editor) {
|
|
|
454190
454879
|
return paragraph4;
|
|
454191
454880
|
let changed = false;
|
|
454192
454881
|
const sanitizedContent = paragraphContent.map((node4) => {
|
|
454193
|
-
|
|
454194
|
-
|
|
454195
|
-
|
|
454196
|
-
|
|
454197
|
-
if (!Array.isArray(marks))
|
|
454198
|
-
return node4;
|
|
454199
|
-
const filteredMarks = marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
454200
|
-
if (filteredMarks.length === marks.length)
|
|
454201
|
-
return node4;
|
|
454202
|
-
changed = true;
|
|
454203
|
-
if (filteredMarks.length === 0) {
|
|
454204
|
-
const { marks: _removed, ...rest } = typedNode;
|
|
454205
|
-
return rest;
|
|
454206
|
-
}
|
|
454207
|
-
return { ...typedNode, marks: filteredMarks };
|
|
454882
|
+
const result = stripTocPageNumberFromNode2(node4);
|
|
454883
|
+
if (result.changed)
|
|
454884
|
+
changed = true;
|
|
454885
|
+
return result.node;
|
|
454208
454886
|
});
|
|
454209
454887
|
return changed ? { ...paragraph4, content: sanitizedContent } : paragraph4;
|
|
454210
454888
|
});
|
|
454211
454889
|
}
|
|
454212
|
-
function materializeTocContent2(doc6, config44, editor) {
|
|
454890
|
+
function materializeTocContent2(doc6, config44, editor, options = {}) {
|
|
454213
454891
|
const sources = collectTocSources2(doc6, config44);
|
|
454214
|
-
const entryParagraphs = buildTocEntryParagraphs2(sources, config44);
|
|
454892
|
+
const entryParagraphs = buildTocEntryParagraphs2(sources, config44, options);
|
|
454215
454893
|
const content5 = entryParagraphs.length > 0 ? entryParagraphs : NO_ENTRIES_PLACEHOLDER2;
|
|
454216
454894
|
return { content: sanitizeTocContentForSchema2(content5, editor), sources };
|
|
454217
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
|
+
}
|
|
454218
454934
|
function tocConfigureWrapper2(editor, input2, options) {
|
|
454219
454935
|
rejectTrackedMode2("toc.configure", options);
|
|
454220
454936
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
@@ -454223,7 +454939,12 @@ function tocConfigureWrapper2(editor, input2, options) {
|
|
|
454223
454939
|
const instruction = serializeTocInstruction2(patched);
|
|
454224
454940
|
const rightAlignChanged = input2.patch.rightAlignPageNumbers !== undefined && input2.patch.rightAlignPageNumbers !== resolved.node.attrs?.rightAlignPageNumbers;
|
|
454225
454941
|
const effectiveRightAlign = input2.patch.rightAlignPageNumbers ?? resolved.node.attrs?.rightAlignPageNumbers;
|
|
454226
|
-
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;
|
|
454227
454948
|
if (areTocConfigsEqual2(currentConfig, patched) && !rightAlignChanged) {
|
|
454228
454949
|
return tocFailure2("NO_OP", "Configuration patch produced no change.");
|
|
454229
454950
|
}
|
|
@@ -454276,7 +454997,12 @@ function tocUpdateAll2(editor, input2, options) {
|
|
|
454276
454997
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
454277
454998
|
const config44 = parseTocInstruction2(resolved.node.attrs?.instruction ?? "");
|
|
454278
454999
|
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
454279
|
-
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;
|
|
454280
455006
|
if (isTocContentUnchanged2(resolved.node, content5)) {
|
|
454281
455007
|
return tocFailure2("NO_OP", "TOC update produced no change.");
|
|
454282
455008
|
}
|
|
@@ -454366,24 +455092,30 @@ function buildPageNumberUpdatedContent2(tocNode, pageMap) {
|
|
|
454366
455092
|
}
|
|
454367
455093
|
const tocSourceId = child.attrs?.tocSourceId;
|
|
454368
455094
|
const childJson = child.toJSON();
|
|
454369
|
-
const content5 = childJson.content ?? [];
|
|
454370
455095
|
let paragraphChanged = false;
|
|
454371
|
-
const
|
|
455096
|
+
const visit3 = (node4) => {
|
|
454372
455097
|
const marks = node4.marks;
|
|
454373
455098
|
const hasTocPageNumberMark = marks?.some((m2) => m2.type === "tocPageNumber");
|
|
454374
|
-
if (
|
|
454375
|
-
|
|
454376
|
-
|
|
454377
|
-
|
|
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
|
+
}
|
|
454378
455109
|
return node4;
|
|
454379
|
-
const pageNumber = pageMap.get(tocSourceId);
|
|
454380
|
-
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
454381
|
-
if (node4.text !== newText) {
|
|
454382
|
-
paragraphChanged = true;
|
|
454383
|
-
return { ...node4, text: newText };
|
|
454384
455110
|
}
|
|
454385
|
-
|
|
454386
|
-
|
|
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);
|
|
454387
455119
|
if (paragraphChanged) {
|
|
454388
455120
|
anyChanged = true;
|
|
454389
455121
|
updatedContent.push({ ...childJson, content: updatedContentArray });
|
|
@@ -454477,7 +455209,7 @@ function createTableOfContentsWrapper2(editor, input2, options) {
|
|
|
454477
455209
|
const postMutationId = resolvePostMutationTocId2(editor.state.doc, sdBlockId);
|
|
454478
455210
|
return { success: true, toc: buildTocAddress2(postMutationId) };
|
|
454479
455211
|
}
|
|
454480
|
-
var NO_ENTRIES_PLACEHOLDER2;
|
|
455212
|
+
var NO_ENTRIES_PLACEHOLDER2, TOC_ENTRY_STYLE_RE2;
|
|
454481
455213
|
var init_toc_wrappers = __esm(() => {
|
|
454482
455214
|
init_wrapper();
|
|
454483
455215
|
init_src();
|
|
@@ -454497,6 +455229,7 @@ var init_toc_wrappers = __esm(() => {
|
|
|
454497
455229
|
content: [{ type: "text", text: "No table of contents entries found." }]
|
|
454498
455230
|
}
|
|
454499
455231
|
];
|
|
455232
|
+
TOC_ENTRY_STYLE_RE2 = /^TOC[1-9]$/;
|
|
454500
455233
|
});
|
|
454501
455234
|
|
|
454502
455235
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/toc-entry-node-id.ts
|
|
@@ -469144,7 +469877,12 @@ function jsonSchemaPropertyToZod(prop) {
|
|
|
469144
469877
|
return exports_external.enum(values2).describe(desc ?? "");
|
|
469145
469878
|
}
|
|
469146
469879
|
}
|
|
469147
|
-
|
|
469880
|
+
const variants = prop.oneOf ?? prop.anyOf ?? prop.allOf;
|
|
469881
|
+
if (variants) {
|
|
469882
|
+
const allObjectVariants = variants.every((v) => v?.type === "object");
|
|
469883
|
+
if (allObjectVariants) {
|
|
469884
|
+
return desc ? exports_external.looseObject({}).describe(desc) : exports_external.looseObject({});
|
|
469885
|
+
}
|
|
469148
469886
|
return desc ? exports_external.unknown().describe(desc) : exports_external.unknown();
|
|
469149
469887
|
}
|
|
469150
469888
|
switch (type) {
|
|
@@ -469158,7 +469896,7 @@ function jsonSchemaPropertyToZod(prop) {
|
|
|
469158
469896
|
case "array":
|
|
469159
469897
|
return desc ? exports_external.array(exports_external.unknown()).describe(desc) : exports_external.array(exports_external.unknown());
|
|
469160
469898
|
case "object":
|
|
469161
|
-
return desc ? exports_external.
|
|
469899
|
+
return desc ? exports_external.looseObject({}).describe(desc) : exports_external.looseObject({});
|
|
469162
469900
|
default:
|
|
469163
469901
|
return desc ? exports_external.unknown().describe(desc) : exports_external.unknown();
|
|
469164
469902
|
}
|