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,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeaderFooterManager = void 0;
4
+ class HeaderFooterManager {
5
+ constructor() {
6
+ this.headers = new Map();
7
+ this.footers = new Map();
8
+ this.nextHeaderNumber = 1;
9
+ this.nextFooterNumber = 1;
10
+ }
11
+ registerHeader(header, relationshipId) {
12
+ const existing = this.headers.get(header);
13
+ if (existing) {
14
+ return existing.filename;
15
+ }
16
+ const number = this.nextHeaderNumber++;
17
+ const filename = header.getFilename(number);
18
+ header.setHeaderId(relationshipId);
19
+ const entry = {
20
+ header,
21
+ filename,
22
+ relationshipId,
23
+ number,
24
+ };
25
+ this.headers.set(header, entry);
26
+ return filename;
27
+ }
28
+ registerFooter(footer, relationshipId) {
29
+ const existing = this.footers.get(footer);
30
+ if (existing) {
31
+ return existing.filename;
32
+ }
33
+ const number = this.nextFooterNumber++;
34
+ const filename = footer.getFilename(number);
35
+ footer.setFooterId(relationshipId);
36
+ const entry = {
37
+ footer,
38
+ filename,
39
+ relationshipId,
40
+ number,
41
+ };
42
+ this.footers.set(footer, entry);
43
+ return filename;
44
+ }
45
+ getHeaderFilename(header) {
46
+ return this.headers.get(header)?.filename;
47
+ }
48
+ getFooterFilename(footer) {
49
+ return this.footers.get(footer)?.filename;
50
+ }
51
+ getHeaderRelationshipId(header) {
52
+ return this.headers.get(header)?.relationshipId;
53
+ }
54
+ getFooterRelationshipId(footer) {
55
+ return this.footers.get(footer)?.relationshipId;
56
+ }
57
+ getAllHeaders() {
58
+ return Array.from(this.headers.values());
59
+ }
60
+ getAllFooters() {
61
+ return Array.from(this.footers.values());
62
+ }
63
+ getHeaderCount() {
64
+ return this.headers.size;
65
+ }
66
+ getFooterCount() {
67
+ return this.footers.size;
68
+ }
69
+ hasHeader(header) {
70
+ return this.headers.has(header);
71
+ }
72
+ hasFooter(footer) {
73
+ return this.footers.has(footer);
74
+ }
75
+ clear() {
76
+ this.headers.clear();
77
+ this.footers.clear();
78
+ this.nextHeaderNumber = 1;
79
+ this.nextFooterNumber = 1;
80
+ return this;
81
+ }
82
+ static create() {
83
+ return new HeaderFooterManager();
84
+ }
85
+ }
86
+ exports.HeaderFooterManager = HeaderFooterManager;
87
+ //# sourceMappingURL=HeaderFooterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderFooterManager.js","sourceRoot":"","sources":["../../src/elements/HeaderFooterManager.ts"],"names":[],"mappings":";;;AAiCA,MAAa,mBAAmB;IAS9B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAQD,cAAc,CAAC,MAAc,EAAE,cAAsB;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAG5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAGnC,MAAM,KAAK,GAAgB;YACzB,MAAM;YACN,QAAQ;YACR,cAAc;YACd,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAQD,cAAc,CAAC,MAAc,EAAE,cAAsB;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAG5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAGnC,MAAM,KAAK,GAAgB;YACzB,MAAM;YACN,QAAQ;YACR,cAAc;YACd,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAOD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC5C,CAAC;IAOD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC5C,CAAC;IAOD,uBAAuB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAClD,CAAC;IAOD,uBAAuB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAClD,CAAC;IAMD,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMD,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAOD,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAOD,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACnC,CAAC;CACF;AAzLD,kDAyLC"}
@@ -0,0 +1,39 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ import { Run, RunFormatting } from './Run';
3
+ export interface HyperlinkProperties {
4
+ url?: string;
5
+ anchor?: string;
6
+ text: string;
7
+ formatting?: RunFormatting;
8
+ tooltip?: string;
9
+ relationshipId?: string;
10
+ }
11
+ export declare class Hyperlink {
12
+ private url?;
13
+ private anchor?;
14
+ private text;
15
+ private run;
16
+ private tooltip?;
17
+ private relationshipId?;
18
+ constructor(properties: HyperlinkProperties);
19
+ getUrl(): string | undefined;
20
+ getAnchor(): string | undefined;
21
+ getText(): string;
22
+ setText(text: string): this;
23
+ getTooltip(): string | undefined;
24
+ setTooltip(tooltip: string): this;
25
+ getRelationshipId(): string | undefined;
26
+ setRelationshipId(id: string): this;
27
+ getRun(): Run;
28
+ setFormatting(formatting: RunFormatting): this;
29
+ getFormatting(): RunFormatting;
30
+ isExternal(): boolean;
31
+ isInternal(): boolean;
32
+ toXML(): XMLElement;
33
+ static createExternal(url: string, text: string, formatting?: RunFormatting): Hyperlink;
34
+ static createInternal(anchor: string, text: string, formatting?: RunFormatting): Hyperlink;
35
+ static createWebLink(url: string, text?: string, formatting?: RunFormatting): Hyperlink;
36
+ static createEmail(email: string, text?: string, formatting?: RunFormatting): Hyperlink;
37
+ static create(properties: HyperlinkProperties): Hyperlink;
38
+ }
39
+ //# sourceMappingURL=Hyperlink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hyperlink.d.ts","sourceRoot":"","sources":["../../src/elements/Hyperlink.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,MAAM,WAAW,mBAAmB;IAElC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAS;gBAMpB,UAAU,EAAE,mBAAmB;IAoB3C,MAAM,IAAI,MAAM,GAAG,SAAS;IAO5B,SAAS,IAAI,MAAM,GAAG,SAAS;IAO/B,OAAO,IAAI,MAAM;IAOjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,UAAU,IAAI,MAAM,GAAG,SAAS;IAOhC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAOvC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQnC,MAAM,IAAI,GAAG;IAOb,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAS9C,aAAa,IAAI,aAAa;IAO9B,UAAU,IAAI,OAAO;IAOrB,UAAU,IAAI,OAAO;IAQrB,KAAK,IAAI,UAAU;IAkCnB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS;IAUvF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS;IAU1F,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS;IAcvF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS;IAYvF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS;CAG1D"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hyperlink = void 0;
4
+ const Run_1 = require("./Run");
5
+ class Hyperlink {
6
+ constructor(properties) {
7
+ this.url = properties.url;
8
+ this.anchor = properties.anchor;
9
+ this.text = properties.text;
10
+ this.tooltip = properties.tooltip;
11
+ this.relationshipId = properties.relationshipId;
12
+ const formatting = {
13
+ color: '0563C1',
14
+ underline: 'single',
15
+ ...properties.formatting,
16
+ };
17
+ this.run = new Run_1.Run(properties.text, formatting);
18
+ }
19
+ getUrl() {
20
+ return this.url;
21
+ }
22
+ getAnchor() {
23
+ return this.anchor;
24
+ }
25
+ getText() {
26
+ return this.text;
27
+ }
28
+ setText(text) {
29
+ this.text = text;
30
+ this.run.setText(text);
31
+ return this;
32
+ }
33
+ getTooltip() {
34
+ return this.tooltip;
35
+ }
36
+ setTooltip(tooltip) {
37
+ this.tooltip = tooltip;
38
+ return this;
39
+ }
40
+ getRelationshipId() {
41
+ return this.relationshipId;
42
+ }
43
+ setRelationshipId(id) {
44
+ this.relationshipId = id;
45
+ return this;
46
+ }
47
+ getRun() {
48
+ return this.run;
49
+ }
50
+ setFormatting(formatting) {
51
+ const currentFormatting = this.run.getFormatting();
52
+ this.run = new Run_1.Run(this.text, { ...currentFormatting, ...formatting });
53
+ return this;
54
+ }
55
+ getFormatting() {
56
+ return this.run.getFormatting();
57
+ }
58
+ isExternal() {
59
+ return this.url !== undefined;
60
+ }
61
+ isInternal() {
62
+ return this.anchor !== undefined;
63
+ }
64
+ toXML() {
65
+ const attributes = {};
66
+ if (this.url && this.relationshipId) {
67
+ attributes['r:id'] = this.relationshipId;
68
+ }
69
+ if (this.anchor) {
70
+ attributes['w:anchor'] = this.anchor;
71
+ }
72
+ if (this.tooltip) {
73
+ attributes['w:tooltip'] = this.tooltip;
74
+ }
75
+ const runXml = this.run.toXML();
76
+ return {
77
+ name: 'w:hyperlink',
78
+ attributes,
79
+ children: [runXml],
80
+ };
81
+ }
82
+ static createExternal(url, text, formatting) {
83
+ return new Hyperlink({ url, text, formatting });
84
+ }
85
+ static createInternal(anchor, text, formatting) {
86
+ return new Hyperlink({ anchor, text, formatting });
87
+ }
88
+ static createWebLink(url, text, formatting) {
89
+ return new Hyperlink({
90
+ url,
91
+ text: text || url,
92
+ formatting,
93
+ });
94
+ }
95
+ static createEmail(email, text, formatting) {
96
+ return new Hyperlink({
97
+ url: `mailto:${email}`,
98
+ text: text || email,
99
+ formatting,
100
+ });
101
+ }
102
+ static create(properties) {
103
+ return new Hyperlink(properties);
104
+ }
105
+ }
106
+ exports.Hyperlink = Hyperlink;
107
+ //# sourceMappingURL=Hyperlink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hyperlink.js","sourceRoot":"","sources":["../../src/elements/Hyperlink.ts"],"names":[],"mappings":";;;AAQA,+BAA2C;AAuB3C,MAAa,SAAS;IAYpB,YAAY,UAA+B;QACzC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAGhD,MAAM,UAAU,GAAkB;YAChC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,QAAQ;YACnB,GAAG,UAAU,CAAC,UAAU;SACzB,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAKD,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAKD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAKD,iBAAiB,CAAC,EAAU;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAKD,aAAa,CAAC,UAAyB;QACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;IAChC,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAMD,KAAK;QACH,MAAM,UAAU,GAA2B,EAAE,CAAC;QAG9C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACzC,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAEhC,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,UAAU;YACV,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;IACJ,CAAC;IAQD,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,IAAY,EAAE,UAA0B;QACzE,OAAO,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAQD,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,UAA0B;QAC5E,OAAO,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IAQD,MAAM,CAAC,aAAa,CAAC,GAAW,EAAE,IAAa,EAAE,UAA0B;QACzE,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG;YACH,IAAI,EAAE,IAAI,IAAI,GAAG;YACjB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAQD,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,IAAa,EAAE,UAA0B;QACzE,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,EAAE,UAAU,KAAK,EAAE;YACtB,IAAI,EAAE,IAAI,IAAI,KAAK;YACnB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAMD,MAAM,CAAC,MAAM,CAAC,UAA+B;QAC3C,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;CACF;AArND,8BAqNC"}
@@ -0,0 +1,48 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ export type ImageFormat = 'png' | 'jpeg' | 'jpg' | 'gif' | 'bmp' | 'tiff';
3
+ export interface ImageProperties {
4
+ source: string | Buffer;
5
+ width?: number;
6
+ height?: number;
7
+ maintainAspectRatio?: boolean;
8
+ description?: string;
9
+ name?: string;
10
+ relationshipId?: string;
11
+ }
12
+ export declare class Image {
13
+ private source;
14
+ private width;
15
+ private height;
16
+ private description;
17
+ private name;
18
+ private relationshipId?;
19
+ private imageData?;
20
+ private extension;
21
+ private docPrId;
22
+ private constructor();
23
+ private loadImageDataForDimensions;
24
+ ensureDataLoaded(): Promise<void>;
25
+ releaseData(): void;
26
+ private detectExtension;
27
+ private detectDimensions;
28
+ private detectJpegDimensions;
29
+ getImageData(): Buffer;
30
+ getImageDataAsync(): Promise<Buffer>;
31
+ getExtension(): string;
32
+ getWidth(): number;
33
+ getHeight(): number;
34
+ setWidth(width: number, maintainAspectRatio?: boolean): this;
35
+ setHeight(height: number, maintainAspectRatio?: boolean): this;
36
+ setSize(width: number, height: number): this;
37
+ setRelationshipId(relationshipId: string): this;
38
+ getRelationshipId(): string | undefined;
39
+ setDocPrId(id: number): this;
40
+ toXML(): XMLElement;
41
+ private createInline;
42
+ private createGraphic;
43
+ private createPicture;
44
+ static fromFile(filePath: string, width?: number, height?: number): Promise<Image>;
45
+ static fromBuffer(buffer: Buffer, extension: string, width?: number, height?: number): Promise<Image>;
46
+ static create(properties: ImageProperties): Promise<Image>;
47
+ }
48
+ //# sourceMappingURL=Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/elements/Image.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAK1E,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAa;IAO5B,OAAO;YAuBO,0BAA0B;IAwClC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBvC,WAAW,IAAI,IAAI;IAUnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,oBAAoB;IAmI5B,YAAY,IAAI,MAAM;IAWhB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAc1C,YAAY,IAAI,MAAM;IAOtB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,MAAM;IASnB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAclE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAcpE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU5C,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQ/C,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAQvC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS5B,KAAK,IAAI,UAAU;IAgBnB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;WAkGR,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;WA6B3E,UAAU,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;WAsBJ,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;CAgBjE"}