@usejunior/docx-core 0.18.0 → 0.20.1
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/.tsbuildinfo +1 -1
- package/dist/core-types.d.ts +1 -139
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +1 -3
- package/dist/core-types.js.map +1 -1
- package/dist/generation/emit/borders.d.ts +14 -0
- package/dist/generation/emit/borders.d.ts.map +1 -0
- package/dist/generation/emit/borders.js +45 -0
- package/dist/generation/emit/borders.js.map +1 -0
- package/dist/generation/emit/properties.d.ts +1 -1
- package/dist/generation/emit/properties.d.ts.map +1 -1
- package/dist/generation/emit/properties.js +4 -0
- package/dist/generation/emit/properties.js.map +1 -1
- package/dist/generation/emit/table.d.ts.map +1 -1
- package/dist/generation/emit/table.js +3 -31
- package/dist/generation/emit/table.js.map +1 -1
- package/dist/generation/index.d.ts +1 -1
- package/dist/generation/index.d.ts.map +1 -1
- package/dist/generation/types.d.ts +9 -0
- package/dist/generation/types.d.ts.map +1 -1
- package/dist/generation/types.js.map +1 -1
- package/dist/generation/validate-spec.d.ts.map +1 -1
- package/dist/generation/validate-spec.js +2 -0
- package/dist/generation/validate-spec.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/generation-probes.d.ts +36 -2
- package/dist/integration/generation-probes.d.ts.map +1 -1
- package/dist/integration/generation-probes.js +137 -15
- package/dist/integration/generation-probes.js.map +1 -1
- package/dist/integration/libreoffice-oracle.js +1 -1
- package/dist/integration/synthetic-docx-fixture.d.ts.map +1 -1
- package/dist/integration/synthetic-docx-fixture.js +37 -20
- package/dist/integration/synthetic-docx-fixture.js.map +1 -1
- package/dist/primitives/accept_ai_edits.js +14 -2
- package/dist/primitives/accept_ai_edits.js.map +1 -1
- package/dist/primitives/accept_changes.d.ts +7 -0
- package/dist/primitives/accept_changes.d.ts.map +1 -1
- package/dist/primitives/accept_changes.js +92 -4
- package/dist/primitives/accept_changes.js.map +1 -1
- package/dist/primitives/bookmarks.d.ts +1 -0
- package/dist/primitives/bookmarks.d.ts.map +1 -1
- package/dist/primitives/bookmarks.js +1 -1
- package/dist/primitives/bookmarks.js.map +1 -1
- package/dist/primitives/comments.d.ts +31 -4
- package/dist/primitives/comments.d.ts.map +1 -1
- package/dist/primitives/comments.js +111 -12
- package/dist/primitives/comments.js.map +1 -1
- package/dist/primitives/document.d.ts +47 -1
- package/dist/primitives/document.d.ts.map +1 -1
- package/dist/primitives/document.js +198 -13
- package/dist/primitives/document.js.map +1 -1
- package/dist/primitives/document_view-headings.d.ts +3 -1
- package/dist/primitives/document_view-headings.d.ts.map +1 -1
- package/dist/primitives/document_view-headings.js +5 -5
- package/dist/primitives/document_view-headings.js.map +1 -1
- package/dist/primitives/document_view.d.ts +2 -0
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +18 -4
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/field_evaluation.d.ts +70 -0
- package/dist/primitives/field_evaluation.d.ts.map +1 -0
- package/dist/primitives/field_evaluation.js +462 -0
- package/dist/primitives/field_evaluation.js.map +1 -0
- package/dist/primitives/footnotes.d.ts +17 -3
- package/dist/primitives/footnotes.d.ts.map +1 -1
- package/dist/primitives/footnotes.js +64 -17
- package/dist/primitives/footnotes.js.map +1 -1
- package/dist/primitives/formatting_tags.js +2 -2
- package/dist/primitives/formatting_tags.js.map +1 -1
- package/dist/primitives/index.d.ts +8 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +8 -1
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/merge_runs.d.ts +3 -1
- package/dist/primitives/merge_runs.d.ts.map +1 -1
- package/dist/primitives/merge_runs.js +12 -2
- package/dist/primitives/merge_runs.js.map +1 -1
- package/dist/primitives/namespaces.d.ts +12 -2
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +13 -2
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/note_conversion.d.ts +11 -0
- package/dist/primitives/note_conversion.d.ts.map +1 -0
- package/dist/primitives/note_conversion.js +12 -0
- package/dist/primitives/note_conversion.js.map +1 -0
- package/dist/primitives/opc-target.d.ts +24 -0
- package/dist/primitives/opc-target.d.ts.map +1 -0
- package/dist/primitives/opc-target.js +99 -0
- package/dist/primitives/opc-target.js.map +1 -0
- package/dist/primitives/paragraph_numbering.d.ts +40 -0
- package/dist/primitives/paragraph_numbering.d.ts.map +1 -0
- package/dist/primitives/paragraph_numbering.js +198 -0
- package/dist/primitives/paragraph_numbering.js.map +1 -0
- package/dist/primitives/reject_changes.d.ts +7 -0
- package/dist/primitives/reject_changes.d.ts.map +1 -1
- package/dist/primitives/reject_changes.js +133 -10
- package/dist/primitives/reject_changes.js.map +1 -1
- package/dist/primitives/sectPrAudit.d.ts +18 -1
- package/dist/primitives/sectPrAudit.d.ts.map +1 -1
- package/dist/primitives/sectPrAudit.js +120 -34
- package/dist/primitives/sectPrAudit.js.map +1 -1
- package/dist/primitives/sections.d.ts +134 -0
- package/dist/primitives/sections.d.ts.map +1 -0
- package/dist/primitives/sections.js +644 -0
- package/dist/primitives/sections.js.map +1 -0
- package/dist/primitives/serialize_html.d.ts.map +1 -1
- package/dist/primitives/serialize_html.js +18 -7
- package/dist/primitives/serialize_html.js.map +1 -1
- package/dist/primitives/styles.d.ts +60 -0
- package/dist/primitives/styles.d.ts.map +1 -1
- package/dist/primitives/styles.js +206 -25
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/symbol_run_content.d.ts +42 -0
- package/dist/primitives/symbol_run_content.d.ts.map +1 -0
- package/dist/primitives/symbol_run_content.js +79 -0
- package/dist/primitives/symbol_run_content.js.map +1 -0
- package/dist/primitives/text.d.ts +29 -0
- package/dist/primitives/text.d.ts.map +1 -1
- package/dist/primitives/text.js +354 -44
- package/dist/primitives/text.js.map +1 -1
- package/dist/primitives/track-changes-emitter.d.ts +9 -0
- package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
- package/dist/primitives/track-changes-emitter.js +40 -2
- package/dist/primitives/track-changes-emitter.js.map +1 -1
- package/dist/primitives/validate_document.d.ts.map +1 -1
- package/dist/primitives/validate_document.js +22 -1
- package/dist/primitives/validate_document.js.map +1 -1
- package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
- package/dist/shared/docx/DocxArchive.js +7 -0
- package/dist/shared/docx/DocxArchive.js.map +1 -1
- package/dist/shared/field-semantics.d.ts +26 -0
- package/dist/shared/field-semantics.d.ts.map +1 -0
- package/dist/shared/field-semantics.js +232 -0
- package/dist/shared/field-semantics.js.map +1 -0
- package/dist/shared/field-structure.d.ts +14 -0
- package/dist/shared/field-structure.d.ts.map +1 -1
- package/dist/shared/field-structure.js +98 -7
- package/dist/shared/field-structure.js.map +1 -1
- package/package.json +3 -5
package/dist/primitives/text.js
CHANGED
|
@@ -2,22 +2,45 @@ import { OOXML, W } from './namespaces.js';
|
|
|
2
2
|
import { SafeDocxError } from './errors.js';
|
|
3
3
|
import { getAttributeSafe, getFirstChild } from './xml-helpers.js';
|
|
4
4
|
import { buildRPrChangeElement, createRevisionContainer, prepareElementForDeletion, } from './track-changes-emitter.js';
|
|
5
|
+
/**
|
|
6
|
+
* Return the paragraph's visible runs while retaining enough complex-field
|
|
7
|
+
* provenance to distinguish a safe cached-result edit from a field-boundary
|
|
8
|
+
* rewrite.
|
|
9
|
+
*
|
|
10
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.16.18
|
|
11
|
+
* @see #651
|
|
12
|
+
*/
|
|
5
13
|
export function getParagraphRuns(p) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
})(FieldState || (FieldState = {}));
|
|
14
|
+
function currentResultId(stack) {
|
|
15
|
+
if (stack.length === 0 || stack.some((frame) => frame.phase === 'instruction'))
|
|
16
|
+
return null;
|
|
17
|
+
return stack.at(-1).id;
|
|
18
|
+
}
|
|
12
19
|
function getWAttr(el, localName) {
|
|
13
20
|
return getAttributeSafe(el, OOXML.W_NS, localName, 'w');
|
|
14
21
|
}
|
|
15
22
|
const runs = [];
|
|
16
23
|
const rElems = Array.from(p.getElementsByTagNameNS(OOXML.W_NS, W.r));
|
|
17
|
-
|
|
24
|
+
const fieldStack = [];
|
|
25
|
+
const fieldInstructions = new Map();
|
|
26
|
+
let nextFieldId = 1;
|
|
18
27
|
for (const r of rElems) {
|
|
19
28
|
let runText = '';
|
|
20
|
-
let sawResult =
|
|
29
|
+
let sawResult = false;
|
|
30
|
+
let runFieldResultId;
|
|
31
|
+
const appendVisibleText = (text) => {
|
|
32
|
+
const resultId = currentResultId(fieldStack);
|
|
33
|
+
sawResult ||= resultId !== null;
|
|
34
|
+
if (runFieldResultId === undefined) {
|
|
35
|
+
runFieldResultId = resultId;
|
|
36
|
+
}
|
|
37
|
+
else if (runFieldResultId !== resultId) {
|
|
38
|
+
// A run whose visible content straddles a field boundary cannot be
|
|
39
|
+
// rewritten as one unit without moving content across that boundary.
|
|
40
|
+
runFieldResultId = null;
|
|
41
|
+
}
|
|
42
|
+
runText += text;
|
|
43
|
+
};
|
|
21
44
|
// Walk children in order so we can handle rare cases where fldChar and result text
|
|
22
45
|
// appear in the same run.
|
|
23
46
|
for (const child of Array.from(r.childNodes)) {
|
|
@@ -28,34 +51,54 @@ export function getParagraphRuns(p) {
|
|
|
28
51
|
continue;
|
|
29
52
|
if (el.localName === W.fldChar) {
|
|
30
53
|
const typ = getWAttr(el, 'fldCharType') ?? '';
|
|
31
|
-
if (typ === 'begin')
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
if (typ === 'begin') {
|
|
55
|
+
fieldStack.push({ id: nextFieldId++, phase: 'instruction', instruction: '' });
|
|
56
|
+
}
|
|
57
|
+
else if (typ === 'separate') {
|
|
58
|
+
const frame = fieldStack.at(-1);
|
|
59
|
+
if (frame) {
|
|
60
|
+
frame.phase = 'result';
|
|
61
|
+
fieldInstructions.set(frame.id, frame.instruction.trim());
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else if (typ === 'end') {
|
|
65
|
+
fieldStack.pop();
|
|
66
|
+
}
|
|
37
67
|
continue;
|
|
38
68
|
}
|
|
39
|
-
|
|
69
|
+
const instructionFrame = [...fieldStack].reverse().find((frame) => frame.phase === 'instruction');
|
|
70
|
+
if (instructionFrame) {
|
|
71
|
+
if (el.localName === W.instrText || el.localName === 'delInstrText') {
|
|
72
|
+
instructionFrame.instruction += el.textContent ?? '';
|
|
73
|
+
}
|
|
40
74
|
// Skip field code/instruction text.
|
|
41
75
|
continue;
|
|
42
76
|
}
|
|
43
|
-
if (state === FieldState.IN_FIELD_RESULT)
|
|
44
|
-
sawResult = true;
|
|
45
77
|
if (el.localName === W.t) {
|
|
46
|
-
|
|
78
|
+
appendVisibleText(el.textContent ?? '');
|
|
47
79
|
}
|
|
48
80
|
else if (el.localName === W.tab) {
|
|
49
|
-
|
|
81
|
+
appendVisibleText('\t');
|
|
50
82
|
}
|
|
51
83
|
else if (el.localName === W.br) {
|
|
52
|
-
|
|
84
|
+
appendVisibleText('\n');
|
|
53
85
|
}
|
|
54
86
|
}
|
|
55
|
-
if (runText)
|
|
56
|
-
runs.push({
|
|
87
|
+
if (runText) {
|
|
88
|
+
runs.push({
|
|
89
|
+
r,
|
|
90
|
+
text: runText,
|
|
91
|
+
isFieldResult: sawResult,
|
|
92
|
+
fieldResultId: runFieldResultId ?? null,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
57
95
|
}
|
|
58
|
-
return runs
|
|
96
|
+
return runs.map((run) => ({
|
|
97
|
+
...run,
|
|
98
|
+
fieldInstruction: run.fieldResultId === null
|
|
99
|
+
? null
|
|
100
|
+
: (fieldInstructions.get(run.fieldResultId) ?? null),
|
|
101
|
+
}));
|
|
59
102
|
}
|
|
60
103
|
export function getParagraphText(p) {
|
|
61
104
|
return getParagraphRuns(p)
|
|
@@ -71,16 +114,24 @@ function findOffsetInRuns(runs, start, end) {
|
|
|
71
114
|
let endOffset = 0;
|
|
72
115
|
for (let i = 0; i < runs.length; i++) {
|
|
73
116
|
const len = runs[i].text.length;
|
|
74
|
-
|
|
117
|
+
const nextPos = pos + len;
|
|
118
|
+
const startIsInRun = start === end
|
|
119
|
+
? start <= nextPos
|
|
120
|
+
: start < nextPos;
|
|
121
|
+
if (startRunIdx === -1 && start >= pos && startIsInRun) {
|
|
75
122
|
startRunIdx = i;
|
|
76
123
|
startOffset = start - pos;
|
|
77
124
|
}
|
|
78
|
-
if (endRunIdx === -1 && end
|
|
125
|
+
if (endRunIdx === -1 && end > pos && end <= nextPos) {
|
|
79
126
|
endRunIdx = i;
|
|
80
127
|
endOffset = end - pos;
|
|
81
128
|
break;
|
|
82
129
|
}
|
|
83
|
-
pos
|
|
130
|
+
pos = nextPos;
|
|
131
|
+
}
|
|
132
|
+
if (start === end && startRunIdx !== -1) {
|
|
133
|
+
endRunIdx = startRunIdx;
|
|
134
|
+
endOffset = startOffset;
|
|
84
135
|
}
|
|
85
136
|
if (startRunIdx === -1 || endRunIdx === -1) {
|
|
86
137
|
throw new Error('Offset mapping failed');
|
|
@@ -261,6 +312,25 @@ function cleanupEmptyRuns(parent) {
|
|
|
261
312
|
function getRunVisibleLength(run) {
|
|
262
313
|
return getDirectContentElements(run).reduce((sum, child) => sum + visibleLengthForEl(child), 0);
|
|
263
314
|
}
|
|
315
|
+
// OOXML embedded run content that references package parts: DrawingML drawing
|
|
316
|
+
// (w:drawing), VML picture (w:pict), embedded OLE object (w:object), and
|
|
317
|
+
// imported content part (w:contentPart, a CT_Rel relationship reference).
|
|
318
|
+
// These carry no visible text length, so a caller-approved text match never
|
|
319
|
+
// covers them — a text replacement must not destroy them (issue #739).
|
|
320
|
+
const EMBEDDED_CONTENT_LOCALS = new Set([
|
|
321
|
+
W.drawing,
|
|
322
|
+
W.pict,
|
|
323
|
+
W.object,
|
|
324
|
+
W.contentPart,
|
|
325
|
+
]);
|
|
326
|
+
function isEmbeddedContentElement(node) {
|
|
327
|
+
return (node.nodeType === 1 &&
|
|
328
|
+
node.namespaceURI === OOXML.W_NS &&
|
|
329
|
+
EMBEDDED_CONTENT_LOCALS.has(node.localName ?? ''));
|
|
330
|
+
}
|
|
331
|
+
function getEmbeddedContentElements(run) {
|
|
332
|
+
return getDirectContentElements(run).filter((el) => EMBEDDED_CONTENT_LOCALS.has(el.localName ?? ''));
|
|
333
|
+
}
|
|
264
334
|
function getDirectChild(parent, localName) {
|
|
265
335
|
for (const child of Array.from(parent.childNodes)) {
|
|
266
336
|
if (child.nodeType !== 1)
|
|
@@ -271,6 +341,42 @@ function getDirectChild(parent, localName) {
|
|
|
271
341
|
}
|
|
272
342
|
return null;
|
|
273
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Mark the paragraph mark as deleted when a tracked edit removes the
|
|
346
|
+
* paragraph's entire visible payload. The marker belongs in w:pPr/w:rPr;
|
|
347
|
+
* accepting it removes the paragraph break while the run-level w:del removes
|
|
348
|
+
* the old contents.
|
|
349
|
+
*
|
|
350
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.15
|
|
351
|
+
* @see https://github.com/UseJunior/safe-docx/issues/741
|
|
352
|
+
*/
|
|
353
|
+
function addParagraphMarkDeletion(p, ctx) {
|
|
354
|
+
const doc = p.ownerDocument;
|
|
355
|
+
if (!doc)
|
|
356
|
+
throw new Error('Paragraph has no ownerDocument');
|
|
357
|
+
let pPr = getDirectChild(p, W.pPr);
|
|
358
|
+
if (!pPr) {
|
|
359
|
+
pPr = doc.createElementNS(OOXML.W_NS, `w:${W.pPr}`);
|
|
360
|
+
p.insertBefore(pPr, p.firstChild);
|
|
361
|
+
}
|
|
362
|
+
let rPr = getDirectChild(pPr, W.rPr);
|
|
363
|
+
if (!rPr) {
|
|
364
|
+
rPr = doc.createElementNS(OOXML.W_NS, `w:${W.rPr}`);
|
|
365
|
+
const sectPr = getDirectChild(pPr, 'sectPr');
|
|
366
|
+
const pPrChange = getDirectChild(pPr, 'pPrChange');
|
|
367
|
+
pPr.insertBefore(rPr, sectPr ?? pPrChange);
|
|
368
|
+
}
|
|
369
|
+
if (getDirectChild(rPr, 'del'))
|
|
370
|
+
return;
|
|
371
|
+
const marker = createRevisionContainer(doc, 'del', ctx);
|
|
372
|
+
const insertionMarker = getDirectChild(rPr, 'ins');
|
|
373
|
+
if (insertionMarker) {
|
|
374
|
+
rPr.insertBefore(marker, insertionMarker.nextSibling);
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
rPr.insertBefore(marker, rPr.firstChild);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
274
380
|
// OOXML on/off toggle properties (ECMA-376 ST_OnOff). Absence of w:val means
|
|
275
381
|
// "1", and the values "1"/"true"/"on" are equivalent (likewise for the falsy
|
|
276
382
|
// triple). We normalize so semantically-identical inputs hash the same.
|
|
@@ -428,6 +534,76 @@ function applyRunProps(doc, run, add, clearHighlight) {
|
|
|
428
534
|
if (add.fontName !== undefined)
|
|
429
535
|
ensureFont(doc, rPr, add.fontName);
|
|
430
536
|
}
|
|
537
|
+
function describeRunContainer(node) {
|
|
538
|
+
if (node.nodeType !== 1)
|
|
539
|
+
return node.nodeName;
|
|
540
|
+
const el = node;
|
|
541
|
+
if (el.namespaceURI === OOXML.W_NS)
|
|
542
|
+
return `w:${el.localName}`;
|
|
543
|
+
return el.tagName;
|
|
544
|
+
}
|
|
545
|
+
function previewContainerText(text, start, end) {
|
|
546
|
+
const value = text.slice(start, end);
|
|
547
|
+
return value.length <= 120 ? value : `${value.slice(0, 117)}...`;
|
|
548
|
+
}
|
|
549
|
+
function getContainerBoundaryError(runs, startRunIdx, endRunIdx, start, end, fullText) {
|
|
550
|
+
const segments = [];
|
|
551
|
+
let runStart = 0;
|
|
552
|
+
for (let i = 0; i < runs.length; i++) {
|
|
553
|
+
const run = runs[i];
|
|
554
|
+
const runEnd = runStart + run.text.length;
|
|
555
|
+
if (i >= startRunIdx && i <= endRunIdx) {
|
|
556
|
+
const overlapStart = Math.max(start, runStart);
|
|
557
|
+
const overlapEnd = Math.min(end, runEnd);
|
|
558
|
+
if (overlapEnd > overlapStart) {
|
|
559
|
+
const parent = run.r.parentNode;
|
|
560
|
+
if (!parent)
|
|
561
|
+
throw new Error('Run has no parent');
|
|
562
|
+
const previous = segments.at(-1);
|
|
563
|
+
if (previous?.parent === parent && previous.end === overlapStart) {
|
|
564
|
+
previous.end = overlapEnd;
|
|
565
|
+
}
|
|
566
|
+
else {
|
|
567
|
+
segments.push({ parent, start: overlapStart, end: overlapEnd });
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
runStart = runEnd;
|
|
572
|
+
}
|
|
573
|
+
if (segments.length <= 1)
|
|
574
|
+
return null;
|
|
575
|
+
const first = segments[0];
|
|
576
|
+
const second = segments[1];
|
|
577
|
+
const largest = segments.reduce((best, segment) => segment.end - segment.start > best.end - best.start ? segment : best);
|
|
578
|
+
const boundaryOffset = first.end;
|
|
579
|
+
const firstContainer = describeRunContainer(first.parent);
|
|
580
|
+
const secondContainer = describeRunContainer(second.parent);
|
|
581
|
+
const largestContainer = describeRunContainer(largest.parent);
|
|
582
|
+
const preview = previewContainerText(fullText, largest.start, largest.end);
|
|
583
|
+
return new SafeDocxError('UNSAFE_CONTAINER_BOUNDARY', `Edit range [${start}, ${end}) crosses a container boundary at offset ${boundaryOffset} ` +
|
|
584
|
+
`(${firstContainer} → ${secondContainer}). Largest contained sub-span: ` +
|
|
585
|
+
`[${largest.start}, ${largest.end}) in ${largestContainer}, ${JSON.stringify(preview)}.`, `Retry with old_string limited to one container, such as the text in range ` +
|
|
586
|
+
`[${largest.start}, ${largest.end}), or make separate edits on each side of offset ${boundaryOffset}.`);
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* Replace a visible paragraph range while keeping tracked runs inside their
|
|
590
|
+
* existing run container. In particular, edits wholly inside `w:hyperlink`
|
|
591
|
+
* remain nested there, while cross-container ranges are refused before the
|
|
592
|
+
* DOM is changed.
|
|
593
|
+
*
|
|
594
|
+
* Embedded content (`w:drawing`, `w:pict`, `w:object`, `w:contentPart`)
|
|
595
|
+
* inside the replaced range is preserved as live runs: it contributes no
|
|
596
|
+
* visible text, so no text match ever covers it and no text edit may delete
|
|
597
|
+
* it. Tracked deletions around preserved content are emitted as in-place
|
|
598
|
+
* segments so rejectChanges() restores the original content order exactly.
|
|
599
|
+
*
|
|
600
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.14
|
|
601
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.15
|
|
602
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.16.22
|
|
603
|
+
* @see #652
|
|
604
|
+
* @see #741
|
|
605
|
+
* @see #739
|
|
606
|
+
*/
|
|
431
607
|
export function replaceParagraphTextRange(p, start, end, replacement, ctx) {
|
|
432
608
|
// Replace visible text in [start, end) in paragraph by operating on w:t nodes.
|
|
433
609
|
// Strategy:
|
|
@@ -447,12 +623,29 @@ export function replaceParagraphTextRange(p, start, end, replacement, ctx) {
|
|
|
447
623
|
const { startRunIdx, startOffset, endRunIdx, endOffset } = findOffsetInRuns(runs, start, end);
|
|
448
624
|
const startRun = runs[startRunIdx];
|
|
449
625
|
const endRun = runs[endRunIdx];
|
|
450
|
-
|
|
451
|
-
if (
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
626
|
+
const containerBoundaryError = getContainerBoundaryError(runs, startRunIdx, endRunIdx, start, end, fullText);
|
|
627
|
+
if (containerBoundaryError)
|
|
628
|
+
throw containerBoundaryError;
|
|
629
|
+
// A cached result may span many runs, but every touched run must belong to
|
|
630
|
+
// the same complex field. Moving ordinary text, a field marker, or another
|
|
631
|
+
// field's result across a fldChar boundary would change document semantics.
|
|
632
|
+
const spanRuns = runs.slice(startRunIdx, endRunIdx + 1);
|
|
633
|
+
const fieldRuns = spanRuns.filter((run) => run.isFieldResult);
|
|
634
|
+
if (fieldRuns.length > 0) {
|
|
635
|
+
const fieldIds = new Set(fieldRuns.map((run) => run.fieldResultId));
|
|
636
|
+
const containsInlineFieldMarker = fieldRuns.some((run) => getDirectContentElements(run.r).some((el) => isW(el, W.fldChar)));
|
|
637
|
+
const isOneCompleteResultSpan = fieldRuns.length === spanRuns.length &&
|
|
638
|
+
[...fieldIds].every((fieldId) => typeof fieldId === 'number') &&
|
|
639
|
+
fieldIds.size === 1 &&
|
|
640
|
+
!containsInlineFieldMarker;
|
|
641
|
+
if (!isOneCompleteResultSpan) {
|
|
642
|
+
const instructions = new Set(fieldRuns
|
|
643
|
+
.map((run) => run.fieldInstruction?.split(/\s+/u)[0])
|
|
644
|
+
.filter((instruction) => !!instruction));
|
|
645
|
+
const fieldLabel = instructions.size === 1
|
|
646
|
+
? `${[...instructions][0]} field result`
|
|
647
|
+
: 'complex field result';
|
|
648
|
+
throw new SafeDocxError('UNSUPPORTED_EDIT', `Edit crosses the boundary of a ${fieldLabel}; cached-result edits must stay inside one field.`, 'Narrow old_string so the changed range is entirely inside one cached field result.');
|
|
456
649
|
}
|
|
457
650
|
}
|
|
458
651
|
// Pick a template run from the span: the run with the largest overlap by visible character count.
|
|
@@ -502,24 +695,134 @@ export function replaceParagraphTextRange(p, start, end, replacement, ctx) {
|
|
|
502
695
|
if (!parent)
|
|
503
696
|
throw new Error('Run has no parent');
|
|
504
697
|
if (rangeEndRunEl.parentNode !== parent) {
|
|
505
|
-
throw new
|
|
698
|
+
throw new Error('Container boundary changed while splitting replacement runs');
|
|
506
699
|
}
|
|
507
700
|
const insertBeforeNode = rangeEndRunEl.nextSibling;
|
|
508
701
|
// Remove runs in [rangeStartRunEl, rangeEndRunEl] inclusive (only w:r elements).
|
|
702
|
+
//
|
|
703
|
+
// Embedded content (w:drawing / w:pict / w:object / w:contentPart) has zero
|
|
704
|
+
// visible text length, so the text match the caller approved never covered
|
|
705
|
+
// it. It must survive the replacement as live content (issue #739): an
|
|
706
|
+
// embedded-only run stays in place untouched, and embedded content
|
|
707
|
+
// co-resident with replaced text is split into its own run at the same
|
|
708
|
+
// relative position before the text is removed. Without this, an
|
|
709
|
+
// embedded-only run would be detached here but never recorded
|
|
710
|
+
// (getRunVisibleLength returns 0 for it), so neither the tracked nor the
|
|
711
|
+
// clean branch could re-emit it.
|
|
712
|
+
//
|
|
713
|
+
// When embedded content is preserved, tracked deletions are emitted as
|
|
714
|
+
// IN-PLACE SEGMENTS — one w:del per contiguous stretch of removed text,
|
|
715
|
+
// inserted at that stretch's original position — instead of one terminal
|
|
716
|
+
// w:del after the range. A single terminal w:del would make rejectChanges()
|
|
717
|
+
// restore the removed text AFTER the preserved object, permanently
|
|
718
|
+
// reordering content the user never touched. When no embedded content is
|
|
719
|
+
// involved the historical single-deletion emission is kept unchanged.
|
|
720
|
+
let rangeContainsEmbeddedContent = false;
|
|
721
|
+
for (let node = rangeStartRunEl; node; node = node.nextSibling) {
|
|
722
|
+
if (node.nodeType === 1 &&
|
|
723
|
+
isW(node, W.r) &&
|
|
724
|
+
getEmbeddedContentElements(node).length > 0) {
|
|
725
|
+
rangeContainsEmbeddedContent = true;
|
|
726
|
+
}
|
|
727
|
+
if (node === rangeEndRunEl)
|
|
728
|
+
break;
|
|
729
|
+
}
|
|
509
730
|
const removedRuns = [];
|
|
510
|
-
let
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
const
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
731
|
+
let preservedEmbeddedContent = false;
|
|
732
|
+
if (!rangeContainsEmbeddedContent) {
|
|
733
|
+
let cur = rangeStartRunEl;
|
|
734
|
+
while (cur) {
|
|
735
|
+
const nextNode = cur.nextSibling;
|
|
736
|
+
if (cur.nodeType === 1 && isW(cur, W.r)) {
|
|
737
|
+
const runEl = cur;
|
|
738
|
+
runEl.parentNode?.removeChild(runEl);
|
|
739
|
+
if (getRunVisibleLength(runEl) > 0) {
|
|
740
|
+
removedRuns.push(runEl);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
if (cur === rangeEndRunEl)
|
|
744
|
+
break;
|
|
745
|
+
cur = nextNode;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
// The open deletion segment; reset to null whenever preserved embedded
|
|
750
|
+
// content interrupts the removed stretch so the next removed run starts
|
|
751
|
+
// a new w:del at its own position.
|
|
752
|
+
let currentDeletion = null;
|
|
753
|
+
const removeRunInPlace = (runEl) => {
|
|
754
|
+
const parentNode = runEl.parentNode;
|
|
755
|
+
if (!parentNode)
|
|
756
|
+
return;
|
|
757
|
+
if (ctx && getRunVisibleLength(runEl) > 0) {
|
|
758
|
+
if (!currentDeletion) {
|
|
759
|
+
currentDeletion = createRevisionContainer(doc, 'del', ctx);
|
|
760
|
+
parentNode.insertBefore(currentDeletion, runEl);
|
|
761
|
+
}
|
|
762
|
+
parentNode.removeChild(runEl);
|
|
763
|
+
currentDeletion.appendChild(prepareElementForDeletion(runEl));
|
|
764
|
+
}
|
|
765
|
+
else {
|
|
766
|
+
parentNode.removeChild(runEl);
|
|
518
767
|
}
|
|
768
|
+
};
|
|
769
|
+
// Split a run holding both text and embedded content into consecutive
|
|
770
|
+
// homogeneous runs (formatting cloned), inserted at the run's position in
|
|
771
|
+
// original child order, so both the preserved content and the removed
|
|
772
|
+
// text keep their exact relative positions.
|
|
773
|
+
const splitMixedRun = (runEl) => {
|
|
774
|
+
const parentNode = runEl.parentNode;
|
|
775
|
+
if (!parentNode)
|
|
776
|
+
throw new Error('Run has no parent');
|
|
777
|
+
const pieces = [];
|
|
778
|
+
let currentPiece = null;
|
|
779
|
+
for (const child of Array.from(runEl.childNodes)) {
|
|
780
|
+
if (child.nodeType === 1 && isW(child, W.rPr))
|
|
781
|
+
continue;
|
|
782
|
+
const embedded = isEmbeddedContentElement(child);
|
|
783
|
+
if (!currentPiece || currentPiece.embedded !== embedded) {
|
|
784
|
+
currentPiece = { el: cloneRunFormattingOnly(doc, runEl), embedded };
|
|
785
|
+
pieces.push(currentPiece);
|
|
786
|
+
}
|
|
787
|
+
currentPiece.el.appendChild(child);
|
|
788
|
+
}
|
|
789
|
+
for (const piece of pieces)
|
|
790
|
+
parentNode.insertBefore(piece.el, runEl);
|
|
791
|
+
parentNode.removeChild(runEl);
|
|
792
|
+
return pieces;
|
|
793
|
+
};
|
|
794
|
+
let cur = rangeStartRunEl;
|
|
795
|
+
while (cur) {
|
|
796
|
+
const nextNode = cur.nextSibling;
|
|
797
|
+
const atRangeEnd = cur === rangeEndRunEl;
|
|
798
|
+
if (cur.nodeType === 1 && isW(cur, W.r)) {
|
|
799
|
+
const runEl = cur;
|
|
800
|
+
const embeddedContent = getEmbeddedContentElements(runEl);
|
|
801
|
+
if (embeddedContent.length === 0) {
|
|
802
|
+
removeRunInPlace(runEl);
|
|
803
|
+
}
|
|
804
|
+
else if (getRunVisibleLength(runEl) === 0) {
|
|
805
|
+
// Embedded-only run: the replaced text lives entirely in sibling
|
|
806
|
+
// runs. Leave it in the paragraph as-is.
|
|
807
|
+
preservedEmbeddedContent = true;
|
|
808
|
+
currentDeletion = null;
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
for (const piece of splitMixedRun(runEl)) {
|
|
812
|
+
if (piece.embedded) {
|
|
813
|
+
preservedEmbeddedContent = true;
|
|
814
|
+
currentDeletion = null;
|
|
815
|
+
}
|
|
816
|
+
else {
|
|
817
|
+
removeRunInPlace(piece.el);
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
if (atRangeEnd)
|
|
823
|
+
break;
|
|
824
|
+
cur = nextNode;
|
|
519
825
|
}
|
|
520
|
-
if (cur === rangeEndRunEl)
|
|
521
|
-
break;
|
|
522
|
-
cur = nextNode;
|
|
523
826
|
}
|
|
524
827
|
// Build replacement runs using the same formatting/template logic as the legacy path.
|
|
525
828
|
const replacementRuns = [];
|
|
@@ -554,6 +857,13 @@ export function replaceParagraphTextRange(p, start, end, replacement, ctx) {
|
|
|
554
857
|
}
|
|
555
858
|
parent.insertBefore(insertion, insertBeforeNode);
|
|
556
859
|
}
|
|
860
|
+
// Only delete the paragraph mark when the edit leaves nothing live behind.
|
|
861
|
+
// Preserved embedded content keeps the paragraph meaningful, and merging
|
|
862
|
+
// it into the following paragraph on accept would move the image the user
|
|
863
|
+
// never touched (issue #739).
|
|
864
|
+
if (start === 0 && end === fullText.length && replacementRuns.length === 0 && !preservedEmbeddedContent) {
|
|
865
|
+
addParagraphMarkDeletion(p, ctx);
|
|
866
|
+
}
|
|
557
867
|
}
|
|
558
868
|
else {
|
|
559
869
|
for (const replacementRun of replacementRuns) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/primitives/text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/primitives/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,15 @@ export declare function buildTrPrChangeElement(oldTrPr: Element | null, ctx: Rev
|
|
|
109
109
|
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.36
|
|
110
110
|
*/
|
|
111
111
|
export declare function buildTcPrChangeElement(oldTcPr: Element | null, ctx: RevisionContext): Element;
|
|
112
|
+
/**
|
|
113
|
+
* Build a `<w:sectPrChange>` wrapper containing the previous section
|
|
114
|
+
* properties. A prior change record is excluded from the nested snapshot so
|
|
115
|
+
* the emitter never authors a change-of-a-change.
|
|
116
|
+
*
|
|
117
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.32
|
|
118
|
+
* @see #654
|
|
119
|
+
*/
|
|
120
|
+
export declare function buildSectPrChangeElement(oldSectPr: Element, ctx: RevisionContext): Element;
|
|
112
121
|
/**
|
|
113
122
|
* Build a `<w:rPrChange>` wrapper containing the previous run properties.
|
|
114
123
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-changes-emitter.d.ts","sourceRoot":"","sources":["../../src/primitives/track-changes-emitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track-changes-emitter.d.ts","sourceRoot":"","sources":["../../src/primitives/track-changes-emitter.ts"],"names":[],"mappings":"AA2BA;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAU,GAAG,eAAe,CAK1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAOtF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,GAAG,EAAE,eAAe,GACnB,OAAO,CAET;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAIlF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAkB3F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAkB7F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAkB7F;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,OAAO,EAClB,GAAG,EAAE,eAAe,GACnB,OAAO,CA+BT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAkB3F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAE1F;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcxE"}
|