@json-to-office/core-docx 0.13.0 → 0.14.0
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/components/heading.d.ts.map +1 -1
- package/dist/components/paragraph.d.ts.map +1 -1
- package/dist/core/cached-render.d.ts.map +1 -1
- package/dist/core/content.d.ts +3 -0
- package/dist/core/content.d.ts.map +1 -1
- package/dist/core/render.d.ts.map +1 -1
- package/dist/core/structure.d.ts +2 -0
- package/dist/core/structure.d.ts.map +1 -1
- package/dist/index.js +182 -39
- package/dist/index.js.map +1 -1
- package/dist/plugin/example/index.js +175 -38
- package/dist/plugin/example/index.js.map +1 -1
- package/dist/templates/themes/index.d.ts +32 -0
- package/dist/templates/themes/index.d.ts.map +1 -1
- package/dist/templates/themes/minimal.docx.theme.json +1 -1
- package/dist/templates/themes/modern.docx.theme.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/revisionUtils.d.ts +50 -0
- package/dist/utils/revisionUtils.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/components/heading.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIxC;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/components/heading.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIxC;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA2Cb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../src/components/paragraph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6DxC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../src/components/paragraph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6DxC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CAyIb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached-render.d.ts","sourceRoot":"","sources":["../../src/core/cached-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,WAAW,EAIZ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"cached-render.d.ts","sourceRoot":"","sources":["../../src/core/cached-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,WAAW,EAIZ,MAAM,UAAU,CAAC;AAmBlB;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA4BlE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,WAAW,UAAQ,GAClB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAmF5D;AAKD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,GACD,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,kEAMrC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,GAAG,CACvD,MAAM,EACN,OAAO,CACR,GAAG,IAAI,CAAC,CAgBR;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
package/dist/core/content.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Paragraph, Table, Header, Footer } from 'docx';
|
|
6
6
|
import { ThemeConfig } from '../styles';
|
|
7
|
+
import type { Revision } from '@json-to-office/shared-docx';
|
|
7
8
|
import { ComponentDefinition } from '../types';
|
|
8
9
|
export interface TextOptions {
|
|
9
10
|
style?: string;
|
|
@@ -53,6 +54,7 @@ export interface TextOptions {
|
|
|
53
54
|
};
|
|
54
55
|
keepNext?: boolean;
|
|
55
56
|
keepLines?: boolean;
|
|
57
|
+
revision?: Revision;
|
|
56
58
|
}
|
|
57
59
|
export interface ImageOptions {
|
|
58
60
|
caption?: string;
|
|
@@ -146,6 +148,7 @@ export declare function createStatistic(data: StatisticData, options?: Statistic
|
|
|
146
148
|
export declare function createList(items: (string | {
|
|
147
149
|
text: string;
|
|
148
150
|
level?: number;
|
|
151
|
+
revision?: Revision;
|
|
149
152
|
})[], _theme: ThemeConfig, _themeName: string, options?: ListOptions): Paragraph[];
|
|
150
153
|
/**
|
|
151
154
|
* Create a table
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EAET,KAAK,EAQL,MAAM,EACN,MAAM,EAQP,MAAM,MAAM,CAAC;AASd,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/core/render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,eAAe,EACf,eAAe,EAKf,OAAO,EACR,MAAM,MAAM,CAAC;AAad,OAAO,EACL,mBAAmB,EACnB,aAAa,EAcd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmC7D;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,GACA,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/core/render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,eAAe,EACf,eAAe,EAKf,OAAO,EACR,MAAM,MAAM,CAAC;AAad,OAAO,EACL,mBAAmB,EACnB,aAAa,EAcd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmC7D;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,GACA,OAAO,CAAC,QAAQ,CAAC,CAwJnB;AAwND;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,cAAc,CAAC,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,eAAe,CAAC,CAiH1B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAiC5D"}
|
package/dist/core/structure.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface ProcessedDocument {
|
|
|
9
9
|
sections: ProcessedSection[];
|
|
10
10
|
theme: ThemeConfig;
|
|
11
11
|
themeName: string;
|
|
12
|
+
/** Open the generated document in track-changes mode */
|
|
13
|
+
trackRevisions?: boolean;
|
|
12
14
|
}
|
|
13
15
|
export interface DocumentMetadata {
|
|
14
16
|
title?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../src/core/structure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,aAAa,EAGd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../src/core/structure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,aAAa,EAGd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAClD,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAClD,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5E,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,yBAAyB,EACnC,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CA8C5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAQ3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,mBAAmB,EAAE,EACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoE7B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,mBAAmB,EAAE,EACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAmDhC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,aAAa,CA0Bf"}
|
package/dist/index.js
CHANGED
|
@@ -231,7 +231,7 @@ var init_minimal_docx_theme = __esm({
|
|
|
231
231
|
size: 11
|
|
232
232
|
},
|
|
233
233
|
mono: {
|
|
234
|
-
family: "
|
|
234
|
+
family: "Menlo",
|
|
235
235
|
size: 10
|
|
236
236
|
},
|
|
237
237
|
light: {
|
|
@@ -549,7 +549,7 @@ var init_modern_docx_theme = __esm({
|
|
|
549
549
|
fonts: {
|
|
550
550
|
heading: { family: "Helvetica", size: 28 },
|
|
551
551
|
body: { family: "Helvetica", size: 11 },
|
|
552
|
-
mono: { family: "
|
|
552
|
+
mono: { family: "Menlo", size: 10 },
|
|
553
553
|
light: { family: "Helvetica", size: 28 }
|
|
554
554
|
},
|
|
555
555
|
page: {
|
|
@@ -2122,7 +2122,8 @@ async function processDocument(document, theme, themeName) {
|
|
|
2122
2122
|
metadata,
|
|
2123
2123
|
sections,
|
|
2124
2124
|
theme: effectiveTheme,
|
|
2125
|
-
themeName
|
|
2125
|
+
themeName,
|
|
2126
|
+
trackRevisions: document.props.trackRevisions
|
|
2126
2127
|
};
|
|
2127
2128
|
}
|
|
2128
2129
|
function createDocumentMetadata(props) {
|
|
@@ -2581,7 +2582,7 @@ Suggestion: ${suggestion}`
|
|
|
2581
2582
|
import {
|
|
2582
2583
|
Document,
|
|
2583
2584
|
Paragraph as Paragraph7,
|
|
2584
|
-
TextRun as
|
|
2585
|
+
TextRun as TextRun6,
|
|
2585
2586
|
AlignmentType as AlignmentType5,
|
|
2586
2587
|
BookmarkStart as BookmarkStart2,
|
|
2587
2588
|
BookmarkEnd as BookmarkEnd2
|
|
@@ -3914,6 +3915,99 @@ var CacheKeyGenerator = class {
|
|
|
3914
3915
|
}
|
|
3915
3916
|
};
|
|
3916
3917
|
|
|
3918
|
+
// src/utils/revisionUtils.ts
|
|
3919
|
+
import { TextRun as TextRun3, InsertedTextRun, DeletedTextRun } from "docx";
|
|
3920
|
+
var DEFAULT_REVISION_AUTHOR = "json-to-office";
|
|
3921
|
+
var DEFAULT_REVISION_DATE = "1970-01-01T00:00:00Z";
|
|
3922
|
+
var RevisionIdRegistry = class {
|
|
3923
|
+
counter = 0;
|
|
3924
|
+
next() {
|
|
3925
|
+
this.counter += 1;
|
|
3926
|
+
return this.counter;
|
|
3927
|
+
}
|
|
3928
|
+
/** Test-only: deterministic ids for snapshot assertions. */
|
|
3929
|
+
clear() {
|
|
3930
|
+
this.counter = 0;
|
|
3931
|
+
}
|
|
3932
|
+
};
|
|
3933
|
+
var globalRevisionIdRegistry = new RevisionIdRegistry();
|
|
3934
|
+
var PLACEHOLDER_PATTERN = /\{[^}]+\}/;
|
|
3935
|
+
function segmentRuns(text, makeRun) {
|
|
3936
|
+
const lines = text.split("\n");
|
|
3937
|
+
return lines.map(
|
|
3938
|
+
(line, index) => makeRun(index === 0 ? { text: line } : { text: line, break: 1 })
|
|
3939
|
+
);
|
|
3940
|
+
}
|
|
3941
|
+
function createRevisionRuns(revision, baseStyle) {
|
|
3942
|
+
const author = revision.author || DEFAULT_REVISION_AUTHOR;
|
|
3943
|
+
const date = revision.date || DEFAULT_REVISION_DATE;
|
|
3944
|
+
const runs = [];
|
|
3945
|
+
for (const segment of revision.segments) {
|
|
3946
|
+
if (!segment.text) continue;
|
|
3947
|
+
const text = normalizeUnicodeText(segment.text);
|
|
3948
|
+
if (segment.type === "insert") {
|
|
3949
|
+
runs.push(
|
|
3950
|
+
...segmentRuns(
|
|
3951
|
+
text,
|
|
3952
|
+
(options) => new InsertedTextRun({
|
|
3953
|
+
...options,
|
|
3954
|
+
...baseStyle,
|
|
3955
|
+
id: globalRevisionIdRegistry.next(),
|
|
3956
|
+
author,
|
|
3957
|
+
date
|
|
3958
|
+
})
|
|
3959
|
+
)
|
|
3960
|
+
);
|
|
3961
|
+
} else if (segment.type === "delete") {
|
|
3962
|
+
runs.push(
|
|
3963
|
+
...segmentRuns(
|
|
3964
|
+
text,
|
|
3965
|
+
(options) => new DeletedTextRun({
|
|
3966
|
+
...options,
|
|
3967
|
+
...baseStyle,
|
|
3968
|
+
id: globalRevisionIdRegistry.next(),
|
|
3969
|
+
author,
|
|
3970
|
+
date
|
|
3971
|
+
})
|
|
3972
|
+
)
|
|
3973
|
+
);
|
|
3974
|
+
} else if (PLACEHOLDER_PATTERN.test(text)) {
|
|
3975
|
+
runs.push(
|
|
3976
|
+
...processTextWithPlaceholders(text, baseStyle, {})
|
|
3977
|
+
);
|
|
3978
|
+
} else {
|
|
3979
|
+
runs.push(
|
|
3980
|
+
...segmentRuns(
|
|
3981
|
+
text,
|
|
3982
|
+
(options) => new TextRun3({ ...options, ...baseStyle })
|
|
3983
|
+
)
|
|
3984
|
+
);
|
|
3985
|
+
}
|
|
3986
|
+
}
|
|
3987
|
+
return runs;
|
|
3988
|
+
}
|
|
3989
|
+
function componentHasRevision(component) {
|
|
3990
|
+
const props = component.props;
|
|
3991
|
+
if (props) {
|
|
3992
|
+
if (props.revision) return true;
|
|
3993
|
+
const items = props.items;
|
|
3994
|
+
if (Array.isArray(items)) {
|
|
3995
|
+
if (items.some(
|
|
3996
|
+
(item) => typeof item === "object" && item !== null && "revision" in item && item.revision
|
|
3997
|
+
)) {
|
|
3998
|
+
return true;
|
|
3999
|
+
}
|
|
4000
|
+
}
|
|
4001
|
+
}
|
|
4002
|
+
const children = component.children;
|
|
4003
|
+
if (Array.isArray(children)) {
|
|
4004
|
+
return children.some(
|
|
4005
|
+
(child) => typeof child === "object" && child !== null && componentHasRevision(child)
|
|
4006
|
+
);
|
|
4007
|
+
}
|
|
4008
|
+
return false;
|
|
4009
|
+
}
|
|
4010
|
+
|
|
3917
4011
|
// src/core/cached-render.ts
|
|
3918
4012
|
import { createHash as createHash2 } from "crypto";
|
|
3919
4013
|
var componentCache = null;
|
|
@@ -3961,7 +4055,7 @@ async function clearComponentCache() {
|
|
|
3961
4055
|
}
|
|
3962
4056
|
}
|
|
3963
4057
|
async function renderComponentWithCache(component, theme, themeName, context, bypassCache = false) {
|
|
3964
|
-
const forceBypassForType = component.name === "toc" || component.name === "section";
|
|
4058
|
+
const forceBypassForType = component.name === "toc" || component.name === "section" || componentHasRevision(component);
|
|
3965
4059
|
if (!componentCache) {
|
|
3966
4060
|
initializeComponentCache();
|
|
3967
4061
|
}
|
|
@@ -4002,7 +4096,13 @@ async function warmComponentCache(components) {
|
|
|
4002
4096
|
}
|
|
4003
4097
|
const warmingPromises = components.map(
|
|
4004
4098
|
async ({ component, theme, themeName, context }) => {
|
|
4005
|
-
await renderComponentWithCache(
|
|
4099
|
+
await renderComponentWithCache(
|
|
4100
|
+
component,
|
|
4101
|
+
theme,
|
|
4102
|
+
themeName,
|
|
4103
|
+
context,
|
|
4104
|
+
false
|
|
4105
|
+
);
|
|
4006
4106
|
}
|
|
4007
4107
|
);
|
|
4008
4108
|
await Promise.all(warmingPromises);
|
|
@@ -4017,7 +4117,7 @@ function getComponentCacheStats() {
|
|
|
4017
4117
|
// src/core/content.ts
|
|
4018
4118
|
import {
|
|
4019
4119
|
Paragraph,
|
|
4020
|
-
TextRun as
|
|
4120
|
+
TextRun as TextRun4,
|
|
4021
4121
|
Table,
|
|
4022
4122
|
TableRow,
|
|
4023
4123
|
TableCell,
|
|
@@ -4167,24 +4267,43 @@ function createText(content, theme, themeName, options = {}) {
|
|
|
4167
4267
|
underline: options.underline ? { type: "single" } : void 0
|
|
4168
4268
|
}
|
|
4169
4269
|
};
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4270
|
+
if (options.revision) {
|
|
4271
|
+
const revisionRuns = createRevisionRuns(options.revision, baseTextStyle);
|
|
4272
|
+
if (options.bookmarkId) {
|
|
4273
|
+
globalBookmarkRegistry.register(
|
|
4274
|
+
options.bookmarkId,
|
|
4275
|
+
normalizedContent,
|
|
4276
|
+
"paragraph"
|
|
4277
|
+
);
|
|
4278
|
+
children.push(
|
|
4279
|
+
new Bookmark({
|
|
4280
|
+
id: options.bookmarkId,
|
|
4281
|
+
children: revisionRuns
|
|
4282
|
+
})
|
|
4283
|
+
);
|
|
4284
|
+
} else {
|
|
4285
|
+
children.push(...revisionRuns);
|
|
4286
|
+
}
|
|
4186
4287
|
} else {
|
|
4187
|
-
|
|
4288
|
+
const textRuns = parseTextWithDecorators(normalizedContent, baseTextStyle, {
|
|
4289
|
+
boldColor: options.boldColor,
|
|
4290
|
+
enableHyperlinks: true
|
|
4291
|
+
});
|
|
4292
|
+
if (options.bookmarkId) {
|
|
4293
|
+
globalBookmarkRegistry.register(
|
|
4294
|
+
options.bookmarkId,
|
|
4295
|
+
normalizedContent,
|
|
4296
|
+
"paragraph"
|
|
4297
|
+
);
|
|
4298
|
+
children.push(
|
|
4299
|
+
new Bookmark({
|
|
4300
|
+
id: options.bookmarkId,
|
|
4301
|
+
children: textRuns
|
|
4302
|
+
})
|
|
4303
|
+
);
|
|
4304
|
+
} else {
|
|
4305
|
+
children.push(...textRuns);
|
|
4306
|
+
}
|
|
4188
4307
|
}
|
|
4189
4308
|
const isFloating = !!options.floating;
|
|
4190
4309
|
const frameOptions = isFloating && options.floating ? mapFrameOptions(options.floating, theme, themeName) : void 0;
|
|
@@ -4305,7 +4424,24 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4305
4424
|
underline: options.underline ? { type: "single" } : void 0
|
|
4306
4425
|
}
|
|
4307
4426
|
};
|
|
4308
|
-
if (options.
|
|
4427
|
+
if (options.revision) {
|
|
4428
|
+
const revisionRuns = createRevisionRuns(options.revision, baseTextStyle);
|
|
4429
|
+
if (options.bookmarkId) {
|
|
4430
|
+
globalBookmarkRegistry.register(
|
|
4431
|
+
options.bookmarkId,
|
|
4432
|
+
normalizedText,
|
|
4433
|
+
"heading"
|
|
4434
|
+
);
|
|
4435
|
+
children.push(
|
|
4436
|
+
new Bookmark({
|
|
4437
|
+
id: options.bookmarkId,
|
|
4438
|
+
children: revisionRuns
|
|
4439
|
+
})
|
|
4440
|
+
);
|
|
4441
|
+
} else {
|
|
4442
|
+
children.push(...revisionRuns);
|
|
4443
|
+
}
|
|
4444
|
+
} else if (options.bookmarkId) {
|
|
4309
4445
|
globalBookmarkRegistry.register(
|
|
4310
4446
|
options.bookmarkId,
|
|
4311
4447
|
normalizedText,
|
|
@@ -4320,7 +4456,7 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4320
4456
|
headingTextChildren.push(...textRuns);
|
|
4321
4457
|
} else {
|
|
4322
4458
|
headingTextChildren.push(
|
|
4323
|
-
new
|
|
4459
|
+
new TextRun4({ text: normalizedText, ...baseTextStyle })
|
|
4324
4460
|
);
|
|
4325
4461
|
}
|
|
4326
4462
|
children.push(
|
|
@@ -4337,7 +4473,7 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4337
4473
|
});
|
|
4338
4474
|
children.push(...textRuns);
|
|
4339
4475
|
} else {
|
|
4340
|
-
children.push(new
|
|
4476
|
+
children.push(new TextRun4({ text: normalizedText, ...baseTextStyle }));
|
|
4341
4477
|
}
|
|
4342
4478
|
}
|
|
4343
4479
|
return new Paragraph({
|
|
@@ -4477,10 +4613,11 @@ function createList(items, _theme, _themeName, options = {}) {
|
|
|
4477
4613
|
items.forEach((item, index) => {
|
|
4478
4614
|
const itemText = typeof item === "string" ? item : item.text;
|
|
4479
4615
|
const itemLevel = typeof item === "object" ? item.level || 0 : 0;
|
|
4480
|
-
|
|
4616
|
+
const itemRevision = typeof item === "object" ? item.revision : void 0;
|
|
4617
|
+
if (!itemText.trim() && !itemRevision) {
|
|
4481
4618
|
return;
|
|
4482
4619
|
}
|
|
4483
|
-
const textRuns = parseTextWithDecorators(
|
|
4620
|
+
const textRuns = itemRevision ? createRevisionRuns(itemRevision, {}) : parseTextWithDecorators(
|
|
4484
4621
|
itemText,
|
|
4485
4622
|
{},
|
|
4486
4623
|
{
|
|
@@ -4893,7 +5030,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
4893
5030
|
} catch (error) {
|
|
4894
5031
|
const imageSource = imageComp.props.base64 || imageComp.props.path || "unknown";
|
|
4895
5032
|
cellChildren = [
|
|
4896
|
-
new
|
|
5033
|
+
new TextRun4({
|
|
4897
5034
|
text: `[IMAGE: ${imageSource.substring(0, 50)}${imageSource.length > 50 ? "..." : ""}]`,
|
|
4898
5035
|
font: mergedStyle.font,
|
|
4899
5036
|
size: mergedStyle.size,
|
|
@@ -4903,7 +5040,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
4903
5040
|
}
|
|
4904
5041
|
} else {
|
|
4905
5042
|
cellChildren = [
|
|
4906
|
-
new
|
|
5043
|
+
new TextRun4({
|
|
4907
5044
|
text: `[Unsupported component type: ${cell.name}]`,
|
|
4908
5045
|
font: mergedStyle.font,
|
|
4909
5046
|
size: mergedStyle.size,
|
|
@@ -5300,7 +5437,9 @@ function renderHeadingComponent(component, theme, themeName) {
|
|
|
5300
5437
|
keepNext: config.keepNext,
|
|
5301
5438
|
keepLines: config.keepLines,
|
|
5302
5439
|
// Bookmark ID for internal linking
|
|
5303
|
-
bookmarkId
|
|
5440
|
+
bookmarkId,
|
|
5441
|
+
// Tracked-change segments (rendered as native Word revisions)
|
|
5442
|
+
revision: config.revision
|
|
5304
5443
|
}
|
|
5305
5444
|
);
|
|
5306
5445
|
return [header];
|
|
@@ -5344,7 +5483,7 @@ function parseMarkdownList(text) {
|
|
|
5344
5483
|
function renderParagraphComponent(component, theme, themeName) {
|
|
5345
5484
|
if (!isParagraphComponent(component)) return [];
|
|
5346
5485
|
const resolvedConfig = component.props;
|
|
5347
|
-
const listData = parseMarkdownList(resolvedConfig.text);
|
|
5486
|
+
const listData = resolvedConfig.revision ? null : parseMarkdownList(resolvedConfig.text);
|
|
5348
5487
|
if (listData) {
|
|
5349
5488
|
const reference = globalNumberingRegistry.generateReference("markdown-list");
|
|
5350
5489
|
const levels = [];
|
|
@@ -5421,7 +5560,9 @@ function renderParagraphComponent(component, theme, themeName) {
|
|
|
5421
5560
|
// Pass keepLines property
|
|
5422
5561
|
keepLines: resolvedConfig.keepLines,
|
|
5423
5562
|
// Pass bookmark ID for internal linking
|
|
5424
|
-
bookmarkId: resolvedConfig.id
|
|
5563
|
+
bookmarkId: resolvedConfig.id,
|
|
5564
|
+
// Tracked-change segments (rendered as native Word revisions)
|
|
5565
|
+
revision: resolvedConfig.revision
|
|
5425
5566
|
});
|
|
5426
5567
|
return [text];
|
|
5427
5568
|
}
|
|
@@ -6051,7 +6192,7 @@ import {
|
|
|
6051
6192
|
Paragraph as Paragraph6,
|
|
6052
6193
|
TableOfContents,
|
|
6053
6194
|
AlignmentType as AlignmentType4,
|
|
6054
|
-
TextRun as
|
|
6195
|
+
TextRun as TextRun5,
|
|
6055
6196
|
StyleLevel
|
|
6056
6197
|
} from "docx";
|
|
6057
6198
|
function parseDepthRange(rawDepth, fieldName, defaultFrom = 1, defaultTo = 3) {
|
|
@@ -6106,7 +6247,7 @@ function renderTocComponent(component, theme, context) {
|
|
|
6106
6247
|
paragraphs.push(
|
|
6107
6248
|
new Paragraph6({
|
|
6108
6249
|
children: [
|
|
6109
|
-
new
|
|
6250
|
+
new TextRun5({
|
|
6110
6251
|
text: componentProps.title,
|
|
6111
6252
|
bold: true,
|
|
6112
6253
|
size: 28
|
|
@@ -6411,8 +6552,10 @@ async function renderDocument(structure, layout, options) {
|
|
|
6411
6552
|
styles: createWordStyles(structure.theme),
|
|
6412
6553
|
sections,
|
|
6413
6554
|
features: {
|
|
6414
|
-
updateFields: true
|
|
6555
|
+
updateFields: true,
|
|
6415
6556
|
// Required for TOC fields to update correctly
|
|
6557
|
+
// Word opens the document in review mode (further edits are tracked)
|
|
6558
|
+
...structure.trackRevisions && { trackRevisions: true }
|
|
6416
6559
|
},
|
|
6417
6560
|
// Add numbering configurations if any lists were rendered
|
|
6418
6561
|
...numberingConfigs.length > 0 && {
|
|
@@ -6457,7 +6600,7 @@ async function renderHeaderFooterComponents(components, theme, themeName, _conte
|
|
|
6457
6600
|
elements.push(
|
|
6458
6601
|
new Paragraph7({
|
|
6459
6602
|
children: [
|
|
6460
|
-
new
|
|
6603
|
+
new TextRun6({
|
|
6461
6604
|
text: "[IMAGE: Missing path or base64 property]",
|
|
6462
6605
|
font: getThemeFonts(theme).body.family,
|
|
6463
6606
|
size: 20,
|
|
@@ -6539,7 +6682,7 @@ async function renderHeaderFooterComponents(components, theme, themeName, _conte
|
|
|
6539
6682
|
elements.push(
|
|
6540
6683
|
new Paragraph7({
|
|
6541
6684
|
children: [
|
|
6542
|
-
new
|
|
6685
|
+
new TextRun6({
|
|
6543
6686
|
text: `[IMAGE: ${imageComp.props.path}]`,
|
|
6544
6687
|
font: getThemeFonts(theme).body.family,
|
|
6545
6688
|
size: 20,
|