@json-to-office/core-docx 0.13.0 → 0.15.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 +199 -40
- package/dist/index.js.map +1 -1
- package/dist/plugin/example/index.js +192 -39
- package/dist/plugin/example/index.js.map +1 -1
- package/dist/styles/utils/layoutUtils.d.ts +16 -0
- package/dist/styles/utils/layoutUtils.d.ts.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: {
|
|
@@ -856,12 +856,20 @@ function getPageDimensions(size) {
|
|
|
856
856
|
}
|
|
857
857
|
return size;
|
|
858
858
|
}
|
|
859
|
-
var PAGE_SIZES, getTableStyle, getDocumentMargins, getPageSetup;
|
|
859
|
+
var resolveTableParagraphSpacing, PAGE_SIZES, getTableStyle, getDocumentMargins, getPageSetup;
|
|
860
860
|
var init_layoutUtils = __esm({
|
|
861
861
|
"src/styles/utils/layoutUtils.ts"() {
|
|
862
862
|
"use strict";
|
|
863
863
|
init_colorUtils();
|
|
864
864
|
init_styleHelpers();
|
|
865
|
+
resolveTableParagraphSpacing = (style) => {
|
|
866
|
+
const lineSpacing = convertLineSpacing(style?.lineSpacing) ?? convertLineSpacing({ type: "single" });
|
|
867
|
+
return {
|
|
868
|
+
before: style?.spacing?.before !== void 0 ? pointsToTwips(style.spacing.before) : 0,
|
|
869
|
+
after: style?.spacing?.after !== void 0 ? pointsToTwips(style.spacing.after) : 0,
|
|
870
|
+
...lineSpacing
|
|
871
|
+
};
|
|
872
|
+
};
|
|
865
873
|
PAGE_SIZES = {
|
|
866
874
|
A4: { width: 11906, height: 16838 },
|
|
867
875
|
A3: { width: 16838, height: 23811 },
|
|
@@ -872,7 +880,10 @@ var init_layoutUtils = __esm({
|
|
|
872
880
|
const themeConfig = resolveTheme(theme, themeName);
|
|
873
881
|
if (themeConfig && themeConfig.styles?.normal) {
|
|
874
882
|
const normalStyle = themeConfig.styles.normal;
|
|
883
|
+
const styles = themeConfig.styles;
|
|
875
884
|
return {
|
|
885
|
+
cellParagraph: resolveTableParagraphSpacing(styles.tableCell),
|
|
886
|
+
headerParagraph: resolveTableParagraphSpacing(styles.tableHeader),
|
|
876
887
|
tableHeader: {
|
|
877
888
|
fill: resolveColor(
|
|
878
889
|
themeConfig.colors?.primary || "#000000",
|
|
@@ -938,6 +949,8 @@ var init_layoutUtils = __esm({
|
|
|
938
949
|
};
|
|
939
950
|
}
|
|
940
951
|
return {
|
|
952
|
+
cellParagraph: resolveTableParagraphSpacing(),
|
|
953
|
+
headerParagraph: resolveTableParagraphSpacing(),
|
|
941
954
|
tableHeader: {
|
|
942
955
|
fill: "000000",
|
|
943
956
|
color: "FFFFFF",
|
|
@@ -2122,7 +2135,8 @@ async function processDocument(document, theme, themeName) {
|
|
|
2122
2135
|
metadata,
|
|
2123
2136
|
sections,
|
|
2124
2137
|
theme: effectiveTheme,
|
|
2125
|
-
themeName
|
|
2138
|
+
themeName,
|
|
2139
|
+
trackRevisions: document.props.trackRevisions
|
|
2126
2140
|
};
|
|
2127
2141
|
}
|
|
2128
2142
|
function createDocumentMetadata(props) {
|
|
@@ -2581,7 +2595,7 @@ Suggestion: ${suggestion}`
|
|
|
2581
2595
|
import {
|
|
2582
2596
|
Document,
|
|
2583
2597
|
Paragraph as Paragraph7,
|
|
2584
|
-
TextRun as
|
|
2598
|
+
TextRun as TextRun6,
|
|
2585
2599
|
AlignmentType as AlignmentType5,
|
|
2586
2600
|
BookmarkStart as BookmarkStart2,
|
|
2587
2601
|
BookmarkEnd as BookmarkEnd2
|
|
@@ -3914,6 +3928,99 @@ var CacheKeyGenerator = class {
|
|
|
3914
3928
|
}
|
|
3915
3929
|
};
|
|
3916
3930
|
|
|
3931
|
+
// src/utils/revisionUtils.ts
|
|
3932
|
+
import { TextRun as TextRun3, InsertedTextRun, DeletedTextRun } from "docx";
|
|
3933
|
+
var DEFAULT_REVISION_AUTHOR = "json-to-office";
|
|
3934
|
+
var DEFAULT_REVISION_DATE = "1970-01-01T00:00:00Z";
|
|
3935
|
+
var RevisionIdRegistry = class {
|
|
3936
|
+
counter = 0;
|
|
3937
|
+
next() {
|
|
3938
|
+
this.counter += 1;
|
|
3939
|
+
return this.counter;
|
|
3940
|
+
}
|
|
3941
|
+
/** Test-only: deterministic ids for snapshot assertions. */
|
|
3942
|
+
clear() {
|
|
3943
|
+
this.counter = 0;
|
|
3944
|
+
}
|
|
3945
|
+
};
|
|
3946
|
+
var globalRevisionIdRegistry = new RevisionIdRegistry();
|
|
3947
|
+
var PLACEHOLDER_PATTERN = /\{[^}]+\}/;
|
|
3948
|
+
function segmentRuns(text, makeRun) {
|
|
3949
|
+
const lines = text.split("\n");
|
|
3950
|
+
return lines.map(
|
|
3951
|
+
(line, index) => makeRun(index === 0 ? { text: line } : { text: line, break: 1 })
|
|
3952
|
+
);
|
|
3953
|
+
}
|
|
3954
|
+
function createRevisionRuns(revision, baseStyle) {
|
|
3955
|
+
const author = revision.author || DEFAULT_REVISION_AUTHOR;
|
|
3956
|
+
const date = revision.date || DEFAULT_REVISION_DATE;
|
|
3957
|
+
const runs = [];
|
|
3958
|
+
for (const segment of revision.segments) {
|
|
3959
|
+
if (!segment.text) continue;
|
|
3960
|
+
const text = normalizeUnicodeText(segment.text);
|
|
3961
|
+
if (segment.type === "insert") {
|
|
3962
|
+
runs.push(
|
|
3963
|
+
...segmentRuns(
|
|
3964
|
+
text,
|
|
3965
|
+
(options) => new InsertedTextRun({
|
|
3966
|
+
...options,
|
|
3967
|
+
...baseStyle,
|
|
3968
|
+
id: globalRevisionIdRegistry.next(),
|
|
3969
|
+
author,
|
|
3970
|
+
date
|
|
3971
|
+
})
|
|
3972
|
+
)
|
|
3973
|
+
);
|
|
3974
|
+
} else if (segment.type === "delete") {
|
|
3975
|
+
runs.push(
|
|
3976
|
+
...segmentRuns(
|
|
3977
|
+
text,
|
|
3978
|
+
(options) => new DeletedTextRun({
|
|
3979
|
+
...options,
|
|
3980
|
+
...baseStyle,
|
|
3981
|
+
id: globalRevisionIdRegistry.next(),
|
|
3982
|
+
author,
|
|
3983
|
+
date
|
|
3984
|
+
})
|
|
3985
|
+
)
|
|
3986
|
+
);
|
|
3987
|
+
} else if (PLACEHOLDER_PATTERN.test(text)) {
|
|
3988
|
+
runs.push(
|
|
3989
|
+
...processTextWithPlaceholders(text, baseStyle, {})
|
|
3990
|
+
);
|
|
3991
|
+
} else {
|
|
3992
|
+
runs.push(
|
|
3993
|
+
...segmentRuns(
|
|
3994
|
+
text,
|
|
3995
|
+
(options) => new TextRun3({ ...options, ...baseStyle })
|
|
3996
|
+
)
|
|
3997
|
+
);
|
|
3998
|
+
}
|
|
3999
|
+
}
|
|
4000
|
+
return runs;
|
|
4001
|
+
}
|
|
4002
|
+
function componentHasRevision(component) {
|
|
4003
|
+
const props = component.props;
|
|
4004
|
+
if (props) {
|
|
4005
|
+
if (props.revision) return true;
|
|
4006
|
+
const items = props.items;
|
|
4007
|
+
if (Array.isArray(items)) {
|
|
4008
|
+
if (items.some(
|
|
4009
|
+
(item) => typeof item === "object" && item !== null && "revision" in item && item.revision
|
|
4010
|
+
)) {
|
|
4011
|
+
return true;
|
|
4012
|
+
}
|
|
4013
|
+
}
|
|
4014
|
+
}
|
|
4015
|
+
const children = component.children;
|
|
4016
|
+
if (Array.isArray(children)) {
|
|
4017
|
+
return children.some(
|
|
4018
|
+
(child) => typeof child === "object" && child !== null && componentHasRevision(child)
|
|
4019
|
+
);
|
|
4020
|
+
}
|
|
4021
|
+
return false;
|
|
4022
|
+
}
|
|
4023
|
+
|
|
3917
4024
|
// src/core/cached-render.ts
|
|
3918
4025
|
import { createHash as createHash2 } from "crypto";
|
|
3919
4026
|
var componentCache = null;
|
|
@@ -3961,7 +4068,7 @@ async function clearComponentCache() {
|
|
|
3961
4068
|
}
|
|
3962
4069
|
}
|
|
3963
4070
|
async function renderComponentWithCache(component, theme, themeName, context, bypassCache = false) {
|
|
3964
|
-
const forceBypassForType = component.name === "toc" || component.name === "section";
|
|
4071
|
+
const forceBypassForType = component.name === "toc" || component.name === "section" || componentHasRevision(component);
|
|
3965
4072
|
if (!componentCache) {
|
|
3966
4073
|
initializeComponentCache();
|
|
3967
4074
|
}
|
|
@@ -4002,7 +4109,13 @@ async function warmComponentCache(components) {
|
|
|
4002
4109
|
}
|
|
4003
4110
|
const warmingPromises = components.map(
|
|
4004
4111
|
async ({ component, theme, themeName, context }) => {
|
|
4005
|
-
await renderComponentWithCache(
|
|
4112
|
+
await renderComponentWithCache(
|
|
4113
|
+
component,
|
|
4114
|
+
theme,
|
|
4115
|
+
themeName,
|
|
4116
|
+
context,
|
|
4117
|
+
false
|
|
4118
|
+
);
|
|
4006
4119
|
}
|
|
4007
4120
|
);
|
|
4008
4121
|
await Promise.all(warmingPromises);
|
|
@@ -4017,7 +4130,7 @@ function getComponentCacheStats() {
|
|
|
4017
4130
|
// src/core/content.ts
|
|
4018
4131
|
import {
|
|
4019
4132
|
Paragraph,
|
|
4020
|
-
TextRun as
|
|
4133
|
+
TextRun as TextRun4,
|
|
4021
4134
|
Table,
|
|
4022
4135
|
TableRow,
|
|
4023
4136
|
TableCell,
|
|
@@ -4167,24 +4280,43 @@ function createText(content, theme, themeName, options = {}) {
|
|
|
4167
4280
|
underline: options.underline ? { type: "single" } : void 0
|
|
4168
4281
|
}
|
|
4169
4282
|
};
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4283
|
+
if (options.revision) {
|
|
4284
|
+
const revisionRuns = createRevisionRuns(options.revision, baseTextStyle);
|
|
4285
|
+
if (options.bookmarkId) {
|
|
4286
|
+
globalBookmarkRegistry.register(
|
|
4287
|
+
options.bookmarkId,
|
|
4288
|
+
normalizedContent,
|
|
4289
|
+
"paragraph"
|
|
4290
|
+
);
|
|
4291
|
+
children.push(
|
|
4292
|
+
new Bookmark({
|
|
4293
|
+
id: options.bookmarkId,
|
|
4294
|
+
children: revisionRuns
|
|
4295
|
+
})
|
|
4296
|
+
);
|
|
4297
|
+
} else {
|
|
4298
|
+
children.push(...revisionRuns);
|
|
4299
|
+
}
|
|
4186
4300
|
} else {
|
|
4187
|
-
|
|
4301
|
+
const textRuns = parseTextWithDecorators(normalizedContent, baseTextStyle, {
|
|
4302
|
+
boldColor: options.boldColor,
|
|
4303
|
+
enableHyperlinks: true
|
|
4304
|
+
});
|
|
4305
|
+
if (options.bookmarkId) {
|
|
4306
|
+
globalBookmarkRegistry.register(
|
|
4307
|
+
options.bookmarkId,
|
|
4308
|
+
normalizedContent,
|
|
4309
|
+
"paragraph"
|
|
4310
|
+
);
|
|
4311
|
+
children.push(
|
|
4312
|
+
new Bookmark({
|
|
4313
|
+
id: options.bookmarkId,
|
|
4314
|
+
children: textRuns
|
|
4315
|
+
})
|
|
4316
|
+
);
|
|
4317
|
+
} else {
|
|
4318
|
+
children.push(...textRuns);
|
|
4319
|
+
}
|
|
4188
4320
|
}
|
|
4189
4321
|
const isFloating = !!options.floating;
|
|
4190
4322
|
const frameOptions = isFloating && options.floating ? mapFrameOptions(options.floating, theme, themeName) : void 0;
|
|
@@ -4305,7 +4437,24 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4305
4437
|
underline: options.underline ? { type: "single" } : void 0
|
|
4306
4438
|
}
|
|
4307
4439
|
};
|
|
4308
|
-
if (options.
|
|
4440
|
+
if (options.revision) {
|
|
4441
|
+
const revisionRuns = createRevisionRuns(options.revision, baseTextStyle);
|
|
4442
|
+
if (options.bookmarkId) {
|
|
4443
|
+
globalBookmarkRegistry.register(
|
|
4444
|
+
options.bookmarkId,
|
|
4445
|
+
normalizedText,
|
|
4446
|
+
"heading"
|
|
4447
|
+
);
|
|
4448
|
+
children.push(
|
|
4449
|
+
new Bookmark({
|
|
4450
|
+
id: options.bookmarkId,
|
|
4451
|
+
children: revisionRuns
|
|
4452
|
+
})
|
|
4453
|
+
);
|
|
4454
|
+
} else {
|
|
4455
|
+
children.push(...revisionRuns);
|
|
4456
|
+
}
|
|
4457
|
+
} else if (options.bookmarkId) {
|
|
4309
4458
|
globalBookmarkRegistry.register(
|
|
4310
4459
|
options.bookmarkId,
|
|
4311
4460
|
normalizedText,
|
|
@@ -4320,7 +4469,7 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4320
4469
|
headingTextChildren.push(...textRuns);
|
|
4321
4470
|
} else {
|
|
4322
4471
|
headingTextChildren.push(
|
|
4323
|
-
new
|
|
4472
|
+
new TextRun4({ text: normalizedText, ...baseTextStyle })
|
|
4324
4473
|
);
|
|
4325
4474
|
}
|
|
4326
4475
|
children.push(
|
|
@@ -4337,7 +4486,7 @@ function createHeading(text, level, theme, _themeName, options = {}) {
|
|
|
4337
4486
|
});
|
|
4338
4487
|
children.push(...textRuns);
|
|
4339
4488
|
} else {
|
|
4340
|
-
children.push(new
|
|
4489
|
+
children.push(new TextRun4({ text: normalizedText, ...baseTextStyle }));
|
|
4341
4490
|
}
|
|
4342
4491
|
}
|
|
4343
4492
|
return new Paragraph({
|
|
@@ -4477,10 +4626,11 @@ function createList(items, _theme, _themeName, options = {}) {
|
|
|
4477
4626
|
items.forEach((item, index) => {
|
|
4478
4627
|
const itemText = typeof item === "string" ? item : item.text;
|
|
4479
4628
|
const itemLevel = typeof item === "object" ? item.level || 0 : 0;
|
|
4480
|
-
|
|
4629
|
+
const itemRevision = typeof item === "object" ? item.revision : void 0;
|
|
4630
|
+
if (!itemText.trim() && !itemRevision) {
|
|
4481
4631
|
return;
|
|
4482
4632
|
}
|
|
4483
|
-
const textRuns = parseTextWithDecorators(
|
|
4633
|
+
const textRuns = itemRevision ? createRevisionRuns(itemRevision, {}) : parseTextWithDecorators(
|
|
4484
4634
|
itemText,
|
|
4485
4635
|
{},
|
|
4486
4636
|
{
|
|
@@ -4893,7 +5043,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
4893
5043
|
} catch (error) {
|
|
4894
5044
|
const imageSource = imageComp.props.base64 || imageComp.props.path || "unknown";
|
|
4895
5045
|
cellChildren = [
|
|
4896
|
-
new
|
|
5046
|
+
new TextRun4({
|
|
4897
5047
|
text: `[IMAGE: ${imageSource.substring(0, 50)}${imageSource.length > 50 ? "..." : ""}]`,
|
|
4898
5048
|
font: mergedStyle.font,
|
|
4899
5049
|
size: mergedStyle.size,
|
|
@@ -4903,7 +5053,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
4903
5053
|
}
|
|
4904
5054
|
} else {
|
|
4905
5055
|
cellChildren = [
|
|
4906
|
-
new
|
|
5056
|
+
new TextRun4({
|
|
4907
5057
|
text: `[Unsupported component type: ${cell.name}]`,
|
|
4908
5058
|
font: mergedStyle.font,
|
|
4909
5059
|
size: mergedStyle.size,
|
|
@@ -4982,6 +5132,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
4982
5132
|
children: [
|
|
4983
5133
|
new Paragraph({
|
|
4984
5134
|
...tableConfig.keepInOnePage && { keepNext: true },
|
|
5135
|
+
spacing: tableStyle.headerParagraph,
|
|
4985
5136
|
alignment: getAlignment(horizontalAlignment),
|
|
4986
5137
|
children: cellChildren
|
|
4987
5138
|
})
|
|
@@ -5076,6 +5227,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
5076
5227
|
children: [
|
|
5077
5228
|
new Paragraph({
|
|
5078
5229
|
...tableConfig.keepInOnePage && !isLastRow || isLastRow && tableConfig.keepNext ? { keepNext: true } : {},
|
|
5230
|
+
spacing: tableStyle.cellParagraph,
|
|
5079
5231
|
alignment: AlignmentType2.LEFT,
|
|
5080
5232
|
children: []
|
|
5081
5233
|
})
|
|
@@ -5151,6 +5303,7 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
|
|
|
5151
5303
|
children: [
|
|
5152
5304
|
new Paragraph({
|
|
5153
5305
|
...tableConfig.keepInOnePage && !isLastRow || isLastRow && tableConfig.keepNext ? { keepNext: true } : {},
|
|
5306
|
+
spacing: tableStyle.cellParagraph,
|
|
5154
5307
|
alignment: getAlignment(horizontalAlignment),
|
|
5155
5308
|
children: cellChildren
|
|
5156
5309
|
})
|
|
@@ -5300,7 +5453,9 @@ function renderHeadingComponent(component, theme, themeName) {
|
|
|
5300
5453
|
keepNext: config.keepNext,
|
|
5301
5454
|
keepLines: config.keepLines,
|
|
5302
5455
|
// Bookmark ID for internal linking
|
|
5303
|
-
bookmarkId
|
|
5456
|
+
bookmarkId,
|
|
5457
|
+
// Tracked-change segments (rendered as native Word revisions)
|
|
5458
|
+
revision: config.revision
|
|
5304
5459
|
}
|
|
5305
5460
|
);
|
|
5306
5461
|
return [header];
|
|
@@ -5344,7 +5499,7 @@ function parseMarkdownList(text) {
|
|
|
5344
5499
|
function renderParagraphComponent(component, theme, themeName) {
|
|
5345
5500
|
if (!isParagraphComponent(component)) return [];
|
|
5346
5501
|
const resolvedConfig = component.props;
|
|
5347
|
-
const listData = parseMarkdownList(resolvedConfig.text);
|
|
5502
|
+
const listData = resolvedConfig.revision ? null : parseMarkdownList(resolvedConfig.text);
|
|
5348
5503
|
if (listData) {
|
|
5349
5504
|
const reference = globalNumberingRegistry.generateReference("markdown-list");
|
|
5350
5505
|
const levels = [];
|
|
@@ -5421,7 +5576,9 @@ function renderParagraphComponent(component, theme, themeName) {
|
|
|
5421
5576
|
// Pass keepLines property
|
|
5422
5577
|
keepLines: resolvedConfig.keepLines,
|
|
5423
5578
|
// Pass bookmark ID for internal linking
|
|
5424
|
-
bookmarkId: resolvedConfig.id
|
|
5579
|
+
bookmarkId: resolvedConfig.id,
|
|
5580
|
+
// Tracked-change segments (rendered as native Word revisions)
|
|
5581
|
+
revision: resolvedConfig.revision
|
|
5425
5582
|
});
|
|
5426
5583
|
return [text];
|
|
5427
5584
|
}
|
|
@@ -6051,7 +6208,7 @@ import {
|
|
|
6051
6208
|
Paragraph as Paragraph6,
|
|
6052
6209
|
TableOfContents,
|
|
6053
6210
|
AlignmentType as AlignmentType4,
|
|
6054
|
-
TextRun as
|
|
6211
|
+
TextRun as TextRun5,
|
|
6055
6212
|
StyleLevel
|
|
6056
6213
|
} from "docx";
|
|
6057
6214
|
function parseDepthRange(rawDepth, fieldName, defaultFrom = 1, defaultTo = 3) {
|
|
@@ -6106,7 +6263,7 @@ function renderTocComponent(component, theme, context) {
|
|
|
6106
6263
|
paragraphs.push(
|
|
6107
6264
|
new Paragraph6({
|
|
6108
6265
|
children: [
|
|
6109
|
-
new
|
|
6266
|
+
new TextRun5({
|
|
6110
6267
|
text: componentProps.title,
|
|
6111
6268
|
bold: true,
|
|
6112
6269
|
size: 28
|
|
@@ -6411,8 +6568,10 @@ async function renderDocument(structure, layout, options) {
|
|
|
6411
6568
|
styles: createWordStyles(structure.theme),
|
|
6412
6569
|
sections,
|
|
6413
6570
|
features: {
|
|
6414
|
-
updateFields: true
|
|
6571
|
+
updateFields: true,
|
|
6415
6572
|
// Required for TOC fields to update correctly
|
|
6573
|
+
// Word opens the document in review mode (further edits are tracked)
|
|
6574
|
+
...structure.trackRevisions && { trackRevisions: true }
|
|
6416
6575
|
},
|
|
6417
6576
|
// Add numbering configurations if any lists were rendered
|
|
6418
6577
|
...numberingConfigs.length > 0 && {
|
|
@@ -6457,7 +6616,7 @@ async function renderHeaderFooterComponents(components, theme, themeName, _conte
|
|
|
6457
6616
|
elements.push(
|
|
6458
6617
|
new Paragraph7({
|
|
6459
6618
|
children: [
|
|
6460
|
-
new
|
|
6619
|
+
new TextRun6({
|
|
6461
6620
|
text: "[IMAGE: Missing path or base64 property]",
|
|
6462
6621
|
font: getThemeFonts(theme).body.family,
|
|
6463
6622
|
size: 20,
|
|
@@ -6539,7 +6698,7 @@ async function renderHeaderFooterComponents(components, theme, themeName, _conte
|
|
|
6539
6698
|
elements.push(
|
|
6540
6699
|
new Paragraph7({
|
|
6541
6700
|
children: [
|
|
6542
|
-
new
|
|
6701
|
+
new TextRun6({
|
|
6543
6702
|
text: `[IMAGE: ${imageComp.props.path}]`,
|
|
6544
6703
|
font: getThemeFonts(theme).body.family,
|
|
6545
6704
|
size: 20,
|