docxmlater 0.1.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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +624 -0
  3. package/dist/core/Document.d.ts +215 -0
  4. package/dist/core/Document.d.ts.map +1 -0
  5. package/dist/core/Document.js +980 -0
  6. package/dist/core/Document.js.map +1 -0
  7. package/dist/core/Relationship.d.ts +42 -0
  8. package/dist/core/Relationship.d.ts.map +1 -0
  9. package/dist/core/Relationship.js +115 -0
  10. package/dist/core/Relationship.js.map +1 -0
  11. package/dist/core/RelationshipManager.d.ts +28 -0
  12. package/dist/core/RelationshipManager.d.ts.map +1 -0
  13. package/dist/core/RelationshipManager.js +126 -0
  14. package/dist/core/RelationshipManager.js.map +1 -0
  15. package/dist/elements/Bookmark.d.ts +22 -0
  16. package/dist/elements/Bookmark.d.ts.map +1 -0
  17. package/dist/elements/Bookmark.js +75 -0
  18. package/dist/elements/Bookmark.js.map +1 -0
  19. package/dist/elements/BookmarkManager.d.ts +22 -0
  20. package/dist/elements/BookmarkManager.d.ts.map +1 -0
  21. package/dist/elements/BookmarkManager.js +76 -0
  22. package/dist/elements/BookmarkManager.js.map +1 -0
  23. package/dist/elements/Comment.d.ts +42 -0
  24. package/dist/elements/Comment.d.ts.map +1 -0
  25. package/dist/elements/Comment.js +156 -0
  26. package/dist/elements/Comment.js.map +1 -0
  27. package/dist/elements/CommentManager.d.ts +40 -0
  28. package/dist/elements/CommentManager.d.ts.map +1 -0
  29. package/dist/elements/CommentManager.js +177 -0
  30. package/dist/elements/CommentManager.js.map +1 -0
  31. package/dist/elements/Field.d.ts +36 -0
  32. package/dist/elements/Field.d.ts.map +1 -0
  33. package/dist/elements/Field.js +216 -0
  34. package/dist/elements/Field.js.map +1 -0
  35. package/dist/elements/Footer.d.ts +32 -0
  36. package/dist/elements/Footer.d.ts.map +1 -0
  37. package/dist/elements/Footer.js +125 -0
  38. package/dist/elements/Footer.js.map +1 -0
  39. package/dist/elements/Header.d.ts +32 -0
  40. package/dist/elements/Header.d.ts.map +1 -0
  41. package/dist/elements/Header.js +125 -0
  42. package/dist/elements/Header.js.map +1 -0
  43. package/dist/elements/HeaderFooterManager.d.ts +37 -0
  44. package/dist/elements/HeaderFooterManager.d.ts.map +1 -0
  45. package/dist/elements/HeaderFooterManager.js +87 -0
  46. package/dist/elements/HeaderFooterManager.js.map +1 -0
  47. package/dist/elements/Hyperlink.d.ts +39 -0
  48. package/dist/elements/Hyperlink.d.ts.map +1 -0
  49. package/dist/elements/Hyperlink.js +107 -0
  50. package/dist/elements/Hyperlink.js.map +1 -0
  51. package/dist/elements/Image.d.ts +48 -0
  52. package/dist/elements/Image.d.ts.map +1 -0
  53. package/dist/elements/Image.js +431 -0
  54. package/dist/elements/Image.js.map +1 -0
  55. package/dist/elements/ImageManager.d.ts +33 -0
  56. package/dist/elements/ImageManager.d.ts.map +1 -0
  57. package/dist/elements/ImageManager.js +109 -0
  58. package/dist/elements/ImageManager.js.map +1 -0
  59. package/dist/elements/Paragraph.d.ts +82 -0
  60. package/dist/elements/Paragraph.d.ts.map +1 -0
  61. package/dist/elements/Paragraph.js +272 -0
  62. package/dist/elements/Paragraph.js.map +1 -0
  63. package/dist/elements/Revision.d.ts +34 -0
  64. package/dist/elements/Revision.d.ts.map +1 -0
  65. package/dist/elements/Revision.js +115 -0
  66. package/dist/elements/Revision.js.map +1 -0
  67. package/dist/elements/RevisionManager.d.ts +31 -0
  68. package/dist/elements/RevisionManager.d.ts.map +1 -0
  69. package/dist/elements/RevisionManager.js +96 -0
  70. package/dist/elements/RevisionManager.js.map +1 -0
  71. package/dist/elements/Run.d.ts +39 -0
  72. package/dist/elements/Run.d.ts.map +1 -0
  73. package/dist/elements/Run.js +140 -0
  74. package/dist/elements/Run.js.map +1 -0
  75. package/dist/elements/Section.d.ts +65 -0
  76. package/dist/elements/Section.d.ts.map +1 -0
  77. package/dist/elements/Section.js +232 -0
  78. package/dist/elements/Section.js.map +1 -0
  79. package/dist/elements/Table.d.ts +49 -0
  80. package/dist/elements/Table.d.ts.map +1 -0
  81. package/dist/elements/Table.js +159 -0
  82. package/dist/elements/Table.js.map +1 -0
  83. package/dist/elements/TableCell.d.ts +46 -0
  84. package/dist/elements/TableCell.d.ts.map +1 -0
  85. package/dist/elements/TableCell.js +128 -0
  86. package/dist/elements/TableCell.js.map +1 -0
  87. package/dist/elements/TableOfContents.d.ts +36 -0
  88. package/dist/elements/TableOfContents.d.ts.map +1 -0
  89. package/dist/elements/TableOfContents.js +197 -0
  90. package/dist/elements/TableOfContents.js.map +1 -0
  91. package/dist/elements/TableOfContentsElement.d.ts +14 -0
  92. package/dist/elements/TableOfContentsElement.d.ts.map +1 -0
  93. package/dist/elements/TableOfContentsElement.js +32 -0
  94. package/dist/elements/TableOfContentsElement.js.map +1 -0
  95. package/dist/elements/TableRow.d.ts +25 -0
  96. package/dist/elements/TableRow.d.ts.map +1 -0
  97. package/dist/elements/TableRow.js +84 -0
  98. package/dist/elements/TableRow.js.map +1 -0
  99. package/dist/formatting/AbstractNumbering.d.ts +31 -0
  100. package/dist/formatting/AbstractNumbering.d.ts.map +1 -0
  101. package/dist/formatting/AbstractNumbering.js +132 -0
  102. package/dist/formatting/AbstractNumbering.js.map +1 -0
  103. package/dist/formatting/NumberingInstance.d.ts +16 -0
  104. package/dist/formatting/NumberingInstance.d.ts.map +1 -0
  105. package/dist/formatting/NumberingInstance.js +35 -0
  106. package/dist/formatting/NumberingInstance.js.map +1 -0
  107. package/dist/formatting/NumberingLevel.d.ts +37 -0
  108. package/dist/formatting/NumberingLevel.d.ts.map +1 -0
  109. package/dist/formatting/NumberingLevel.js +164 -0
  110. package/dist/formatting/NumberingLevel.js.map +1 -0
  111. package/dist/formatting/NumberingManager.d.ts +33 -0
  112. package/dist/formatting/NumberingManager.d.ts.map +1 -0
  113. package/dist/formatting/NumberingManager.js +162 -0
  114. package/dist/formatting/NumberingManager.js.map +1 -0
  115. package/dist/formatting/Style.d.ts +38 -0
  116. package/dist/formatting/Style.d.ts.map +1 -0
  117. package/dist/formatting/Style.js +298 -0
  118. package/dist/formatting/Style.js.map +1 -0
  119. package/dist/formatting/StylesManager.d.ts +30 -0
  120. package/dist/formatting/StylesManager.d.ts.map +1 -0
  121. package/dist/formatting/StylesManager.js +165 -0
  122. package/dist/formatting/StylesManager.js.map +1 -0
  123. package/dist/index.d.ts +40 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +135 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/utils/units.d.ts +89 -0
  128. package/dist/utils/units.d.ts.map +1 -0
  129. package/dist/utils/units.js +176 -0
  130. package/dist/utils/units.js.map +1 -0
  131. package/dist/utils/validation.d.ts +16 -0
  132. package/dist/utils/validation.d.ts.map +1 -0
  133. package/dist/utils/validation.js +151 -0
  134. package/dist/utils/validation.js.map +1 -0
  135. package/dist/xml/XMLBuilder.d.ts +24 -0
  136. package/dist/xml/XMLBuilder.d.ts.map +1 -0
  137. package/dist/xml/XMLBuilder.js +126 -0
  138. package/dist/xml/XMLBuilder.js.map +1 -0
  139. package/dist/xml/XMLParser.d.ts +10 -0
  140. package/dist/xml/XMLParser.d.ts.map +1 -0
  141. package/dist/xml/XMLParser.js +120 -0
  142. package/dist/xml/XMLParser.js.map +1 -0
  143. package/dist/zip/ZipHandler.d.ts +50 -0
  144. package/dist/zip/ZipHandler.d.ts.map +1 -0
  145. package/dist/zip/ZipHandler.js +307 -0
  146. package/dist/zip/ZipHandler.js.map +1 -0
  147. package/dist/zip/ZipReader.d.ts +21 -0
  148. package/dist/zip/ZipReader.d.ts.map +1 -0
  149. package/dist/zip/ZipReader.js +152 -0
  150. package/dist/zip/ZipReader.js.map +1 -0
  151. package/dist/zip/ZipWriter.d.ts +20 -0
  152. package/dist/zip/ZipWriter.d.ts.map +1 -0
  153. package/dist/zip/ZipWriter.js +118 -0
  154. package/dist/zip/ZipWriter.js.map +1 -0
  155. package/dist/zip/errors.d.ts +19 -0
  156. package/dist/zip/errors.d.ts.map +1 -0
  157. package/dist/zip/errors.js +52 -0
  158. package/dist/zip/errors.js.map +1 -0
  159. package/dist/zip/types.d.ts +37 -0
  160. package/dist/zip/types.d.ts.map +1 -0
  161. package/dist/zip/types.js +23 -0
  162. package/dist/zip/types.js.map +1 -0
  163. package/package.json +59 -0
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Run = void 0;
4
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
5
+ class Run {
6
+ constructor(text, formatting = {}) {
7
+ this.text = text;
8
+ this.formatting = formatting;
9
+ }
10
+ getText() {
11
+ return this.text;
12
+ }
13
+ setText(text) {
14
+ this.text = text;
15
+ }
16
+ getFormatting() {
17
+ return { ...this.formatting };
18
+ }
19
+ setBold(bold = true) {
20
+ this.formatting.bold = bold;
21
+ return this;
22
+ }
23
+ setItalic(italic = true) {
24
+ this.formatting.italic = italic;
25
+ return this;
26
+ }
27
+ setUnderline(underline = true) {
28
+ this.formatting.underline = underline;
29
+ return this;
30
+ }
31
+ setStrike(strike = true) {
32
+ this.formatting.strike = strike;
33
+ return this;
34
+ }
35
+ setSubscript(subscript = true) {
36
+ this.formatting.subscript = subscript;
37
+ if (subscript) {
38
+ this.formatting.superscript = false;
39
+ }
40
+ return this;
41
+ }
42
+ setSuperscript(superscript = true) {
43
+ this.formatting.superscript = superscript;
44
+ if (superscript) {
45
+ this.formatting.subscript = false;
46
+ }
47
+ return this;
48
+ }
49
+ setFont(font, size) {
50
+ this.formatting.font = font;
51
+ if (size !== undefined) {
52
+ this.formatting.size = size;
53
+ }
54
+ return this;
55
+ }
56
+ setSize(size) {
57
+ this.formatting.size = size;
58
+ return this;
59
+ }
60
+ setColor(color) {
61
+ this.formatting.color = color.startsWith('#') ? color.substring(1) : color;
62
+ return this;
63
+ }
64
+ setHighlight(highlight) {
65
+ this.formatting.highlight = highlight;
66
+ return this;
67
+ }
68
+ setSmallCaps(smallCaps = true) {
69
+ this.formatting.smallCaps = smallCaps;
70
+ return this;
71
+ }
72
+ setAllCaps(allCaps = true) {
73
+ this.formatting.allCaps = allCaps;
74
+ return this;
75
+ }
76
+ toXML() {
77
+ const rPrChildren = [];
78
+ if (this.formatting.bold) {
79
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('b'));
80
+ }
81
+ if (this.formatting.italic) {
82
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('i'));
83
+ }
84
+ if (this.formatting.underline) {
85
+ const underlineValue = typeof this.formatting.underline === 'string'
86
+ ? this.formatting.underline
87
+ : 'single';
88
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('u', { 'w:val': underlineValue }));
89
+ }
90
+ if (this.formatting.strike) {
91
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('strike'));
92
+ }
93
+ if (this.formatting.dstrike) {
94
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dstrike'));
95
+ }
96
+ if (this.formatting.subscript) {
97
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'subscript' }));
98
+ }
99
+ if (this.formatting.superscript) {
100
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'superscript' }));
101
+ }
102
+ if (this.formatting.font) {
103
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rFonts', {
104
+ 'w:ascii': this.formatting.font,
105
+ 'w:hAnsi': this.formatting.font,
106
+ 'w:cs': this.formatting.font,
107
+ }));
108
+ }
109
+ if (this.formatting.size !== undefined) {
110
+ const halfPoints = this.formatting.size * 2;
111
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sz', { 'w:val': halfPoints }));
112
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('szCs', { 'w:val': halfPoints }));
113
+ }
114
+ if (this.formatting.color) {
115
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('color', { 'w:val': this.formatting.color }));
116
+ }
117
+ if (this.formatting.highlight) {
118
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('highlight', { 'w:val': this.formatting.highlight }));
119
+ }
120
+ if (this.formatting.smallCaps) {
121
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('smallCaps'));
122
+ }
123
+ if (this.formatting.allCaps) {
124
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('caps'));
125
+ }
126
+ const runChildren = [];
127
+ if (rPrChildren.length > 0) {
128
+ runChildren.push(XMLBuilder_1.XMLBuilder.w('rPr', undefined, rPrChildren));
129
+ }
130
+ runChildren.push(XMLBuilder_1.XMLBuilder.w('t', {
131
+ 'xml:space': 'preserve',
132
+ }, [this.text]));
133
+ return XMLBuilder_1.XMLBuilder.w('r', undefined, runChildren);
134
+ }
135
+ static create(text, formatting) {
136
+ return new Run(text, formatting);
137
+ }
138
+ }
139
+ exports.Run = Run;
140
+ //# sourceMappingURL=Run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ export type PageOrientation = 'portrait' | 'landscape';
3
+ export type SectionType = 'nextPage' | 'continuous' | 'evenPage' | 'oddPage' | 'nextColumn';
4
+ export type PageNumberFormat = 'decimal' | 'lowerRoman' | 'upperRoman' | 'lowerLetter' | 'upperLetter';
5
+ export interface PageSize {
6
+ width: number;
7
+ height: number;
8
+ orientation?: PageOrientation;
9
+ }
10
+ export interface Margins {
11
+ top: number;
12
+ bottom: number;
13
+ left: number;
14
+ right: number;
15
+ header?: number;
16
+ footer?: number;
17
+ gutter?: number;
18
+ }
19
+ export interface Columns {
20
+ count: number;
21
+ space?: number;
22
+ equalWidth?: boolean;
23
+ }
24
+ export interface PageNumbering {
25
+ start?: number;
26
+ format?: PageNumberFormat;
27
+ }
28
+ export interface SectionProperties {
29
+ pageSize?: PageSize;
30
+ margins?: Margins;
31
+ columns?: Columns;
32
+ type?: SectionType;
33
+ pageNumbering?: PageNumbering;
34
+ headers?: {
35
+ default?: string;
36
+ first?: string;
37
+ even?: string;
38
+ };
39
+ footers?: {
40
+ default?: string;
41
+ first?: string;
42
+ even?: string;
43
+ };
44
+ titlePage?: boolean;
45
+ }
46
+ export declare class Section {
47
+ private properties;
48
+ constructor(properties?: SectionProperties);
49
+ getProperties(): SectionProperties;
50
+ setPageSize(width: number, height: number, orientation?: PageOrientation): this;
51
+ setOrientation(orientation: PageOrientation): this;
52
+ setMargins(margins: Margins): this;
53
+ setColumns(count: number, space?: number): this;
54
+ setSectionType(type: SectionType): this;
55
+ setPageNumbering(start?: number, format?: PageNumberFormat): this;
56
+ setTitlePage(titlePage?: boolean): this;
57
+ setHeaderReference(type: 'default' | 'first' | 'even', rId: string): this;
58
+ setFooterReference(type: 'default' | 'first' | 'even', rId: string): this;
59
+ toXML(): XMLElement;
60
+ static create(properties?: SectionProperties): Section;
61
+ static createLetter(): Section;
62
+ static createA4(): Section;
63
+ static createLandscape(pageSize?: 'letter' | 'a4'): Section;
64
+ }
65
+ //# sourceMappingURL=Section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Section = void 0;
4
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
5
+ const units_1 = require("../utils/units");
6
+ class Section {
7
+ constructor(properties = {}) {
8
+ this.properties = {
9
+ pageSize: properties.pageSize || {
10
+ width: units_1.PAGE_SIZES.LETTER.width,
11
+ height: units_1.PAGE_SIZES.LETTER.height,
12
+ orientation: 'portrait',
13
+ },
14
+ margins: properties.margins || {
15
+ top: 1440,
16
+ bottom: 1440,
17
+ left: 1440,
18
+ right: 1440,
19
+ header: 720,
20
+ footer: 720,
21
+ },
22
+ columns: properties.columns || {
23
+ count: 1,
24
+ space: 720,
25
+ equalWidth: true,
26
+ },
27
+ type: properties.type || 'nextPage',
28
+ pageNumbering: properties.pageNumbering,
29
+ headers: properties.headers,
30
+ footers: properties.footers,
31
+ titlePage: properties.titlePage || false,
32
+ };
33
+ }
34
+ getProperties() {
35
+ return { ...this.properties };
36
+ }
37
+ setPageSize(width, height, orientation = 'portrait') {
38
+ this.properties.pageSize = { width, height, orientation };
39
+ return this;
40
+ }
41
+ setOrientation(orientation) {
42
+ if (!this.properties.pageSize) {
43
+ this.properties.pageSize = {
44
+ width: units_1.PAGE_SIZES.LETTER.width,
45
+ height: units_1.PAGE_SIZES.LETTER.height,
46
+ };
47
+ }
48
+ this.properties.pageSize.orientation = orientation;
49
+ if (orientation === 'landscape' && this.properties.pageSize.width < this.properties.pageSize.height) {
50
+ const temp = this.properties.pageSize.width;
51
+ this.properties.pageSize.width = this.properties.pageSize.height;
52
+ this.properties.pageSize.height = temp;
53
+ }
54
+ return this;
55
+ }
56
+ setMargins(margins) {
57
+ this.properties.margins = { ...margins };
58
+ return this;
59
+ }
60
+ setColumns(count, space = 720) {
61
+ this.properties.columns = {
62
+ count,
63
+ space,
64
+ equalWidth: true,
65
+ };
66
+ return this;
67
+ }
68
+ setSectionType(type) {
69
+ this.properties.type = type;
70
+ return this;
71
+ }
72
+ setPageNumbering(start, format) {
73
+ this.properties.pageNumbering = { start, format };
74
+ return this;
75
+ }
76
+ setTitlePage(titlePage = true) {
77
+ this.properties.titlePage = titlePage;
78
+ return this;
79
+ }
80
+ setHeaderReference(type, rId) {
81
+ if (!this.properties.headers) {
82
+ this.properties.headers = {};
83
+ }
84
+ this.properties.headers[type] = rId;
85
+ return this;
86
+ }
87
+ setFooterReference(type, rId) {
88
+ if (!this.properties.footers) {
89
+ this.properties.footers = {};
90
+ }
91
+ this.properties.footers[type] = rId;
92
+ return this;
93
+ }
94
+ toXML() {
95
+ const children = [];
96
+ if (this.properties.headers) {
97
+ if (this.properties.headers.first) {
98
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('headerReference', {
99
+ 'w:type': 'first',
100
+ 'r:id': this.properties.headers.first,
101
+ }));
102
+ }
103
+ if (this.properties.headers.even) {
104
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('headerReference', {
105
+ 'w:type': 'even',
106
+ 'r:id': this.properties.headers.even,
107
+ }));
108
+ }
109
+ if (this.properties.headers.default) {
110
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('headerReference', {
111
+ 'w:type': 'default',
112
+ 'r:id': this.properties.headers.default,
113
+ }));
114
+ }
115
+ }
116
+ if (this.properties.footers) {
117
+ if (this.properties.footers.first) {
118
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('footerReference', {
119
+ 'w:type': 'first',
120
+ 'r:id': this.properties.footers.first,
121
+ }));
122
+ }
123
+ if (this.properties.footers.even) {
124
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('footerReference', {
125
+ 'w:type': 'even',
126
+ 'r:id': this.properties.footers.even,
127
+ }));
128
+ }
129
+ if (this.properties.footers.default) {
130
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('footerReference', {
131
+ 'w:type': 'default',
132
+ 'r:id': this.properties.footers.default,
133
+ }));
134
+ }
135
+ }
136
+ if (this.properties.type) {
137
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('type', { 'w:val': this.properties.type }));
138
+ }
139
+ if (this.properties.pageSize) {
140
+ const attrs = {
141
+ 'w:w': this.properties.pageSize.width.toString(),
142
+ 'w:h': this.properties.pageSize.height.toString(),
143
+ };
144
+ if (this.properties.pageSize.orientation === 'landscape') {
145
+ attrs['w:orient'] = 'landscape';
146
+ }
147
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('pgSz', attrs));
148
+ }
149
+ if (this.properties.margins) {
150
+ const attrs = {
151
+ 'w:top': this.properties.margins.top.toString(),
152
+ 'w:right': this.properties.margins.right.toString(),
153
+ 'w:bottom': this.properties.margins.bottom.toString(),
154
+ 'w:left': this.properties.margins.left.toString(),
155
+ };
156
+ if (this.properties.margins.header !== undefined) {
157
+ attrs['w:header'] = this.properties.margins.header.toString();
158
+ }
159
+ if (this.properties.margins.footer !== undefined) {
160
+ attrs['w:footer'] = this.properties.margins.footer.toString();
161
+ }
162
+ if (this.properties.margins.gutter !== undefined) {
163
+ attrs['w:gutter'] = this.properties.margins.gutter.toString();
164
+ }
165
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('pgMar', attrs));
166
+ }
167
+ if (this.properties.columns && this.properties.columns.count > 1) {
168
+ const attrs = {
169
+ 'w:num': this.properties.columns.count.toString(),
170
+ };
171
+ if (this.properties.columns.space !== undefined) {
172
+ attrs['w:space'] = this.properties.columns.space.toString();
173
+ }
174
+ if (this.properties.columns.equalWidth !== undefined) {
175
+ attrs['w:equalWidth'] = this.properties.columns.equalWidth ? '1' : '0';
176
+ }
177
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('cols', attrs));
178
+ }
179
+ else {
180
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('cols', { 'w:space': '720' }));
181
+ }
182
+ if (this.properties.titlePage) {
183
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('titlePg'));
184
+ }
185
+ if (this.properties.pageNumbering) {
186
+ const attrs = {};
187
+ if (this.properties.pageNumbering.start !== undefined) {
188
+ attrs['w:start'] = this.properties.pageNumbering.start.toString();
189
+ }
190
+ if (this.properties.pageNumbering.format) {
191
+ attrs['w:fmt'] = this.properties.pageNumbering.format;
192
+ }
193
+ if (Object.keys(attrs).length > 0) {
194
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('pgNumType', attrs));
195
+ }
196
+ }
197
+ return XMLBuilder_1.XMLBuilder.w('sectPr', undefined, children);
198
+ }
199
+ static create(properties) {
200
+ return new Section(properties);
201
+ }
202
+ static createLetter() {
203
+ return new Section({
204
+ pageSize: {
205
+ width: units_1.PAGE_SIZES.LETTER.width,
206
+ height: units_1.PAGE_SIZES.LETTER.height,
207
+ orientation: 'portrait',
208
+ },
209
+ });
210
+ }
211
+ static createA4() {
212
+ return new Section({
213
+ pageSize: {
214
+ width: units_1.PAGE_SIZES.A4.width,
215
+ height: units_1.PAGE_SIZES.A4.height,
216
+ orientation: 'portrait',
217
+ },
218
+ });
219
+ }
220
+ static createLandscape(pageSize = 'letter') {
221
+ const size = pageSize === 'a4' ? units_1.PAGE_SIZES.A4 : units_1.PAGE_SIZES.LETTER;
222
+ return new Section({
223
+ pageSize: {
224
+ width: size.height,
225
+ height: size.width,
226
+ orientation: 'landscape',
227
+ },
228
+ });
229
+ }
230
+ }
231
+ exports.Section = Section;
232
+ //# sourceMappingURL=Section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { TableRow, RowFormatting } from './TableRow';
2
+ import { TableCell } from './TableCell';
3
+ import { XMLElement } from '../xml/XMLBuilder';
4
+ export type TableAlignment = 'left' | 'center' | 'right';
5
+ export type TableLayout = 'auto' | 'fixed';
6
+ export interface TableBorder {
7
+ style?: 'none' | 'single' | 'double' | 'dashed' | 'dotted' | 'thick';
8
+ size?: number;
9
+ color?: string;
10
+ }
11
+ export interface TableBorders {
12
+ top?: TableBorder;
13
+ bottom?: TableBorder;
14
+ left?: TableBorder;
15
+ right?: TableBorder;
16
+ insideH?: TableBorder;
17
+ insideV?: TableBorder;
18
+ }
19
+ export interface TableFormatting {
20
+ width?: number;
21
+ alignment?: TableAlignment;
22
+ layout?: TableLayout;
23
+ borders?: TableBorders;
24
+ cellSpacing?: number;
25
+ indent?: number;
26
+ }
27
+ export declare class Table {
28
+ private rows;
29
+ private formatting;
30
+ constructor(rows?: number, columns?: number, formatting?: TableFormatting);
31
+ addRow(row: TableRow): this;
32
+ createRow(cellCount?: number, formatting?: RowFormatting): TableRow;
33
+ getRow(index: number): TableRow | undefined;
34
+ getRows(): TableRow[];
35
+ getRowCount(): number;
36
+ getCell(rowIndex: number, columnIndex: number): TableCell | undefined;
37
+ setWidth(twips: number): this;
38
+ setAlignment(alignment: TableAlignment): this;
39
+ setLayout(layout: TableLayout): this;
40
+ setBorders(borders: TableBorders): this;
41
+ setAllBorders(border: TableBorder): this;
42
+ setCellSpacing(twips: number): this;
43
+ setIndent(twips: number): this;
44
+ getFormatting(): TableFormatting;
45
+ toXML(): XMLElement;
46
+ private createBorderElement;
47
+ static create(rows?: number, columns?: number, formatting?: TableFormatting): Table;
48
+ }
49
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/elements/Table.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAKzD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAK3C,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAKD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,KAAK;IAChB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,UAAU,CAAkB;gBAQxB,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,eAAoB;IAe7E,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAW3B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ;IAWnE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAQ3C,OAAO,IAAI,QAAQ,EAAE;IAQrB,WAAW,IAAI,MAAM;IAUrB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUrE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU7B,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAU7C,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAUpC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAUvC,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAiBxC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUnC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS9B,aAAa,IAAI,eAAe;IAQhC,KAAK,IAAI,UAAU;IAsGnB,OAAO,CAAC,mBAAmB;IAsB3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,KAAK;CAGpF"}