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,25 @@
1
+ import { TableCell } from './TableCell';
2
+ import { XMLElement } from '../xml/XMLBuilder';
3
+ export interface RowFormatting {
4
+ height?: number;
5
+ heightRule?: 'auto' | 'exact' | 'atLeast';
6
+ isHeader?: boolean;
7
+ cantSplit?: boolean;
8
+ }
9
+ export declare class TableRow {
10
+ private cells;
11
+ private formatting;
12
+ constructor(cellCount?: number, formatting?: RowFormatting);
13
+ addCell(cell: TableCell): this;
14
+ createCell(text?: string): TableCell;
15
+ getCell(index: number): TableCell | undefined;
16
+ getCells(): TableCell[];
17
+ getCellCount(): number;
18
+ setHeight(twips: number, rule?: RowFormatting['heightRule']): this;
19
+ setHeader(isHeader?: boolean): this;
20
+ setCantSplit(cantSplit?: boolean): this;
21
+ getFormatting(): RowFormatting;
22
+ toXML(): XMLElement;
23
+ static create(cellCount?: number, formatting?: RowFormatting): TableRow;
24
+ }
25
+ //# sourceMappingURL=TableRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../src/elements/TableRow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAgB;gBAOtB,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,aAAkB;IAe9D,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAU9B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;IAcpC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAQ7C,QAAQ,IAAI,SAAS,EAAE;IAQvB,YAAY,IAAI,MAAM;IAUtB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,aAAa,CAAC,YAAY,CAAa,GAAG,IAAI;IAW7E,SAAS,CAAC,QAAQ,GAAE,OAAc,GAAG,IAAI;IAUzC,YAAY,CAAC,SAAS,GAAE,OAAc,GAAG,IAAI;IAS7C,aAAa,IAAI,aAAa;IAQ9B,KAAK,IAAI,UAAU;IAgDnB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ;CAGxE"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableRow = void 0;
4
+ const TableCell_1 = require("./TableCell");
5
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
6
+ class TableRow {
7
+ constructor(cellCount, formatting = {}) {
8
+ this.cells = [];
9
+ this.formatting = formatting;
10
+ if (cellCount !== undefined && cellCount > 0) {
11
+ for (let i = 0; i < cellCount; i++) {
12
+ this.cells.push(new TableCell_1.TableCell());
13
+ }
14
+ }
15
+ }
16
+ addCell(cell) {
17
+ this.cells.push(cell);
18
+ return this;
19
+ }
20
+ createCell(text) {
21
+ const cell = new TableCell_1.TableCell();
22
+ if (text) {
23
+ cell.createParagraph(text);
24
+ }
25
+ this.cells.push(cell);
26
+ return cell;
27
+ }
28
+ getCell(index) {
29
+ return this.cells[index];
30
+ }
31
+ getCells() {
32
+ return [...this.cells];
33
+ }
34
+ getCellCount() {
35
+ return this.cells.length;
36
+ }
37
+ setHeight(twips, rule = 'atLeast') {
38
+ this.formatting.height = twips;
39
+ this.formatting.heightRule = rule;
40
+ return this;
41
+ }
42
+ setHeader(isHeader = true) {
43
+ this.formatting.isHeader = isHeader;
44
+ return this;
45
+ }
46
+ setCantSplit(cantSplit = true) {
47
+ this.formatting.cantSplit = cantSplit;
48
+ return this;
49
+ }
50
+ getFormatting() {
51
+ return { ...this.formatting };
52
+ }
53
+ toXML() {
54
+ const trPrChildren = [];
55
+ if (this.formatting.height !== undefined) {
56
+ const attrs = {
57
+ 'w:val': this.formatting.height,
58
+ };
59
+ if (this.formatting.heightRule) {
60
+ attrs['w:hRule'] = this.formatting.heightRule;
61
+ }
62
+ trPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('trHeight', attrs));
63
+ }
64
+ if (this.formatting.isHeader) {
65
+ trPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('tblHeader'));
66
+ }
67
+ if (this.formatting.cantSplit) {
68
+ trPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cantSplit'));
69
+ }
70
+ const rowChildren = [];
71
+ if (trPrChildren.length > 0) {
72
+ rowChildren.push(XMLBuilder_1.XMLBuilder.w('trPr', undefined, trPrChildren));
73
+ }
74
+ for (const cell of this.cells) {
75
+ rowChildren.push(cell.toXML());
76
+ }
77
+ return XMLBuilder_1.XMLBuilder.w('tr', undefined, rowChildren);
78
+ }
79
+ static create(cellCount, formatting) {
80
+ return new TableRow(cellCount, formatting);
81
+ }
82
+ }
83
+ exports.TableRow = TableRow;
84
+ //# sourceMappingURL=TableRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../src/elements/TableRow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ import { NumberingLevel } from './NumberingLevel';
3
+ export interface AbstractNumberingProperties {
4
+ abstractNumId: number;
5
+ name?: string;
6
+ levels?: NumberingLevel[];
7
+ multiLevelType?: number;
8
+ }
9
+ export declare class AbstractNumbering {
10
+ private abstractNumId;
11
+ private name?;
12
+ private levels;
13
+ private multiLevelType;
14
+ constructor(properties: AbstractNumberingProperties);
15
+ private validate;
16
+ getAbstractNumId(): number;
17
+ getName(): string | undefined;
18
+ setName(name: string): this;
19
+ addLevel(level: NumberingLevel): this;
20
+ getLevel(levelIndex: number): NumberingLevel | undefined;
21
+ getAllLevels(): NumberingLevel[];
22
+ getLevelCount(): number;
23
+ hasLevel(levelIndex: number): boolean;
24
+ removeLevel(levelIndex: number): boolean;
25
+ toXML(): XMLElement;
26
+ static createBulletList(abstractNumId: number, levels?: number, bullets?: string[]): AbstractNumbering;
27
+ static createNumberedList(abstractNumId: number, levels?: number, formats?: Array<'decimal' | 'lowerLetter' | 'lowerRoman'>): AbstractNumbering;
28
+ static createMultiLevelList(abstractNumId: number): AbstractNumbering;
29
+ static create(properties: AbstractNumberingProperties): AbstractNumbering;
30
+ }
31
+ //# sourceMappingURL=AbstractNumbering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractNumbering.d.ts","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,WAAW,2BAA2B;IAE1C,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAS;gBAMnB,UAAU,EAAE,2BAA2B;IAkBnD,OAAO,CAAC,QAAQ;IAahB,gBAAgB,IAAI,MAAM;IAO1B,OAAO,IAAI,MAAM,GAAG,SAAS;IAQ7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAerC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAOxD,YAAY,IAAI,cAAc,EAAE;IAOhC,aAAa,IAAI,MAAM;IAQvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQrC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOxC,KAAK,IAAI,UAAU;IAqCnB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,MAAU,EAClB,OAAO,GAAE,MAAM,EAAoB,GAClC,iBAAiB;IAqBpB,MAAM,CAAC,kBAAkB,CACvB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,MAAU,EAClB,OAAO,GAAE,KAAK,CAAC,SAAS,GAAG,aAAa,GAAG,YAAY,CAA4C,GAClG,iBAAiB;IAmCpB,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IA0BrE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;CAG1E"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractNumbering = void 0;
4
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
5
+ const NumberingLevel_1 = require("./NumberingLevel");
6
+ class AbstractNumbering {
7
+ constructor(properties) {
8
+ this.abstractNumId = properties.abstractNumId;
9
+ this.name = properties.name;
10
+ this.levels = new Map();
11
+ this.multiLevelType = properties.multiLevelType !== undefined ? properties.multiLevelType : 1;
12
+ if (properties.levels) {
13
+ properties.levels.forEach(level => {
14
+ this.addLevel(level);
15
+ });
16
+ }
17
+ this.validate();
18
+ }
19
+ validate() {
20
+ if (this.abstractNumId < 0) {
21
+ throw new Error('Abstract numbering ID must be non-negative');
22
+ }
23
+ if (this.levels.size > 9) {
24
+ throw new Error('Cannot have more than 9 levels (0-8)');
25
+ }
26
+ }
27
+ getAbstractNumId() {
28
+ return this.abstractNumId;
29
+ }
30
+ getName() {
31
+ return this.name;
32
+ }
33
+ setName(name) {
34
+ this.name = name;
35
+ return this;
36
+ }
37
+ addLevel(level) {
38
+ const levelIndex = level.getLevel();
39
+ if (levelIndex < 0 || levelIndex > 8) {
40
+ throw new Error(`Level must be between 0 and 8, got ${levelIndex}`);
41
+ }
42
+ this.levels.set(levelIndex, level);
43
+ return this;
44
+ }
45
+ getLevel(levelIndex) {
46
+ return this.levels.get(levelIndex);
47
+ }
48
+ getAllLevels() {
49
+ return Array.from(this.levels.values()).sort((a, b) => a.getLevel() - b.getLevel());
50
+ }
51
+ getLevelCount() {
52
+ return this.levels.size;
53
+ }
54
+ hasLevel(levelIndex) {
55
+ return this.levels.has(levelIndex);
56
+ }
57
+ removeLevel(levelIndex) {
58
+ return this.levels.delete(levelIndex);
59
+ }
60
+ toXML() {
61
+ const children = [];
62
+ if (this.name) {
63
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('name', { 'w:val': this.name }));
64
+ }
65
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('multiLevelType', {
66
+ 'w:val': this.multiLevelType === 1 ? 'multilevel' : 'singleLevel'
67
+ }));
68
+ const sortedLevels = this.getAllLevels();
69
+ sortedLevels.forEach(level => {
70
+ children.push(level.toXML());
71
+ });
72
+ if (sortedLevels.length === 0) {
73
+ children.push(NumberingLevel_1.NumberingLevel.createDecimalLevel(0).toXML());
74
+ }
75
+ return XMLBuilder_1.XMLBuilder.w('abstractNum', { 'w:abstractNumId': this.abstractNumId.toString() }, children);
76
+ }
77
+ static createBulletList(abstractNumId, levels = 3, bullets = ['•', '○', '▪']) {
78
+ const abstractNum = new AbstractNumbering({
79
+ abstractNumId,
80
+ name: 'Bullet List',
81
+ multiLevelType: 1,
82
+ });
83
+ for (let i = 0; i < levels && i < 9; i++) {
84
+ const bullet = bullets[i % bullets.length] || '•';
85
+ abstractNum.addLevel(NumberingLevel_1.NumberingLevel.createBulletLevel(i, bullet));
86
+ }
87
+ return abstractNum;
88
+ }
89
+ static createNumberedList(abstractNumId, levels = 3, formats = ['decimal', 'lowerLetter', 'lowerRoman']) {
90
+ const abstractNum = new AbstractNumbering({
91
+ abstractNumId,
92
+ name: 'Numbered List',
93
+ multiLevelType: 1,
94
+ });
95
+ for (let i = 0; i < levels && i < 9; i++) {
96
+ const format = formats[i % formats.length] || 'decimal';
97
+ const template = `%${i + 1}.`;
98
+ let level;
99
+ switch (format) {
100
+ case 'lowerLetter':
101
+ level = NumberingLevel_1.NumberingLevel.createLowerLetterLevel(i, template);
102
+ break;
103
+ case 'lowerRoman':
104
+ level = NumberingLevel_1.NumberingLevel.createLowerRomanLevel(i, template);
105
+ break;
106
+ case 'decimal':
107
+ default:
108
+ level = NumberingLevel_1.NumberingLevel.createDecimalLevel(i, template);
109
+ break;
110
+ }
111
+ abstractNum.addLevel(level);
112
+ }
113
+ return abstractNum;
114
+ }
115
+ static createMultiLevelList(abstractNumId) {
116
+ const abstractNum = new AbstractNumbering({
117
+ abstractNumId,
118
+ name: 'Multi-Level List',
119
+ multiLevelType: 1,
120
+ });
121
+ abstractNum.addLevel(NumberingLevel_1.NumberingLevel.createDecimalLevel(0, '%1.'));
122
+ abstractNum.addLevel(NumberingLevel_1.NumberingLevel.createLowerLetterLevel(1, '%2.'));
123
+ abstractNum.addLevel(NumberingLevel_1.NumberingLevel.createLowerRomanLevel(2, '%3.'));
124
+ abstractNum.addLevel(NumberingLevel_1.NumberingLevel.createDecimalLevel(3, '%4.'));
125
+ return abstractNum;
126
+ }
127
+ static create(properties) {
128
+ return new AbstractNumbering(properties);
129
+ }
130
+ }
131
+ exports.AbstractNumbering = AbstractNumbering;
132
+ //# sourceMappingURL=AbstractNumbering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractNumbering.js","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ export interface NumberingInstanceProperties {
3
+ numId: number;
4
+ abstractNumId: number;
5
+ }
6
+ export declare class NumberingInstance {
7
+ private numId;
8
+ private abstractNumId;
9
+ constructor(properties: NumberingInstanceProperties);
10
+ private validate;
11
+ getNumId(): number;
12
+ getAbstractNumId(): number;
13
+ toXML(): XMLElement;
14
+ static create(properties: NumberingInstanceProperties): NumberingInstance;
15
+ }
16
+ //# sourceMappingURL=NumberingInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberingInstance.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,WAAW,2BAA2B;IAE1C,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;gBAMlB,UAAU,EAAE,2BAA2B;IAUnD,OAAO,CAAC,QAAQ;IAahB,QAAQ,IAAI,MAAM;IAOlB,gBAAgB,IAAI,MAAM;IAO1B,KAAK,IAAI,UAAU;IAenB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;CAG1E"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberingInstance = void 0;
4
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
5
+ class NumberingInstance {
6
+ constructor(properties) {
7
+ this.numId = properties.numId;
8
+ this.abstractNumId = properties.abstractNumId;
9
+ this.validate();
10
+ }
11
+ validate() {
12
+ if (this.numId < 0) {
13
+ throw new Error('Numbering instance ID must be non-negative');
14
+ }
15
+ if (this.abstractNumId < 0) {
16
+ throw new Error('Abstract numbering ID must be non-negative');
17
+ }
18
+ }
19
+ getNumId() {
20
+ return this.numId;
21
+ }
22
+ getAbstractNumId() {
23
+ return this.abstractNumId;
24
+ }
25
+ toXML() {
26
+ const children = [];
27
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('abstractNumId', { 'w:val': this.abstractNumId.toString() }));
28
+ return XMLBuilder_1.XMLBuilder.w('num', { 'w:numId': this.numId.toString() }, children);
29
+ }
30
+ static create(properties) {
31
+ return new NumberingInstance(properties);
32
+ }
33
+ }
34
+ exports.NumberingInstance = NumberingInstance;
35
+ //# sourceMappingURL=NumberingInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberingInstance.js","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":";;;AAQA,kDAA2D;AAmB3D,MAAa,iBAAiB;IAQ5B,YAAY,UAAuC;QACjD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAKO,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAKD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAKD,KAAK;QACH,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAGlC,QAAQ,CAAC,IAAI,CACX,uBAAU,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC9E,CAAC;QAEF,OAAO,uBAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAMD,MAAM,CAAC,MAAM,CAAC,UAAuC;QACnD,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACF;AA/DD,8CA+DC"}
@@ -0,0 +1,37 @@
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
+ export type NumberFormat = 'bullet' | 'decimal' | 'lowerRoman' | 'upperRoman' | 'lowerLetter' | 'upperLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'decimal zero';
3
+ export type NumberAlignment = 'left' | 'center' | 'right' | 'start' | 'end';
4
+ export interface NumberingLevelProperties {
5
+ level: number;
6
+ format: NumberFormat;
7
+ text: string;
8
+ alignment?: NumberAlignment;
9
+ start?: number;
10
+ leftIndent?: number;
11
+ hangingIndent?: number;
12
+ font?: string;
13
+ fontSize?: number;
14
+ isLegalNumberingStyle?: boolean;
15
+ suffix?: 'tab' | 'space' | 'nothing';
16
+ }
17
+ export declare class NumberingLevel {
18
+ private properties;
19
+ constructor(properties: NumberingLevelProperties);
20
+ private validate;
21
+ getLevel(): number;
22
+ getFormat(): NumberFormat;
23
+ getProperties(): Required<NumberingLevelProperties>;
24
+ setLeftIndent(twips: number): this;
25
+ setHangingIndent(twips: number): this;
26
+ setFont(font: string): this;
27
+ setAlignment(alignment: NumberAlignment): this;
28
+ toXML(): XMLElement;
29
+ static createBulletLevel(level: number, bullet?: string): NumberingLevel;
30
+ static createDecimalLevel(level: number, template?: string): NumberingLevel;
31
+ static createLowerRomanLevel(level: number, template?: string): NumberingLevel;
32
+ static createUpperRomanLevel(level: number, template?: string): NumberingLevel;
33
+ static createLowerLetterLevel(level: number, template?: string): NumberingLevel;
34
+ static createUpperLetterLevel(level: number, template?: string): NumberingLevel;
35
+ static create(properties: NumberingLevelProperties): NumberingLevel;
36
+ }
37
+ //# sourceMappingURL=NumberingLevel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberingLevel.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,GACT,cAAc,GACd,aAAa,GACb,KAAK,GACL,SAAS,GACT,cAAc,CAAC;AAKnB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAK5E,MAAM,WAAW,wBAAwB;IAEvC,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,YAAY,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;CACtC;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAqC;gBAM3C,UAAU,EAAE,wBAAwB;IAsBhD,OAAO,CAAC,QAAQ;IAqBhB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,YAAY;IAOzB,aAAa,IAAI,QAAQ,CAAC,wBAAwB,CAAC;IAQnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYlC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAQ9C,KAAK,IAAI,UAAU;IA2EnB,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,cAAc;IAiB7E,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,cAAc;IAgB7F,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,cAAc;IAgBhG,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,cAAc;IAgBhG,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,cAAc;IAgBjG,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,cAAc;IAejG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc;CAGpE"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberingLevel = void 0;
4
+ const XMLBuilder_1 = require("../xml/XMLBuilder");
5
+ class NumberingLevel {
6
+ constructor(properties) {
7
+ this.properties = {
8
+ level: properties.level,
9
+ format: properties.format,
10
+ text: properties.text,
11
+ alignment: properties.alignment || 'left',
12
+ start: properties.start !== undefined ? properties.start : 1,
13
+ leftIndent: properties.leftIndent !== undefined ? properties.leftIndent : 720 * (properties.level + 1),
14
+ hangingIndent: properties.hangingIndent !== undefined ? properties.hangingIndent : 360,
15
+ font: properties.font || (properties.format === 'bullet' ? 'Symbol' : 'Calibri'),
16
+ fontSize: properties.fontSize || 22,
17
+ isLegalNumberingStyle: properties.isLegalNumberingStyle !== undefined ? properties.isLegalNumberingStyle : false,
18
+ suffix: properties.suffix || 'tab',
19
+ };
20
+ this.validate();
21
+ }
22
+ validate() {
23
+ if (this.properties.level < 0 || this.properties.level > 8) {
24
+ throw new Error(`Level must be between 0 and 8, got ${this.properties.level}`);
25
+ }
26
+ if (this.properties.leftIndent < 0) {
27
+ throw new Error('Left indent must be non-negative');
28
+ }
29
+ if (this.properties.hangingIndent < 0) {
30
+ throw new Error('Hanging indent must be non-negative');
31
+ }
32
+ if (this.properties.start < 0) {
33
+ throw new Error('Start value must be non-negative');
34
+ }
35
+ }
36
+ getLevel() {
37
+ return this.properties.level;
38
+ }
39
+ getFormat() {
40
+ return this.properties.format;
41
+ }
42
+ getProperties() {
43
+ return { ...this.properties };
44
+ }
45
+ setLeftIndent(twips) {
46
+ if (twips < 0) {
47
+ throw new Error('Left indent must be non-negative');
48
+ }
49
+ this.properties.leftIndent = twips;
50
+ return this;
51
+ }
52
+ setHangingIndent(twips) {
53
+ if (twips < 0) {
54
+ throw new Error('Hanging indent must be non-negative');
55
+ }
56
+ this.properties.hangingIndent = twips;
57
+ return this;
58
+ }
59
+ setFont(font) {
60
+ this.properties.font = font;
61
+ return this;
62
+ }
63
+ setAlignment(alignment) {
64
+ this.properties.alignment = alignment;
65
+ return this;
66
+ }
67
+ toXML() {
68
+ const children = [];
69
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('start', { 'w:val': this.properties.start.toString() }));
70
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.format }));
71
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('lvlText', { 'w:val': this.properties.text }));
72
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('lvlJc', { 'w:val': this.properties.alignment }));
73
+ const ind = XMLBuilder_1.XMLBuilder.wSelf('ind', {
74
+ 'w:left': this.properties.leftIndent.toString(),
75
+ 'w:hanging': this.properties.hangingIndent.toString()
76
+ });
77
+ const pPr = XMLBuilder_1.XMLBuilder.w('pPr', undefined, [ind]);
78
+ children.push(pPr);
79
+ const rPrChildren = [];
80
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rFonts', {
81
+ 'w:ascii': this.properties.font,
82
+ 'w:hAnsi': this.properties.font,
83
+ 'w:cs': this.properties.font,
84
+ 'w:hint': 'default'
85
+ }));
86
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sz', { 'w:val': this.properties.fontSize.toString() }));
87
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('szCs', { 'w:val': this.properties.fontSize.toString() }));
88
+ const rPr = XMLBuilder_1.XMLBuilder.w('rPr', undefined, rPrChildren);
89
+ children.push(rPr);
90
+ if (this.properties.suffix) {
91
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('suff', { 'w:val': this.properties.suffix }));
92
+ }
93
+ if (this.properties.isLegalNumberingStyle) {
94
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('isLgl'));
95
+ }
96
+ return XMLBuilder_1.XMLBuilder.w('lvl', { 'w:ilvl': this.properties.level.toString() }, children);
97
+ }
98
+ static createBulletLevel(level, bullet = '•') {
99
+ return new NumberingLevel({
100
+ level,
101
+ format: 'bullet',
102
+ text: bullet,
103
+ alignment: 'left',
104
+ font: 'Symbol',
105
+ leftIndent: 720 * (level + 1),
106
+ hangingIndent: 360,
107
+ });
108
+ }
109
+ static createDecimalLevel(level, template = `%${level + 1}.`) {
110
+ return new NumberingLevel({
111
+ level,
112
+ format: 'decimal',
113
+ text: template,
114
+ alignment: 'left',
115
+ leftIndent: 720 * (level + 1),
116
+ hangingIndent: 360,
117
+ });
118
+ }
119
+ static createLowerRomanLevel(level, template = `%${level + 1}.`) {
120
+ return new NumberingLevel({
121
+ level,
122
+ format: 'lowerRoman',
123
+ text: template,
124
+ alignment: 'left',
125
+ leftIndent: 720 * (level + 1),
126
+ hangingIndent: 360,
127
+ });
128
+ }
129
+ static createUpperRomanLevel(level, template = `%${level + 1}.`) {
130
+ return new NumberingLevel({
131
+ level,
132
+ format: 'upperRoman',
133
+ text: template,
134
+ alignment: 'left',
135
+ leftIndent: 720 * (level + 1),
136
+ hangingIndent: 360,
137
+ });
138
+ }
139
+ static createLowerLetterLevel(level, template = `%${level + 1}.`) {
140
+ return new NumberingLevel({
141
+ level,
142
+ format: 'lowerLetter',
143
+ text: template,
144
+ alignment: 'left',
145
+ leftIndent: 720 * (level + 1),
146
+ hangingIndent: 360,
147
+ });
148
+ }
149
+ static createUpperLetterLevel(level, template = `%${level + 1}.`) {
150
+ return new NumberingLevel({
151
+ level,
152
+ format: 'upperLetter',
153
+ text: template,
154
+ alignment: 'left',
155
+ leftIndent: 720 * (level + 1),
156
+ hangingIndent: 360,
157
+ });
158
+ }
159
+ static create(properties) {
160
+ return new NumberingLevel(properties);
161
+ }
162
+ }
163
+ exports.NumberingLevel = NumberingLevel;
164
+ //# sourceMappingURL=NumberingLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberingLevel.js","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { AbstractNumbering } from './AbstractNumbering';
2
+ import { NumberingInstance } from './NumberingInstance';
3
+ import { NumberingLevel } from './NumberingLevel';
4
+ export declare class NumberingManager {
5
+ private abstractNumberings;
6
+ private instances;
7
+ private nextAbstractNumId;
8
+ private nextNumId;
9
+ constructor(initializeDefaults?: boolean);
10
+ private initializeDefaultNumberings;
11
+ addAbstractNumbering(abstractNumbering: AbstractNumbering): this;
12
+ getAbstractNumbering(abstractNumId: number): AbstractNumbering | undefined;
13
+ getAllAbstractNumberings(): AbstractNumbering[];
14
+ hasAbstractNumbering(abstractNumId: number): boolean;
15
+ removeAbstractNumbering(abstractNumId: number): boolean;
16
+ addInstance(instance: NumberingInstance): this;
17
+ getInstance(numId: number): NumberingInstance | undefined;
18
+ getAllInstances(): NumberingInstance[];
19
+ hasInstance(numId: number): boolean;
20
+ removeInstance(numId: number): boolean;
21
+ createBulletList(levels?: number, bullets?: string[]): number;
22
+ createNumberedList(levels?: number, formats?: Array<'decimal' | 'lowerLetter' | 'lowerRoman'>): number;
23
+ createMultiLevelList(): number;
24
+ createCustomList(levels: NumberingLevel[], name?: string): number;
25
+ createInstance(abstractNumId: number): number;
26
+ getAbstractNumberingCount(): number;
27
+ getInstanceCount(): number;
28
+ clear(): this;
29
+ generateNumberingXml(): string;
30
+ static create(): NumberingManager;
31
+ static createEmpty(): NumberingManager;
32
+ }
33
+ //# sourceMappingURL=NumberingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberingManager.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,SAAS,CAAS;gBAMd,kBAAkB,GAAE,OAAe;IAc/C,OAAO,CAAC,2BAA2B;IAcnC,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI;IAgBhE,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAO1E,wBAAwB,IAAI,iBAAiB,EAAE;IAU/C,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAQpD,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAkBvD,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAuB9C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOzD,eAAe,IAAI,iBAAiB,EAAE;IAUtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAStC,gBAAgB,CAAC,MAAM,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAmBhE,kBAAkB,CAChB,MAAM,GAAE,MAAU,EAClB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC,GACxD,MAAM;IAiBT,oBAAoB,IAAI,MAAM;IAmB9B,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAsBjE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAe7C,yBAAyB,IAAI,MAAM;IAOnC,gBAAgB,IAAI,MAAM;IAO1B,KAAK,IAAI,IAAI;IAWb,oBAAoB,IAAI,MAAM;IA+B9B,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAOjC,MAAM,CAAC,WAAW,IAAI,gBAAgB;CAGvC"}