docx-wasm 0.0.214 → 0.0.218

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 (77) hide show
  1. package/dist/node/footer.d.ts +3 -1
  2. package/dist/node/footer.js +7 -0
  3. package/dist/node/footer.js.map +1 -1
  4. package/dist/node/header.d.ts +3 -1
  5. package/dist/node/header.js +7 -0
  6. package/dist/node/header.js.map +1 -1
  7. package/dist/node/hyperlink.d.ts +22 -0
  8. package/dist/node/hyperlink.js +53 -0
  9. package/dist/node/hyperlink.js.map +1 -0
  10. package/dist/node/index.d.ts +14 -1
  11. package/dist/node/index.js +148 -8
  12. package/dist/node/index.js.map +1 -1
  13. package/dist/node/json/line_spacing.d.ts +6 -4
  14. package/dist/node/json/run.d.ts +16 -15
  15. package/dist/node/paragraph.d.ts +3 -1
  16. package/dist/node/paragraph.js +4 -0
  17. package/dist/node/paragraph.js.map +1 -1
  18. package/dist/node/pkg/docx_wasm.d.ts +394 -104
  19. package/dist/node/pkg/docx_wasm.js +727 -115
  20. package/dist/node/pkg/docx_wasm_bg.d.ts +115 -62
  21. package/dist/node/pkg/docx_wasm_bg.wasm +0 -0
  22. package/dist/node/run.d.ts +2 -0
  23. package/dist/node/run.js +4 -0
  24. package/dist/node/run.js.map +1 -1
  25. package/dist/node/section-property.d.ts +8 -0
  26. package/dist/node/section-property.js +20 -0
  27. package/dist/node/section-property.js.map +1 -1
  28. package/dist/node/style.d.ts +4 -0
  29. package/dist/node/style.js +45 -0
  30. package/dist/node/style.js.map +1 -1
  31. package/dist/node/styles.js +1 -0
  32. package/dist/node/styles.js.map +1 -1
  33. package/dist/node/table-of-contents-item.d.ts +12 -0
  34. package/dist/node/table-of-contents-item.js +65 -0
  35. package/dist/node/table-of-contents-item.js.map +1 -0
  36. package/dist/node/table-of-contents.d.ts +19 -0
  37. package/dist/node/table-of-contents.js +89 -0
  38. package/dist/node/table-of-contents.js.map +1 -0
  39. package/dist/web/footer.d.ts +3 -1
  40. package/dist/web/footer.js +7 -0
  41. package/dist/web/footer.js.map +1 -1
  42. package/dist/web/header.d.ts +3 -1
  43. package/dist/web/header.js +7 -0
  44. package/dist/web/header.js.map +1 -1
  45. package/dist/web/hyperlink.d.ts +22 -0
  46. package/dist/web/hyperlink.js +49 -0
  47. package/dist/web/hyperlink.js.map +1 -0
  48. package/dist/web/index.d.ts +14 -1
  49. package/dist/web/index.js +148 -8
  50. package/dist/web/index.js.map +1 -1
  51. package/dist/web/json/line_spacing.d.ts +6 -4
  52. package/dist/web/json/run.d.ts +16 -15
  53. package/dist/web/paragraph.d.ts +3 -1
  54. package/dist/web/paragraph.js +4 -0
  55. package/dist/web/paragraph.js.map +1 -1
  56. package/dist/web/pkg/docx_wasm.d.ts +394 -104
  57. package/dist/web/pkg/docx_wasm.js +720 -114
  58. package/dist/web/pkg/docx_wasm_bg.d.ts +115 -62
  59. package/dist/web/pkg/docx_wasm_bg.wasm +0 -0
  60. package/dist/web/run.d.ts +2 -0
  61. package/dist/web/run.js +4 -0
  62. package/dist/web/run.js.map +1 -1
  63. package/dist/web/section-property.d.ts +8 -0
  64. package/dist/web/section-property.js +20 -0
  65. package/dist/web/section-property.js.map +1 -1
  66. package/dist/web/style.d.ts +4 -0
  67. package/dist/web/style.js +26 -0
  68. package/dist/web/style.js.map +1 -1
  69. package/dist/web/styles.js +1 -0
  70. package/dist/web/styles.js.map +1 -1
  71. package/dist/web/table-of-contents-item.d.ts +12 -0
  72. package/dist/web/table-of-contents-item.js +42 -0
  73. package/dist/web/table-of-contents-item.js.map +1 -0
  74. package/dist/web/table-of-contents.d.ts +19 -0
  75. package/dist/web/table-of-contents.js +66 -0
  76. package/dist/web/table-of-contents.js.map +1 -0
  77. package/package.json +3 -3
@@ -1,6 +1,8 @@
1
1
  import { Paragraph } from "./paragraph";
2
+ import { Table } from "./table";
2
3
  export declare class Footer {
3
4
  hasNumberings: boolean;
4
- children: Paragraph[];
5
+ children: (Paragraph | Table)[];
5
6
  addParagraph(p: Paragraph): this;
7
+ addTable(t: Table): this;
6
8
  }
@@ -13,6 +13,13 @@ class Footer {
13
13
  this.children.push(p);
14
14
  return this;
15
15
  }
16
+ addTable(t) {
17
+ if (t.hasNumberings) {
18
+ this.hasNumberings = true;
19
+ }
20
+ this.children.push(t);
21
+ return this;
22
+ }
16
23
  }
17
24
  exports.Footer = Footer;
18
25
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../js/footer.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IAAnB;QACE,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAgB,EAAE,CAAC;IAS7B,CAAC;IAPC,YAAY,CAAC,CAAY;QACvB,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAXD,wBAWC"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../js/footer.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAAnB;QACE,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAA0B,EAAE,CAAC;IAiBvC,CAAC;IAfC,YAAY,CAAC,CAAY;QACvB,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,CAAQ;QACf,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,wBAmBC"}
@@ -1,6 +1,8 @@
1
1
  import { Paragraph } from "./paragraph";
2
+ import { Table } from "./table";
2
3
  export declare class Header {
3
4
  hasNumberings: boolean;
4
- children: Paragraph[];
5
+ children: (Paragraph | Table)[];
5
6
  addParagraph(p: Paragraph): this;
7
+ addTable(t: Table): this;
6
8
  }
@@ -13,6 +13,13 @@ class Header {
13
13
  this.children.push(p);
14
14
  return this;
15
15
  }
16
+ addTable(t) {
17
+ if (t.hasNumberings) {
18
+ this.hasNumberings = true;
19
+ }
20
+ this.children.push(t);
21
+ return this;
22
+ }
16
23
  }
17
24
  exports.Header = Header;
18
25
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../js/header.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IAAnB;QACE,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAgB,EAAE,CAAC;IAS7B,CAAC;IAPC,YAAY,CAAC,CAAY;QACvB,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAXD,wBAWC"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../js/header.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAAnB;QACE,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAA0B,EAAE,CAAC;IAiBvC,CAAC;IAfC,YAAY,CAAC,CAAY;QACvB,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,CAAQ;QACf,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,wBAmBC"}
@@ -0,0 +1,22 @@
1
+ import { Run } from "./run";
2
+ import { Insert } from "./insert";
3
+ import { Delete } from "./delete";
4
+ import { Comment } from "./comment";
5
+ import { CommentEnd } from "./comment-end";
6
+ import { ParagraphChild } from "./paragraph";
7
+ export declare class Hyperlink {
8
+ _rid?: string;
9
+ _anchor?: string;
10
+ _history: boolean;
11
+ children: ParagraphChild[];
12
+ addRun(run: Run): this;
13
+ addInsert(ins: Insert): this;
14
+ addDelete(del: Delete): this;
15
+ addBookmarkStart(id: number, name: string): this;
16
+ addBookmarkEnd(id: number): this;
17
+ addCommentStart(comment: Comment): this;
18
+ addCommentEnd(end: CommentEnd): this;
19
+ rid(rid: string): this;
20
+ anchor(anchor: string): this;
21
+ history(): this;
22
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hyperlink = void 0;
4
+ const bookmark_start_1 = require("./bookmark-start");
5
+ const bookmark_end_1 = require("./bookmark-end");
6
+ class Hyperlink {
7
+ constructor() {
8
+ this._history = false;
9
+ this.children = [];
10
+ }
11
+ addRun(run) {
12
+ this.children.push(run);
13
+ return this;
14
+ }
15
+ addInsert(ins) {
16
+ this.children.push(ins);
17
+ return this;
18
+ }
19
+ addDelete(del) {
20
+ this.children.push(del);
21
+ return this;
22
+ }
23
+ addBookmarkStart(id, name) {
24
+ this.children.push(new bookmark_start_1.BookmarkStart(id, name));
25
+ return this;
26
+ }
27
+ addBookmarkEnd(id) {
28
+ this.children.push(new bookmark_end_1.BookmarkEnd(id));
29
+ return this;
30
+ }
31
+ addCommentStart(comment) {
32
+ this.children.push(comment);
33
+ return this;
34
+ }
35
+ addCommentEnd(end) {
36
+ this.children.push(end);
37
+ return this;
38
+ }
39
+ rid(rid) {
40
+ this._rid = rid;
41
+ return this;
42
+ }
43
+ anchor(anchor) {
44
+ this._anchor = anchor;
45
+ return this;
46
+ }
47
+ history() {
48
+ this._history = true;
49
+ return this;
50
+ }
51
+ }
52
+ exports.Hyperlink = Hyperlink;
53
+ //# sourceMappingURL=hyperlink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperlink.js","sourceRoot":"","sources":["../../js/hyperlink.ts"],"names":[],"mappings":";;;AAGA,qDAAiD;AACjD,iDAA6C;AAK7C,MAAa,SAAS;IAAtB;QAGE,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAqB,EAAE,CAAC;IAmDlC,CAAC;IAjDC,MAAM,CAAC,GAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,EAAU,EAAE,IAAY;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0BAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,GAAe;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvDD,8BAuDC"}
@@ -1,7 +1,9 @@
1
1
  import { Paragraph, ParagraphProperty } from "./paragraph";
2
2
  import { Insert } from "./insert";
3
3
  import { Delete } from "./delete";
4
+ import { Hyperlink } from "./hyperlink";
4
5
  import { Table } from "./table";
6
+ import { TableOfContents } from "./table-of-contents";
5
7
  import { TableCell } from "./table-cell";
6
8
  import { Run, RunFonts } from "./run";
7
9
  import { Comment } from "./comment";
@@ -11,6 +13,7 @@ import { BookmarkStart } from "./bookmark-start";
11
13
  import { BookmarkEnd } from "./bookmark-end";
12
14
  import { Settings } from "./settings";
13
15
  import { DocProps } from "./doc-props";
16
+ import { Style } from "./style";
14
17
  import { Styles } from "./styles";
15
18
  import { WebExtension } from "./webextension";
16
19
  import { Footer } from "./footer";
@@ -20,7 +23,7 @@ import { DocGridType, DocxJSON } from "./json";
20
23
  import * as wasm from "./pkg";
21
24
  import { Level } from "./level";
22
25
  export declare class Docx {
23
- children: (Paragraph | Table | BookmarkStart | BookmarkEnd)[];
26
+ children: (Paragraph | Table | BookmarkStart | BookmarkEnd | TableOfContents)[];
24
27
  hasNumberings: boolean;
25
28
  abstractNumberings: AbstractNumbering[];
26
29
  numberings: Numbering[];
@@ -34,6 +37,8 @@ export declare class Docx {
34
37
  xml: string;
35
38
  }[];
36
39
  styles: Styles;
40
+ addTableOfContents(t: TableOfContents): this;
41
+ addStyle(s: Style): this;
37
42
  addParagraph(p: Paragraph): this;
38
43
  addBookmarkStart(id: number, name: string): this;
39
44
  addBookmarkEnd(id: number): this;
@@ -47,7 +52,11 @@ export declare class Docx {
47
52
  updatedAt(date: string): this;
48
53
  addDocVar(name: string, val: string): this;
49
54
  header(f: Header): this;
55
+ firstHeader(h: Header): this;
56
+ evenHeader(h: Header): this;
50
57
  footer(f: Footer): this;
58
+ firstFooter(f: Footer): this;
59
+ evenFooter(f: Footer): this;
51
60
  pageSize(w: number, h: number): this;
52
61
  pageMargin(margin: Partial<PageMargin>): this;
53
62
  pageOrientation(o: PageOrientationType): this;
@@ -60,6 +69,7 @@ export declare class Docx {
60
69
  addCustomItem(id: string, xml: string): this;
61
70
  buildRunFonts: (fonts: RunFonts | undefined) => wasm.RunFonts;
62
71
  buildRun(r: Run): wasm.Run;
72
+ buildHyperlink(link: Hyperlink): wasm.Hyperlink;
63
73
  buildInsert(i: Insert): wasm.Insert;
64
74
  buildDelete(d: Delete): wasm.Delete;
65
75
  buildComment(c: Comment): wasm.Comment;
@@ -82,11 +92,14 @@ export * from "./table";
82
92
  export * from "./table-cell";
83
93
  export * from "./table-cell-border";
84
94
  export * from "./table-cell-borders";
95
+ export * from "./table-of-contents";
96
+ export * from "./table-of-contents-item";
85
97
  export * from "./table-row";
86
98
  export * from "./run";
87
99
  export * from "./text";
88
100
  export * from "./style";
89
101
  export * from "./styles";
102
+ export * from "./hyperlink";
90
103
  export * from "./comment";
91
104
  export * from "./comment-end";
92
105
  export * from "./numbering";
@@ -26,8 +26,10 @@ exports.readDocx = exports.Docx = void 0;
26
26
  const paragraph_1 = require("./paragraph");
27
27
  const insert_1 = require("./insert");
28
28
  const delete_1 = require("./delete");
29
+ const hyperlink_1 = require("./hyperlink");
29
30
  const delete_text_1 = require("./delete-text");
30
31
  const table_1 = require("./table");
32
+ const table_of_contents_1 = require("./table-of-contents");
31
33
  const table_cell_1 = require("./table-cell");
32
34
  const run_1 = require("./run");
33
35
  const text_1 = require("./text");
@@ -112,6 +114,14 @@ class Docx {
112
114
  return f;
113
115
  };
114
116
  }
117
+ addTableOfContents(t) {
118
+ this.children.push(t);
119
+ return this;
120
+ }
121
+ addStyle(s) {
122
+ this.styles.styles.push(s);
123
+ return this;
124
+ }
115
125
  addParagraph(p) {
116
126
  if (p.hasNumberings) {
117
127
  this.hasNumberings = true;
@@ -170,10 +180,26 @@ class Docx {
170
180
  this.sectionProperty._header = f;
171
181
  return this;
172
182
  }
183
+ firstHeader(h) {
184
+ this.sectionProperty._firstHeader = h;
185
+ return this;
186
+ }
187
+ evenHeader(h) {
188
+ this.sectionProperty._evenHeader = h;
189
+ return this;
190
+ }
173
191
  footer(f) {
174
192
  this.sectionProperty._footer = f;
175
193
  return this;
176
194
  }
195
+ firstFooter(f) {
196
+ this.sectionProperty._firstFooter = f;
197
+ return this;
198
+ }
199
+ evenFooter(f) {
200
+ this.sectionProperty._evenFooter = f;
201
+ return this;
202
+ }
177
203
  pageSize(w, h) {
178
204
  this.sectionProperty.pageSize(w, h);
179
205
  return this;
@@ -261,6 +287,9 @@ class Docx {
261
287
  if (r.property.italic) {
262
288
  run = run.italic();
263
289
  }
290
+ if (r.property.strike) {
291
+ run = run.strike();
292
+ }
264
293
  if (r.property.underline) {
265
294
  run = run.underline(r.property.underline);
266
295
  }
@@ -278,6 +307,46 @@ class Docx {
278
307
  run = run.fonts(fonts);
279
308
  return run;
280
309
  }
310
+ buildHyperlink(link) {
311
+ let hyperlink = wasm.createHyperlink();
312
+ if (link._history) {
313
+ hyperlink = hyperlink.history();
314
+ }
315
+ if (link._anchor) {
316
+ hyperlink = hyperlink.anchor(link._anchor);
317
+ }
318
+ if (link._rid) {
319
+ hyperlink = hyperlink.rid(link._rid);
320
+ }
321
+ link.children.forEach((child) => {
322
+ if (child instanceof run_1.Run) {
323
+ const run = this.buildRun(child);
324
+ hyperlink = hyperlink.add_run(run);
325
+ }
326
+ else if (child instanceof insert_1.Insert) {
327
+ const insert = this.buildInsert(child);
328
+ hyperlink = hyperlink.add_insert(insert);
329
+ }
330
+ else if (child instanceof delete_1.Delete) {
331
+ const del = this.buildDelete(child);
332
+ hyperlink = hyperlink.add_delete(del);
333
+ }
334
+ else if (child instanceof bookmark_start_1.BookmarkStart) {
335
+ hyperlink = hyperlink.add_bookmark_start(child.id, child.name);
336
+ }
337
+ else if (child instanceof bookmark_end_1.BookmarkEnd) {
338
+ hyperlink = hyperlink.add_bookmark_end(child.id);
339
+ }
340
+ else if (child instanceof comment_1.Comment) {
341
+ const comment = this.buildComment(child);
342
+ hyperlink = hyperlink.add_comment_start(comment);
343
+ }
344
+ else if (child instanceof comment_end_1.CommentEnd) {
345
+ hyperlink = hyperlink.add_comment_end(child.id);
346
+ }
347
+ });
348
+ return hyperlink;
349
+ }
281
350
  buildInsert(i) {
282
351
  const run = this.buildRun(i.run);
283
352
  let insert = wasm.createInsert(run);
@@ -376,6 +445,10 @@ class Docx {
376
445
  const del = this.buildDelete(child);
377
446
  paragraph = paragraph.add_delete(del);
378
447
  }
448
+ else if (child instanceof hyperlink_1.Hyperlink) {
449
+ const hyperlink = this.buildHyperlink(child);
450
+ paragraph = paragraph.add_hyperlink(hyperlink);
451
+ }
379
452
  else if (child instanceof bookmark_start_1.BookmarkStart) {
380
453
  paragraph = paragraph.add_bookmark_start(child.id, child.name);
381
454
  }
@@ -717,7 +790,7 @@ class Docx {
717
790
  return level;
718
791
  }
719
792
  createDocx() {
720
- var _a, _b, _c, _d;
793
+ var _a, _b, _c, _d, _e;
721
794
  let docx = wasm.createDocx();
722
795
  this.children.forEach((child) => {
723
796
  if (child instanceof paragraph_1.Paragraph) {
@@ -734,6 +807,9 @@ class Docx {
734
807
  else if (child instanceof bookmark_end_1.BookmarkEnd) {
735
808
  docx = docx.add_bookmark_end(child.id);
736
809
  }
810
+ else if (child instanceof table_of_contents_1.TableOfContents) {
811
+ docx = docx.add_table_of_contents(child.buildWasmObject());
812
+ }
737
813
  });
738
814
  this.abstractNumberings.forEach((n) => {
739
815
  let num = wasm.createAbstractNumbering(n.id);
@@ -768,17 +844,75 @@ class Docx {
768
844
  if (this.sectionProperty._header) {
769
845
  let header = wasm.createHeader();
770
846
  this.sectionProperty._header.children.forEach((c) => {
771
- header = header.add_paragraph(this.buildParagraph(c));
847
+ if (c instanceof paragraph_1.Paragraph) {
848
+ header = header.add_paragraph(this.buildParagraph(c));
849
+ }
850
+ else {
851
+ header = header.add_table(this.buildTable(c));
852
+ }
772
853
  });
773
854
  docx = docx.header(header);
774
855
  }
856
+ if (this.sectionProperty._firstHeader) {
857
+ let header = wasm.createHeader();
858
+ this.sectionProperty._firstHeader.children.forEach((c) => {
859
+ if (c instanceof paragraph_1.Paragraph) {
860
+ header = header.add_paragraph(this.buildParagraph(c));
861
+ }
862
+ else {
863
+ header = header.add_table(this.buildTable(c));
864
+ }
865
+ });
866
+ docx = docx.first_header(header);
867
+ }
868
+ if (this.sectionProperty._evenHeader) {
869
+ let header = wasm.createHeader();
870
+ this.sectionProperty._evenHeader.children.forEach((c) => {
871
+ if (c instanceof paragraph_1.Paragraph) {
872
+ header = header.add_paragraph(this.buildParagraph(c));
873
+ }
874
+ else {
875
+ header = header.add_table(this.buildTable(c));
876
+ }
877
+ });
878
+ docx = docx.even_header(header);
879
+ }
775
880
  if (this.sectionProperty._footer) {
776
881
  let footer = wasm.createFooter();
777
882
  this.sectionProperty._footer.children.forEach((c) => {
778
- footer = footer.add_paragraph(this.buildParagraph(c));
883
+ if (c instanceof paragraph_1.Paragraph) {
884
+ footer = footer.add_paragraph(this.buildParagraph(c));
885
+ }
886
+ else {
887
+ footer = footer.add_table(this.buildTable(c));
888
+ }
779
889
  });
780
890
  docx = docx.footer(footer);
781
891
  }
892
+ if (this.sectionProperty._firstFooter) {
893
+ let footer = wasm.createFooter();
894
+ this.sectionProperty._firstFooter.children.forEach((c) => {
895
+ if (c instanceof paragraph_1.Paragraph) {
896
+ footer = footer.add_paragraph(this.buildParagraph(c));
897
+ }
898
+ else {
899
+ footer = footer.add_table(this.buildTable(c));
900
+ }
901
+ });
902
+ docx = docx.first_footer(footer);
903
+ }
904
+ if (this.sectionProperty._evenFooter) {
905
+ let footer = wasm.createFooter();
906
+ this.sectionProperty._evenFooter.children.forEach((c) => {
907
+ if (c instanceof paragraph_1.Paragraph) {
908
+ footer = footer.add_paragraph(this.buildParagraph(c));
909
+ }
910
+ else {
911
+ footer = footer.add_table(this.buildTable(c));
912
+ }
913
+ });
914
+ docx = docx.even_footer(footer);
915
+ }
782
916
  if (this.sectionProperty._pageMargin) {
783
917
  const { top, left, right, bottom, header, footer, gutter } = this.sectionProperty._pageMargin;
784
918
  const margin = wasm
@@ -822,15 +956,18 @@ class Docx {
822
956
  }
823
957
  docx = docx.doc_grid(type, linePitch, charSpace);
824
958
  }
825
- if ((_a = this.styles) === null || _a === void 0 ? void 0 : _a.docDefaults) {
826
- if ((_b = this.styles.docDefaults.runProperty) === null || _b === void 0 ? void 0 : _b.fonts) {
959
+ for (const s of (_a = this.styles) === null || _a === void 0 ? void 0 : _a.styles) {
960
+ docx = docx.add_style(s.buildWasmObject());
961
+ }
962
+ if ((_b = this.styles) === null || _b === void 0 ? void 0 : _b.docDefaults) {
963
+ if ((_c = this.styles.docDefaults.runProperty) === null || _c === void 0 ? void 0 : _c.fonts) {
827
964
  const fonts = this.buildRunFonts(this.styles.docDefaults.runProperty.fonts);
828
965
  docx = docx.default_fonts(fonts);
829
966
  }
830
- if ((_c = this.styles.docDefaults.runProperty) === null || _c === void 0 ? void 0 : _c.size) {
967
+ if ((_d = this.styles.docDefaults.runProperty) === null || _d === void 0 ? void 0 : _d.size) {
831
968
  docx = docx.default_size(this.styles.docDefaults.runProperty.size);
832
969
  }
833
- if ((_d = this.styles.docDefaults.runProperty) === null || _d === void 0 ? void 0 : _d.spacing) {
970
+ if ((_e = this.styles.docDefaults.runProperty) === null || _e === void 0 ? void 0 : _e.spacing) {
834
971
  docx = docx.default_spacing(this.styles.docDefaults.runProperty.spacing);
835
972
  }
836
973
  }
@@ -870,7 +1007,7 @@ class Docx {
870
1007
  build() {
871
1008
  const docx = this.createDocx();
872
1009
  const buf = docx.build(this.hasNumberings);
873
- docx.free();
1010
+ // docx.free();
874
1011
  return buf;
875
1012
  }
876
1013
  }
@@ -887,11 +1024,14 @@ __exportStar(require("./table"), exports);
887
1024
  __exportStar(require("./table-cell"), exports);
888
1025
  __exportStar(require("./table-cell-border"), exports);
889
1026
  __exportStar(require("./table-cell-borders"), exports);
1027
+ __exportStar(require("./table-of-contents"), exports);
1028
+ __exportStar(require("./table-of-contents-item"), exports);
890
1029
  __exportStar(require("./table-row"), exports);
891
1030
  __exportStar(require("./run"), exports);
892
1031
  __exportStar(require("./text"), exports);
893
1032
  __exportStar(require("./style"), exports);
894
1033
  __exportStar(require("./styles"), exports);
1034
+ __exportStar(require("./hyperlink"), exports);
895
1035
  __exportStar(require("./comment"), exports);
896
1036
  __exportStar(require("./comment-end"), exports);
897
1037
  __exportStar(require("./numbering"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export declare type LineSpacingJSON = {
2
- before: number | null;
3
- after: number | null;
4
- line: number | null;
5
- lineRule: {
2
+ before?: number | null;
3
+ after?: number | null;
4
+ beforeLines?: number | null;
5
+ afterLines?: number | null;
6
+ line?: number | null;
7
+ lineRule?: {
6
8
  type: "atLeast" | "auto" | "exact";
7
9
  val: number;
8
10
  } | null;