@superdoc-dev/mcp 0.3.0-next.73 → 0.3.0-next.75
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 +1383 -600
- package/package.json +4 -4
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-BInxZk0I.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)
|
|
@@ -104103,12 +104209,22 @@ var isRegExp = (value) => {
|
|
|
104103
104209
|
if (rawValue == null)
|
|
104104
104210
|
return true;
|
|
104105
104211
|
return ST_ON_OFF_TRUE_VALUES.has(String(rawValue).trim().toLowerCase());
|
|
104212
|
+
}, resolveEvenAndOddHeadersFromSettingsPart = (settingsPart) => {
|
|
104213
|
+
if (!settingsPart || typeof settingsPart !== "object")
|
|
104214
|
+
return null;
|
|
104215
|
+
const part = settingsPart;
|
|
104216
|
+
const settingsRoot = part.name === "w:settings" ? part : part.elements?.find((entry) => entry?.name === "w:settings");
|
|
104217
|
+
if (!settingsRoot?.elements?.length)
|
|
104218
|
+
return null;
|
|
104219
|
+
const evenOdd = settingsRoot.elements.find((el) => el?.name === "w:evenAndOddHeaders");
|
|
104220
|
+
if (!evenOdd)
|
|
104221
|
+
return null;
|
|
104222
|
+
return isStOnOffEnabled(evenOdd);
|
|
104106
104223
|
}, isAlternatingHeadersOddEven = (docx) => {
|
|
104107
104224
|
const settings = docx["word/settings.xml"];
|
|
104108
|
-
if (!settings
|
|
104225
|
+
if (!settings)
|
|
104109
104226
|
return false;
|
|
104110
|
-
|
|
104111
|
-
return isStOnOffEnabled(elements.find((el) => el.name === "w:evenAndOddHeaders"));
|
|
104227
|
+
return resolveEvenAndOddHeadersFromSettingsPart(settings) ?? false;
|
|
104112
104228
|
}, FULL_WIDTH_PT = "468pt", FULL_WIDTH_PT_VALUE = 468, PX_PER_PT = 1.33, XML_NODE_NAME = "w:pict", SD_NODE_NAME, validXmlAttributes, config2, translator$29, DEFAULT_SECTION_PROPS_TWIPS, ensureSectionLayoutDefaults = (sectPr, converter) => {
|
|
104113
104229
|
if (!sectPr)
|
|
104114
104230
|
return {
|
|
@@ -104936,7 +105052,7 @@ var isRegExp = (value) => {
|
|
|
104936
105052
|
if (id)
|
|
104937
105053
|
return trackedChanges.filter(({ mark }) => mark.attrs.id === id);
|
|
104938
105054
|
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.
|
|
105055
|
+
}, 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
105056
|
if (!runProps?.elements?.length || !state)
|
|
104941
105057
|
return;
|
|
104942
105058
|
const fontsNode = runProps.elements.find((el) => el.name === "w:rFonts");
|
|
@@ -104970,7 +105086,7 @@ var isRegExp = (value) => {
|
|
|
104970
105086
|
state.kern = kernNode.attributes["w:val"];
|
|
104971
105087
|
}
|
|
104972
105088
|
}, SuperConverter;
|
|
104973
|
-
var
|
|
105089
|
+
var init_SuperConverter_BInxZk0I_es = __esm(() => {
|
|
104974
105090
|
init_rolldown_runtime_Bg48TavK_es();
|
|
104975
105091
|
init_jszip_C49i9kUs_es();
|
|
104976
105092
|
init_xml_js_CqGKpaft_es();
|
|
@@ -133114,6 +133230,7 @@ var init_SuperConverter_BecdrRIX_es = __esm(() => {
|
|
|
133114
133230
|
"w:moveTo"
|
|
133115
133231
|
]);
|
|
133116
133232
|
TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES = new Set(["w:del", "w:ins"]);
|
|
133233
|
+
CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES = new Set(["w:ins", "w:moveTo"]);
|
|
133117
133234
|
SKIP_FIELD_PROCESSING_NODE_NAMES$1 = new Set(["w:drawing", "w:pict"]);
|
|
133118
133235
|
FIELD_CONTROL_ELEMENT_NAMES = new Set(["w:fldChar"]);
|
|
133119
133236
|
INSTRUCTION_ELEMENT_NAMES = new Set(["w:instrText", "w:tab"]);
|
|
@@ -142838,7 +142955,7 @@ var init_SuperConverter_BecdrRIX_es = __esm(() => {
|
|
|
142838
142955
|
};
|
|
142839
142956
|
});
|
|
142840
142957
|
|
|
142841
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
142958
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-rUh3xIsa.es.js
|
|
142842
142959
|
function parseSizeUnit(val = "0") {
|
|
142843
142960
|
const length = val.toString() || "0";
|
|
142844
142961
|
const value = Number.parseFloat(length);
|
|
@@ -145505,8 +145622,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
|
|
|
145505
145622
|
}
|
|
145506
145623
|
};
|
|
145507
145624
|
};
|
|
145508
|
-
var
|
|
145509
|
-
|
|
145625
|
+
var init_create_headless_toolbar_rUh3xIsa_es = __esm(() => {
|
|
145626
|
+
init_SuperConverter_BInxZk0I_es();
|
|
145510
145627
|
init_constants_DrU4EASo_es();
|
|
145511
145628
|
init_dist_B8HfvhaK_es();
|
|
145512
145629
|
CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
|
|
@@ -199725,7 +199842,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
199725
199842
|
init_remark_gfm_BhnWr3yf_es();
|
|
199726
199843
|
});
|
|
199727
199844
|
|
|
199728
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
199845
|
+
// ../../packages/superdoc/dist/chunks/src-CMq87UyB.es.js
|
|
199729
199846
|
function deleteProps(obj, propOrProps) {
|
|
199730
199847
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
199731
199848
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -200488,7 +200605,7 @@ function prosemirrorToYXmlFragment(doc$12, xmlFragment) {
|
|
|
200488
200605
|
}
|
|
200489
200606
|
function getSuperdocVersion() {
|
|
200490
200607
|
try {
|
|
200491
|
-
return "1.
|
|
200608
|
+
return "1.32.0";
|
|
200492
200609
|
} catch {
|
|
200493
200610
|
return "unknown";
|
|
200494
200611
|
}
|
|
@@ -201597,13 +201714,37 @@ function createStructuredContentLockPlugin() {
|
|
|
201597
201714
|
const sdtNodes = STRUCTURED_CONTENT_LOCK_KEY.getState(state);
|
|
201598
201715
|
if (sdtNodes.length === 0)
|
|
201599
201716
|
return false;
|
|
201717
|
+
if (from$1 !== to && !(selection instanceof NodeSelection)) {
|
|
201718
|
+
const exactContentSDT = sdtNodes.find((s2) => from$1 === s2.pos + 1 && to === s2.end - 1);
|
|
201719
|
+
if (exactContentSDT) {
|
|
201720
|
+
if (!(exactContentSDT.lockMode === "sdtLocked" || exactContentSDT.lockMode === "sdtContentLocked")) {
|
|
201721
|
+
const tr = state.tr.setSelection(NodeSelection.create(state.doc, exactContentSDT.pos));
|
|
201722
|
+
view.dispatch(tr);
|
|
201723
|
+
if (isCut)
|
|
201724
|
+
return false;
|
|
201725
|
+
event.preventDefault();
|
|
201726
|
+
return true;
|
|
201727
|
+
}
|
|
201728
|
+
}
|
|
201729
|
+
}
|
|
201600
201730
|
let affectedFrom = from$1;
|
|
201601
201731
|
let affectedTo = to;
|
|
201602
201732
|
if (from$1 === to) {
|
|
201603
|
-
if (isBackspace && from$1 > 0)
|
|
201733
|
+
if (isBackspace && from$1 > 0) {
|
|
201604
201734
|
affectedFrom = from$1 - 1;
|
|
201605
|
-
|
|
201735
|
+
const adjacentSDT = sdtNodes.find((s2) => s2.end === from$1);
|
|
201736
|
+
if (adjacentSDT) {
|
|
201737
|
+
affectedFrom = adjacentSDT.pos;
|
|
201738
|
+
affectedTo = adjacentSDT.end;
|
|
201739
|
+
}
|
|
201740
|
+
} else if (isDelete && to < state.doc.content.size) {
|
|
201606
201741
|
affectedTo = to + 1;
|
|
201742
|
+
const adjacentSDT = sdtNodes.find((s2) => s2.pos === to);
|
|
201743
|
+
if (adjacentSDT) {
|
|
201744
|
+
affectedFrom = adjacentSDT.pos;
|
|
201745
|
+
affectedTo = adjacentSDT.end;
|
|
201746
|
+
}
|
|
201747
|
+
}
|
|
201607
201748
|
}
|
|
201608
201749
|
if (checkLockViolation(sdtNodes, affectedFrom, affectedTo).blocked) {
|
|
201609
201750
|
event.preventDefault();
|
|
@@ -202525,8 +202666,8 @@ function findNearestParagraphWithSectPr(doc$12, pos) {
|
|
|
202525
202666
|
});
|
|
202526
202667
|
return target;
|
|
202527
202668
|
}
|
|
202528
|
-
function calculateNewIndentation(node2, delta) {
|
|
202529
|
-
let { indent: indent2 } =
|
|
202669
|
+
function calculateNewIndentation(node2, delta, resolvedProps) {
|
|
202670
|
+
let { indent: indent2 } = resolvedProps ?? {};
|
|
202530
202671
|
let { left: left$1 } = indent2 || {};
|
|
202531
202672
|
const increment2 = ptToTwips(delta * defaultIncrementPoints);
|
|
202532
202673
|
if (!left$1)
|
|
@@ -202537,14 +202678,14 @@ function calculateNewIndentation(node2, delta) {
|
|
|
202537
202678
|
left$1 = null;
|
|
202538
202679
|
return left$1;
|
|
202539
202680
|
}
|
|
202540
|
-
function modifyIndentation(calcFunc) {
|
|
202541
|
-
return ({ state, dispatch }) => {
|
|
202681
|
+
function modifyIndentation(calcFunc, { resolveProps = false } = {}) {
|
|
202682
|
+
return ({ editor, state, dispatch }) => {
|
|
202542
202683
|
const tr = state.tr;
|
|
202543
202684
|
const { from: from$1, to } = state.selection;
|
|
202544
202685
|
const results = [];
|
|
202545
202686
|
state.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
202546
202687
|
if (node2.type.name === "paragraph") {
|
|
202547
|
-
let left$1 = calcFunc(node2);
|
|
202688
|
+
let left$1 = calcFunc(node2, resolveProps ? getResolvedParagraphProperties(node2) || calculateResolvedParagraphProperties(editor ?? {}, node2, state.doc.resolve(pos)) : undefined);
|
|
202548
202689
|
if (Number.isNaN(left$1)) {
|
|
202549
202690
|
results.push(false);
|
|
202550
202691
|
return false;
|
|
@@ -206008,6 +206149,301 @@ function extractFieldType$1(instruction) {
|
|
|
206008
206149
|
const firstSpace = trimmed.indexOf(" ");
|
|
206009
206150
|
return firstSpace > 0 ? trimmed.slice(0, firstSpace).toUpperCase() : trimmed.toUpperCase();
|
|
206010
206151
|
}
|
|
206152
|
+
function parseLevelRange(value) {
|
|
206153
|
+
const match$1 = value.match(/^(\d+)-(\d+)$/);
|
|
206154
|
+
if (!match$1)
|
|
206155
|
+
return;
|
|
206156
|
+
return {
|
|
206157
|
+
from: parseInt(match$1[1], 10),
|
|
206158
|
+
to: parseInt(match$1[2], 10)
|
|
206159
|
+
};
|
|
206160
|
+
}
|
|
206161
|
+
function parseCustomStyles(value) {
|
|
206162
|
+
const entries = [];
|
|
206163
|
+
const parts = value.split(",");
|
|
206164
|
+
for (let i4 = 0;i4 < parts.length - 1; i4 += 2) {
|
|
206165
|
+
const styleName = parts[i4].trim();
|
|
206166
|
+
const level = parseInt(parts[i4 + 1].trim(), 10);
|
|
206167
|
+
if (styleName && !isNaN(level))
|
|
206168
|
+
entries.push({
|
|
206169
|
+
styleName,
|
|
206170
|
+
level
|
|
206171
|
+
});
|
|
206172
|
+
}
|
|
206173
|
+
return entries;
|
|
206174
|
+
}
|
|
206175
|
+
function deriveIncludePageNumbers(omitRange, outlineLevels) {
|
|
206176
|
+
if (!omitRange)
|
|
206177
|
+
return true;
|
|
206178
|
+
const effectiveRange = outlineLevels ?? {
|
|
206179
|
+
from: 1,
|
|
206180
|
+
to: 9
|
|
206181
|
+
};
|
|
206182
|
+
return !(omitRange.from <= effectiveRange.from && omitRange.to >= effectiveRange.to);
|
|
206183
|
+
}
|
|
206184
|
+
function deriveTabLeader(separator) {
|
|
206185
|
+
if (separator === undefined)
|
|
206186
|
+
return;
|
|
206187
|
+
if (separator === "")
|
|
206188
|
+
return "none";
|
|
206189
|
+
return SEPARATOR_TO_TAB_LEADER[separator];
|
|
206190
|
+
}
|
|
206191
|
+
function parseTocInstruction(instruction) {
|
|
206192
|
+
const source = {};
|
|
206193
|
+
const display = {};
|
|
206194
|
+
const preserved = {};
|
|
206195
|
+
const rawExtensions = [];
|
|
206196
|
+
let match$1;
|
|
206197
|
+
SWITCH_PATTERN$1.lastIndex = 0;
|
|
206198
|
+
while ((match$1 = SWITCH_PATTERN$1.exec(instruction)) !== null) {
|
|
206199
|
+
const switchChar = match$1[1].toLowerCase();
|
|
206200
|
+
const rawArg = match$1[2];
|
|
206201
|
+
const arg = rawArg ?? "";
|
|
206202
|
+
switch (switchChar) {
|
|
206203
|
+
case "o": {
|
|
206204
|
+
const range = parseLevelRange(arg);
|
|
206205
|
+
if (range)
|
|
206206
|
+
source.outlineLevels = range;
|
|
206207
|
+
break;
|
|
206208
|
+
}
|
|
206209
|
+
case "u":
|
|
206210
|
+
source.useAppliedOutlineLevel = true;
|
|
206211
|
+
break;
|
|
206212
|
+
case "f":
|
|
206213
|
+
if (arg)
|
|
206214
|
+
source.tcFieldIdentifier = arg;
|
|
206215
|
+
break;
|
|
206216
|
+
case "l": {
|
|
206217
|
+
const range = parseLevelRange(arg);
|
|
206218
|
+
if (range)
|
|
206219
|
+
source.tcFieldLevels = range;
|
|
206220
|
+
break;
|
|
206221
|
+
}
|
|
206222
|
+
case "h":
|
|
206223
|
+
display.hyperlinks = true;
|
|
206224
|
+
break;
|
|
206225
|
+
case "z":
|
|
206226
|
+
display.hideInWebView = true;
|
|
206227
|
+
break;
|
|
206228
|
+
case "n": {
|
|
206229
|
+
const range = parseLevelRange(arg);
|
|
206230
|
+
if (range)
|
|
206231
|
+
display.omitPageNumberLevels = range;
|
|
206232
|
+
break;
|
|
206233
|
+
}
|
|
206234
|
+
case "p":
|
|
206235
|
+
if (rawArg !== undefined)
|
|
206236
|
+
display.separator = rawArg;
|
|
206237
|
+
break;
|
|
206238
|
+
case "t":
|
|
206239
|
+
if (arg)
|
|
206240
|
+
preserved.customStyles = parseCustomStyles(arg);
|
|
206241
|
+
break;
|
|
206242
|
+
case "b":
|
|
206243
|
+
if (arg)
|
|
206244
|
+
preserved.bookmarkName = arg;
|
|
206245
|
+
break;
|
|
206246
|
+
case "a":
|
|
206247
|
+
if (arg)
|
|
206248
|
+
preserved.captionType = arg;
|
|
206249
|
+
break;
|
|
206250
|
+
case "c":
|
|
206251
|
+
if (arg)
|
|
206252
|
+
preserved.seqFieldIdentifier = arg;
|
|
206253
|
+
break;
|
|
206254
|
+
case "d":
|
|
206255
|
+
if (arg)
|
|
206256
|
+
preserved.chapterSeparator = arg;
|
|
206257
|
+
break;
|
|
206258
|
+
case "s":
|
|
206259
|
+
if (arg)
|
|
206260
|
+
preserved.chapterNumberSource = arg;
|
|
206261
|
+
break;
|
|
206262
|
+
case "w":
|
|
206263
|
+
preserved.preserveTabEntries = true;
|
|
206264
|
+
break;
|
|
206265
|
+
default:
|
|
206266
|
+
rawExtensions.push(arg ? `\\${switchChar} "${arg}"` : `\\${switchChar}`);
|
|
206267
|
+
break;
|
|
206268
|
+
}
|
|
206269
|
+
}
|
|
206270
|
+
if (rawExtensions.length > 0)
|
|
206271
|
+
preserved.rawExtensions = rawExtensions;
|
|
206272
|
+
display.includePageNumbers = deriveIncludePageNumbers(display.omitPageNumberLevels, source.outlineLevels);
|
|
206273
|
+
const tabLeader = deriveTabLeader(display.separator);
|
|
206274
|
+
if (tabLeader !== undefined)
|
|
206275
|
+
display.tabLeader = tabLeader;
|
|
206276
|
+
return {
|
|
206277
|
+
source,
|
|
206278
|
+
display,
|
|
206279
|
+
preserved
|
|
206280
|
+
};
|
|
206281
|
+
}
|
|
206282
|
+
function serializeTocInstruction(config3) {
|
|
206283
|
+
const parts = ["TOC"];
|
|
206284
|
+
const { source, display, preserved } = config3;
|
|
206285
|
+
if (source.outlineLevels)
|
|
206286
|
+
parts.push(`\\o "${source.outlineLevels.from}-${source.outlineLevels.to}"`);
|
|
206287
|
+
if (source.useAppliedOutlineLevel)
|
|
206288
|
+
parts.push("\\u");
|
|
206289
|
+
if (source.tcFieldIdentifier)
|
|
206290
|
+
parts.push(`\\f "${source.tcFieldIdentifier}"`);
|
|
206291
|
+
if (source.tcFieldLevels)
|
|
206292
|
+
parts.push(`\\l "${source.tcFieldLevels.from}-${source.tcFieldLevels.to}"`);
|
|
206293
|
+
if (preserved.customStyles?.length) {
|
|
206294
|
+
const pairs = preserved.customStyles.map((s2) => `${s2.styleName},${s2.level}`).join(",");
|
|
206295
|
+
parts.push(`\\t "${pairs}"`);
|
|
206296
|
+
}
|
|
206297
|
+
if (display.hyperlinks)
|
|
206298
|
+
parts.push("\\h");
|
|
206299
|
+
if (display.hideInWebView)
|
|
206300
|
+
parts.push("\\z");
|
|
206301
|
+
if (display.omitPageNumberLevels)
|
|
206302
|
+
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
206303
|
+
if (display.separator !== undefined)
|
|
206304
|
+
parts.push(`\\p "${display.separator}"`);
|
|
206305
|
+
if (preserved.captionType)
|
|
206306
|
+
parts.push(`\\a "${preserved.captionType}"`);
|
|
206307
|
+
if (preserved.bookmarkName)
|
|
206308
|
+
parts.push(`\\b "${preserved.bookmarkName}"`);
|
|
206309
|
+
if (preserved.seqFieldIdentifier)
|
|
206310
|
+
parts.push(`\\c "${preserved.seqFieldIdentifier}"`);
|
|
206311
|
+
if (preserved.chapterSeparator)
|
|
206312
|
+
parts.push(`\\d "${preserved.chapterSeparator}"`);
|
|
206313
|
+
if (preserved.chapterNumberSource)
|
|
206314
|
+
parts.push(`\\s "${preserved.chapterNumberSource}"`);
|
|
206315
|
+
if (preserved.preserveTabEntries)
|
|
206316
|
+
parts.push("\\w");
|
|
206317
|
+
if (preserved.rawExtensions?.length)
|
|
206318
|
+
parts.push(...preserved.rawExtensions);
|
|
206319
|
+
return parts.join(" ");
|
|
206320
|
+
}
|
|
206321
|
+
function computeOmitPageNumberRange(source) {
|
|
206322
|
+
return source.outlineLevels ?? {
|
|
206323
|
+
from: 1,
|
|
206324
|
+
to: 9
|
|
206325
|
+
};
|
|
206326
|
+
}
|
|
206327
|
+
function applyTocPatch(existing, patch3) {
|
|
206328
|
+
if (patch3.tabLeader !== undefined && patch3.separator !== undefined)
|
|
206329
|
+
throw new Error("INVALID_INPUT: cannot set both tabLeader and separator in the same patch");
|
|
206330
|
+
if (patch3.includePageNumbers !== undefined && patch3.omitPageNumberLevels !== undefined)
|
|
206331
|
+
throw new Error("INVALID_INPUT: cannot set both includePageNumbers and omitPageNumberLevels in the same patch");
|
|
206332
|
+
const newSource = {
|
|
206333
|
+
...existing.source,
|
|
206334
|
+
...patch3.outlineLevels !== undefined && { outlineLevels: patch3.outlineLevels },
|
|
206335
|
+
...patch3.useAppliedOutlineLevel !== undefined && { useAppliedOutlineLevel: patch3.useAppliedOutlineLevel },
|
|
206336
|
+
...patch3.tcFieldIdentifier !== undefined && { tcFieldIdentifier: patch3.tcFieldIdentifier },
|
|
206337
|
+
...patch3.tcFieldLevels !== undefined && { tcFieldLevels: patch3.tcFieldLevels }
|
|
206338
|
+
};
|
|
206339
|
+
const newDisplay = {
|
|
206340
|
+
...existing.display,
|
|
206341
|
+
...patch3.hyperlinks !== undefined && { hyperlinks: patch3.hyperlinks },
|
|
206342
|
+
...patch3.hideInWebView !== undefined && { hideInWebView: patch3.hideInWebView }
|
|
206343
|
+
};
|
|
206344
|
+
if (patch3.includePageNumbers !== undefined) {
|
|
206345
|
+
if (patch3.includePageNumbers)
|
|
206346
|
+
delete newDisplay.omitPageNumberLevels;
|
|
206347
|
+
else
|
|
206348
|
+
newDisplay.omitPageNumberLevels = computeOmitPageNumberRange(newSource);
|
|
206349
|
+
newDisplay.includePageNumbers = patch3.includePageNumbers;
|
|
206350
|
+
} else if (patch3.omitPageNumberLevels !== undefined) {
|
|
206351
|
+
newDisplay.omitPageNumberLevels = patch3.omitPageNumberLevels;
|
|
206352
|
+
newDisplay.includePageNumbers = deriveIncludePageNumbers(patch3.omitPageNumberLevels, newSource.outlineLevels);
|
|
206353
|
+
}
|
|
206354
|
+
if (patch3.tabLeader !== undefined) {
|
|
206355
|
+
if (patch3.tabLeader === "none")
|
|
206356
|
+
newDisplay.separator = "";
|
|
206357
|
+
else
|
|
206358
|
+
newDisplay.separator = TAB_LEADER_TO_SEPARATOR[patch3.tabLeader];
|
|
206359
|
+
newDisplay.tabLeader = patch3.tabLeader;
|
|
206360
|
+
} else if (patch3.separator !== undefined) {
|
|
206361
|
+
newDisplay.separator = patch3.separator;
|
|
206362
|
+
const derived = deriveTabLeader(patch3.separator);
|
|
206363
|
+
if (derived !== undefined)
|
|
206364
|
+
newDisplay.tabLeader = derived;
|
|
206365
|
+
else
|
|
206366
|
+
delete newDisplay.tabLeader;
|
|
206367
|
+
}
|
|
206368
|
+
return {
|
|
206369
|
+
source: newSource,
|
|
206370
|
+
display: newDisplay,
|
|
206371
|
+
preserved: { ...existing.preserved }
|
|
206372
|
+
};
|
|
206373
|
+
}
|
|
206374
|
+
function areTocConfigsEqual(a2, b$1) {
|
|
206375
|
+
return serializeTocInstruction(a2) === serializeTocInstruction(b$1);
|
|
206376
|
+
}
|
|
206377
|
+
function findAllTocNodes(doc$12) {
|
|
206378
|
+
const results = [];
|
|
206379
|
+
doc$12.descendants((node2, pos) => {
|
|
206380
|
+
if (node2.type.name === "tableOfContents") {
|
|
206381
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
206382
|
+
const nodeId = resolvePublicTocNodeId(node2, pos);
|
|
206383
|
+
const commandNodeId = sdBlockId;
|
|
206384
|
+
results.push({
|
|
206385
|
+
node: node2,
|
|
206386
|
+
pos,
|
|
206387
|
+
nodeId,
|
|
206388
|
+
commandNodeId
|
|
206389
|
+
});
|
|
206390
|
+
return false;
|
|
206391
|
+
}
|
|
206392
|
+
return true;
|
|
206393
|
+
});
|
|
206394
|
+
return results;
|
|
206395
|
+
}
|
|
206396
|
+
function resolveTocTarget(doc$12, target) {
|
|
206397
|
+
const found2 = findAllTocNodes(doc$12).find((t) => t.nodeId === target.nodeId || t.commandNodeId === target.nodeId);
|
|
206398
|
+
if (!found2)
|
|
206399
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Table of contents with nodeId "${target.nodeId}" not found.`);
|
|
206400
|
+
return found2;
|
|
206401
|
+
}
|
|
206402
|
+
function resolvePostMutationTocId(doc$12, sdBlockId) {
|
|
206403
|
+
return findAllTocNodes(doc$12).find((t) => t.commandNodeId === sdBlockId)?.nodeId ?? sdBlockId;
|
|
206404
|
+
}
|
|
206405
|
+
function extractTocInfo(node2) {
|
|
206406
|
+
const instruction = node2.attrs?.instruction ?? "";
|
|
206407
|
+
const config3 = parseTocInstruction(instruction);
|
|
206408
|
+
const rightAlign = node2.attrs?.rightAlignPageNumbers;
|
|
206409
|
+
return {
|
|
206410
|
+
nodeType: "tableOfContents",
|
|
206411
|
+
kind: "block",
|
|
206412
|
+
properties: {
|
|
206413
|
+
instruction,
|
|
206414
|
+
sourceConfig: config3.source,
|
|
206415
|
+
displayConfig: {
|
|
206416
|
+
...config3.display,
|
|
206417
|
+
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
206418
|
+
},
|
|
206419
|
+
preservedSwitches: config3.preserved,
|
|
206420
|
+
entryCount: node2.childCount
|
|
206421
|
+
}
|
|
206422
|
+
};
|
|
206423
|
+
}
|
|
206424
|
+
function buildTocDiscoveryItem(resolved, evaluatedRevision) {
|
|
206425
|
+
const instruction = resolved.node.attrs?.instruction ?? "";
|
|
206426
|
+
const config3 = parseTocInstruction(instruction);
|
|
206427
|
+
const address = {
|
|
206428
|
+
kind: "block",
|
|
206429
|
+
nodeType: "tableOfContents",
|
|
206430
|
+
nodeId: resolved.nodeId
|
|
206431
|
+
};
|
|
206432
|
+
const handle3 = buildResolvedHandle(resolved.nodeId, "stable", "tableOfContents");
|
|
206433
|
+
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
206434
|
+
const domain3 = {
|
|
206435
|
+
address,
|
|
206436
|
+
instruction,
|
|
206437
|
+
sourceConfig: config3.source,
|
|
206438
|
+
displayConfig: {
|
|
206439
|
+
...config3.display,
|
|
206440
|
+
...rightAlign !== undefined && { rightAlignPageNumbers: rightAlign }
|
|
206441
|
+
},
|
|
206442
|
+
preserved: config3.preserved,
|
|
206443
|
+
entryCount: resolved.node.childCount
|
|
206444
|
+
};
|
|
206445
|
+
return buildDiscoveryItem(`toc:${resolved.nodeId}:${evaluatedRevision}`, handle3, domain3);
|
|
206446
|
+
}
|
|
206011
206447
|
function createCascadeToggleCommands({ markName, setCommand, unsetCommand, toggleCommand, negationAttrs, isNegation, extendEmptyMarkRange } = {}) {
|
|
206012
206448
|
if (!markName)
|
|
206013
206449
|
throw new Error("createCascadeToggleCommands requires a markName");
|
|
@@ -212595,6 +213031,40 @@ function buildSchemaSummary(schema, schemaVersion) {
|
|
|
212595
213031
|
function getFirstElementChild(node2) {
|
|
212596
213032
|
return Array.from(node2.childNodes).find((n) => n.nodeType === Node.ELEMENT_NODE) || null;
|
|
212597
213033
|
}
|
|
213034
|
+
function wrapHeadingSelectionAsParagraph(slice2, state) {
|
|
213035
|
+
const firstChild = slice2.content.firstChild;
|
|
213036
|
+
if (!firstChild || firstChild.type.name === "paragraph")
|
|
213037
|
+
return slice2;
|
|
213038
|
+
const $from = state.selection.$from;
|
|
213039
|
+
const $to = state.selection.$to;
|
|
213040
|
+
if (!$from || !$to)
|
|
213041
|
+
return slice2;
|
|
213042
|
+
let parentParagraph = null;
|
|
213043
|
+
let parentDepth = -1;
|
|
213044
|
+
for (let depth = $from.depth;depth >= 0; depth--) {
|
|
213045
|
+
const node2 = $from.node(depth);
|
|
213046
|
+
if (node2?.type?.name === "paragraph") {
|
|
213047
|
+
if ($to.depth >= depth && $to.node(depth) === node2) {
|
|
213048
|
+
parentParagraph = node2;
|
|
213049
|
+
parentDepth = depth;
|
|
213050
|
+
}
|
|
213051
|
+
break;
|
|
213052
|
+
}
|
|
213053
|
+
}
|
|
213054
|
+
if (!parentParagraph)
|
|
213055
|
+
return slice2;
|
|
213056
|
+
const startOffset = $from.parentOffset;
|
|
213057
|
+
const endOffset = $to.parentOffset;
|
|
213058
|
+
if (startOffset !== 0 || endOffset !== parentParagraph.content.size)
|
|
213059
|
+
return slice2;
|
|
213060
|
+
if ($from.depth !== parentDepth || $to.depth !== parentDepth)
|
|
213061
|
+
return slice2;
|
|
213062
|
+
const styleId = parentParagraph.attrs?.paragraphProperties?.styleId;
|
|
213063
|
+
if (typeof styleId !== "string" || !HEADING_STYLE_RE.test(styleId))
|
|
213064
|
+
return slice2;
|
|
213065
|
+
const wrapped = parentParagraph.type.create(parentParagraph.attrs, slice2.content, parentParagraph.marks);
|
|
213066
|
+
return new Slice(Fragment.from(wrapped), 0, 0);
|
|
213067
|
+
}
|
|
212598
213068
|
function closestCopyBlock(node2, root3) {
|
|
212599
213069
|
let current = node2;
|
|
212600
213070
|
while (current && current !== root3) {
|
|
@@ -212817,228 +213287,6 @@ function buildSelectionClipboardHtml(view, editor) {
|
|
|
212817
213287
|
annotateCopiedSectionMetadata(container, view);
|
|
212818
213288
|
return serializeSelectionAsWordHtml(container) || container.innerHTML || null;
|
|
212819
213289
|
}
|
|
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
213290
|
function projectContentNode(pmNode) {
|
|
213043
213291
|
return projectBlock(pmNode);
|
|
213044
213292
|
}
|
|
@@ -214861,11 +215109,11 @@ function checkUniformity(runs2) {
|
|
|
214861
215109
|
return true;
|
|
214862
215110
|
const reference$1 = runs2[0].marks;
|
|
214863
215111
|
for (let i4 = 1;i4 < runs2.length; i4++)
|
|
214864
|
-
if (!marksEqual$
|
|
215112
|
+
if (!marksEqual$2(reference$1, runs2[i4].marks))
|
|
214865
215113
|
return false;
|
|
214866
215114
|
return true;
|
|
214867
215115
|
}
|
|
214868
|
-
function marksEqual$
|
|
215116
|
+
function marksEqual$2(a2, b$1) {
|
|
214869
215117
|
if (a2.length !== b$1.length)
|
|
214870
215118
|
return false;
|
|
214871
215119
|
for (let i4 = 0;i4 < a2.length; i4++)
|
|
@@ -215141,7 +215389,7 @@ function buildInlineRpr(marks) {
|
|
|
215141
215389
|
}
|
|
215142
215390
|
return rpr;
|
|
215143
215391
|
}
|
|
215144
|
-
function marksEqual(a2, b$1) {
|
|
215392
|
+
function marksEqual$1(a2, b$1) {
|
|
215145
215393
|
if (a2.length !== b$1.length)
|
|
215146
215394
|
return false;
|
|
215147
215395
|
for (let i4 = 0;i4 < a2.length; i4++)
|
|
@@ -215164,7 +215412,7 @@ function coalesceRuns(runs2) {
|
|
|
215164
215412
|
const next2 = sorted[i4];
|
|
215165
215413
|
if (next2.from >= next2.to)
|
|
215166
215414
|
continue;
|
|
215167
|
-
if (next2.from === current.to && marksEqual(current.marks, next2.marks))
|
|
215415
|
+
if (next2.from === current.to && marksEqual$1(current.marks, next2.marks))
|
|
215168
215416
|
current = {
|
|
215169
215417
|
from: current.from,
|
|
215170
215418
|
to: next2.to,
|
|
@@ -232289,76 +232537,6 @@ function wrapServiceCall(fn2) {
|
|
|
232289
232537
|
throw error48;
|
|
232290
232538
|
}
|
|
232291
232539
|
}
|
|
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
232540
|
function extractEntryText(instruction) {
|
|
232363
232541
|
const withoutPrefix = instruction.replace(/^TC\s+/i, "");
|
|
232364
232542
|
const quoteMatch = withoutPrefix.match(/^"([^"]*)"/);
|
|
@@ -232567,28 +232745,53 @@ function dispatchTransaction$2(editor, tr) {
|
|
|
232567
232745
|
else if (typeof editor.view?.dispatch === "function")
|
|
232568
232746
|
editor.view.dispatch(tr);
|
|
232569
232747
|
}
|
|
232748
|
+
function sanitizeSourceMark(mark2) {
|
|
232749
|
+
if (!mark2?.type)
|
|
232750
|
+
return null;
|
|
232751
|
+
if (mark2.type === "textStyle") {
|
|
232752
|
+
const attrs = mark2.attrs ?? {};
|
|
232753
|
+
const kept = {};
|
|
232754
|
+
for (const key2 of Object.keys(attrs))
|
|
232755
|
+
if (TEXT_STYLE_ALLOWED_ATTRS.has(key2) && attrs[key2] != null)
|
|
232756
|
+
kept[key2] = attrs[key2];
|
|
232757
|
+
return Object.keys(kept).length > 0 ? {
|
|
232758
|
+
type: "textStyle",
|
|
232759
|
+
attrs: kept
|
|
232760
|
+
} : null;
|
|
232761
|
+
}
|
|
232762
|
+
if (!ALLOWED_SOURCE_MARK_TYPES.has(mark2.type))
|
|
232763
|
+
return null;
|
|
232764
|
+
return mark2.attrs && Object.keys(mark2.attrs).length > 0 ? {
|
|
232765
|
+
type: mark2.type,
|
|
232766
|
+
attrs: { ...mark2.attrs }
|
|
232767
|
+
} : { type: mark2.type };
|
|
232768
|
+
}
|
|
232570
232769
|
function collectTocSources(doc$12, config3) {
|
|
232571
232770
|
const sources = [];
|
|
232572
232771
|
const { outlineLevels, useAppliedOutlineLevel, tcFieldIdentifier, tcFieldLevels } = config3.source;
|
|
232573
232772
|
const useApplied = useAppliedOutlineLevel ?? false;
|
|
232574
232773
|
const collectTcFields = tcFieldIdentifier !== undefined || tcFieldLevels !== undefined;
|
|
232575
232774
|
let currentParagraphSdBlockId;
|
|
232576
|
-
doc$12.descendants((node2,
|
|
232775
|
+
doc$12.descendants((node2, pos) => {
|
|
232577
232776
|
if (node2.type.name === "tableOfContents")
|
|
232578
232777
|
return false;
|
|
232579
232778
|
if (node2.type.name === "paragraph") {
|
|
232580
232779
|
const attrs = node2.attrs;
|
|
232581
232780
|
const paragraphProps = attrs?.paragraphProperties;
|
|
232582
232781
|
const styleId = paragraphProps?.styleId;
|
|
232583
|
-
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId;
|
|
232782
|
+
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId ?? buildFallbackBlockNodeId("paragraph", pos);
|
|
232584
232783
|
currentParagraphSdBlockId = sdBlockId;
|
|
232585
232784
|
if (!sdBlockId)
|
|
232586
232785
|
return true;
|
|
232786
|
+
const text5 = flattenText(node2);
|
|
232787
|
+
if (text5.trim().length === 0)
|
|
232788
|
+
return true;
|
|
232587
232789
|
if (outlineLevels) {
|
|
232588
232790
|
const headingLevel = getHeadingLevel(styleId);
|
|
232589
232791
|
if (headingLevel != null && headingLevel >= outlineLevels.from && headingLevel <= outlineLevels.to) {
|
|
232590
232792
|
sources.push({
|
|
232591
|
-
text:
|
|
232793
|
+
text: text5,
|
|
232794
|
+
segments: extractTextSegments(node2),
|
|
232592
232795
|
level: headingLevel,
|
|
232593
232796
|
sdBlockId,
|
|
232594
232797
|
kind: "heading"
|
|
@@ -232606,7 +232809,8 @@ function collectTocSources(doc$12, config3) {
|
|
|
232606
232809
|
const tocLevel = rawOutlineLevel + 1;
|
|
232607
232810
|
if (tocLevel >= effectiveLevels.from && tocLevel <= effectiveLevels.to) {
|
|
232608
232811
|
sources.push({
|
|
232609
|
-
text:
|
|
232812
|
+
text: text5,
|
|
232813
|
+
segments: extractTextSegments(node2),
|
|
232610
232814
|
level: tocLevel,
|
|
232611
232815
|
sdBlockId,
|
|
232612
232816
|
kind: "appliedOutline"
|
|
@@ -232647,50 +232851,91 @@ function flattenText(node2) {
|
|
|
232647
232851
|
});
|
|
232648
232852
|
return text5;
|
|
232649
232853
|
}
|
|
232650
|
-
function
|
|
232651
|
-
|
|
232854
|
+
function extractTextSegments(node2) {
|
|
232855
|
+
const segments = [];
|
|
232856
|
+
node2.descendants((child) => {
|
|
232857
|
+
if (!child.isText || !child.text)
|
|
232858
|
+
return true;
|
|
232859
|
+
const marks = [];
|
|
232860
|
+
for (const mark2 of child.marks ?? []) {
|
|
232861
|
+
const raw = { type: mark2.type?.name ?? "" };
|
|
232862
|
+
if (mark2.attrs && Object.keys(mark2.attrs).length > 0)
|
|
232863
|
+
raw.attrs = { ...mark2.attrs };
|
|
232864
|
+
const sanitized = sanitizeSourceMark(raw);
|
|
232865
|
+
if (sanitized)
|
|
232866
|
+
marks.push(sanitized);
|
|
232867
|
+
}
|
|
232868
|
+
const last2 = segments[segments.length - 1];
|
|
232869
|
+
if (last2 && marksEqual(last2.marks, marks))
|
|
232870
|
+
last2.text += child.text;
|
|
232871
|
+
else
|
|
232872
|
+
segments.push(marks.length > 0 ? {
|
|
232873
|
+
text: child.text,
|
|
232874
|
+
marks
|
|
232875
|
+
} : { text: child.text });
|
|
232876
|
+
return true;
|
|
232877
|
+
});
|
|
232878
|
+
return segments;
|
|
232652
232879
|
}
|
|
232653
|
-
function
|
|
232654
|
-
const
|
|
232655
|
-
|
|
232656
|
-
|
|
232657
|
-
|
|
232658
|
-
|
|
232880
|
+
function marksEqual(a2, b$1) {
|
|
232881
|
+
const aLen = a2?.length ?? 0;
|
|
232882
|
+
if (aLen !== (b$1?.length ?? 0))
|
|
232883
|
+
return false;
|
|
232884
|
+
if (aLen === 0)
|
|
232885
|
+
return true;
|
|
232886
|
+
return JSON.stringify(a2) === JSON.stringify(b$1);
|
|
232887
|
+
}
|
|
232888
|
+
function buildTocEntryParagraphs(sources, config3, options = {}) {
|
|
232889
|
+
return sources.map((source) => buildEntryParagraph(source, config3, options));
|
|
232890
|
+
}
|
|
232891
|
+
function asRun(children) {
|
|
232892
|
+
return {
|
|
232893
|
+
type: "run",
|
|
232894
|
+
content: children
|
|
232659
232895
|
};
|
|
232660
|
-
|
|
232661
|
-
|
|
232662
|
-
|
|
232663
|
-
|
|
232664
|
-
|
|
232665
|
-
|
|
232666
|
-
|
|
232667
|
-
|
|
232668
|
-
|
|
232669
|
-
|
|
232896
|
+
}
|
|
232897
|
+
function buildEntryParagraph(source, config3, options = {}) {
|
|
232898
|
+
const { display } = config3;
|
|
232899
|
+
const linkMark = display.hyperlinks ? {
|
|
232900
|
+
type: "link",
|
|
232901
|
+
attrs: {
|
|
232902
|
+
anchor: generateTocBookmarkName(source.sdBlockId),
|
|
232903
|
+
rId: null,
|
|
232904
|
+
history: true
|
|
232905
|
+
}
|
|
232906
|
+
} : undefined;
|
|
232907
|
+
const content3 = [asRun((source.segments && source.segments.length > 0 ? source.segments : [{ text: source.text || " " }]).map((segment) => {
|
|
232908
|
+
const marks = [...(segment.marks ?? []).map((m$1) => sanitizeSourceMark(m$1)).filter((m$1) => m$1 !== null)];
|
|
232909
|
+
if (linkMark)
|
|
232910
|
+
marks.push(linkMark);
|
|
232911
|
+
const node2 = {
|
|
232912
|
+
type: "text",
|
|
232913
|
+
text: segment.text || " "
|
|
232914
|
+
};
|
|
232915
|
+
if (marks.length > 0)
|
|
232916
|
+
node2.marks = marks;
|
|
232917
|
+
return node2;
|
|
232918
|
+
}))];
|
|
232670
232919
|
const omitRange = display.omitPageNumberLevels;
|
|
232671
|
-
const
|
|
232672
|
-
const entryOmitted = source.omitPageNumber;
|
|
232673
|
-
const omitPageNumber = levelOmitted || entryOmitted;
|
|
232920
|
+
const omitPageNumber = Boolean(omitRange && source.level >= omitRange.from && source.level <= omitRange.to || source.omitPageNumber);
|
|
232674
232921
|
if (!omitPageNumber) {
|
|
232675
|
-
|
|
232676
|
-
|
|
232677
|
-
|
|
232678
|
-
|
|
232679
|
-
|
|
232680
|
-
|
|
232681
|
-
content3.push({ type: "tab" });
|
|
232682
|
-
content3.push({
|
|
232922
|
+
content3.push(asRun([display.separator ? {
|
|
232923
|
+
type: "text",
|
|
232924
|
+
text: display.separator
|
|
232925
|
+
} : { type: "tab" }]));
|
|
232926
|
+
const resolvedPage = options.pageMap?.get(source.sdBlockId);
|
|
232927
|
+
content3.push(asRun([{
|
|
232683
232928
|
type: "text",
|
|
232684
|
-
text: "0",
|
|
232929
|
+
text: resolvedPage != null ? String(resolvedPage) : "0",
|
|
232685
232930
|
marks: [{ type: "tocPageNumber" }]
|
|
232686
|
-
});
|
|
232931
|
+
}]));
|
|
232687
232932
|
}
|
|
232688
232933
|
const paragraphProperties = { styleId: `TOC${source.level}` };
|
|
232689
232934
|
if (display.rightAlignPageNumbers !== false && !omitPageNumber) {
|
|
232690
|
-
const leader = display.tabLeader
|
|
232935
|
+
const leader = display.tabLeader === "none" ? undefined : display.tabLeader && TAB_LEADER_MAP[display.tabLeader] || "dot";
|
|
232691
232936
|
paragraphProperties.tabStops = [{ tab: {
|
|
232692
232937
|
tabType: "right",
|
|
232693
|
-
pos: DEFAULT_RIGHT_TAB_POS,
|
|
232938
|
+
pos: options.tabPos ?? DEFAULT_RIGHT_TAB_POS,
|
|
232694
232939
|
...leader ? { leader } : {}
|
|
232695
232940
|
} }];
|
|
232696
232941
|
}
|
|
@@ -232825,6 +233070,50 @@ function withRightAlign(config3, rightAlignPageNumbers) {
|
|
|
232825
233070
|
}
|
|
232826
233071
|
};
|
|
232827
233072
|
}
|
|
233073
|
+
function stripTocPageNumberFromNode(node2) {
|
|
233074
|
+
if (!node2 || typeof node2 !== "object")
|
|
233075
|
+
return {
|
|
233076
|
+
node: node2,
|
|
233077
|
+
changed: false
|
|
233078
|
+
};
|
|
233079
|
+
const typedNode = node2;
|
|
233080
|
+
let changed = false;
|
|
233081
|
+
let next2 = typedNode;
|
|
233082
|
+
if (Array.isArray(typedNode.marks)) {
|
|
233083
|
+
const filtered = typedNode.marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
233084
|
+
if (filtered.length !== typedNode.marks.length) {
|
|
233085
|
+
changed = true;
|
|
233086
|
+
if (filtered.length === 0) {
|
|
233087
|
+
const { marks: _removed, ...rest } = next2;
|
|
233088
|
+
next2 = rest;
|
|
233089
|
+
} else
|
|
233090
|
+
next2 = {
|
|
233091
|
+
...next2,
|
|
233092
|
+
marks: filtered
|
|
233093
|
+
};
|
|
233094
|
+
}
|
|
233095
|
+
}
|
|
233096
|
+
if (Array.isArray(typedNode.content)) {
|
|
233097
|
+
let childChanged = false;
|
|
233098
|
+
const nextChildren = typedNode.content.map((child) => {
|
|
233099
|
+
const result = stripTocPageNumberFromNode(child);
|
|
233100
|
+
if (result.changed)
|
|
233101
|
+
childChanged = true;
|
|
233102
|
+
return result.node;
|
|
233103
|
+
});
|
|
233104
|
+
if (childChanged) {
|
|
233105
|
+
changed = true;
|
|
233106
|
+
next2 = {
|
|
233107
|
+
...next2,
|
|
233108
|
+
content: nextChildren
|
|
233109
|
+
};
|
|
233110
|
+
}
|
|
233111
|
+
}
|
|
233112
|
+
return {
|
|
233113
|
+
node: next2,
|
|
233114
|
+
changed
|
|
233115
|
+
};
|
|
233116
|
+
}
|
|
232828
233117
|
function sanitizeTocContentForSchema(content3, editor) {
|
|
232829
233118
|
if (editor.state.schema?.marks?.tocPageNumber)
|
|
232830
233119
|
return content3;
|
|
@@ -232834,24 +233123,10 @@ function sanitizeTocContentForSchema(content3, editor) {
|
|
|
232834
233123
|
return paragraph2;
|
|
232835
233124
|
let changed = false;
|
|
232836
233125
|
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
|
-
};
|
|
233126
|
+
const result = stripTocPageNumberFromNode(node2);
|
|
233127
|
+
if (result.changed)
|
|
233128
|
+
changed = true;
|
|
233129
|
+
return result.node;
|
|
232855
233130
|
});
|
|
232856
233131
|
return changed ? {
|
|
232857
233132
|
...paragraph2,
|
|
@@ -232859,14 +233134,50 @@ function sanitizeTocContentForSchema(content3, editor) {
|
|
|
232859
233134
|
} : paragraph2;
|
|
232860
233135
|
});
|
|
232861
233136
|
}
|
|
232862
|
-
function materializeTocContent(doc$12, config3, editor) {
|
|
233137
|
+
function materializeTocContent(doc$12, config3, editor, options = {}) {
|
|
232863
233138
|
const sources = collectTocSources(doc$12, config3);
|
|
232864
|
-
const entryParagraphs = buildTocEntryParagraphs(sources, config3);
|
|
233139
|
+
const entryParagraphs = buildTocEntryParagraphs(sources, config3, options);
|
|
232865
233140
|
return {
|
|
232866
233141
|
content: sanitizeTocContentForSchema(entryParagraphs.length > 0 ? entryParagraphs : NO_ENTRIES_PLACEHOLDER, editor),
|
|
232867
233142
|
sources
|
|
232868
233143
|
};
|
|
232869
233144
|
}
|
|
233145
|
+
function findFirstTocEntryParagraph(node2) {
|
|
233146
|
+
let entry;
|
|
233147
|
+
node2.forEach((paragraph2) => {
|
|
233148
|
+
if (entry || paragraph2.type.name !== "paragraph")
|
|
233149
|
+
return;
|
|
233150
|
+
const styleId = paragraph2.attrs?.paragraphProperties?.styleId;
|
|
233151
|
+
if (styleId && TOC_ENTRY_STYLE_RE.test(styleId))
|
|
233152
|
+
entry = paragraph2;
|
|
233153
|
+
});
|
|
233154
|
+
return entry;
|
|
233155
|
+
}
|
|
233156
|
+
function readExistingTocTabPos(node2) {
|
|
233157
|
+
const pos = (findFirstTocEntryParagraph(node2) ?? node2.firstChild ?? undefined)?.attrs?.paragraphProperties?.tabStops?.find((t) => t?.tab?.tabType === "right")?.tab?.pos;
|
|
233158
|
+
return typeof pos === "number" ? pos : undefined;
|
|
233159
|
+
}
|
|
233160
|
+
function readExistingTocTrailingParagraph(node2) {
|
|
233161
|
+
const last2 = node2.lastChild;
|
|
233162
|
+
if (!last2 || last2.type.name !== "paragraph")
|
|
233163
|
+
return;
|
|
233164
|
+
const styleId = last2.attrs?.paragraphProperties?.styleId;
|
|
233165
|
+
if (styleId && TOC_ENTRY_STYLE_RE.test(styleId))
|
|
233166
|
+
return;
|
|
233167
|
+
let hasPrecedingEntry = false;
|
|
233168
|
+
node2.forEach((child) => {
|
|
233169
|
+
if (hasPrecedingEntry || child === last2)
|
|
233170
|
+
return;
|
|
233171
|
+
if (child.type.name !== "paragraph")
|
|
233172
|
+
return;
|
|
233173
|
+
const childStyleId = child.attrs?.paragraphProperties?.styleId;
|
|
233174
|
+
if (childStyleId && TOC_ENTRY_STYLE_RE.test(childStyleId))
|
|
233175
|
+
hasPrecedingEntry = true;
|
|
233176
|
+
});
|
|
233177
|
+
if (!hasPrecedingEntry)
|
|
233178
|
+
return;
|
|
233179
|
+
return typeof last2.toJSON === "function" ? last2.toJSON() : undefined;
|
|
233180
|
+
}
|
|
232870
233181
|
function tocConfigureWrapper(editor, input2, options) {
|
|
232871
233182
|
rejectTrackedMode("toc.configure", options);
|
|
232872
233183
|
const resolved = resolveTocTarget(editor.state.doc, input2.target);
|
|
@@ -232875,7 +233186,12 @@ function tocConfigureWrapper(editor, input2, options) {
|
|
|
232875
233186
|
const instruction = serializeTocInstruction(patched);
|
|
232876
233187
|
const rightAlignChanged = input2.patch.rightAlignPageNumbers !== undefined && input2.patch.rightAlignPageNumbers !== resolved.node.attrs?.rightAlignPageNumbers;
|
|
232877
233188
|
const effectiveRightAlign = input2.patch.rightAlignPageNumbers ?? resolved.node.attrs?.rightAlignPageNumbers;
|
|
232878
|
-
const { content:
|
|
233189
|
+
const { content: rebuiltEntries, sources } = materializeTocContent(editor.state.doc, withRightAlign(patched, effectiveRightAlign), editor, {
|
|
233190
|
+
pageMap: getPageMap(editor) ?? undefined,
|
|
233191
|
+
tabPos: readExistingTocTabPos(resolved.node)
|
|
233192
|
+
});
|
|
233193
|
+
const trailing = readExistingTocTrailingParagraph(resolved.node);
|
|
233194
|
+
const nextContent = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
232879
233195
|
if (areTocConfigsEqual(currentConfig, patched) && !rightAlignChanged)
|
|
232880
233196
|
return tocFailure("NO_OP", "Configuration patch produced no change.");
|
|
232881
233197
|
if (options?.dryRun)
|
|
@@ -232921,7 +233237,12 @@ function tocUpdateAll(editor, input2, options) {
|
|
|
232921
233237
|
const resolved = resolveTocTarget(editor.state.doc, input2.target);
|
|
232922
233238
|
const config3 = parseTocInstruction(resolved.node.attrs?.instruction ?? "");
|
|
232923
233239
|
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
232924
|
-
const { content:
|
|
233240
|
+
const { content: rebuiltEntries, sources } = materializeTocContent(editor.state.doc, withRightAlign(config3, rightAlign), editor, {
|
|
233241
|
+
pageMap: getPageMap(editor) ?? undefined,
|
|
233242
|
+
tabPos: readExistingTocTabPos(resolved.node)
|
|
233243
|
+
});
|
|
233244
|
+
const trailing = readExistingTocTrailingParagraph(resolved.node);
|
|
233245
|
+
const content3 = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
232925
233246
|
if (isTocContentUnchanged(resolved.node, content3))
|
|
232926
233247
|
return tocFailure("NO_OP", "TOC update produced no change.");
|
|
232927
233248
|
if (options?.dryRun)
|
|
@@ -233000,25 +233321,33 @@ function buildPageNumberUpdatedContent(tocNode, pageMap) {
|
|
|
233000
233321
|
}
|
|
233001
233322
|
const tocSourceId = child.attrs?.tocSourceId;
|
|
233002
233323
|
const childJson = child.toJSON();
|
|
233003
|
-
const content3 = childJson.content ?? [];
|
|
233004
233324
|
let paragraphChanged = false;
|
|
233005
|
-
const
|
|
233006
|
-
if (
|
|
233007
|
-
|
|
233008
|
-
|
|
233009
|
-
|
|
233325
|
+
const visit2 = (node2) => {
|
|
233326
|
+
if (node2.marks?.some((m$1) => m$1.type === "tocPageNumber")) {
|
|
233327
|
+
hasPageNumberMarks = true;
|
|
233328
|
+
if (!tocSourceId)
|
|
233329
|
+
return node2;
|
|
233330
|
+
const pageNumber = pageMap.get(tocSourceId);
|
|
233331
|
+
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
233332
|
+
if (node2.text !== newText) {
|
|
233333
|
+
paragraphChanged = true;
|
|
233334
|
+
return {
|
|
233335
|
+
...node2,
|
|
233336
|
+
text: newText
|
|
233337
|
+
};
|
|
233338
|
+
}
|
|
233010
233339
|
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
233340
|
}
|
|
233020
|
-
|
|
233021
|
-
|
|
233341
|
+
const nested = node2.content;
|
|
233342
|
+
if (!Array.isArray(nested) || nested.length === 0)
|
|
233343
|
+
return node2;
|
|
233344
|
+
const visited = nested.map(visit2);
|
|
233345
|
+
return visited.some((next2, idx) => next2 !== nested[idx]) ? {
|
|
233346
|
+
...node2,
|
|
233347
|
+
content: visited
|
|
233348
|
+
} : node2;
|
|
233349
|
+
};
|
|
233350
|
+
const updatedContentArray = (childJson.content ?? []).map(visit2);
|
|
233022
233351
|
if (paragraphChanged) {
|
|
233023
233352
|
anyChanged = true;
|
|
233024
233353
|
updatedContent.push({
|
|
@@ -236729,11 +237058,12 @@ function resolveBookmarkTarget(doc$12, target) {
|
|
|
236729
237058
|
function nodePositionToPosition(doc$12, pos) {
|
|
236730
237059
|
const resolved = doc$12.resolve(pos);
|
|
236731
237060
|
for (let depth = resolved.depth;depth >= 0; depth--) {
|
|
236732
|
-
const
|
|
237061
|
+
const node2 = resolved.node(depth);
|
|
237062
|
+
const blockId = node2.attrs?.sdBlockId;
|
|
236733
237063
|
if (blockId)
|
|
236734
237064
|
return {
|
|
236735
237065
|
blockId,
|
|
236736
|
-
offset:
|
|
237066
|
+
offset: pmPositionToTextOffset(node2, resolved.start(depth) - 1, pos)
|
|
236737
237067
|
};
|
|
236738
237068
|
}
|
|
236739
237069
|
return {
|
|
@@ -237185,11 +237515,12 @@ function protectionClearEditingRestrictionAdapter(editor, _input, options) {
|
|
|
237185
237515
|
function pmPosToPosition(doc$12, pos) {
|
|
237186
237516
|
const resolved = doc$12.resolve(pos);
|
|
237187
237517
|
for (let depth = resolved.depth;depth >= 0; depth--) {
|
|
237188
|
-
const
|
|
237518
|
+
const node2 = resolved.node(depth);
|
|
237519
|
+
const blockId = node2.attrs?.sdBlockId;
|
|
237189
237520
|
if (blockId)
|
|
237190
237521
|
return {
|
|
237191
237522
|
blockId,
|
|
237192
|
-
offset:
|
|
237523
|
+
offset: pmPositionToTextOffset(node2, resolved.start(depth) - 1, pos)
|
|
237193
237524
|
};
|
|
237194
237525
|
}
|
|
237195
237526
|
return {
|
|
@@ -254021,6 +254352,36 @@ function hydrateImageBlocks(blocks2, mediaFiles) {
|
|
|
254021
254352
|
}
|
|
254022
254353
|
if (blk.kind === "drawing") {
|
|
254023
254354
|
const drawingBlock = blk;
|
|
254355
|
+
if (drawingBlock.drawingKind === "vectorShape") {
|
|
254356
|
+
const parts = drawingBlock.textContent?.parts;
|
|
254357
|
+
if (!parts || parts.length === 0)
|
|
254358
|
+
return blk;
|
|
254359
|
+
let partsChanged = false;
|
|
254360
|
+
const hydratedParts = parts.map((part) => {
|
|
254361
|
+
if (part?.kind !== "image" || !part.src || part.src.startsWith("data:"))
|
|
254362
|
+
return part;
|
|
254363
|
+
const resolvedSrc = resolveImageSrc(part.src, part.rId, undefined, part.extension);
|
|
254364
|
+
if (resolvedSrc) {
|
|
254365
|
+
partsChanged = true;
|
|
254366
|
+
return {
|
|
254367
|
+
...part,
|
|
254368
|
+
src: resolvedSrc
|
|
254369
|
+
};
|
|
254370
|
+
}
|
|
254371
|
+
return part;
|
|
254372
|
+
});
|
|
254373
|
+
if (partsChanged) {
|
|
254374
|
+
const vectorShapeBlock = drawingBlock;
|
|
254375
|
+
return {
|
|
254376
|
+
...vectorShapeBlock,
|
|
254377
|
+
textContent: {
|
|
254378
|
+
...vectorShapeBlock.textContent,
|
|
254379
|
+
parts: hydratedParts
|
|
254380
|
+
}
|
|
254381
|
+
};
|
|
254382
|
+
}
|
|
254383
|
+
return blk;
|
|
254384
|
+
}
|
|
254024
254385
|
if (drawingBlock.drawingKind !== "shapeGroup")
|
|
254025
254386
|
return blk;
|
|
254026
254387
|
const shapeGroupBlock = drawingBlock;
|
|
@@ -266867,7 +267228,7 @@ var Node$13 = class Node$14 {
|
|
|
266867
267228
|
};
|
|
266868
267229
|
tr.setNodeMarkup(paraPos, undefined, nextAttrs, paragraph2.marks);
|
|
266869
267230
|
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 }) => {
|
|
267231
|
+
}, 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
267232
|
if (!lineHeight)
|
|
266872
267233
|
return false;
|
|
266873
267234
|
return commands$1.updateAttributes("paragraph", {
|
|
@@ -271387,7 +271748,7 @@ var Node$13 = class Node$14 {
|
|
|
271387
271748
|
}), hiddenRender = (type) => ["sd-passthrough", {
|
|
271388
271749
|
"data-sd-passthrough": type,
|
|
271389
271750
|
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) => {
|
|
271751
|
+
}], 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
271752
|
if (typeof position4 !== "string")
|
|
271392
271753
|
return false;
|
|
271393
271754
|
return normalizeBaselineShift(parseFloat(position4)) != null;
|
|
@@ -276190,7 +276551,7 @@ var Node$13 = class Node$14 {
|
|
|
276190
276551
|
domAvailabilityCache = false;
|
|
276191
276552
|
return false;
|
|
276192
276553
|
}
|
|
276193
|
-
}, summaryVersion = "1.
|
|
276554
|
+
}, summaryVersion = "1.32.0", nodeKeys, markKeys, transformListsInCopiedContent = (html3) => {
|
|
276194
276555
|
const container = document.createElement("div");
|
|
276195
276556
|
container.innerHTML = html3;
|
|
276196
276557
|
const result = [];
|
|
@@ -276263,7 +276624,7 @@ var Node$13 = class Node$14 {
|
|
|
276263
276624
|
}, getLevel = (node2) => {
|
|
276264
276625
|
const lvl = node2.getAttribute("data-level");
|
|
276265
276626
|
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 {
|
|
276627
|
+
}, 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
276628
|
constructor() {
|
|
276268
276629
|
this.view = null;
|
|
276269
276630
|
this.eventListenerCleanups = [];
|
|
@@ -276470,7 +276831,7 @@ var Node$13 = class Node$14 {
|
|
|
276470
276831
|
let sliceJson = "";
|
|
276471
276832
|
let mediaJson = "";
|
|
276472
276833
|
if (from$1 !== to) {
|
|
276473
|
-
const slice2 = this.view.state.doc.slice(from$1, to);
|
|
276834
|
+
const slice2 = wrapHeadingSelectionAsParagraph(this.view.state.doc.slice(from$1, to), this.view.state);
|
|
276474
276835
|
sliceJson = JSON.stringify(slice2.toJSON());
|
|
276475
276836
|
clipboardData.setData("application/x-superdoc-slice", sliceJson);
|
|
276476
276837
|
mediaJson = collectReferencedImageMediaForClipboard(sliceJson, editor);
|
|
@@ -276516,7 +276877,7 @@ var Node$13 = class Node$14 {
|
|
|
276516
276877
|
console.warn("Failed to initialize developer tools:", error48);
|
|
276517
276878
|
}
|
|
276518
276879
|
}
|
|
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 {
|
|
276880
|
+
}, 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
276881
|
#hostEditor;
|
|
276521
276882
|
#snapshots = /* @__PURE__ */ new Map;
|
|
276522
276883
|
#aggregated = null;
|
|
@@ -277365,7 +277726,7 @@ var Node$13 = class Node$14 {
|
|
|
277365
277726
|
return () => {};
|
|
277366
277727
|
const handle3 = setInterval(callback, intervalMs);
|
|
277367
277728
|
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.
|
|
277729
|
+
}, 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
277730
|
const extensionLike = extension2;
|
|
277370
277731
|
const config3 = extensionLike?.config;
|
|
277371
277732
|
const ExtensionCtor = extensionLike?.constructor;
|
|
@@ -291442,8 +291803,8 @@ menclose::after {
|
|
|
291442
291803
|
get manager() {
|
|
291443
291804
|
return this.#headerFooterManager;
|
|
291444
291805
|
}
|
|
291445
|
-
refreshStructure() {
|
|
291446
|
-
this.#headerFooterManager?.refresh();
|
|
291806
|
+
refreshStructure(options) {
|
|
291807
|
+
this.#headerFooterManager?.refresh(options?.purgeCachedEditors ? { purgeCachedEditors: true } : undefined);
|
|
291447
291808
|
this.#headerFooterAdapter?.invalidateAll();
|
|
291448
291809
|
}
|
|
291449
291810
|
invalidateLayoutForRefs(refIds) {
|
|
@@ -293036,12 +293397,12 @@ menclose::after {
|
|
|
293036
293397
|
return;
|
|
293037
293398
|
console.log(...args$1);
|
|
293038
293399
|
}, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions;
|
|
293039
|
-
var
|
|
293400
|
+
var init_src_CMq87UyB_es = __esm(() => {
|
|
293040
293401
|
init_rolldown_runtime_Bg48TavK_es();
|
|
293041
|
-
|
|
293402
|
+
init_SuperConverter_BInxZk0I_es();
|
|
293042
293403
|
init_jszip_C49i9kUs_es();
|
|
293043
293404
|
init_uuid_qzgm05fK_es();
|
|
293044
|
-
|
|
293405
|
+
init_create_headless_toolbar_rUh3xIsa_es();
|
|
293045
293406
|
init_constants_DrU4EASo_es();
|
|
293046
293407
|
init_dist_B8HfvhaK_es();
|
|
293047
293408
|
init_unified_Dsuw2be5_es();
|
|
@@ -300266,10 +300627,10 @@ ${err.toString()}`);
|
|
|
300266
300627
|
addOptions() {
|
|
300267
300628
|
return { htmlAttributes: {} };
|
|
300268
300629
|
},
|
|
300269
|
-
|
|
300630
|
+
parseDOM() {
|
|
300270
300631
|
return [{ tag: "span[data-toc-page-number]" }];
|
|
300271
300632
|
},
|
|
300272
|
-
|
|
300633
|
+
renderDOM() {
|
|
300273
300634
|
return [
|
|
300274
300635
|
"span",
|
|
300275
300636
|
{ "data-toc-page-number": "" },
|
|
@@ -303562,6 +303923,33 @@ ${err.toString()}`);
|
|
|
303562
303923
|
fieldType: "NUMPAGES",
|
|
303563
303924
|
instruction: "NUMPAGES"
|
|
303564
303925
|
} };
|
|
303926
|
+
TAB_LEADER_TO_SEPARATOR = {
|
|
303927
|
+
dot: ".",
|
|
303928
|
+
hyphen: "-",
|
|
303929
|
+
underscore: "_",
|
|
303930
|
+
middleDot: "·"
|
|
303931
|
+
};
|
|
303932
|
+
SEPARATOR_TO_TAB_LEADER = {
|
|
303933
|
+
".": "dot",
|
|
303934
|
+
"-": "hyphen",
|
|
303935
|
+
_: "underscore",
|
|
303936
|
+
"·": "middleDot"
|
|
303937
|
+
};
|
|
303938
|
+
DEFAULT_TOC_CONFIG = {
|
|
303939
|
+
source: {
|
|
303940
|
+
outlineLevels: {
|
|
303941
|
+
from: 1,
|
|
303942
|
+
to: 3
|
|
303943
|
+
},
|
|
303944
|
+
useAppliedOutlineLevel: true
|
|
303945
|
+
},
|
|
303946
|
+
display: {
|
|
303947
|
+
hyperlinks: true,
|
|
303948
|
+
hideInWebView: true
|
|
303949
|
+
},
|
|
303950
|
+
preserved: {}
|
|
303951
|
+
};
|
|
303952
|
+
SWITCH_PATTERN$1 = /\\([a-z])\s*(?:"([^"]*)")?/gi;
|
|
303565
303953
|
UPDATABLE_FIELD_TYPES = new Set([
|
|
303566
303954
|
"NUMWORDS",
|
|
303567
303955
|
"NUMCHARS",
|
|
@@ -303570,11 +303958,41 @@ ${err.toString()}`);
|
|
|
303570
303958
|
FieldUpdate = Extension.create({
|
|
303571
303959
|
name: "fieldUpdate",
|
|
303572
303960
|
addCommands() {
|
|
303573
|
-
return { updateFieldsInSelection: () => ({ editor, state, dispatch }) => {
|
|
303961
|
+
return { updateFieldsInSelection: () => ({ editor, state, tr: outerTr, dispatch }) => {
|
|
303574
303962
|
const { from: from$1, to } = state.selection;
|
|
303963
|
+
let tocPathRan = false;
|
|
303964
|
+
if (editor?.doc?.toc?.update) {
|
|
303965
|
+
const tocTargets = findAllTocNodes(state.doc).map((toc) => toc.commandNodeId).filter((id2) => typeof id2 === "string" && id2);
|
|
303966
|
+
if (tocTargets.length > 0) {
|
|
303967
|
+
if (!dispatch)
|
|
303968
|
+
return true;
|
|
303969
|
+
const tocStorage = editor.storage?.tableOfContents;
|
|
303970
|
+
const cachedPageMap = tocStorage?.pageMap ?? null;
|
|
303971
|
+
for (const sdBlockId of tocTargets) {
|
|
303972
|
+
if (tocStorage && cachedPageMap) {
|
|
303973
|
+
tocStorage.pageMap = cachedPageMap;
|
|
303974
|
+
tocStorage.pageMapDoc = editor.state.doc;
|
|
303975
|
+
}
|
|
303976
|
+
try {
|
|
303977
|
+
editor.doc.toc.update({
|
|
303978
|
+
target: {
|
|
303979
|
+
kind: "block",
|
|
303980
|
+
nodeType: "tableOfContents",
|
|
303981
|
+
nodeId: sdBlockId
|
|
303982
|
+
},
|
|
303983
|
+
mode: "all"
|
|
303984
|
+
});
|
|
303985
|
+
} catch (error48) {
|
|
303986
|
+
console.warn("[FieldUpdate] toc.update failed for", sdBlockId, error48);
|
|
303987
|
+
}
|
|
303988
|
+
}
|
|
303989
|
+
outerTr?.setMeta?.("preventDispatch", true);
|
|
303990
|
+
tocPathRan = true;
|
|
303991
|
+
}
|
|
303992
|
+
}
|
|
303575
303993
|
const updatable = findFieldsInRange(state.doc, from$1, to).filter((f2) => UPDATABLE_FIELD_TYPES.has(f2.fieldType));
|
|
303576
303994
|
if (updatable.length === 0)
|
|
303577
|
-
return
|
|
303995
|
+
return tocPathRan;
|
|
303578
303996
|
const stats = getWordStatistics(resolveMainBodyEditor(editor));
|
|
303579
303997
|
const tr = state.tr;
|
|
303580
303998
|
let changed = false;
|
|
@@ -303605,7 +304023,7 @@ ${err.toString()}`);
|
|
|
303605
304023
|
}
|
|
303606
304024
|
}
|
|
303607
304025
|
if (!changed)
|
|
303608
|
-
return
|
|
304026
|
+
return tocPathRan;
|
|
303609
304027
|
if (dispatch)
|
|
303610
304028
|
dispatch(tr);
|
|
303611
304029
|
return true;
|
|
@@ -304065,7 +304483,11 @@ ${err.toString()}`);
|
|
|
304065
304483
|
underlineColor: { default: null },
|
|
304066
304484
|
underlineThemeColor: { default: null },
|
|
304067
304485
|
underlineThemeTint: { default: null },
|
|
304068
|
-
underlineThemeShade: { default: null }
|
|
304486
|
+
underlineThemeShade: { default: null },
|
|
304487
|
+
autoAdded: {
|
|
304488
|
+
default: false,
|
|
304489
|
+
rendered: false
|
|
304490
|
+
}
|
|
304069
304491
|
};
|
|
304070
304492
|
},
|
|
304071
304493
|
addCommands() {
|
|
@@ -304312,10 +304734,26 @@ ${err.toString()}`);
|
|
|
304312
304734
|
}
|
|
304313
304735
|
if (linkMarkType)
|
|
304314
304736
|
tr = tr.removeMark(from$1, to, linkMarkType);
|
|
304315
|
-
if (underlineMarkType)
|
|
304316
|
-
|
|
304317
|
-
|
|
304318
|
-
|
|
304737
|
+
if (underlineMarkType) {
|
|
304738
|
+
const rangesMissingUnderline = [];
|
|
304739
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304740
|
+
if (!node2.isText || node2.nodeSize <= 0)
|
|
304741
|
+
return;
|
|
304742
|
+
if (node2.marks.some((mark2) => mark2.type === underlineMarkType))
|
|
304743
|
+
return;
|
|
304744
|
+
const rangeFrom = Math.max(pos, from$1);
|
|
304745
|
+
const rangeTo = Math.min(pos + node2.nodeSize, to);
|
|
304746
|
+
if (rangeFrom >= rangeTo)
|
|
304747
|
+
return;
|
|
304748
|
+
rangesMissingUnderline.push({
|
|
304749
|
+
from: rangeFrom,
|
|
304750
|
+
to: rangeTo
|
|
304751
|
+
});
|
|
304752
|
+
});
|
|
304753
|
+
rangesMissingUnderline.forEach((range) => {
|
|
304754
|
+
tr = tr.addMark(range.from, range.to, underlineMarkType.create({ autoAdded: true }));
|
|
304755
|
+
});
|
|
304756
|
+
}
|
|
304319
304757
|
let rId = null;
|
|
304320
304758
|
if (editor.options.mode === "docx") {
|
|
304321
304759
|
const id2 = addLinkRelationship({
|
|
@@ -304336,8 +304774,72 @@ ${err.toString()}`);
|
|
|
304336
304774
|
dispatch(tr.scrollIntoView());
|
|
304337
304775
|
return true;
|
|
304338
304776
|
},
|
|
304339
|
-
unsetLink: () => ({ chain }) => {
|
|
304340
|
-
|
|
304777
|
+
unsetLink: () => ({ chain, state, editor }) => {
|
|
304778
|
+
const { selection } = state;
|
|
304779
|
+
const linkMarkType = editor.schema.marks.link;
|
|
304780
|
+
const underlineMarkType = editor.schema.marks.underline;
|
|
304781
|
+
let { from: from$1, to } = selection;
|
|
304782
|
+
if (selection.empty && linkMarkType) {
|
|
304783
|
+
const range = getMarkRange(selection.$from, linkMarkType);
|
|
304784
|
+
if (range) {
|
|
304785
|
+
from$1 = range.from;
|
|
304786
|
+
to = range.to;
|
|
304787
|
+
}
|
|
304788
|
+
}
|
|
304789
|
+
return chain().unsetColor().unsetMark("link", { extendEmptyMarkRange: true }).command(({ tr }) => {
|
|
304790
|
+
if (underlineMarkType)
|
|
304791
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304792
|
+
if (!node2.isText)
|
|
304793
|
+
return;
|
|
304794
|
+
node2.marks.forEach((mark2) => {
|
|
304795
|
+
if (mark2.type !== underlineMarkType)
|
|
304796
|
+
return;
|
|
304797
|
+
if (mark2.attrs?.autoAdded !== true)
|
|
304798
|
+
return;
|
|
304799
|
+
tr.removeMark(pos, pos + node2.nodeSize, mark2);
|
|
304800
|
+
});
|
|
304801
|
+
});
|
|
304802
|
+
const textStyleMarkType = tr.doc.type.schema.marks.textStyle;
|
|
304803
|
+
if (textStyleMarkType)
|
|
304804
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304805
|
+
if (!node2.isText)
|
|
304806
|
+
return;
|
|
304807
|
+
node2.marks.forEach((mark2) => {
|
|
304808
|
+
if (mark2.type !== textStyleMarkType)
|
|
304809
|
+
return;
|
|
304810
|
+
if (!TRANSIENT_HYPERLINK_STYLE_IDS.has(mark2.attrs?.styleId))
|
|
304811
|
+
return;
|
|
304812
|
+
const clearedAttrs = {
|
|
304813
|
+
...mark2.attrs,
|
|
304814
|
+
styleId: null
|
|
304815
|
+
};
|
|
304816
|
+
tr.removeMark(pos, pos + node2.nodeSize, mark2);
|
|
304817
|
+
tr.addMark(pos, pos + node2.nodeSize, textStyleMarkType.create(clearedAttrs));
|
|
304818
|
+
});
|
|
304819
|
+
});
|
|
304820
|
+
const runNodesToUpdate = [];
|
|
304821
|
+
tr.doc.nodesBetween(from$1, to, (node2, pos) => {
|
|
304822
|
+
if (node2.type.name !== "run")
|
|
304823
|
+
return;
|
|
304824
|
+
if (!TRANSIENT_HYPERLINK_STYLE_IDS.has(node2.attrs?.runProperties?.styleId))
|
|
304825
|
+
return;
|
|
304826
|
+
runNodesToUpdate.push({
|
|
304827
|
+
node: node2,
|
|
304828
|
+
pos
|
|
304829
|
+
});
|
|
304830
|
+
});
|
|
304831
|
+
runNodesToUpdate.sort((a2, b$1) => b$1.pos - a2.pos).forEach(({ node: node2, pos }) => {
|
|
304832
|
+
const mappedPos = tr.mapping.map(pos);
|
|
304833
|
+
tr.setNodeMarkup(mappedPos, node2.type, {
|
|
304834
|
+
...node2.attrs,
|
|
304835
|
+
runProperties: {
|
|
304836
|
+
...node2.attrs.runProperties,
|
|
304837
|
+
styleId: null
|
|
304838
|
+
}
|
|
304839
|
+
}, node2.marks);
|
|
304840
|
+
});
|
|
304841
|
+
return true;
|
|
304842
|
+
}).run();
|
|
304341
304843
|
},
|
|
304342
304844
|
toggleLink: ({ href, text: text5 } = {}) => ({ commands: commands$1 }) => {
|
|
304343
304845
|
if (!href)
|
|
@@ -315512,6 +316014,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315512
316014
|
"spanning",
|
|
315513
316015
|
"code"
|
|
315514
316016
|
];
|
|
316017
|
+
HEADING_STYLE_RE = /^Heading[1-9]$/i;
|
|
315515
316018
|
RUNTIME_COPY_STRIP_SELECTOR = [
|
|
315516
316019
|
".list-marker",
|
|
315517
316020
|
".sd-editor-tab",
|
|
@@ -315526,33 +316029,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
315526
316029
|
["bullet", "bullet"]
|
|
315527
316030
|
]);
|
|
315528
316031
|
BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${BLANK_DOCX_BASE64}`;
|
|
315529
|
-
TAB_LEADER_TO_SEPARATOR = {
|
|
315530
|
-
dot: ".",
|
|
315531
|
-
hyphen: "-",
|
|
315532
|
-
underscore: "_",
|
|
315533
|
-
middleDot: "·"
|
|
315534
|
-
};
|
|
315535
|
-
SEPARATOR_TO_TAB_LEADER = {
|
|
315536
|
-
".": "dot",
|
|
315537
|
-
"-": "hyphen",
|
|
315538
|
-
_: "underscore",
|
|
315539
|
-
"·": "middleDot"
|
|
315540
|
-
};
|
|
315541
|
-
DEFAULT_TOC_CONFIG = {
|
|
315542
|
-
source: {
|
|
315543
|
-
outlineLevels: {
|
|
315544
|
-
from: 1,
|
|
315545
|
-
to: 3
|
|
315546
|
-
},
|
|
315547
|
-
useAppliedOutlineLevel: true
|
|
315548
|
-
},
|
|
315549
|
-
display: {
|
|
315550
|
-
hyperlinks: true,
|
|
315551
|
-
hideInWebView: true
|
|
315552
|
-
},
|
|
315553
|
-
preserved: {}
|
|
315554
|
-
};
|
|
315555
|
-
SWITCH_PATTERN$1 = /\\([a-z])\s*(?:"([^"]*)")?/gi;
|
|
315556
316032
|
BULLET_FORMATS$1 = new Set(["bullet"]);
|
|
315557
316033
|
LOCK_MODE_TO_SDT_LOCK = {
|
|
315558
316034
|
unlocked: "none",
|
|
@@ -317095,6 +317571,15 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317095
317571
|
}
|
|
317096
317572
|
};
|
|
317097
317573
|
SWITCH_PATTERN = /\\([a-z])(?:\s*(?:"([^"]*)"|([^\s\\]+)))?/gi;
|
|
317574
|
+
ALLOWED_SOURCE_MARK_TYPES = new Set([
|
|
317575
|
+
"bold",
|
|
317576
|
+
"italic",
|
|
317577
|
+
"underline",
|
|
317578
|
+
"color",
|
|
317579
|
+
"highlight",
|
|
317580
|
+
"fontFamily"
|
|
317581
|
+
]);
|
|
317582
|
+
TEXT_STYLE_ALLOWED_ATTRS = new Set(["fontFamily"]);
|
|
317098
317583
|
TAB_LEADER_MAP = {
|
|
317099
317584
|
dot: "dot",
|
|
317100
317585
|
hyphen: "hyphen",
|
|
@@ -317109,6 +317594,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
317109
317594
|
text: "No table of contents entries found."
|
|
317110
317595
|
}]
|
|
317111
317596
|
}];
|
|
317597
|
+
TOC_ENTRY_STYLE_RE = /^TOC[1-9]$/;
|
|
317112
317598
|
ALLOWED_WRAP_ATTRS = {
|
|
317113
317599
|
None: ["behindDoc"],
|
|
317114
317600
|
Square: [
|
|
@@ -319085,6 +319571,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
319085
319571
|
this.#insertNewFileData();
|
|
319086
319572
|
if (!this.options.ydoc)
|
|
319087
319573
|
this.#initComments();
|
|
319574
|
+
this.emit("documentReplaced", { editor: this });
|
|
319088
319575
|
}
|
|
319089
319576
|
getInternalXmlFile(name, type = "json") {
|
|
319090
319577
|
if (!this.converter.convertedXml[name]) {
|
|
@@ -321752,6 +322239,17 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
321752
322239
|
currentParagraph.style.whiteSpace = "normal";
|
|
321753
322240
|
if (part.isEmptyParagraph)
|
|
321754
322241
|
currentParagraph.style.minHeight = "1em";
|
|
322242
|
+
} else if (part.kind === "image" && part.src) {
|
|
322243
|
+
const img2 = this.doc.createElement("img");
|
|
322244
|
+
img2.src = part.src;
|
|
322245
|
+
img2.alt = part.alt ?? "";
|
|
322246
|
+
if (typeof part.width === "number")
|
|
322247
|
+
img2.style.width = `${part.width}px`;
|
|
322248
|
+
if (typeof part.height === "number")
|
|
322249
|
+
img2.style.height = `${part.height}px`;
|
|
322250
|
+
img2.style.display = "inline-block";
|
|
322251
|
+
img2.style.verticalAlign = "bottom";
|
|
322252
|
+
currentParagraph.appendChild(img2);
|
|
321755
322253
|
} else {
|
|
321756
322254
|
const span = this.doc.createElement("span");
|
|
321757
322255
|
span.textContent = this.resolveShapeTextPartText(part, context);
|
|
@@ -324173,7 +324671,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
324173
324671
|
#hasConverter(editor) {
|
|
324174
324672
|
return "converter" in editor && editor.converter !== undefined && editor.converter !== null;
|
|
324175
324673
|
}
|
|
324176
|
-
refresh() {
|
|
324674
|
+
refresh(options) {
|
|
324675
|
+
if (options?.purgeCachedEditors)
|
|
324676
|
+
this.#teardownEditors();
|
|
324177
324677
|
this.#collections = this.#extractCollections();
|
|
324178
324678
|
const nextDescriptors = this.#collectDescriptors(this.#collections);
|
|
324179
324679
|
this.#teardownMissingEditors(nextDescriptors);
|
|
@@ -327117,6 +327617,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
327117
327617
|
});
|
|
327118
327618
|
const handleCollaborationReady = (payload) => {
|
|
327119
327619
|
this.emit("collaborationReady", payload);
|
|
327620
|
+
this.#refreshHeaderFooterStructureThenRerender();
|
|
327120
327621
|
if (this.#options.collaborationProvider?.awareness && this.#layoutOptions.presence?.enabled !== false)
|
|
327121
327622
|
this.#setupCollaborationCursors();
|
|
327122
327623
|
};
|
|
@@ -327125,6 +327626,14 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
327125
327626
|
event: "collaborationReady",
|
|
327126
327627
|
handler: handleCollaborationReady
|
|
327127
327628
|
});
|
|
327629
|
+
const handleDocumentReplaced = () => {
|
|
327630
|
+
this.#refreshHeaderFooterStructureThenRerender({ purgeCachedEditors: true });
|
|
327631
|
+
};
|
|
327632
|
+
this.#editor.on("documentReplaced", handleDocumentReplaced);
|
|
327633
|
+
this.#editorListeners.push({
|
|
327634
|
+
event: "documentReplaced",
|
|
327635
|
+
handler: handleDocumentReplaced
|
|
327636
|
+
});
|
|
327128
327637
|
const handleCommentsUpdate = (payload) => {
|
|
327129
327638
|
if ("activeCommentId" in payload) {
|
|
327130
327639
|
const activeId = payload.activeCommentId ?? null;
|
|
@@ -327985,6 +328494,13 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
327985
328494
|
#calculateExtendedSelection(anchor, head, mode) {
|
|
327986
328495
|
return calculateExtendedSelection(this.#layoutState.blocks, anchor, head, mode);
|
|
327987
328496
|
}
|
|
328497
|
+
#refreshHeaderFooterStructureThenRerender(options) {
|
|
328498
|
+
this.#headerFooterSession?.refreshStructure(options);
|
|
328499
|
+
this.#flowBlockCache.setHasExternalChanges(true);
|
|
328500
|
+
this.#pendingDocChange = true;
|
|
328501
|
+
this.#selectionSync.onLayoutStart();
|
|
328502
|
+
this.#scheduleRerender();
|
|
328503
|
+
}
|
|
327988
328504
|
#scheduleRerender() {
|
|
327989
328505
|
if (this.#renderScheduled)
|
|
327990
328506
|
return;
|
|
@@ -328232,7 +328748,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
328232
328748
|
}
|
|
328233
328749
|
this.#sectionMetadata = sectionMetadata;
|
|
328234
328750
|
const converter = this.#editor.converter;
|
|
328235
|
-
const multiSectionId = buildMultiSectionIdentifier(sectionMetadata,
|
|
328751
|
+
const multiSectionId = buildMultiSectionIdentifier(sectionMetadata, { alternateHeaders: this.#resolveAlternateHeadersFlag() }, {
|
|
328236
328752
|
headerIds: converter?.headerIds,
|
|
328237
328753
|
footerIds: converter?.footerIds
|
|
328238
328754
|
});
|
|
@@ -328897,6 +329413,16 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
328897
329413
|
overlay.innerHTML = "";
|
|
328898
329414
|
overlay.appendChild(fragment);
|
|
328899
329415
|
}
|
|
329416
|
+
#resolveAlternateHeadersFlag() {
|
|
329417
|
+
const converter = this.#editor?.converter;
|
|
329418
|
+
if (!converter)
|
|
329419
|
+
return false;
|
|
329420
|
+
const settingsPart = converter.convertedXml?.["word/settings.xml"];
|
|
329421
|
+
const fromSettings = resolveEvenAndOddHeadersFromSettingsPart(settingsPart);
|
|
329422
|
+
if (fromSettings !== null)
|
|
329423
|
+
return fromSettings;
|
|
329424
|
+
return converter.pageStyles?.alternateHeaders === true;
|
|
329425
|
+
}
|
|
328900
329426
|
#resolveLayoutOptions(blocks2, sectionMetadata) {
|
|
328901
329427
|
const defaults2 = this.#computeDefaultLayoutDefaults();
|
|
328902
329428
|
const firstSection = blocks2?.find((block) => block.kind === "sectionBreak" && block?.attrs?.isFirstSection);
|
|
@@ -328960,7 +329486,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
328960
329486
|
};
|
|
328961
329487
|
}
|
|
328962
329488
|
this.#hiddenHost.style.width = `${pageSize.w}px`;
|
|
328963
|
-
const alternateHeaders =
|
|
329489
|
+
const alternateHeaders = this.#resolveAlternateHeadersFlag();
|
|
328964
329490
|
return {
|
|
328965
329491
|
flowMode: "paginated",
|
|
328966
329492
|
pageSize,
|
|
@@ -330744,6 +331270,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330744
331270
|
trackChangesAccept: check_solid_default,
|
|
330745
331271
|
trackChangesReject: xmark_solid_default,
|
|
330746
331272
|
cellBackground: paint_roller_solid_default,
|
|
331273
|
+
updateTableOfContents: rotate_right_solid_default,
|
|
330747
331274
|
listRestartNumbering: list_ol_solid_default,
|
|
330748
331275
|
listContinueNumbering: list_ol_solid_default,
|
|
330749
331276
|
listDecreaseIndent: outdent_solid_default,
|
|
@@ -330774,6 +331301,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330774
331301
|
trackChangesAccept: "Accept change",
|
|
330775
331302
|
trackChangesReject: "Reject change",
|
|
330776
331303
|
cellBackground: "Cell background",
|
|
331304
|
+
updateTableOfContents: "Update table of contents",
|
|
330777
331305
|
listRestartNumbering: "Restart numbering",
|
|
330778
331306
|
listContinueNumbering: "Continue numbering",
|
|
330779
331307
|
listDecreaseIndent: "Decrease indent",
|
|
@@ -330884,11 +331412,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
330884
331412
|
];
|
|
330885
331413
|
});
|
|
330886
331414
|
|
|
330887
|
-
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-
|
|
331415
|
+
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-DzAnOuIL.es.js
|
|
330888
331416
|
var MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
|
|
330889
|
-
var
|
|
330890
|
-
|
|
330891
|
-
|
|
331417
|
+
var init_create_super_doc_ui_DzAnOuIL_es = __esm(() => {
|
|
331418
|
+
init_SuperConverter_BInxZk0I_es();
|
|
331419
|
+
init_create_headless_toolbar_rUh3xIsa_es();
|
|
330892
331420
|
MOD_ALIASES = new Set([
|
|
330893
331421
|
"Mod",
|
|
330894
331422
|
"Meta",
|
|
@@ -330930,16 +331458,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
|
|
|
330930
331458
|
|
|
330931
331459
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
330932
331460
|
var init_super_editor_es = __esm(() => {
|
|
330933
|
-
|
|
330934
|
-
|
|
331461
|
+
init_src_CMq87UyB_es();
|
|
331462
|
+
init_SuperConverter_BInxZk0I_es();
|
|
330935
331463
|
init_jszip_C49i9kUs_es();
|
|
330936
331464
|
init_xml_js_CqGKpaft_es();
|
|
330937
|
-
|
|
331465
|
+
init_create_headless_toolbar_rUh3xIsa_es();
|
|
330938
331466
|
init_constants_DrU4EASo_es();
|
|
330939
331467
|
init_dist_B8HfvhaK_es();
|
|
330940
331468
|
init_unified_Dsuw2be5_es();
|
|
330941
331469
|
init_DocxZipper_Dh4RtvcE_es();
|
|
330942
|
-
|
|
331470
|
+
init_create_super_doc_ui_DzAnOuIL_es();
|
|
330943
331471
|
init_ui_CGB3qmy3_es();
|
|
330944
331472
|
init_eventemitter3_UwU_CLPU_es();
|
|
330945
331473
|
init_errors_C_DoKMoN_es();
|
|
@@ -331330,7 +331858,9 @@ function deriveIncludePageNumbers2(omitRange, outlineLevels) {
|
|
|
331330
331858
|
return !fullyCovered;
|
|
331331
331859
|
}
|
|
331332
331860
|
function deriveTabLeader2(separator) {
|
|
331333
|
-
if (
|
|
331861
|
+
if (separator === undefined)
|
|
331862
|
+
return;
|
|
331863
|
+
if (separator === "")
|
|
331334
331864
|
return "none";
|
|
331335
331865
|
const leader = SEPARATOR_TO_TAB_LEADER2[separator];
|
|
331336
331866
|
return leader;
|
|
@@ -331344,7 +331874,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331344
331874
|
SWITCH_PATTERN2.lastIndex = 0;
|
|
331345
331875
|
while ((match2 = SWITCH_PATTERN2.exec(instruction)) !== null) {
|
|
331346
331876
|
const switchChar = match2[1].toLowerCase();
|
|
331347
|
-
const
|
|
331877
|
+
const rawArg = match2[2];
|
|
331878
|
+
const arg = rawArg ?? "";
|
|
331348
331879
|
switch (switchChar) {
|
|
331349
331880
|
case "o": {
|
|
331350
331881
|
const range = parseLevelRange2(arg);
|
|
@@ -331378,8 +331909,8 @@ function parseTocInstruction2(instruction) {
|
|
|
331378
331909
|
break;
|
|
331379
331910
|
}
|
|
331380
331911
|
case "p":
|
|
331381
|
-
if (
|
|
331382
|
-
display.separator =
|
|
331912
|
+
if (rawArg !== undefined)
|
|
331913
|
+
display.separator = rawArg;
|
|
331383
331914
|
break;
|
|
331384
331915
|
case "t":
|
|
331385
331916
|
if (arg)
|
|
@@ -331451,7 +331982,7 @@ function serializeTocInstruction2(config3) {
|
|
|
331451
331982
|
if (display.omitPageNumberLevels) {
|
|
331452
331983
|
parts.push(`\\n "${display.omitPageNumberLevels.from}-${display.omitPageNumberLevels.to}"`);
|
|
331453
331984
|
}
|
|
331454
|
-
if (display.separator) {
|
|
331985
|
+
if (display.separator !== undefined) {
|
|
331455
331986
|
parts.push(`\\p "${display.separator}"`);
|
|
331456
331987
|
}
|
|
331457
331988
|
if (preserved.captionType) {
|
|
@@ -331512,7 +332043,7 @@ function applyTocPatch2(existing, patch3) {
|
|
|
331512
332043
|
}
|
|
331513
332044
|
if (patch3.tabLeader !== undefined) {
|
|
331514
332045
|
if (patch3.tabLeader === "none") {
|
|
331515
|
-
|
|
332046
|
+
newDisplay.separator = "";
|
|
331516
332047
|
} else {
|
|
331517
332048
|
newDisplay.separator = TAB_LEADER_TO_SEPARATOR2[patch3.tabLeader];
|
|
331518
332049
|
}
|
|
@@ -409843,13 +410374,12 @@ function preProcessPageRefInstruction2(nodesToCombine, instrText) {
|
|
|
409843
410374
|
}
|
|
409844
410375
|
|
|
409845
410376
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/fld-preprocessors/hyperlink-preprocessor.js
|
|
409846
|
-
function
|
|
410377
|
+
function resolveHyperlinkAttributes2(instruction, docx) {
|
|
409847
410378
|
const urlMatch = instruction.match(/HYPERLINK\s+"([^"]+)"/);
|
|
409848
|
-
let linkAttributes;
|
|
409849
410379
|
if (urlMatch && urlMatch.length >= 2) {
|
|
409850
410380
|
const url2 = urlMatch[1];
|
|
409851
|
-
const rels = docx["word/_rels/document.xml.rels"];
|
|
409852
|
-
const relationships = rels?.elements
|
|
410381
|
+
const rels = docx?.["word/_rels/document.xml.rels"];
|
|
410382
|
+
const relationships = rels?.elements?.find((el) => el.name === "Relationships");
|
|
409853
410383
|
if (relationships) {
|
|
409854
410384
|
const rId = "rId" + generateDocxRandomId2();
|
|
409855
410385
|
relationships.elements.push({
|
|
@@ -409862,30 +410392,34 @@ function preProcessHyperlinkInstruction2(nodesToCombine, instruction, docx) {
|
|
|
409862
410392
|
TargetMode: "External"
|
|
409863
410393
|
}
|
|
409864
410394
|
});
|
|
409865
|
-
|
|
409866
|
-
} else {
|
|
409867
|
-
linkAttributes = { "w:anchor": url2 };
|
|
409868
|
-
}
|
|
409869
|
-
} else {
|
|
409870
|
-
const availableSwitches = {
|
|
409871
|
-
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
409872
|
-
new_window: /(?:\\n|\n)/,
|
|
409873
|
-
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
409874
|
-
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
409875
|
-
};
|
|
409876
|
-
const parsedSwitches = {};
|
|
409877
|
-
for (const [key2, pattern] of Object.entries(availableSwitches)) {
|
|
409878
|
-
const match2 = instruction.match(pattern);
|
|
409879
|
-
if (match2) {
|
|
409880
|
-
parsedSwitches[key2] = match2.groups?.value || true;
|
|
409881
|
-
}
|
|
410395
|
+
return { "r:id": rId };
|
|
409882
410396
|
}
|
|
409883
|
-
|
|
409884
|
-
|
|
409885
|
-
|
|
410397
|
+
return { "w:anchor": url2 };
|
|
410398
|
+
}
|
|
410399
|
+
const availableSwitches = {
|
|
410400
|
+
"w:anchor": /(?:\\)?l "(?<value>[^"]+)"/,
|
|
410401
|
+
new_window: /(?:\\n|\n)/,
|
|
410402
|
+
"w:tgtFrame": /(?:\\t|\t) "(?<value>[^"]+)"/,
|
|
410403
|
+
"w:tooltip": /(?:\\)?o "(?<value>[^"]+)"/
|
|
410404
|
+
};
|
|
410405
|
+
const parsedSwitches = {};
|
|
410406
|
+
for (const [key2, pattern] of Object.entries(availableSwitches)) {
|
|
410407
|
+
const match2 = instruction.match(pattern);
|
|
410408
|
+
if (match2) {
|
|
410409
|
+
parsedSwitches[key2] = match2.groups?.value || true;
|
|
409886
410410
|
}
|
|
409887
|
-
linkAttributes = { ...parsedSwitches };
|
|
409888
410411
|
}
|
|
410412
|
+
if (parsedSwitches.new_window) {
|
|
410413
|
+
parsedSwitches["w:tgtFrame"] = "_blank";
|
|
410414
|
+
delete parsedSwitches.new_window;
|
|
410415
|
+
}
|
|
410416
|
+
if (Object.keys(parsedSwitches).length === 0) {
|
|
410417
|
+
return null;
|
|
410418
|
+
}
|
|
410419
|
+
return { ...parsedSwitches };
|
|
410420
|
+
}
|
|
410421
|
+
function preProcessHyperlinkInstruction2(nodesToCombine, instruction, docx) {
|
|
410422
|
+
const linkAttributes = resolveHyperlinkAttributes2(instruction, docx) ?? {};
|
|
409889
410423
|
return [
|
|
409890
410424
|
{
|
|
409891
410425
|
name: "w:hyperlink",
|
|
@@ -410157,10 +410691,11 @@ var init_fld_preprocessors = __esm(() => {
|
|
|
410157
410691
|
});
|
|
410158
410692
|
|
|
410159
410693
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/v2/importer/trackChangeElements.js
|
|
410160
|
-
var TRACK_CHANGE_ELEMENT_NAMES2, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2, isTrackChangeElement2 = (node4) => TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isTranslatedTrackChangeElement2 = (node4) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name);
|
|
410694
|
+
var TRACK_CHANGE_ELEMENT_NAMES2, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2, CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2, isTrackChangeElement2 = (node4) => TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isTranslatedTrackChangeElement2 = (node4) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name), isConstructiveTrackChangeElement2 = (node4) => CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2.has(node4?.name);
|
|
410161
410695
|
var init_trackChangeElements = __esm(() => {
|
|
410162
410696
|
TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins", "w:moveFrom", "w:moveTo"]);
|
|
410163
410697
|
TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:del", "w:ins"]);
|
|
410698
|
+
CONSTRUCTIVE_TRACK_CHANGE_ELEMENT_NAMES2 = new Set(["w:ins", "w:moveTo"]);
|
|
410164
410699
|
});
|
|
410165
410700
|
|
|
410166
410701
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/field-references/preProcessNodesForFldChar.js
|
|
@@ -410184,6 +410719,8 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410184
410719
|
if (!currentField.preserveRaw) {
|
|
410185
410720
|
const combinedResult = _processCombinedNodesForFldChar2(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
|
|
410186
410721
|
outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
|
|
410722
|
+
} else if (currentField.preserveRawConstructive) {
|
|
410723
|
+
applyConstructiveFieldInterpretation2(outputNodes, currentField.instrText.trim(), docx);
|
|
410187
410724
|
}
|
|
410188
410725
|
if (collectedNodesStack.length === 0) {
|
|
410189
410726
|
processedNodes.push(...outputNodes);
|
|
@@ -410303,6 +410840,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410303
410840
|
if (fieldInfo.preserveRaw || isTrackChangeElement2(node4)) {
|
|
410304
410841
|
fieldInfo.preserveRaw = true;
|
|
410305
410842
|
}
|
|
410843
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410844
|
+
fieldInfo.preserveRawConstructive = true;
|
|
410845
|
+
}
|
|
410306
410846
|
currentFieldStack.push(fieldInfo);
|
|
410307
410847
|
collectedNodesStack.push([node4]);
|
|
410308
410848
|
const rawStack = [rawNode];
|
|
@@ -410322,6 +410862,9 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410322
410862
|
if (shouldPreserveRaw) {
|
|
410323
410863
|
currentFieldStack[currentFieldStack.length - 1].preserveRaw = true;
|
|
410324
410864
|
}
|
|
410865
|
+
if (isConstructiveTrackChangeElement2(node4)) {
|
|
410866
|
+
currentFieldStack[currentFieldStack.length - 1].preserveRawConstructive = true;
|
|
410867
|
+
}
|
|
410325
410868
|
collectedNodesStack[collectedNodesStack.length - 1].push(node4);
|
|
410326
410869
|
captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
|
|
410327
410870
|
finalizeField();
|
|
@@ -410370,6 +410913,83 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410370
410913
|
};
|
|
410371
410914
|
}
|
|
410372
410915
|
return { nodes: nodesToCombine, handled: false };
|
|
410916
|
+
}, applyConstructiveFieldInterpretation2 = (rawNodes, instrText, docx) => {
|
|
410917
|
+
const instructionType = instrText.split(" ")[0];
|
|
410918
|
+
if (instructionType !== "HYPERLINK")
|
|
410919
|
+
return;
|
|
410920
|
+
const linkAttributes = resolveHyperlinkAttributes2(instrText, docx);
|
|
410921
|
+
if (!linkAttributes)
|
|
410922
|
+
return;
|
|
410923
|
+
let visible = false;
|
|
410924
|
+
const walk = (parent) => {
|
|
410925
|
+
if (!parent || !Array.isArray(parent.elements))
|
|
410926
|
+
return;
|
|
410927
|
+
const next2 = [];
|
|
410928
|
+
let pendingHyperlinkRuns = null;
|
|
410929
|
+
const flushHyperlink = () => {
|
|
410930
|
+
if (!pendingHyperlinkRuns || pendingHyperlinkRuns.length === 0) {
|
|
410931
|
+
pendingHyperlinkRuns = null;
|
|
410932
|
+
return;
|
|
410933
|
+
}
|
|
410934
|
+
next2.push({
|
|
410935
|
+
type: "element",
|
|
410936
|
+
name: "w:hyperlink",
|
|
410937
|
+
attributes: linkAttributes,
|
|
410938
|
+
elements: pendingHyperlinkRuns
|
|
410939
|
+
});
|
|
410940
|
+
pendingHyperlinkRuns = null;
|
|
410941
|
+
};
|
|
410942
|
+
for (const child of parent.elements) {
|
|
410943
|
+
if (!child)
|
|
410944
|
+
continue;
|
|
410945
|
+
if (child.name === "w:p" || child.name === "w:ins" || child.name === "w:moveTo") {
|
|
410946
|
+
flushHyperlink();
|
|
410947
|
+
walk(child);
|
|
410948
|
+
next2.push(child);
|
|
410949
|
+
continue;
|
|
410950
|
+
}
|
|
410951
|
+
if (child.name === "w:r") {
|
|
410952
|
+
const fldChar = child.elements?.find((el) => el?.name === "w:fldChar");
|
|
410953
|
+
const fldType = fldChar?.attributes?.["w:fldCharType"];
|
|
410954
|
+
if (fldType === "separate") {
|
|
410955
|
+
flushHyperlink();
|
|
410956
|
+
visible = true;
|
|
410957
|
+
next2.push(child);
|
|
410958
|
+
continue;
|
|
410959
|
+
}
|
|
410960
|
+
if (fldType === "end") {
|
|
410961
|
+
flushHyperlink();
|
|
410962
|
+
visible = false;
|
|
410963
|
+
next2.push(child);
|
|
410964
|
+
continue;
|
|
410965
|
+
}
|
|
410966
|
+
if (fldType === "begin") {
|
|
410967
|
+
flushHyperlink();
|
|
410968
|
+
next2.push(child);
|
|
410969
|
+
continue;
|
|
410970
|
+
}
|
|
410971
|
+
const hasInstrText = child.elements?.some((el) => el?.name === "w:instrText");
|
|
410972
|
+
if (hasInstrText) {
|
|
410973
|
+
flushHyperlink();
|
|
410974
|
+
next2.push(child);
|
|
410975
|
+
continue;
|
|
410976
|
+
}
|
|
410977
|
+
if (visible) {
|
|
410978
|
+
if (!pendingHyperlinkRuns)
|
|
410979
|
+
pendingHyperlinkRuns = [];
|
|
410980
|
+
pendingHyperlinkRuns.push(child);
|
|
410981
|
+
continue;
|
|
410982
|
+
}
|
|
410983
|
+
next2.push(child);
|
|
410984
|
+
continue;
|
|
410985
|
+
}
|
|
410986
|
+
flushHyperlink();
|
|
410987
|
+
next2.push(child);
|
|
410988
|
+
}
|
|
410989
|
+
flushHyperlink();
|
|
410990
|
+
parent.elements = next2;
|
|
410991
|
+
};
|
|
410992
|
+
rawNodes.forEach(walk);
|
|
410373
410993
|
}, extractFieldRunRPr2 = (node4) => {
|
|
410374
410994
|
const rPrNode = node4?.elements?.find((el) => el.name === "w:rPr");
|
|
410375
410995
|
if (!rPrNode?.elements?.length) {
|
|
@@ -410442,6 +411062,7 @@ var SKIP_FIELD_PROCESSING_NODE_NAMES2, shouldSkipFieldProcessing2 = (node4) => S
|
|
|
410442
411062
|
};
|
|
410443
411063
|
var init_preProcessNodesForFldChar = __esm(() => {
|
|
410444
411064
|
init_fld_preprocessors();
|
|
411065
|
+
init_hyperlink_preprocessor();
|
|
410445
411066
|
init_trackChangeElements();
|
|
410446
411067
|
SKIP_FIELD_PROCESSING_NODE_NAMES2 = new Set(["w:drawing", "w:pict"]);
|
|
410447
411068
|
FIELD_CONTROL_ELEMENT_NAMES2 = new Set(["w:fldChar"]);
|
|
@@ -411383,6 +412004,26 @@ function extractTextFromTextBox2(textBoxContent, bodyPr, params3 = {}) {
|
|
|
411383
412004
|
} else if (el.name === "sd:totalPageNumber") {
|
|
411384
412005
|
hasText = true;
|
|
411385
412006
|
appendFieldPart("NUMPAGES", el, paragraphProperties);
|
|
412007
|
+
} else if (el.name === "w:drawing") {
|
|
412008
|
+
const inline = el.elements?.find((child) => child?.name === "wp:inline");
|
|
412009
|
+
if (inline) {
|
|
412010
|
+
const imagePm = handleImageNode3(inline, { ...params3, nodes: [el] }, false);
|
|
412011
|
+
if (imagePm?.attrs?.src && imagePm.attrs.hidden !== true) {
|
|
412012
|
+
hasText = true;
|
|
412013
|
+
const sizeAttr = imagePm.attrs.size || imagePm.attrs;
|
|
412014
|
+
textParts.push({
|
|
412015
|
+
text: "",
|
|
412016
|
+
formatting,
|
|
412017
|
+
kind: "image",
|
|
412018
|
+
src: imagePm.attrs.src,
|
|
412019
|
+
extension: imagePm.attrs.extension,
|
|
412020
|
+
rId: imagePm.attrs.rId,
|
|
412021
|
+
width: typeof sizeAttr?.width === "number" ? sizeAttr.width : undefined,
|
|
412022
|
+
height: typeof sizeAttr?.height === "number" ? sizeAttr.height : undefined,
|
|
412023
|
+
alt: imagePm.attrs.alt || ""
|
|
412024
|
+
});
|
|
412025
|
+
}
|
|
412026
|
+
}
|
|
411386
412027
|
}
|
|
411387
412028
|
});
|
|
411388
412029
|
return hasText;
|
|
@@ -421634,13 +422275,23 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
421634
422275
|
if (rawValue == null)
|
|
421635
422276
|
return true;
|
|
421636
422277
|
return ST_ON_OFF_TRUE_VALUES2.has(String(rawValue).trim().toLowerCase());
|
|
422278
|
+
}, resolveEvenAndOddHeadersFromSettingsPart2 = (settingsPart) => {
|
|
422279
|
+
if (!settingsPart || typeof settingsPart !== "object")
|
|
422280
|
+
return null;
|
|
422281
|
+
const part = settingsPart;
|
|
422282
|
+
const settingsRoot = part.name === "w:settings" ? part : part.elements?.find((entry) => entry?.name === "w:settings");
|
|
422283
|
+
if (!settingsRoot?.elements?.length)
|
|
422284
|
+
return null;
|
|
422285
|
+
const evenOdd = settingsRoot.elements.find((el) => el?.name === "w:evenAndOddHeaders");
|
|
422286
|
+
if (!evenOdd)
|
|
422287
|
+
return null;
|
|
422288
|
+
return isStOnOffEnabled2(evenOdd);
|
|
421637
422289
|
}, isAlternatingHeadersOddEven2 = (docx) => {
|
|
421638
422290
|
const settings = docx["word/settings.xml"];
|
|
421639
|
-
if (!settings
|
|
422291
|
+
if (!settings)
|
|
421640
422292
|
return false;
|
|
421641
|
-
const
|
|
421642
|
-
|
|
421643
|
-
return isStOnOffEnabled2(evenOdd);
|
|
422293
|
+
const resolved = resolveEvenAndOddHeadersFromSettingsPart2(settings);
|
|
422294
|
+
return resolved ?? false;
|
|
421644
422295
|
};
|
|
421645
422296
|
var init_docxImporter = __esm(() => {
|
|
421646
422297
|
init_docxHelper();
|
|
@@ -453939,27 +454590,46 @@ function dispatchTransaction2(editor, tr) {
|
|
|
453939
454590
|
var TOC_BOOKMARK_PREFIX2 = "_Toc";
|
|
453940
454591
|
|
|
453941
454592
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/toc-entry-builder.ts
|
|
454593
|
+
function sanitizeSourceMark2(mark2) {
|
|
454594
|
+
if (!mark2?.type)
|
|
454595
|
+
return null;
|
|
454596
|
+
if (mark2.type === "textStyle") {
|
|
454597
|
+
const attrs = mark2.attrs ?? {};
|
|
454598
|
+
const kept = {};
|
|
454599
|
+
for (const key2 of Object.keys(attrs)) {
|
|
454600
|
+
if (TEXT_STYLE_ALLOWED_ATTRS2.has(key2) && attrs[key2] != null)
|
|
454601
|
+
kept[key2] = attrs[key2];
|
|
454602
|
+
}
|
|
454603
|
+
return Object.keys(kept).length > 0 ? { type: "textStyle", attrs: kept } : null;
|
|
454604
|
+
}
|
|
454605
|
+
if (!ALLOWED_SOURCE_MARK_TYPES2.has(mark2.type))
|
|
454606
|
+
return null;
|
|
454607
|
+
return mark2.attrs && Object.keys(mark2.attrs).length > 0 ? { type: mark2.type, attrs: { ...mark2.attrs } } : { type: mark2.type };
|
|
454608
|
+
}
|
|
453942
454609
|
function collectTocSources2(doc6, config44) {
|
|
453943
454610
|
const sources = [];
|
|
453944
454611
|
const { outlineLevels, useAppliedOutlineLevel, tcFieldIdentifier, tcFieldLevels } = config44.source;
|
|
453945
454612
|
const useApplied = useAppliedOutlineLevel ?? false;
|
|
453946
454613
|
const collectTcFields = tcFieldIdentifier !== undefined || tcFieldLevels !== undefined;
|
|
453947
454614
|
let currentParagraphSdBlockId;
|
|
453948
|
-
doc6.descendants((node4,
|
|
454615
|
+
doc6.descendants((node4, pos) => {
|
|
453949
454616
|
if (node4.type.name === "tableOfContents")
|
|
453950
454617
|
return false;
|
|
453951
454618
|
if (node4.type.name === "paragraph") {
|
|
453952
454619
|
const attrs = node4.attrs;
|
|
453953
454620
|
const paragraphProps = attrs?.paragraphProperties;
|
|
453954
454621
|
const styleId = paragraphProps?.styleId;
|
|
453955
|
-
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId;
|
|
454622
|
+
const sdBlockId = attrs?.sdBlockId ?? attrs?.paraId ?? buildFallbackBlockNodeId2("paragraph", pos);
|
|
453956
454623
|
currentParagraphSdBlockId = sdBlockId;
|
|
453957
454624
|
if (!sdBlockId)
|
|
453958
454625
|
return true;
|
|
454626
|
+
const text9 = flattenText2(node4);
|
|
454627
|
+
if (text9.trim().length === 0)
|
|
454628
|
+
return true;
|
|
453959
454629
|
if (outlineLevels) {
|
|
453960
454630
|
const headingLevel = getHeadingLevel2(styleId);
|
|
453961
454631
|
if (headingLevel != null && headingLevel >= outlineLevels.from && headingLevel <= outlineLevels.to) {
|
|
453962
|
-
sources.push({ text:
|
|
454632
|
+
sources.push({ text: text9, segments: extractTextSegments2(node4), level: headingLevel, sdBlockId, kind: "heading" });
|
|
453963
454633
|
return true;
|
|
453964
454634
|
}
|
|
453965
454635
|
}
|
|
@@ -453969,7 +454639,13 @@ function collectTocSources2(doc6, config44) {
|
|
|
453969
454639
|
if (rawOutlineLevel != null) {
|
|
453970
454640
|
const tocLevel = rawOutlineLevel + 1;
|
|
453971
454641
|
if (tocLevel >= effectiveLevels.from && tocLevel <= effectiveLevels.to) {
|
|
453972
|
-
sources.push({
|
|
454642
|
+
sources.push({
|
|
454643
|
+
text: text9,
|
|
454644
|
+
segments: extractTextSegments2(node4),
|
|
454645
|
+
level: tocLevel,
|
|
454646
|
+
sdBlockId,
|
|
454647
|
+
kind: "appliedOutline"
|
|
454648
|
+
});
|
|
453973
454649
|
return true;
|
|
453974
454650
|
}
|
|
453975
454651
|
}
|
|
@@ -454009,54 +454685,79 @@ function flattenText2(node4) {
|
|
|
454009
454685
|
});
|
|
454010
454686
|
return text9;
|
|
454011
454687
|
}
|
|
454012
|
-
function
|
|
454013
|
-
|
|
454688
|
+
function extractTextSegments2(node4) {
|
|
454689
|
+
const segments = [];
|
|
454690
|
+
node4.descendants((child) => {
|
|
454691
|
+
if (!child.isText || !child.text)
|
|
454692
|
+
return true;
|
|
454693
|
+
const marks = [];
|
|
454694
|
+
for (const mark2 of child.marks ?? []) {
|
|
454695
|
+
const raw = { type: mark2.type?.name ?? "" };
|
|
454696
|
+
if (mark2.attrs && Object.keys(mark2.attrs).length > 0)
|
|
454697
|
+
raw.attrs = { ...mark2.attrs };
|
|
454698
|
+
const sanitized = sanitizeSourceMark2(raw);
|
|
454699
|
+
if (sanitized)
|
|
454700
|
+
marks.push(sanitized);
|
|
454701
|
+
}
|
|
454702
|
+
const last2 = segments[segments.length - 1];
|
|
454703
|
+
if (last2 && marksEqual4(last2.marks, marks)) {
|
|
454704
|
+
last2.text += child.text;
|
|
454705
|
+
} else {
|
|
454706
|
+
segments.push(marks.length > 0 ? { text: child.text, marks } : { text: child.text });
|
|
454707
|
+
}
|
|
454708
|
+
return true;
|
|
454709
|
+
});
|
|
454710
|
+
return segments;
|
|
454711
|
+
}
|
|
454712
|
+
function marksEqual4(a2, b2) {
|
|
454713
|
+
const aLen = a2?.length ?? 0;
|
|
454714
|
+
const bLen = b2?.length ?? 0;
|
|
454715
|
+
if (aLen !== bLen)
|
|
454716
|
+
return false;
|
|
454717
|
+
if (aLen === 0)
|
|
454718
|
+
return true;
|
|
454719
|
+
return JSON.stringify(a2) === JSON.stringify(b2);
|
|
454720
|
+
}
|
|
454721
|
+
function buildTocEntryParagraphs2(sources, config44, options = {}) {
|
|
454722
|
+
return sources.map((source) => buildEntryParagraph2(source, config44, options));
|
|
454014
454723
|
}
|
|
454015
|
-
function
|
|
454724
|
+
function asRun2(children) {
|
|
454725
|
+
return { type: "run", content: children };
|
|
454726
|
+
}
|
|
454727
|
+
function buildEntryParagraph2(source, config44, options = {}) {
|
|
454016
454728
|
const { display } = config44;
|
|
454017
|
-
const
|
|
454018
|
-
const
|
|
454019
|
-
|
|
454020
|
-
|
|
454021
|
-
|
|
454022
|
-
|
|
454023
|
-
|
|
454024
|
-
|
|
454025
|
-
|
|
454026
|
-
|
|
454027
|
-
|
|
454028
|
-
|
|
454029
|
-
|
|
454030
|
-
}
|
|
454031
|
-
}
|
|
454032
|
-
];
|
|
454033
|
-
}
|
|
454034
|
-
content5.push(textNode);
|
|
454729
|
+
const linkMark = display.hyperlinks ? { type: "link", attrs: { anchor: generateTocBookmarkName2(source.sdBlockId), rId: null, history: true } } : undefined;
|
|
454730
|
+
const segments = source.segments && source.segments.length > 0 ? source.segments : [{ text: source.text || " " }];
|
|
454731
|
+
const titleTextNodes = segments.map((segment) => {
|
|
454732
|
+
const sourceMarks = (segment.marks ?? []).map((m2) => sanitizeSourceMark2(m2)).filter((m2) => m2 !== null);
|
|
454733
|
+
const marks = [...sourceMarks];
|
|
454734
|
+
if (linkMark)
|
|
454735
|
+
marks.push(linkMark);
|
|
454736
|
+
const node4 = { type: "text", text: segment.text || " " };
|
|
454737
|
+
if (marks.length > 0)
|
|
454738
|
+
node4.marks = marks;
|
|
454739
|
+
return node4;
|
|
454740
|
+
});
|
|
454741
|
+
const content5 = [asRun2(titleTextNodes)];
|
|
454035
454742
|
const omitRange = display.omitPageNumberLevels;
|
|
454036
|
-
const
|
|
454037
|
-
const entryOmitted = source.omitPageNumber;
|
|
454038
|
-
const omitPageNumber = levelOmitted || entryOmitted;
|
|
454743
|
+
const omitPageNumber = Boolean(omitRange && source.level >= omitRange.from && source.level <= omitRange.to || source.omitPageNumber);
|
|
454039
454744
|
if (!omitPageNumber) {
|
|
454040
|
-
|
|
454041
|
-
|
|
454042
|
-
|
|
454043
|
-
|
|
454044
|
-
|
|
454045
|
-
|
|
454046
|
-
|
|
454047
|
-
|
|
454048
|
-
|
|
454049
|
-
});
|
|
454745
|
+
content5.push(asRun2([display.separator ? { type: "text", text: display.separator } : { type: "tab" }]));
|
|
454746
|
+
const resolvedPage = options.pageMap?.get(source.sdBlockId);
|
|
454747
|
+
content5.push(asRun2([
|
|
454748
|
+
{
|
|
454749
|
+
type: "text",
|
|
454750
|
+
text: resolvedPage != null ? String(resolvedPage) : "0",
|
|
454751
|
+
marks: [{ type: "tocPageNumber" }]
|
|
454752
|
+
}
|
|
454753
|
+
]));
|
|
454050
454754
|
}
|
|
454051
|
-
const paragraphProperties = {
|
|
454052
|
-
styleId: `TOC${source.level}`
|
|
454053
|
-
};
|
|
454755
|
+
const paragraphProperties = { styleId: `TOC${source.level}` };
|
|
454054
454756
|
const rightAlign = display.rightAlignPageNumbers !== false;
|
|
454055
454757
|
if (rightAlign && !omitPageNumber) {
|
|
454056
|
-
const leader = display.tabLeader
|
|
454057
|
-
|
|
454058
|
-
|
|
454059
|
-
];
|
|
454758
|
+
const leader = display.tabLeader === "none" ? undefined : display.tabLeader && TAB_LEADER_MAP2[display.tabLeader] || "dot";
|
|
454759
|
+
const pos = options.tabPos ?? DEFAULT_RIGHT_TAB_POS2;
|
|
454760
|
+
paragraphProperties.tabStops = [{ tab: { tabType: "right", pos, ...leader ? { leader } : {} } }];
|
|
454060
454761
|
}
|
|
454061
454762
|
return {
|
|
454062
454763
|
type: "paragraph",
|
|
@@ -454068,10 +454769,13 @@ function buildEntryParagraph2(source, config44) {
|
|
|
454068
454769
|
content: content5
|
|
454069
454770
|
};
|
|
454070
454771
|
}
|
|
454071
|
-
var DEFAULT_RIGHT_TAB_POS2 = 9350, TAB_LEADER_MAP2;
|
|
454772
|
+
var ALLOWED_SOURCE_MARK_TYPES2, TEXT_STYLE_ALLOWED_ATTRS2, DEFAULT_RIGHT_TAB_POS2 = 9350, TAB_LEADER_MAP2;
|
|
454072
454773
|
var init_toc_entry_builder = __esm(() => {
|
|
454073
454774
|
init_tc_switches();
|
|
454074
454775
|
init_node_address_resolver();
|
|
454776
|
+
init_deterministic_node_id();
|
|
454777
|
+
ALLOWED_SOURCE_MARK_TYPES2 = new Set(["bold", "italic", "underline", "color", "highlight", "fontFamily"]);
|
|
454778
|
+
TEXT_STYLE_ALLOWED_ATTRS2 = new Set(["fontFamily"]);
|
|
454075
454779
|
TAB_LEADER_MAP2 = {
|
|
454076
454780
|
dot: "dot",
|
|
454077
454781
|
hyphen: "hyphen",
|
|
@@ -454184,6 +454888,39 @@ function withRightAlign2(config44, rightAlignPageNumbers) {
|
|
|
454184
454888
|
return config44;
|
|
454185
454889
|
return { ...config44, display: { ...config44.display, rightAlignPageNumbers } };
|
|
454186
454890
|
}
|
|
454891
|
+
function stripTocPageNumberFromNode2(node4) {
|
|
454892
|
+
if (!node4 || typeof node4 !== "object")
|
|
454893
|
+
return { node: node4, changed: false };
|
|
454894
|
+
const typedNode = node4;
|
|
454895
|
+
let changed = false;
|
|
454896
|
+
let next2 = typedNode;
|
|
454897
|
+
if (Array.isArray(typedNode.marks)) {
|
|
454898
|
+
const filtered = typedNode.marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
454899
|
+
if (filtered.length !== typedNode.marks.length) {
|
|
454900
|
+
changed = true;
|
|
454901
|
+
if (filtered.length === 0) {
|
|
454902
|
+
const { marks: _removed, ...rest } = next2;
|
|
454903
|
+
next2 = rest;
|
|
454904
|
+
} else {
|
|
454905
|
+
next2 = { ...next2, marks: filtered };
|
|
454906
|
+
}
|
|
454907
|
+
}
|
|
454908
|
+
}
|
|
454909
|
+
if (Array.isArray(typedNode.content)) {
|
|
454910
|
+
let childChanged = false;
|
|
454911
|
+
const nextChildren = typedNode.content.map((child) => {
|
|
454912
|
+
const result = stripTocPageNumberFromNode2(child);
|
|
454913
|
+
if (result.changed)
|
|
454914
|
+
childChanged = true;
|
|
454915
|
+
return result.node;
|
|
454916
|
+
});
|
|
454917
|
+
if (childChanged) {
|
|
454918
|
+
changed = true;
|
|
454919
|
+
next2 = { ...next2, content: nextChildren };
|
|
454920
|
+
}
|
|
454921
|
+
}
|
|
454922
|
+
return { node: next2, changed };
|
|
454923
|
+
}
|
|
454187
454924
|
function sanitizeTocContentForSchema2(content5, editor) {
|
|
454188
454925
|
if (editor.state.schema?.marks?.tocPageNumber)
|
|
454189
454926
|
return content5;
|
|
@@ -454193,31 +454930,58 @@ function sanitizeTocContentForSchema2(content5, editor) {
|
|
|
454193
454930
|
return paragraph4;
|
|
454194
454931
|
let changed = false;
|
|
454195
454932
|
const sanitizedContent = paragraphContent.map((node4) => {
|
|
454196
|
-
|
|
454197
|
-
|
|
454198
|
-
|
|
454199
|
-
|
|
454200
|
-
if (!Array.isArray(marks))
|
|
454201
|
-
return node4;
|
|
454202
|
-
const filteredMarks = marks.filter((mark2) => mark2?.type !== "tocPageNumber");
|
|
454203
|
-
if (filteredMarks.length === marks.length)
|
|
454204
|
-
return node4;
|
|
454205
|
-
changed = true;
|
|
454206
|
-
if (filteredMarks.length === 0) {
|
|
454207
|
-
const { marks: _removed, ...rest } = typedNode;
|
|
454208
|
-
return rest;
|
|
454209
|
-
}
|
|
454210
|
-
return { ...typedNode, marks: filteredMarks };
|
|
454933
|
+
const result = stripTocPageNumberFromNode2(node4);
|
|
454934
|
+
if (result.changed)
|
|
454935
|
+
changed = true;
|
|
454936
|
+
return result.node;
|
|
454211
454937
|
});
|
|
454212
454938
|
return changed ? { ...paragraph4, content: sanitizedContent } : paragraph4;
|
|
454213
454939
|
});
|
|
454214
454940
|
}
|
|
454215
|
-
function materializeTocContent2(doc6, config44, editor) {
|
|
454941
|
+
function materializeTocContent2(doc6, config44, editor, options = {}) {
|
|
454216
454942
|
const sources = collectTocSources2(doc6, config44);
|
|
454217
|
-
const entryParagraphs = buildTocEntryParagraphs2(sources, config44);
|
|
454943
|
+
const entryParagraphs = buildTocEntryParagraphs2(sources, config44, options);
|
|
454218
454944
|
const content5 = entryParagraphs.length > 0 ? entryParagraphs : NO_ENTRIES_PLACEHOLDER2;
|
|
454219
454945
|
return { content: sanitizeTocContentForSchema2(content5, editor), sources };
|
|
454220
454946
|
}
|
|
454947
|
+
function findFirstTocEntryParagraph2(node4) {
|
|
454948
|
+
let entry;
|
|
454949
|
+
node4.forEach((paragraph4) => {
|
|
454950
|
+
if (entry || paragraph4.type.name !== "paragraph")
|
|
454951
|
+
return;
|
|
454952
|
+
const styleId = paragraph4.attrs?.paragraphProperties?.styleId;
|
|
454953
|
+
if (styleId && TOC_ENTRY_STYLE_RE2.test(styleId))
|
|
454954
|
+
entry = paragraph4;
|
|
454955
|
+
});
|
|
454956
|
+
return entry;
|
|
454957
|
+
}
|
|
454958
|
+
function readExistingTocTabPos2(node4) {
|
|
454959
|
+
const entry = findFirstTocEntryParagraph2(node4) ?? node4.firstChild ?? undefined;
|
|
454960
|
+
const tabStops = entry?.attrs?.paragraphProperties?.tabStops;
|
|
454961
|
+
const pos = tabStops?.find((t) => t?.tab?.tabType === "right")?.tab?.pos;
|
|
454962
|
+
return typeof pos === "number" ? pos : undefined;
|
|
454963
|
+
}
|
|
454964
|
+
function readExistingTocTrailingParagraph2(node4) {
|
|
454965
|
+
const last2 = node4.lastChild;
|
|
454966
|
+
if (!last2 || last2.type.name !== "paragraph")
|
|
454967
|
+
return;
|
|
454968
|
+
const styleId = last2.attrs?.paragraphProperties?.styleId;
|
|
454969
|
+
if (styleId && TOC_ENTRY_STYLE_RE2.test(styleId))
|
|
454970
|
+
return;
|
|
454971
|
+
let hasPrecedingEntry = false;
|
|
454972
|
+
node4.forEach((child) => {
|
|
454973
|
+
if (hasPrecedingEntry || child === last2)
|
|
454974
|
+
return;
|
|
454975
|
+
if (child.type.name !== "paragraph")
|
|
454976
|
+
return;
|
|
454977
|
+
const childStyleId = child.attrs?.paragraphProperties?.styleId;
|
|
454978
|
+
if (childStyleId && TOC_ENTRY_STYLE_RE2.test(childStyleId))
|
|
454979
|
+
hasPrecedingEntry = true;
|
|
454980
|
+
});
|
|
454981
|
+
if (!hasPrecedingEntry)
|
|
454982
|
+
return;
|
|
454983
|
+
return typeof last2.toJSON === "function" ? last2.toJSON() : undefined;
|
|
454984
|
+
}
|
|
454221
454985
|
function tocConfigureWrapper2(editor, input2, options) {
|
|
454222
454986
|
rejectTrackedMode2("toc.configure", options);
|
|
454223
454987
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
@@ -454226,7 +454990,12 @@ function tocConfigureWrapper2(editor, input2, options) {
|
|
|
454226
454990
|
const instruction = serializeTocInstruction2(patched);
|
|
454227
454991
|
const rightAlignChanged = input2.patch.rightAlignPageNumbers !== undefined && input2.patch.rightAlignPageNumbers !== resolved.node.attrs?.rightAlignPageNumbers;
|
|
454228
454992
|
const effectiveRightAlign = input2.patch.rightAlignPageNumbers ?? resolved.node.attrs?.rightAlignPageNumbers;
|
|
454229
|
-
const { content:
|
|
454993
|
+
const { content: rebuiltEntries, sources } = materializeTocContent2(editor.state.doc, withRightAlign2(patched, effectiveRightAlign), editor, {
|
|
454994
|
+
pageMap: getPageMap2(editor) ?? undefined,
|
|
454995
|
+
tabPos: readExistingTocTabPos2(resolved.node)
|
|
454996
|
+
});
|
|
454997
|
+
const trailing = readExistingTocTrailingParagraph2(resolved.node);
|
|
454998
|
+
const nextContent = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
454230
454999
|
if (areTocConfigsEqual2(currentConfig, patched) && !rightAlignChanged) {
|
|
454231
455000
|
return tocFailure2("NO_OP", "Configuration patch produced no change.");
|
|
454232
455001
|
}
|
|
@@ -454279,7 +455048,12 @@ function tocUpdateAll2(editor, input2, options) {
|
|
|
454279
455048
|
const resolved = resolveTocTarget2(editor.state.doc, input2.target);
|
|
454280
455049
|
const config44 = parseTocInstruction2(resolved.node.attrs?.instruction ?? "");
|
|
454281
455050
|
const rightAlign = resolved.node.attrs?.rightAlignPageNumbers;
|
|
454282
|
-
const { content:
|
|
455051
|
+
const { content: rebuiltEntries, sources } = materializeTocContent2(editor.state.doc, withRightAlign2(config44, rightAlign), editor, {
|
|
455052
|
+
pageMap: getPageMap2(editor) ?? undefined,
|
|
455053
|
+
tabPos: readExistingTocTabPos2(resolved.node)
|
|
455054
|
+
});
|
|
455055
|
+
const trailing = readExistingTocTrailingParagraph2(resolved.node);
|
|
455056
|
+
const content5 = trailing ? [...rebuiltEntries, trailing] : rebuiltEntries;
|
|
454283
455057
|
if (isTocContentUnchanged2(resolved.node, content5)) {
|
|
454284
455058
|
return tocFailure2("NO_OP", "TOC update produced no change.");
|
|
454285
455059
|
}
|
|
@@ -454369,24 +455143,30 @@ function buildPageNumberUpdatedContent2(tocNode, pageMap) {
|
|
|
454369
455143
|
}
|
|
454370
455144
|
const tocSourceId = child.attrs?.tocSourceId;
|
|
454371
455145
|
const childJson = child.toJSON();
|
|
454372
|
-
const content5 = childJson.content ?? [];
|
|
454373
455146
|
let paragraphChanged = false;
|
|
454374
|
-
const
|
|
455147
|
+
const visit3 = (node4) => {
|
|
454375
455148
|
const marks = node4.marks;
|
|
454376
455149
|
const hasTocPageNumberMark = marks?.some((m2) => m2.type === "tocPageNumber");
|
|
454377
|
-
if (
|
|
454378
|
-
|
|
454379
|
-
|
|
454380
|
-
|
|
455150
|
+
if (hasTocPageNumberMark) {
|
|
455151
|
+
hasPageNumberMarks = true;
|
|
455152
|
+
if (!tocSourceId)
|
|
455153
|
+
return node4;
|
|
455154
|
+
const pageNumber = pageMap.get(tocSourceId);
|
|
455155
|
+
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
455156
|
+
if (node4.text !== newText) {
|
|
455157
|
+
paragraphChanged = true;
|
|
455158
|
+
return { ...node4, text: newText };
|
|
455159
|
+
}
|
|
454381
455160
|
return node4;
|
|
454382
|
-
const pageNumber = pageMap.get(tocSourceId);
|
|
454383
|
-
const newText = pageNumber !== undefined ? String(pageNumber) : "??";
|
|
454384
|
-
if (node4.text !== newText) {
|
|
454385
|
-
paragraphChanged = true;
|
|
454386
|
-
return { ...node4, text: newText };
|
|
454387
455161
|
}
|
|
454388
|
-
|
|
454389
|
-
|
|
455162
|
+
const nested = node4.content;
|
|
455163
|
+
if (!Array.isArray(nested) || nested.length === 0)
|
|
455164
|
+
return node4;
|
|
455165
|
+
const visited = nested.map(visit3);
|
|
455166
|
+
const replaced = visited.some((next2, idx) => next2 !== nested[idx]);
|
|
455167
|
+
return replaced ? { ...node4, content: visited } : node4;
|
|
455168
|
+
};
|
|
455169
|
+
const updatedContentArray = (childJson.content ?? []).map(visit3);
|
|
454390
455170
|
if (paragraphChanged) {
|
|
454391
455171
|
anyChanged = true;
|
|
454392
455172
|
updatedContent.push({ ...childJson, content: updatedContentArray });
|
|
@@ -454480,7 +455260,7 @@ function createTableOfContentsWrapper2(editor, input2, options) {
|
|
|
454480
455260
|
const postMutationId = resolvePostMutationTocId2(editor.state.doc, sdBlockId);
|
|
454481
455261
|
return { success: true, toc: buildTocAddress2(postMutationId) };
|
|
454482
455262
|
}
|
|
454483
|
-
var NO_ENTRIES_PLACEHOLDER2;
|
|
455263
|
+
var NO_ENTRIES_PLACEHOLDER2, TOC_ENTRY_STYLE_RE2;
|
|
454484
455264
|
var init_toc_wrappers = __esm(() => {
|
|
454485
455265
|
init_wrapper();
|
|
454486
455266
|
init_src();
|
|
@@ -454500,6 +455280,7 @@ var init_toc_wrappers = __esm(() => {
|
|
|
454500
455280
|
content: [{ type: "text", text: "No table of contents entries found." }]
|
|
454501
455281
|
}
|
|
454502
455282
|
];
|
|
455283
|
+
TOC_ENTRY_STYLE_RE2 = /^TOC[1-9]$/;
|
|
454503
455284
|
});
|
|
454504
455285
|
|
|
454505
455286
|
// ../../packages/super-editor/src/editors/v1/document-api-adapters/helpers/toc-entry-node-id.ts
|
|
@@ -458207,7 +458988,8 @@ function nodePositionToPosition2(doc6, pos) {
|
|
|
458207
458988
|
const node4 = resolved.node(depth);
|
|
458208
458989
|
const blockId = node4.attrs?.sdBlockId;
|
|
458209
458990
|
if (blockId) {
|
|
458210
|
-
|
|
458991
|
+
const blockPos = resolved.start(depth) - 1;
|
|
458992
|
+
return { blockId, offset: pmPositionToTextOffset2(node4, blockPos, pos) };
|
|
458211
458993
|
}
|
|
458212
458994
|
}
|
|
458213
458995
|
return { blockId: "", offset: pos };
|
|
@@ -458982,7 +459764,8 @@ function pmPosToPosition2(doc6, pos) {
|
|
|
458982
459764
|
const node4 = resolved.node(depth);
|
|
458983
459765
|
const blockId = node4.attrs?.sdBlockId;
|
|
458984
459766
|
if (blockId) {
|
|
458985
|
-
|
|
459767
|
+
const blockPos = resolved.start(depth) - 1;
|
|
459768
|
+
return { blockId, offset: pmPositionToTextOffset2(node4, blockPos, pos) };
|
|
458986
459769
|
}
|
|
458987
459770
|
}
|
|
458988
459771
|
return { blockId: "", offset: pos };
|