docxmlater 6.3.0 → 6.5.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.
Files changed (130) hide show
  1. package/dist/core/Document.d.ts +11 -0
  2. package/dist/core/Document.d.ts.map +1 -1
  3. package/dist/core/Document.js +44 -8
  4. package/dist/core/Document.js.map +1 -1
  5. package/dist/core/DocumentContent.d.ts +44 -0
  6. package/dist/core/DocumentContent.d.ts.map +1 -0
  7. package/dist/core/DocumentContent.js +202 -0
  8. package/dist/core/DocumentContent.js.map +1 -0
  9. package/dist/core/DocumentFormatting.d.ts +36 -0
  10. package/dist/core/DocumentFormatting.d.ts.map +1 -0
  11. package/dist/core/DocumentFormatting.js +131 -0
  12. package/dist/core/DocumentFormatting.js.map +1 -0
  13. package/dist/core/DocumentGenerator.d.ts +5 -1
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +24 -5
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentMetadata.d.ts +75 -0
  18. package/dist/core/DocumentMetadata.d.ts.map +1 -0
  19. package/dist/core/DocumentMetadata.js +195 -0
  20. package/dist/core/DocumentMetadata.js.map +1 -0
  21. package/dist/core/DocumentParser.d.ts.map +1 -1
  22. package/dist/core/DocumentParser.js +28 -0
  23. package/dist/core/DocumentParser.js.map +1 -1
  24. package/dist/core/DocumentTracking.d.ts +50 -0
  25. package/dist/core/DocumentTracking.d.ts.map +1 -0
  26. package/dist/core/DocumentTracking.js +151 -0
  27. package/dist/core/DocumentTracking.js.map +1 -0
  28. package/dist/core/Relationship.d.ts +3 -3
  29. package/dist/core/Relationship.d.ts.map +1 -1
  30. package/dist/core/Relationship.js +7 -7
  31. package/dist/core/Relationship.js.map +1 -1
  32. package/dist/elements/CommonTypes.d.ts +56 -0
  33. package/dist/elements/CommonTypes.d.ts.map +1 -0
  34. package/dist/elements/CommonTypes.js +79 -0
  35. package/dist/elements/CommonTypes.js.map +1 -0
  36. package/dist/elements/Field.d.ts +4 -0
  37. package/dist/elements/Field.d.ts.map +1 -1
  38. package/dist/elements/Field.js +18 -0
  39. package/dist/elements/Field.js.map +1 -1
  40. package/dist/elements/Image.d.ts +5 -0
  41. package/dist/elements/Image.d.ts.map +1 -1
  42. package/dist/elements/Image.js +29 -0
  43. package/dist/elements/Image.js.map +1 -1
  44. package/dist/elements/Paragraph.d.ts +18 -9
  45. package/dist/elements/Paragraph.d.ts.map +1 -1
  46. package/dist/elements/Paragraph.js +48 -0
  47. package/dist/elements/Paragraph.js.map +1 -1
  48. package/dist/elements/PropertyChangeTypes.d.ts +65 -0
  49. package/dist/elements/PropertyChangeTypes.d.ts.map +1 -0
  50. package/dist/elements/PropertyChangeTypes.js +60 -0
  51. package/dist/elements/PropertyChangeTypes.js.map +1 -0
  52. package/dist/elements/Revision.d.ts +5 -0
  53. package/dist/elements/Revision.d.ts.map +1 -1
  54. package/dist/elements/Revision.js +9 -0
  55. package/dist/elements/Revision.js.map +1 -1
  56. package/dist/elements/RevisionManager.d.ts +18 -0
  57. package/dist/elements/RevisionManager.d.ts.map +1 -1
  58. package/dist/elements/RevisionManager.js +150 -5
  59. package/dist/elements/RevisionManager.js.map +1 -1
  60. package/dist/elements/Run.d.ts +9 -2
  61. package/dist/elements/Run.d.ts.map +1 -1
  62. package/dist/elements/Run.js +91 -2
  63. package/dist/elements/Run.js.map +1 -1
  64. package/dist/elements/Table.d.ts +7 -6
  65. package/dist/elements/Table.d.ts.map +1 -1
  66. package/dist/elements/Table.js.map +1 -1
  67. package/dist/elements/TableCell.d.ts +4 -2
  68. package/dist/elements/TableCell.d.ts.map +1 -1
  69. package/dist/elements/TableCell.js +16 -0
  70. package/dist/elements/TableCell.js.map +1 -1
  71. package/dist/elements/TableRow.d.ts +9 -2
  72. package/dist/elements/TableRow.d.ts.map +1 -1
  73. package/dist/elements/TableRow.js +26 -0
  74. package/dist/elements/TableRow.js.map +1 -1
  75. package/dist/formatting/NumberingLevel.d.ts +6 -1
  76. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  77. package/dist/formatting/NumberingLevel.js +23 -2
  78. package/dist/formatting/NumberingLevel.js.map +1 -1
  79. package/dist/index.d.ts +12 -5
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +45 -3
  82. package/dist/index.js.map +1 -1
  83. package/dist/managers/DrawingManager.d.ts +4 -0
  84. package/dist/managers/DrawingManager.d.ts.map +1 -1
  85. package/dist/managers/DrawingManager.js +33 -28
  86. package/dist/managers/DrawingManager.js.map +1 -1
  87. package/dist/utils/ChangelogGenerator.d.ts +24 -0
  88. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  89. package/dist/utils/ChangelogGenerator.js +379 -5
  90. package/dist/utils/ChangelogGenerator.js.map +1 -1
  91. package/dist/utils/logger.d.ts +10 -1
  92. package/dist/utils/logger.d.ts.map +1 -1
  93. package/dist/utils/logger.js +86 -8
  94. package/dist/utils/logger.js.map +1 -1
  95. package/dist/validation/RevisionAutoFixer.d.ts +16 -0
  96. package/dist/validation/RevisionAutoFixer.d.ts.map +1 -0
  97. package/dist/validation/RevisionAutoFixer.js +344 -0
  98. package/dist/validation/RevisionAutoFixer.js.map +1 -0
  99. package/dist/validation/RevisionValidator.d.ts +18 -0
  100. package/dist/validation/RevisionValidator.d.ts.map +1 -0
  101. package/dist/validation/RevisionValidator.js +246 -0
  102. package/dist/validation/RevisionValidator.js.map +1 -0
  103. package/dist/validation/ValidationRules.d.ts +139 -0
  104. package/dist/validation/ValidationRules.d.ts.map +1 -0
  105. package/dist/validation/ValidationRules.js +99 -0
  106. package/dist/validation/ValidationRules.js.map +1 -0
  107. package/dist/validation/index.d.ts +4 -0
  108. package/dist/validation/index.d.ts.map +1 -0
  109. package/dist/validation/index.js +14 -0
  110. package/dist/validation/index.js.map +1 -0
  111. package/dist/xml/XMLBuilder.d.ts +1 -0
  112. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  113. package/dist/xml/XMLBuilder.js +25 -23
  114. package/dist/xml/XMLBuilder.js.map +1 -1
  115. package/dist/xml/XMLParser.d.ts.map +1 -1
  116. package/dist/xml/XMLParser.js +7 -0
  117. package/dist/xml/XMLParser.js.map +1 -1
  118. package/dist/zip/ZipHandler.d.ts +2 -0
  119. package/dist/zip/ZipHandler.d.ts.map +1 -1
  120. package/dist/zip/ZipHandler.js +46 -26
  121. package/dist/zip/ZipHandler.js.map +1 -1
  122. package/dist/zip/ZipWriter.d.ts +1 -0
  123. package/dist/zip/ZipWriter.d.ts.map +1 -1
  124. package/dist/zip/ZipWriter.js +19 -0
  125. package/dist/zip/ZipWriter.js.map +1 -1
  126. package/dist/zip/types.d.ts +6 -0
  127. package/dist/zip/types.d.ts.map +1 -1
  128. package/dist/zip/types.js +5 -1
  129. package/dist/zip/types.js.map +1 -1
  130. package/package.json +1 -1
@@ -0,0 +1,44 @@
1
+ import { Paragraph } from "../elements/Paragraph";
2
+ import { Table } from "../elements/Table";
3
+ import { Section } from "../elements/Section";
4
+ import { StructuredDocumentTag } from "../elements/StructuredDocumentTag";
5
+ import { TableOfContentsElement } from "../elements/TableOfContentsElement";
6
+ export type BodyElement = Paragraph | Table | TableOfContentsElement | StructuredDocumentTag;
7
+ export declare class DocumentContent {
8
+ private bodyElements;
9
+ private section;
10
+ constructor();
11
+ addParagraph(paragraph: Paragraph): this;
12
+ createParagraph(text?: string): Paragraph;
13
+ addTable(table: Table): this;
14
+ createTable(rows: number, columns: number): Table;
15
+ addStructuredDocumentTag(sdt: StructuredDocumentTag): this;
16
+ addTableOfContents(toc: TableOfContentsElement): this;
17
+ addBodyElement(element: BodyElement): this;
18
+ insertBodyElementAt(index: number, element: BodyElement): this;
19
+ removeBodyElementAt(index: number): BodyElement | undefined;
20
+ getBodyElements(): BodyElement[];
21
+ getBodyElementsMutable(): BodyElement[];
22
+ getParagraphs(): Paragraph[];
23
+ getAllParagraphs(): Paragraph[];
24
+ getTables(): Table[];
25
+ getAllTables(): Table[];
26
+ getTableOfContentsElements(): TableOfContentsElement[];
27
+ getStructuredDocumentTags(): StructuredDocumentTag[];
28
+ getBodyElementCount(): number;
29
+ getParagraphCount(): number;
30
+ getTableCount(): number;
31
+ getSection(): Section;
32
+ setSection(section: Section): this;
33
+ clear(): this;
34
+ clearParagraphs(): this;
35
+ clearTables(): this;
36
+ indexOf(element: BodyElement): number;
37
+ contains(element: BodyElement): boolean;
38
+ findParagraphsByStyle(styleId: string): Paragraph[];
39
+ getWordCount(): number;
40
+ getCharacterCount(includeSpaces?: boolean): number;
41
+ clone(): DocumentContent;
42
+ isEmpty(): boolean;
43
+ }
44
+ //# sourceMappingURL=DocumentContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentContent.d.ts","sourceRoot":"","sources":["../../src/core/DocumentContent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAK5E,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,KAAK,GACL,sBAAsB,GACtB,qBAAqB,CAAC;AAK1B,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,OAAO,CAAU;;IAczB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAWxC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;IAezC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAY5B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK;IAYjD,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAW1D,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI;IAWrD,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAY1C,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAY9D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAc3D,eAAe,IAAI,WAAW,EAAE;IAUhC,sBAAsB,IAAI,WAAW,EAAE;IASvC,aAAa,IAAI,SAAS,EAAE;IAW5B,gBAAgB,IAAI,SAAS,EAAE;IAkC/B,SAAS,IAAI,KAAK,EAAE;IASpB,YAAY,IAAI,KAAK,EAAE;IAiCvB,0BAA0B,IAAI,sBAAsB,EAAE;IAWtD,yBAAyB,IAAI,qBAAqB,EAAE;IAWpD,mBAAmB,IAAI,MAAM;IAO7B,iBAAiB,IAAI,MAAM;IAO3B,aAAa,IAAI,MAAM;IAWvB,UAAU,IAAI,OAAO;IAUrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYlC,KAAK,IAAI,IAAI;IAUb,eAAe,IAAI,IAAI;IAYvB,WAAW,IAAI,IAAI;IAenB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IAUrC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAUvC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAqBnD,YAAY,IAAI,MAAM;IAkBtB,iBAAiB,CAAC,aAAa,GAAE,OAAc,GAAG,MAAM;IAqBxD,KAAK,IAAI,eAAe;IAYxB,OAAO,IAAI,OAAO;CAGnB"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentContent = void 0;
4
+ const Paragraph_1 = require("../elements/Paragraph");
5
+ const Table_1 = require("../elements/Table");
6
+ const Section_1 = require("../elements/Section");
7
+ const StructuredDocumentTag_1 = require("../elements/StructuredDocumentTag");
8
+ const TableOfContentsElement_1 = require("../elements/TableOfContentsElement");
9
+ class DocumentContent {
10
+ bodyElements = [];
11
+ section;
12
+ constructor() {
13
+ this.section = new Section_1.Section();
14
+ }
15
+ addParagraph(paragraph) {
16
+ this.bodyElements.push(paragraph);
17
+ return this;
18
+ }
19
+ createParagraph(text) {
20
+ const para = new Paragraph_1.Paragraph();
21
+ if (text) {
22
+ para.addText(text);
23
+ }
24
+ this.bodyElements.push(para);
25
+ return para;
26
+ }
27
+ addTable(table) {
28
+ this.bodyElements.push(table);
29
+ return this;
30
+ }
31
+ createTable(rows, columns) {
32
+ const table = new Table_1.Table(rows, columns);
33
+ this.bodyElements.push(table);
34
+ return table;
35
+ }
36
+ addStructuredDocumentTag(sdt) {
37
+ this.bodyElements.push(sdt);
38
+ return this;
39
+ }
40
+ addTableOfContents(toc) {
41
+ this.bodyElements.push(toc);
42
+ return this;
43
+ }
44
+ addBodyElement(element) {
45
+ this.bodyElements.push(element);
46
+ return this;
47
+ }
48
+ insertBodyElementAt(index, element) {
49
+ index = Math.max(0, Math.min(index, this.bodyElements.length));
50
+ this.bodyElements.splice(index, 0, element);
51
+ return this;
52
+ }
53
+ removeBodyElementAt(index) {
54
+ if (index < 0 || index >= this.bodyElements.length) {
55
+ return undefined;
56
+ }
57
+ return this.bodyElements.splice(index, 1)[0];
58
+ }
59
+ getBodyElements() {
60
+ return [...this.bodyElements];
61
+ }
62
+ getBodyElementsMutable() {
63
+ return this.bodyElements;
64
+ }
65
+ getParagraphs() {
66
+ return this.bodyElements.filter((el) => el instanceof Paragraph_1.Paragraph);
67
+ }
68
+ getAllParagraphs() {
69
+ const paragraphs = [];
70
+ const collectParagraphs = (elements) => {
71
+ for (const element of elements) {
72
+ if (element instanceof Paragraph_1.Paragraph) {
73
+ paragraphs.push(element);
74
+ }
75
+ else if (element instanceof Table_1.Table) {
76
+ for (let row = 0; row < element.getRowCount(); row++) {
77
+ for (let col = 0; col < element.getColumnCount(); col++) {
78
+ const cell = element.getCell(row, col);
79
+ if (cell) {
80
+ paragraphs.push(...cell.getParagraphs());
81
+ }
82
+ }
83
+ }
84
+ }
85
+ else if (element instanceof StructuredDocumentTag_1.StructuredDocumentTag) {
86
+ const content = element.getContent();
87
+ collectParagraphs(content);
88
+ }
89
+ }
90
+ };
91
+ collectParagraphs(this.bodyElements);
92
+ return paragraphs;
93
+ }
94
+ getTables() {
95
+ return this.bodyElements.filter((el) => el instanceof Table_1.Table);
96
+ }
97
+ getAllTables() {
98
+ const tables = [];
99
+ const collectTables = (elements) => {
100
+ for (const element of elements) {
101
+ if (element instanceof Table_1.Table) {
102
+ tables.push(element);
103
+ for (let row = 0; row < element.getRowCount(); row++) {
104
+ for (let col = 0; col < element.getColumnCount(); col++) {
105
+ const cell = element.getCell(row, col);
106
+ if (cell) {
107
+ const cellContent = cell.getParagraphs();
108
+ }
109
+ }
110
+ }
111
+ }
112
+ else if (element instanceof StructuredDocumentTag_1.StructuredDocumentTag) {
113
+ collectTables(element.getContent());
114
+ }
115
+ }
116
+ };
117
+ collectTables(this.bodyElements);
118
+ return tables;
119
+ }
120
+ getTableOfContentsElements() {
121
+ return this.bodyElements.filter((el) => el instanceof TableOfContentsElement_1.TableOfContentsElement);
122
+ }
123
+ getStructuredDocumentTags() {
124
+ return this.bodyElements.filter((el) => el instanceof StructuredDocumentTag_1.StructuredDocumentTag);
125
+ }
126
+ getBodyElementCount() {
127
+ return this.bodyElements.length;
128
+ }
129
+ getParagraphCount() {
130
+ return this.getParagraphs().length;
131
+ }
132
+ getTableCount() {
133
+ return this.getTables().length;
134
+ }
135
+ getSection() {
136
+ return this.section;
137
+ }
138
+ setSection(section) {
139
+ this.section = section;
140
+ return this;
141
+ }
142
+ clear() {
143
+ this.bodyElements = [];
144
+ return this;
145
+ }
146
+ clearParagraphs() {
147
+ this.bodyElements = this.bodyElements.filter((el) => !(el instanceof Paragraph_1.Paragraph));
148
+ return this;
149
+ }
150
+ clearTables() {
151
+ this.bodyElements = this.bodyElements.filter((el) => !(el instanceof Table_1.Table));
152
+ return this;
153
+ }
154
+ indexOf(element) {
155
+ return this.bodyElements.indexOf(element);
156
+ }
157
+ contains(element) {
158
+ return this.bodyElements.includes(element);
159
+ }
160
+ findParagraphsByStyle(styleId) {
161
+ const results = [];
162
+ const normalizedStyleId = styleId.toLowerCase();
163
+ for (const paragraph of this.getAllParagraphs()) {
164
+ const paraStyle = paragraph.getStyle()?.toLowerCase();
165
+ if (paraStyle === normalizedStyleId) {
166
+ results.push(paragraph);
167
+ }
168
+ }
169
+ return results;
170
+ }
171
+ getWordCount() {
172
+ let wordCount = 0;
173
+ for (const paragraph of this.getAllParagraphs()) {
174
+ const text = paragraph.getText();
175
+ if (text) {
176
+ wordCount += text.split(/\s+/).filter((word) => word.length > 0).length;
177
+ }
178
+ }
179
+ return wordCount;
180
+ }
181
+ getCharacterCount(includeSpaces = true) {
182
+ let charCount = 0;
183
+ for (const paragraph of this.getAllParagraphs()) {
184
+ const text = paragraph.getText();
185
+ if (text) {
186
+ charCount += includeSpaces ? text.length : text.replace(/\s/g, "").length;
187
+ }
188
+ }
189
+ return charCount;
190
+ }
191
+ clone() {
192
+ const cloned = new DocumentContent();
193
+ cloned.bodyElements = [...this.bodyElements];
194
+ cloned.section = this.section;
195
+ return cloned;
196
+ }
197
+ isEmpty() {
198
+ return this.bodyElements.length === 0;
199
+ }
200
+ }
201
+ exports.DocumentContent = DocumentContent;
202
+ //# sourceMappingURL=DocumentContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentContent.js","sourceRoot":"","sources":["../../src/core/DocumentContent.ts"],"names":[],"mappings":";;;AAOA,qDAAkD;AAClD,6CAA0C;AAC1C,iDAA8C;AAC9C,6EAA0E;AAC1E,+EAA4E;AAc5E,MAAa,eAAe;IAClB,YAAY,GAAkB,EAAE,CAAC;IACjC,OAAO,CAAU;IAEzB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC/B,CAAC;IAUD,YAAY,CAAC,SAAoB;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,eAAe,CAAC,IAAa;QAC3B,MAAM,IAAI,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IASD,WAAW,CAAC,IAAY,EAAE,OAAe;QACvC,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAQD,wBAAwB,CAAC,GAA0B;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,kBAAkB,CAAC,GAA2B;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,cAAc,CAAC,OAAoB;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IASD,mBAAmB,CAAC,KAAa,EAAE,OAAoB;QACrD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,mBAAmB,CAAC,KAAa;QAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IASD,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAQD,sBAAsB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAOD,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7B,CAAC,EAAE,EAAmB,EAAE,CAAC,EAAE,YAAY,qBAAS,CACjD,CAAC;IACJ,CAAC;IAOD,gBAAgB;QACd,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,iBAAiB,GAAG,CAAC,QAAuB,EAAE,EAAE;YACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,YAAY,qBAAS,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,OAAO,YAAY,aAAK,EAAE,CAAC;oBAEpC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;wBACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;4BACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BACvC,IAAI,IAAI,EAAE,CAAC;gCACT,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;4BAC3C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,YAAY,6CAAqB,EAAE,CAAC;oBAEpD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBACrC,iBAAiB,CAAC,OAAwB,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAOD,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAe,EAAE,CAAC,EAAE,YAAY,aAAK,CAAC,CAAC;IAC5E,CAAC;IAOD,YAAY;QACV,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAE,EAAE;YAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,YAAY,aAAK,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAErB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;wBACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;4BACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BACvC,IAAI,IAAI,EAAE,CAAC;gCAET,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;4BAE3C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,YAAY,6CAAqB,EAAE,CAAC;oBACpD,aAAa,CAAC,OAAO,CAAC,UAAU,EAAmB,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,0BAA0B;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7B,CAAC,EAAE,EAAgC,EAAE,CAAC,EAAE,YAAY,+CAAsB,CAC3E,CAAC;IACJ,CAAC;IAOD,yBAAyB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7B,CAAC,EAAE,EAA+B,EAAE,CAAC,EAAE,YAAY,6CAAqB,CACzE,CAAC;IACJ,CAAC;IAOD,mBAAmB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAKD,iBAAiB;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IAKD,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACjC,CAAC;IASD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAQD,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IASD,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAC1C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,qBAAS,CAAC,CACnC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAC1C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,aAAK,CAAC,CAC/B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAUD,OAAO,CAAC,OAAoB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAQD,QAAQ,CAAC,OAAoB;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAQD,qBAAqB,CAAC,OAAe;QACnC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEhD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC;YACtD,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IASD,YAAY;QACV,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBAET,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAQD,iBAAiB,CAAC,gBAAyB,IAAI;QAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAYD,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IACxC,CAAC;CACF;AAjbD,0CAibC"}
@@ -0,0 +1,36 @@
1
+ import { Style, StyleProperties, StyleType } from "../formatting/Style";
2
+ import { StylesManager } from "../formatting/StylesManager";
3
+ import { NumberingManager } from "../formatting/NumberingManager";
4
+ export declare class DocumentFormatting {
5
+ private stylesManager;
6
+ private numberingManager;
7
+ constructor();
8
+ getStylesManager(): StylesManager;
9
+ setStylesManager(manager: StylesManager): this;
10
+ getNumberingManager(): NumberingManager;
11
+ setNumberingManager(manager: NumberingManager): this;
12
+ addStyle(style: Style): this;
13
+ getStyle(styleId: string): Style | undefined;
14
+ hasStyle(styleId: string): boolean;
15
+ getStyles(): Style[];
16
+ getStylesByType(type: StyleType): Style[];
17
+ removeStyle(styleId: string): boolean;
18
+ updateStyle(styleId: string, properties: Partial<StyleProperties>): boolean;
19
+ getStyleCount(): number;
20
+ createBulletList(levels?: number, bullets?: string[]): number;
21
+ createNumberedList(levels?: number): number;
22
+ createMultiLevelList(): number;
23
+ getStandardIndentation(level: number): {
24
+ leftIndent: number;
25
+ hangingIndent: number;
26
+ };
27
+ setListIndentation(numId: number, level: number, leftIndent: number, hangingIndent?: number): boolean;
28
+ resetListIndentation(numId: number): boolean;
29
+ normalizeAllListIndentation(): number;
30
+ hasNumbering(numId: number): boolean;
31
+ getNumberingCount(): number;
32
+ clearCustomStyles(): this;
33
+ clearNumbering(): this;
34
+ clone(): DocumentFormatting;
35
+ }
36
+ //# sourceMappingURL=DocumentFormatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentFormatting.d.ts","sourceRoot":"","sources":["../../src/core/DocumentFormatting.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMlE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAmB;;IAc3C,gBAAgB,IAAI,aAAa;IAUjC,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAY9C,mBAAmB,IAAI,gBAAgB;IAUvC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAapD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAU5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASlC,SAAS,IAAI,KAAK,EAAE;IAUpB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE;IAUzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWrC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO;IA2B3E,aAAa,IAAI,MAAM;IAavB,gBAAgB,CAAC,MAAM,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAUhE,kBAAkB,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;IAS9C,oBAAoB,IAAI,MAAM;IAU9B,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;QACrC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB;IAaD,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,GAAE,MAAY,GAC1B,OAAO;IAeV,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAmB5C,2BAA2B,IAAI,MAAM;IAUrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASpC,iBAAiB,IAAI,MAAM;IAW3B,iBAAiB,IAAI,IAAI;IA4BzB,cAAc,IAAI,IAAI;IAYtB,KAAK,IAAI,kBAAkB;CAS5B"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentFormatting = void 0;
4
+ const StylesManager_1 = require("../formatting/StylesManager");
5
+ const NumberingManager_1 = require("../formatting/NumberingManager");
6
+ class DocumentFormatting {
7
+ stylesManager;
8
+ numberingManager;
9
+ constructor() {
10
+ this.stylesManager = StylesManager_1.StylesManager.create();
11
+ this.numberingManager = NumberingManager_1.NumberingManager.create();
12
+ }
13
+ getStylesManager() {
14
+ return this.stylesManager;
15
+ }
16
+ setStylesManager(manager) {
17
+ this.stylesManager = manager;
18
+ return this;
19
+ }
20
+ getNumberingManager() {
21
+ return this.numberingManager;
22
+ }
23
+ setNumberingManager(manager) {
24
+ this.numberingManager = manager;
25
+ return this;
26
+ }
27
+ addStyle(style) {
28
+ this.stylesManager.addStyle(style);
29
+ return this;
30
+ }
31
+ getStyle(styleId) {
32
+ return this.stylesManager.getStyle(styleId);
33
+ }
34
+ hasStyle(styleId) {
35
+ return this.stylesManager.hasStyle(styleId);
36
+ }
37
+ getStyles() {
38
+ return this.stylesManager.getAllStyles();
39
+ }
40
+ getStylesByType(type) {
41
+ return this.stylesManager.getAllStyles().filter((s) => s.getType() === type);
42
+ }
43
+ removeStyle(styleId) {
44
+ return this.stylesManager.removeStyle(styleId);
45
+ }
46
+ updateStyle(styleId, properties) {
47
+ const style = this.stylesManager.getStyle(styleId);
48
+ if (!style) {
49
+ return false;
50
+ }
51
+ if (properties.basedOn) {
52
+ style.setBasedOn(properties.basedOn);
53
+ }
54
+ if (properties.next) {
55
+ style.setNext(properties.next);
56
+ }
57
+ if (properties.runFormatting) {
58
+ style.setRunFormatting(properties.runFormatting);
59
+ }
60
+ if (properties.paragraphFormatting) {
61
+ style.setParagraphFormatting(properties.paragraphFormatting);
62
+ }
63
+ return true;
64
+ }
65
+ getStyleCount() {
66
+ return this.stylesManager.getStyleCount();
67
+ }
68
+ createBulletList(levels = 3, bullets) {
69
+ return this.numberingManager.createBulletList(levels, bullets);
70
+ }
71
+ createNumberedList(levels = 9) {
72
+ return this.numberingManager.createNumberedList(levels);
73
+ }
74
+ createMultiLevelList() {
75
+ return this.numberingManager.createMultiLevelList();
76
+ }
77
+ getStandardIndentation(level) {
78
+ return this.numberingManager.getStandardIndentation(level);
79
+ }
80
+ setListIndentation(numId, level, leftIndent, hangingIndent = 360) {
81
+ return this.numberingManager.setListIndentation(numId, level, leftIndent, hangingIndent);
82
+ }
83
+ resetListIndentation(numId) {
84
+ for (let level = 0; level <= 8; level++) {
85
+ const indent = this.numberingManager.getStandardIndentation(level);
86
+ this.numberingManager.setListIndentation(numId, level, indent.leftIndent, indent.hangingIndent);
87
+ }
88
+ return true;
89
+ }
90
+ normalizeAllListIndentation() {
91
+ return this.numberingManager.normalizeAllListIndentation();
92
+ }
93
+ hasNumbering(numId) {
94
+ return this.numberingManager.getInstance(numId) !== undefined;
95
+ }
96
+ getNumberingCount() {
97
+ return this.numberingManager.getInstanceCount();
98
+ }
99
+ clearCustomStyles() {
100
+ const builtInIds = [
101
+ "Normal",
102
+ "DefaultParagraphFont",
103
+ "Heading1",
104
+ "Heading2",
105
+ "Heading3",
106
+ "Heading4",
107
+ "Heading5",
108
+ "Heading6",
109
+ ];
110
+ const allStyles = this.stylesManager.getAllStyles();
111
+ for (const style of allStyles) {
112
+ if (!builtInIds.includes(style.getStyleId())) {
113
+ this.stylesManager.removeStyle(style.getStyleId());
114
+ }
115
+ }
116
+ return this;
117
+ }
118
+ clearNumbering() {
119
+ this.numberingManager = NumberingManager_1.NumberingManager.create();
120
+ return this;
121
+ }
122
+ clone() {
123
+ const cloned = new DocumentFormatting();
124
+ for (const style of this.stylesManager.getAllStyles()) {
125
+ cloned.stylesManager.addStyle(style.clone());
126
+ }
127
+ return cloned;
128
+ }
129
+ }
130
+ exports.DocumentFormatting = DocumentFormatting;
131
+ //# sourceMappingURL=DocumentFormatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentFormatting.js","sourceRoot":"","sources":["../../src/core/DocumentFormatting.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import { Table } from "../elements/Table";
9
9
  import { TableOfContentsElement } from "../elements/TableOfContentsElement";
10
10
  import { DocumentProperties } from "./Document";
11
11
  import { RelationshipManager } from "./RelationshipManager";
12
+ export interface IZipHandlerReader {
13
+ getFilePaths?(): string[];
14
+ hasFile?(path: string): boolean;
15
+ }
12
16
  type BodyElement = Paragraph | Table | TableOfContentsElement | StructuredDocumentTag;
13
17
  export declare class DocumentGenerator {
14
18
  generateContentTypes(): string;
@@ -17,7 +21,7 @@ export declare class DocumentGenerator {
17
21
  generateCoreProps(properties: DocumentProperties): string;
18
22
  generateAppProps(properties?: DocumentProperties): string;
19
23
  generateCustomProps(customProps: Record<string, string | number | boolean | Date>): string;
20
- generateContentTypesWithImagesHeadersFootersAndComments(imageManager: ImageManager, headerFooterManager: HeaderFooterManager, commentManager: CommentManager, zipHandler: any, fontManager?: FontManager, hasCustomProperties?: boolean, originalContentTypes?: {
24
+ generateContentTypesWithImagesHeadersFootersAndComments(imageManager: ImageManager, headerFooterManager: HeaderFooterManager, commentManager: CommentManager, zipHandler: IZipHandlerReader, fontManager?: FontManager, hasCustomProperties?: boolean, originalContentTypes?: {
21
25
  defaults: Set<string>;
22
26
  overrides: Set<string>;
23
27
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentGenerator.d.ts","sourceRoot":"","sources":["../../src/core/DocumentGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,KAAK,WAAW,GACZ,SAAS,GACT,KAAK,GACL,sBAAsB,GACtB,qBAAqB,CAAC;AAK1B,qBAAa,iBAAiB;IAI5B,oBAAoB,IAAI,MAAM;IAmB9B,YAAY,IAAI,MAAM;IAYtB,mBAAmB,CACjB,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM;IAwBT,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM;IA8DzD,gBAAgB,CAAC,UAAU,GAAE,kBAAuB,GAAG,MAAM;IA4B7D,mBAAmB,CACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAC5D,MAAM;IAuDT,uDAAuD,CACrD,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,mBAAmB,GAAE,OAAe,EACpC,oBAAoB,CAAC,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GACvE,MAAM;IA6HT,OAAO,CAAC,mCAAmC;IAyF3C,iBAAiB,CACf,YAAY,EAAE,WAAW,EAAE,EAC3B,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,GACvC,IAAI;IAiDP,OAAO,CAAC,4BAA4B;IAmCpC,iBAAiB,IAAI,MAAM;IAsD3B,gBAAgB,CAAC,oBAAoB,CAAC,EAAE;QACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE;YACb,0BAA0B,EAAE,OAAO,CAAC;YACpC,cAAc,EAAE,OAAO,CAAC;YACxB,kBAAkB,EAAE,OAAO,CAAC;SAC7B,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,kBAAkB,CAAC,EAAE;YACnB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,OAAO,CAAC;YACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,GAAG,MAAM;IA6FV,aAAa,IAAI,MAAM;CAyFxB"}
1
+ {"version":3,"file":"DocumentGenerator.d.ts","sourceRoot":"","sources":["../../src/core/DocumentGenerator.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,11 @@ const ImageManager_1 = require("../elements/ImageManager");
6
6
  const Paragraph_1 = require("../elements/Paragraph");
7
7
  const StructuredDocumentTag_1 = require("../elements/StructuredDocumentTag");
8
8
  const Table_1 = require("../elements/Table");
9
+ const logger_1 = require("../utils/logger");
9
10
  const XMLBuilder_1 = require("../xml/XMLBuilder");
11
+ function getLogger() {
12
+ return (0, logger_1.createScopedLogger)((0, logger_1.getGlobalLogger)(), 'DocumentGenerator');
13
+ }
10
14
  class DocumentGenerator {
11
15
  generateContentTypes() {
12
16
  return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -32,6 +36,8 @@ class DocumentGenerator {
32
36
  </Relationships>`;
33
37
  }
34
38
  generateDocumentXml(bodyElements, section, namespaces) {
39
+ const logger = getLogger();
40
+ logger.info('Generating document.xml', { elementCount: bodyElements.length });
35
41
  const bodyXmls = [];
36
42
  for (const element of bodyElements) {
37
43
  const xml = element.toXML();
@@ -43,7 +49,9 @@ class DocumentGenerator {
43
49
  }
44
50
  }
45
51
  bodyXmls.push(section.toXML());
46
- return XMLBuilder_1.XMLBuilder.createDocument(bodyXmls, namespaces);
52
+ const result = XMLBuilder_1.XMLBuilder.createDocument(bodyXmls, namespaces);
53
+ logger.info('Document.xml generated', { xmlSize: result.length });
54
+ return result;
47
55
  }
48
56
  generateCoreProps(properties) {
49
57
  const now = new Date();
@@ -196,12 +204,20 @@ ${properties}
196
204
  let xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n';
197
205
  xml += '<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">\n';
198
206
  for (const entry of allDefaults) {
199
- const [ext, contentType] = entry.split('|');
200
- xml += ` <Default Extension="${ext}" ContentType="${contentType}"/>\n`;
207
+ const parts = entry.split('|');
208
+ const ext = parts[0] || '';
209
+ const contentType = parts[1] || '';
210
+ const escapedExt = XMLBuilder_1.XMLBuilder.escapeXmlAttribute(ext);
211
+ const escapedContentType = XMLBuilder_1.XMLBuilder.escapeXmlAttribute(contentType);
212
+ xml += ` <Default Extension="${escapedExt}" ContentType="${escapedContentType}"/>\n`;
201
213
  }
202
214
  for (const entry of allOverrides) {
203
- const [partName, contentType] = entry.split('|');
204
- xml += ` <Override PartName="${partName}" ContentType="${contentType}"/>\n`;
215
+ const parts = entry.split('|');
216
+ const partName = parts[0] || '';
217
+ const contentType = parts[1] || '';
218
+ const escapedPartName = XMLBuilder_1.XMLBuilder.escapeXmlAttribute(partName);
219
+ const escapedContentType = XMLBuilder_1.XMLBuilder.escapeXmlAttribute(contentType);
220
+ xml += ` <Override PartName="${escapedPartName}" ContentType="${escapedContentType}"/>\n`;
205
221
  }
206
222
  xml += '</Types>';
207
223
  return xml;
@@ -265,6 +281,8 @@ ${properties}
265
281
  }
266
282
  }
267
283
  processHyperlinks(bodyElements, headerFooterManager, relationshipManager) {
284
+ const logger = getLogger();
285
+ logger.info('Processing hyperlinks');
268
286
  this.clearOrphanedHyperlinkRelationships(bodyElements, headerFooterManager, relationshipManager);
269
287
  const paragraphs = bodyElements.filter((el) => el instanceof Paragraph_1.Paragraph);
270
288
  const headers = headerFooterManager.getAllHeaders();
@@ -286,6 +304,7 @@ ${properties}
286
304
  for (const para of paragraphs) {
287
305
  this.processHyperlinksInParagraph(para, relationshipManager);
288
306
  }
307
+ logger.info('Hyperlinks processed');
289
308
  }
290
309
  processHyperlinksInParagraph(paragraph, relationshipManager) {
291
310
  const content = paragraph.getContent();
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentGenerator.js","sourceRoot":"","sources":["../../src/core/DocumentGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentGenerator.js","sourceRoot":"","sources":["../../src/core/DocumentGenerator.ts"],"names":[],"mappings":"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"}