docxmlater 1.2.0 → 1.3.1

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 (81) hide show
  1. package/README.md +228 -31
  2. package/dist/core/BaseManager.d.ts +21 -0
  3. package/dist/core/BaseManager.d.ts.map +1 -0
  4. package/dist/core/BaseManager.js +86 -0
  5. package/dist/core/BaseManager.js.map +1 -0
  6. package/dist/core/Document.d.ts +19 -1
  7. package/dist/core/Document.d.ts.map +1 -1
  8. package/dist/core/Document.js +394 -0
  9. package/dist/core/Document.js.map +1 -1
  10. package/dist/core/DocumentParser.d.ts +4 -0
  11. package/dist/core/DocumentParser.d.ts.map +1 -1
  12. package/dist/core/DocumentParser.js +649 -103
  13. package/dist/core/DocumentParser.js.map +1 -1
  14. package/dist/elements/Comment.d.ts +1 -0
  15. package/dist/elements/Comment.d.ts.map +1 -1
  16. package/dist/elements/Comment.js +3 -0
  17. package/dist/elements/Comment.js.map +1 -1
  18. package/dist/elements/Field.d.ts +13 -1
  19. package/dist/elements/Field.d.ts.map +1 -1
  20. package/dist/elements/Field.js +34 -1
  21. package/dist/elements/Field.js.map +1 -1
  22. package/dist/elements/FieldHelpers.d.ts +7 -0
  23. package/dist/elements/FieldHelpers.d.ts.map +1 -0
  24. package/dist/elements/FieldHelpers.js +62 -0
  25. package/dist/elements/FieldHelpers.js.map +1 -0
  26. package/dist/elements/Hyperlink.d.ts +1 -0
  27. package/dist/elements/Hyperlink.d.ts.map +1 -1
  28. package/dist/elements/Hyperlink.js +6 -1
  29. package/dist/elements/Hyperlink.js.map +1 -1
  30. package/dist/elements/Paragraph.d.ts +6 -0
  31. package/dist/elements/Paragraph.d.ts.map +1 -1
  32. package/dist/elements/Paragraph.js +48 -2
  33. package/dist/elements/Paragraph.js.map +1 -1
  34. package/dist/elements/Run.d.ts +15 -3
  35. package/dist/elements/Run.d.ts.map +1 -1
  36. package/dist/elements/Run.js +122 -54
  37. package/dist/elements/Run.js.map +1 -1
  38. package/dist/elements/Section.d.ts +9 -0
  39. package/dist/elements/Section.d.ts.map +1 -1
  40. package/dist/elements/Section.js +21 -0
  41. package/dist/elements/Section.js.map +1 -1
  42. package/dist/elements/Table.d.ts +0 -1
  43. package/dist/elements/Table.d.ts.map +1 -1
  44. package/dist/elements/Table.js +18 -21
  45. package/dist/elements/Table.js.map +1 -1
  46. package/dist/elements/TableCell.d.ts +0 -1
  47. package/dist/elements/TableCell.d.ts.map +1 -1
  48. package/dist/elements/TableCell.js +4 -16
  49. package/dist/elements/TableCell.js.map +1 -1
  50. package/dist/elements/TableOfContents.d.ts +5 -0
  51. package/dist/elements/TableOfContents.d.ts.map +1 -1
  52. package/dist/elements/TableOfContents.js +31 -4
  53. package/dist/elements/TableOfContents.js.map +1 -1
  54. package/dist/formatting/NumberingLevel.d.ts +2 -0
  55. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  56. package/dist/formatting/NumberingLevel.js +8 -0
  57. package/dist/formatting/NumberingLevel.js.map +1 -1
  58. package/dist/index.d.ts +3 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +17 -3
  61. package/dist/index.js.map +1 -1
  62. package/dist/utils/diagnostics.d.ts +20 -0
  63. package/dist/utils/diagnostics.d.ts.map +1 -0
  64. package/dist/utils/diagnostics.js +80 -0
  65. package/dist/utils/diagnostics.js.map +1 -0
  66. package/dist/utils/formatting.d.ts +7 -0
  67. package/dist/utils/formatting.d.ts.map +1 -0
  68. package/dist/utils/formatting.js +93 -0
  69. package/dist/utils/formatting.js.map +1 -0
  70. package/dist/utils/validation.d.ts +1 -0
  71. package/dist/utils/validation.d.ts.map +1 -1
  72. package/dist/utils/validation.js +12 -0
  73. package/dist/utils/validation.js.map +1 -1
  74. package/dist/xml/XMLBuilder.d.ts +25 -0
  75. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  76. package/dist/xml/XMLBuilder.js +72 -0
  77. package/dist/xml/XMLBuilder.js.map +1 -1
  78. package/dist/xml/XMLParser.d.ts.map +1 -1
  79. package/dist/xml/XMLParser.js +15 -0
  80. package/dist/xml/XMLParser.js.map +1 -1
  81. package/package.json +1 -1
package/README.md CHANGED
@@ -1,29 +1,32 @@
1
1
  # docXMLater - Professional DOCX Framework
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/docxmlater.svg)](https://www.npmjs.com/package/docxmlater)
4
- [![Tests](https://img.shields.io/badge/tests-1098%20passing-brightgreen)](https://github.com/ItMeDiaTech/docXMLater)
4
+ [![Tests](https://img.shields.io/badge/tests-1119%20passing-brightgreen)](https://github.com/ItMeDiaTech/docXMLater)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- A comprehensive, production-ready TypeScript/JavaScript library for creating, reading, and manipulating Microsoft Word (.docx) documents programmatically. Full OpenXML compliance with extensive API coverage and **100% test pass rate**.
8
+ A comprehensive, production-ready TypeScript/JavaScript library for creating, reading, and manipulating Microsoft Word (.docx) documents programmatically. Full OpenXML compliance with extensive API coverage and robust test suite.
9
9
 
10
10
  Built for professional documentation work, docXMLater provides a complete solution for programmatic DOCX manipulation with an intuitive API and helper functions for all aspects of document creation and modification.
11
11
 
12
- ## Latest Updates - v1.0.0
12
+ ## Latest Updates - v1.3.0
13
13
 
14
- **Production Release!** All major features complete:
14
+ **Enhanced Parsing & Helper Functions:**
15
15
 
16
- ### What's New in v1.0.0
16
+ ### What's New in v1.3.0
17
17
 
18
+ - **TOC Parsing:** Parse Table of Contents from existing documents with full SDT support
19
+ - **TOC Modification:** Modify TOC field instructions (add/remove switches: \h, \u, \z, \n, \o, \t)
20
+ - **Header/Footer Removal:** New `removeAllHeadersFooters()` helper function
18
21
  - **Complete Feature Set:** All 102 major features implemented
19
22
  - **Table Styles:** Full support with 12 conditional formatting types
20
23
  - **Content Controls:** 9 control types (rich text, plain text, combo box, dropdown, date picker, checkbox, picture, building block, group)
21
24
  - **Field Types:** 11 field types (PAGE, NUMPAGES, DATE, TIME, FILENAME, AUTHOR, TITLE, REF, HYPERLINK, SEQ, TC/XE)
22
25
  - **Drawing Elements:** Shapes and textboxes with full positioning
23
26
  - **Document Properties:** Core, extended, and custom properties
24
- - **Production Ready:** Full ECMA-376 compliance, zero regressions
27
+ - **Production Ready:** Full ECMA-376 compliance
25
28
 
26
- **Test Results:** 1,098/1,098 tests passing (100% - exceeding v1.0 goal by 29%)
29
+ **Test Results:** 1,119/1,150 tests passing (97.3% pass rate - 1,119 core features validated)
27
30
 
28
31
  ## Quick Start
29
32
 
@@ -82,16 +85,60 @@ await doc.save("output.docx");
82
85
 
83
86
  ### Content Retrieval
84
87
 
85
- | Method | Description | Returns |
86
- | --------------------- | --------------------- | ------------------------------------------ |
87
- | `getParagraphs()` | Get all paragraphs | `Paragraph[]` |
88
- | `getTables()` | Get all tables | `Table[]` |
89
- | `getBodyElements()` | Get all body elements | `BodyElement[]` |
90
- | `getParagraphCount()` | Count paragraphs | `number` |
91
- | `getTableCount()` | Count tables | `number` |
92
- | `getHyperlinks()` | Get all links | `Array<{hyperlink, paragraph}>` |
93
- | `getBookmarks()` | Get all bookmarks | `Array<{bookmark, paragraph}>` |
94
- | `getImages()` | Get all images | `Array<{image, relationshipId, filename}>` |
88
+ | Method | Description | Returns |
89
+ | ---------------------- | --------------------------------------- | ------------------------------------------ |
90
+ | `getParagraphs()` | Get top-level paragraphs | `Paragraph[]` |
91
+ | `getAllParagraphs()` | Get all paragraphs (recursive) | `Paragraph[]` |
92
+ | `getTables()` | Get top-level tables | `Table[]` |
93
+ | `getAllTables()` | Get all tables (recursive) | `Table[]` |
94
+ | `getBodyElements()` | Get all body elements | `BodyElement[]` |
95
+ | `getParagraphCount()` | Count paragraphs | `number` |
96
+ | `getTableCount()` | Count tables | `number` |
97
+ | `getHyperlinks()` | Get all links | `Array<{hyperlink, paragraph}>` |
98
+ | `getBookmarks()` | Get all bookmarks | `Array<{bookmark, paragraph}>` |
99
+ | `getImages()` | Get all images | `Array<{image, relationshipId, filename}>` |
100
+
101
+ **Note**: The `getAllParagraphs()` and `getAllTables()` methods recursively search inside tables and SDTs (Structured Document Tags), while the non-prefixed methods only return top-level elements.
102
+
103
+ **Example - Recursive Element Access:**
104
+
105
+ ```typescript
106
+ import { Document, Hyperlink } from 'docxmlater';
107
+
108
+ // Load document with complex structure (tables, SDTs, nested content)
109
+ const doc = await Document.load('complex.docx');
110
+
111
+ // Get only top-level paragraphs (misses nested content)
112
+ const topLevel = doc.getParagraphs();
113
+ console.log(`Top-level paragraphs: ${topLevel.length}`); // e.g., 37
114
+
115
+ // Get ALL paragraphs including those in tables and SDTs
116
+ const allParas = doc.getAllParagraphs();
117
+ console.log(`All paragraphs: ${allParas.length}`); // e.g., 52
118
+
119
+ // Apply formatting to ALL paragraphs (including nested ones)
120
+ for (const para of allParas) {
121
+ para.setSpaceAfter(120); // Set 6pt spacing after each paragraph
122
+ }
123
+
124
+ // Get all tables including those inside SDTs
125
+ const allTables = doc.getAllTables();
126
+ for (const table of allTables) {
127
+ table.setWidth(5000).setWidthType('pct'); // Set to 100% width
128
+ }
129
+
130
+ // Find all hyperlinks in the entire document
131
+ let hyperlinkCount = 0;
132
+ for (const para of allParas) {
133
+ for (const content of para.getContent()) {
134
+ if (content instanceof Hyperlink) {
135
+ hyperlinkCount++;
136
+ content.setFormatting({ color: '0000FF' }); // Make all links blue
137
+ }
138
+ }
139
+ }
140
+ console.log(`Updated ${hyperlinkCount} hyperlinks`);
141
+ ```
95
142
 
96
143
  ### Content Removal
97
144
 
@@ -409,12 +456,15 @@ baseStyle.mergeWith(overrideStyle); // baseStyle now has bold red text
409
456
  | `TableOfContents.createSimple(title?)` | Simple TOC (2 levels) | `TableOfContents.createSimple()` |
410
457
  | `TableOfContents.createDetailed(title?)` | Detailed TOC (4 levels) | `TableOfContents.createDetailed()` |
411
458
  | `TableOfContents.createHyperlinked(title?)` | Hyperlinked TOC | `TableOfContents.createHyperlinked()` |
459
+ | `TableOfContents.createNoPageNumbers(opts?)` | TOC without page numbers | `TableOfContents.createNoPageNumbers()` |
412
460
  | `TableOfContents.createWithStyles(styles, opts?)` | TOC with specific styles | `TableOfContents.createWithStyles(['H1','H3'])` |
413
461
  | `TableOfContents.createFlat(title?, styles?)` | Flat TOC (no indent) | `TableOfContents.createFlat()` |
414
462
  | `TableOfContents.createNumbered(title?, format?)` | Numbered TOC | `TableOfContents.createNumbered('TOC', 'roman')` |
415
463
  | `TableOfContents.createWithSpacing(spacing, opts?)` | TOC with custom spacing | `TableOfContents.createWithSpacing(120)` |
416
464
  | `TableOfContents.createWithHyperlinkColor(color, opts?)` | Custom hyperlink color | `TableOfContents.createWithHyperlinkColor('FF0000')` |
417
465
 
466
+ **Note:** All TOC elements are automatically wrapped in an SDT (Structured Document Tag) for native Word integration. This enables Word's "Update Table" button and provides better compatibility with Microsoft Word's TOC features.
467
+
418
468
  #### TOC Configuration Methods
419
469
 
420
470
  | Method | Description | Values |
@@ -425,6 +475,7 @@ baseStyle.mergeWith(overrideStyle); // baseStyle now has bold red text
425
475
  | `setCustomIndents(indents)` | Custom indents per level | `[0, 200, 400]` (twips) |
426
476
  | `setSpaceBetweenEntries(spacing)` | Spacing between entries | `120` (twips) |
427
477
  | `setHyperlinkColor(color)` | Hyperlink color | `'0000FF'` (default blue) |
478
+ | `setHideInWebLayout(hide)` | Hide page numbers in web view | `true/false` |
428
479
  | `configure(options)` | Bulk configuration | See example below |
429
480
 
430
481
  #### TOC Properties
@@ -436,6 +487,7 @@ baseStyle.mergeWith(overrideStyle); // baseStyle now has bold red text
436
487
  | `includeStyles` | `string[]` | `undefined` | Specific styles (overrides levels) |
437
488
  | `showPageNumbers` | `boolean` | `true` | Show page numbers |
438
489
  | `useHyperlinks` | `boolean` | `false` | Use hyperlinks instead of page #s |
490
+ | `hideInWebLayout` | `boolean` | `false` | Hide page numbers in web layout |
439
491
  | `numbered` | `boolean` | `false` | Number TOC entries |
440
492
  | `numberingFormat` | `'decimal'/'roman'/'alpha'` | `'decimal'` | Numbering format |
441
493
  | `noIndent` | `boolean` | `false` | Remove all indentation |
@@ -575,6 +627,69 @@ doc.insertTocAt(0, toc);
575
627
  | `FootnoteManager.create()` | Manage footnotes |
576
628
  | `EndnoteManager.create()` | Manage endnotes |
577
629
 
630
+ #### Document Helper Functions
631
+
632
+ High-level helper methods for common document formatting tasks:
633
+
634
+ | Method | Description |
635
+ | ---------------------------------------- | ------------------------------------------------------------------------------------------- |
636
+ | `applyCustomFormattingToExistingStyles()`| Modify Heading1, Heading2, Normal styles with Verdana font, specific spacing, single line spacing, wrap Heading2 in tables, right-align "Top of Document" hyperlinks, set all hyperlinks to blue, and hide TOC page numbers |
637
+ | `wrapParagraphInTable(para, options?)` | Wrap a paragraph in a 1x1 table with optional shading, margins, and width settings |
638
+ | `isParagraphInTable(para)` | Check if a paragraph is inside a table; returns `{inTable: boolean, cell?: TableCell}` |
639
+ | `updateAllHyperlinkColors(color)` | Set all hyperlinks in the document to a specific color (e.g., '0000FF' for blue) |
640
+ | `removeAllHeadersFooters()` | Remove all headers and footers from the document; returns count of headers/footers removed |
641
+
642
+ **Example - Using Helper Functions:**
643
+
644
+ ```typescript
645
+ import { Document } from 'docxmlater';
646
+
647
+ const doc = await Document.load('document.docx');
648
+
649
+ // Apply comprehensive formatting to standard styles
650
+ const results = doc.applyCustomFormattingToExistingStyles();
651
+ console.log(`Modified styles:`, results);
652
+ // Output: { heading1: true, heading2: true, normal: true }
653
+
654
+ // Wrap a specific paragraph in a table
655
+ const para = doc.getParagraphs()[0];
656
+ doc.wrapParagraphInTable(para, {
657
+ shading: 'BFBFBF', // Gray background
658
+ marginLeft: 101, // 5pt margins
659
+ marginRight: 101,
660
+ tableWidthPercent: 5000 // 100% width
661
+ });
662
+
663
+ // Check if a paragraph is in a table
664
+ const { inTable, cell } = doc.isParagraphInTable(para);
665
+ if (inTable && cell) {
666
+ console.log('Paragraph is in a table cell');
667
+ cell.setShading({ fill: 'FFFF00' }); // Change to yellow
668
+ }
669
+
670
+ // Set all hyperlinks to blue
671
+ doc.updateAllHyperlinkColors('0000FF');
672
+
673
+ // Remove all headers and footers
674
+ const removedCount = doc.removeAllHeadersFooters();
675
+ console.log(`Removed ${removedCount} headers and footers`);
676
+
677
+ await doc.save('formatted.docx');
678
+ ```
679
+
680
+ **Note on `applyCustomFormattingToExistingStyles()`:**
681
+
682
+ This helper function applies a comprehensive set of formatting rules:
683
+ - **Heading1**: 18pt black bold Verdana, left aligned, 0pt before/12pt after, single line spacing
684
+ - **Heading2**: 14pt black bold Verdana, left aligned, 6pt before/after, single line spacing, wrapped in gray tables (100% width)
685
+ - **Normal**: 12pt Verdana, left aligned, 3pt before/after, single line spacing
686
+ - **All Styles**: Removes italic and underline formatting
687
+ - **Hyperlinks**: "Top of the Document" links are right-aligned with 0pt spacing; all hyperlinks set to blue (#0000FF)
688
+ - **Empty Paragraphs**: Empty Heading2 paragraphs are skipped (not wrapped in tables)
689
+ - **TOC Elements**: All Table of Contents have page numbers hidden (showPageNumbers=false, hideInWebLayout=true with \n and \z switches)
690
+
691
+ Per ECMA-376 §17.7.2, direct formatting in document.xml overrides style definitions. This method automatically clears conflicting direct formatting to ensure style changes take effect.
692
+
578
693
  ### Low-Level Document Parts
579
694
 
580
695
  | Method | Description | Example |
@@ -938,7 +1053,7 @@ npm run test:watch # Watch mode
938
1053
  npm run test:coverage # Coverage report
939
1054
  ```
940
1055
 
941
- **Current:** 474 tests passing | 98.1% pass rate | 100% core functionality covered
1056
+ **Current:** 1,119 tests passing (97.3% pass rate) | 100% core functionality covered
942
1057
 
943
1058
  ## Development
944
1059
 
@@ -1150,6 +1265,81 @@ const para = new Paragraph()
1150
1265
  // But note: This will cause layout issues (whitespace) in Word
1151
1266
  ```
1152
1267
 
1268
+ ## Known Limitations
1269
+
1270
+ While docXMLater provides comprehensive DOCX manipulation capabilities, there are some features that are not yet fully implemented:
1271
+
1272
+ ### 1. Table Row Spanning with vMerge
1273
+
1274
+ **Status:** FULLY IMPLEMENTED ✅
1275
+
1276
+ **What Works:**
1277
+ - Column spanning (horizontal cell merging) is fully supported
1278
+ - Row spanning (vertical cell merging) is now fully implemented
1279
+ - Both horizontal and vertical merging can be combined
1280
+ - Uses Word's proper `vMerge` attribute ('restart' and 'continue')
1281
+
1282
+ **Usage:**
1283
+ ```typescript
1284
+ // Merge cells horizontally (column spanning)
1285
+ table.mergeCells(0, 0, 0, 2); // Merge columns 0-2 in row 0
1286
+
1287
+ // Merge cells vertically (row spanning)
1288
+ table.mergeCells(0, 0, 2, 0); // Merge rows 0-2 in column 0
1289
+
1290
+ // Merge both horizontally and vertically (2x2 block)
1291
+ table.mergeCells(0, 0, 1, 1); // Merge 2x2 block starting at (0,0)
1292
+ ```
1293
+
1294
+ ### 2. Structured Document Tags (SDT) Parsing
1295
+
1296
+ **Status:** FULLY IMPLEMENTED ✅
1297
+
1298
+ **What Works:**
1299
+ - Complete SDT parsing from existing documents
1300
+ - All 9 control types supported (richText, plainText, comboBox, dropDownList, datePicker, checkbox, picture, buildingBlock, group)
1301
+ - SDT properties fully extracted (id, tag, lock, alias, controlType)
1302
+ - Nested content parsing (paragraphs, tables, nested SDTs)
1303
+ - Preserves element order using XMLParser's `_orderedChildren` metadata
1304
+ - Round-trip operations fully supported
1305
+
1306
+ **Control Types Supported:**
1307
+ - **Rich Text** - Multi-formatted text content
1308
+ - **Plain Text** - Simple text with optional multiLine support
1309
+ - **Combo Box** - User-editable dropdown with list items
1310
+ - **Dropdown List** - Fixed selection from list items
1311
+ - **Date Picker** - Date selection with format and calendar type
1312
+ - **Checkbox** - Boolean selection with custom checked/unchecked states
1313
+ - **Picture** - Image content control
1314
+ - **Building Block** - Gallery and category-based content
1315
+ - **Group** - Grouping of other controls
1316
+
1317
+ **Usage:**
1318
+ ```typescript
1319
+ // Load documents with SDTs - fully parsed
1320
+ const doc = await Document.load('document-with-sdts.docx');
1321
+
1322
+ // Access parsed SDT content
1323
+ const sdts = doc.getBodyElements().filter(el => el instanceof StructuredDocumentTag);
1324
+ for (const sdt of sdts) {
1325
+ console.log('ID:', sdt.getId());
1326
+ console.log('Tag:', sdt.getTag());
1327
+ console.log('Type:', sdt.getControlType());
1328
+ console.log('Content:', sdt.getContent());
1329
+ }
1330
+
1331
+ // Create new SDTs programmatically
1332
+ const sdt = new StructuredDocumentTag({
1333
+ id: 123456,
1334
+ tag: 'MyControl',
1335
+ controlType: 'richText',
1336
+ alias: 'Rich Text Control'
1337
+ });
1338
+ sdt.addContent(paragraph);
1339
+ ```
1340
+
1341
+ All known limitations have been resolved! For feature requests or bug reports, please visit our [GitHub Issues](https://github.com/ItMeDiaTech/docXMLater/issues).
1342
+
1153
1343
  ## Contributing
1154
1344
 
1155
1345
  Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md).
@@ -1160,19 +1350,26 @@ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md)
1160
1350
  4. Push to branch (`git push origin feature/amazing-feature`)
1161
1351
  5. Open a Pull Request
1162
1352
 
1163
- ## Recent Updates (v0.20.1)
1164
-
1165
- **Critical Bug Fix Release:**
1166
-
1167
- - **Fixed Paragraph.getText()** - Now includes hyperlink text content (critical data loss bug)
1168
- - **Added hyperlink integration tests** - 6 new comprehensive test cases
1169
- - **Enhanced test suite** - 474/478 tests passing (98.1% pass rate)
1170
- - **Fixed type safety** - XMLElement handling improvements across test files
1171
- - **Improved StylesManager** - XML corruption detection moved before parser
1172
- - **Hyperlink management** - Proper relationship ID clearing on URL updates
1173
-
1174
- **What This Fixes:**
1175
- When using `para.addText('foo') + para.addHyperlink(link)`, the hyperlink text is now properly included in `paragraph.getText()`, preventing silent text loss.
1353
+ ## Recent Updates (v1.3.0)
1354
+
1355
+ **Enhanced Document Parsing & Helper Functions:**
1356
+
1357
+ - **TOC Parsing** - Parse Table of Contents from existing DOCX files
1358
+ - Extract TOC field instructions with all switches (\h, \u, \z, \n, \o, \t)
1359
+ - Detect SDT wrappers with `docPartGallery="Table of Contents"`
1360
+ - Create `TableOfContentsElement` objects from parsed TOCs
1361
+ - Support for modifying TOC field instructions in loaded documents
1362
+ - **removeAllHeadersFooters() Helper** - New document helper function
1363
+ - Removes all headers and footers from the document
1364
+ - Deletes header/footer XML files and relationships
1365
+ - Returns count of removed headers/footers
1366
+ - **Enhanced Test Suite** - 1,119/1,150 tests passing (97.3% pass rate)
1367
+ - **Documentation Updates** - Complete API reference for new helper functions
1368
+
1369
+ **Previous Enhancements (v1.2.0):**
1370
+ - 5 advanced document helper functions
1371
+ - Enhanced document modification capabilities
1372
+ - Improved paragraph and table wrapping utilities
1176
1373
 
1177
1374
  ## License
1178
1375
 
@@ -0,0 +1,21 @@
1
+ export declare abstract class BaseManager<T, K = number | string> {
2
+ protected items: Map<K, T>;
3
+ constructor();
4
+ add(id: K, item: T): this;
5
+ get(id: K): T | undefined;
6
+ has(id: K): boolean;
7
+ remove(id: K): boolean;
8
+ getAll(): T[];
9
+ getAllIds(): K[];
10
+ getEntries(): [K, T][];
11
+ clear(): this;
12
+ getCount(): number;
13
+ isEmpty(): boolean;
14
+ forEach(callback: (item: T, id: K) => void): void;
15
+ find(predicate: (item: T, id: K) => boolean): T | undefined;
16
+ filter(predicate: (item: T, id: K) => boolean): T[];
17
+ map<U>(mapper: (item: T, id: K) => U): U[];
18
+ some(predicate: (item: T, id: K) => boolean): boolean;
19
+ every(predicate: (item: T, id: K) => boolean): boolean;
20
+ }
21
+ //# sourceMappingURL=BaseManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseManager.d.ts","sourceRoot":"","sources":["../../src/core/BaseManager.ts"],"names":[],"mappings":"AAOA,8BAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM;IAEtD,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IAqB3B,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAmBzB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAiBzB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAgBnB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAetB,MAAM,IAAI,CAAC,EAAE;IAeb,SAAS,IAAI,CAAC,EAAE;IAgBhB,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAetB,KAAK,IAAI,IAAI;IAeb,QAAQ,IAAI,MAAM;IAgBlB,OAAO,IAAI,OAAO;IAgBlB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAejD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAoB3D,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE;IAqBnD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAmB1C,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAoBrD,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;CAQvD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseManager = void 0;
4
+ class BaseManager {
5
+ items;
6
+ constructor() {
7
+ this.items = new Map();
8
+ }
9
+ add(id, item) {
10
+ this.items.set(id, item);
11
+ return this;
12
+ }
13
+ get(id) {
14
+ return this.items.get(id);
15
+ }
16
+ has(id) {
17
+ return this.items.has(id);
18
+ }
19
+ remove(id) {
20
+ return this.items.delete(id);
21
+ }
22
+ getAll() {
23
+ return Array.from(this.items.values());
24
+ }
25
+ getAllIds() {
26
+ return Array.from(this.items.keys());
27
+ }
28
+ getEntries() {
29
+ return Array.from(this.items.entries());
30
+ }
31
+ clear() {
32
+ this.items.clear();
33
+ return this;
34
+ }
35
+ getCount() {
36
+ return this.items.size;
37
+ }
38
+ isEmpty() {
39
+ return this.items.size === 0;
40
+ }
41
+ forEach(callback) {
42
+ this.items.forEach((item, id) => callback(item, id));
43
+ }
44
+ find(predicate) {
45
+ for (const [id, item] of this.items.entries()) {
46
+ if (predicate(item, id)) {
47
+ return item;
48
+ }
49
+ }
50
+ return undefined;
51
+ }
52
+ filter(predicate) {
53
+ const results = [];
54
+ for (const [id, item] of this.items.entries()) {
55
+ if (predicate(item, id)) {
56
+ results.push(item);
57
+ }
58
+ }
59
+ return results;
60
+ }
61
+ map(mapper) {
62
+ const results = [];
63
+ for (const [id, item] of this.items.entries()) {
64
+ results.push(mapper(item, id));
65
+ }
66
+ return results;
67
+ }
68
+ some(predicate) {
69
+ for (const [id, item] of this.items.entries()) {
70
+ if (predicate(item, id)) {
71
+ return true;
72
+ }
73
+ }
74
+ return false;
75
+ }
76
+ every(predicate) {
77
+ for (const [id, item] of this.items.entries()) {
78
+ if (!predicate(item, id)) {
79
+ return false;
80
+ }
81
+ }
82
+ return true;
83
+ }
84
+ }
85
+ exports.BaseManager = BaseManager;
86
+ //# sourceMappingURL=BaseManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseManager.js","sourceRoot":"","sources":["../../src/core/BaseManager.ts"],"names":[],"mappings":";;;AAOA,MAAsB,WAAW;IAErB,KAAK,CAAY;IAK3B;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC/B,CAAC;IAcD,GAAG,CAAC,EAAK,EAAE,IAAO;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,GAAG,CAAC,EAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAeD,GAAG,CAAC,EAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAcD,MAAM,CAAC,EAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAaD,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAaD,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAcD,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAaD,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAcD,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/B,CAAC;IAcD,OAAO,CAAC,QAAkC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAaD,IAAI,CAAC,SAAsC;QACzC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAaD,MAAM,CAAC,SAAsC;QAC3C,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAaD,GAAG,CAAI,MAA6B;QAClC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAaD,IAAI,CAAC,SAAsC;QACzC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAaD,KAAK,CAAC,SAAsC;QAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9RD,kCA8RC"}
@@ -1,6 +1,6 @@
1
1
  import { ZipHandler } from "../zip/ZipHandler";
2
2
  import { Paragraph } from "../elements/Paragraph";
3
- import { Table } from "../elements/Table";
3
+ import { Table, TableBorder } from "../elements/Table";
4
4
  import { TableCell } from "../elements/TableCell";
5
5
  import { Section } from "../elements/Section";
6
6
  import { Image } from "../elements/Image";
@@ -98,7 +98,10 @@ export declare class Document {
98
98
  createTableOfContents(title?: string): this;
99
99
  getParagraphs(): Paragraph[];
100
100
  getTables(): Table[];
101
+ getAllParagraphs(): Paragraph[];
102
+ getAllTables(): Table[];
101
103
  getTableOfContentsElements(): TableOfContentsElement[];
104
+ addBodyElement(element: BodyElement): this;
102
105
  getBodyElements(): BodyElement[];
103
106
  getParagraphCount(): number;
104
107
  getTableCount(): number;
@@ -144,6 +147,7 @@ export declare class Document {
144
147
  }): number;
145
148
  updateAllHyperlinkColors(color: string): number;
146
149
  setAllTablesLayout(layout: "auto" | "fixed"): number;
150
+ applyBordersToAllTables(border: TableBorder): number;
147
151
  applyTableFormattingBySize(singleCellShading: string, multiCellFirstRowShading: string): {
148
152
  singleCellCount: number;
149
153
  multiCellCount: number;
@@ -169,6 +173,20 @@ export declare class Document {
169
173
  };
170
174
  setListIndentation(numId: number, level: number, leftIndent: number, hangingIndent?: number): this;
171
175
  normalizeAllListIndentation(): number;
176
+ applyStandardListFormatting(): number;
177
+ private applyFormattingToListParagraphs;
178
+ private isParagraphInTable;
179
+ private wrapParagraphInTable;
180
+ applyCustomStylesToDocument(): {
181
+ heading1: number;
182
+ heading2: number;
183
+ normal: number;
184
+ };
185
+ applyCustomFormattingToExistingStyles(): {
186
+ heading1: boolean;
187
+ heading2: boolean;
188
+ normal: boolean;
189
+ };
172
190
  getSection(): Section;
173
191
  setSection(section: Section): this;
174
192
  setPageSize(width: number, height: number, orientation?: "portrait" | "landscape"): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}