docxmlater 9.7.3 → 9.7.5

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.
package/README.md CHANGED
@@ -11,6 +11,9 @@ A comprehensive, production-ready TypeScript/JavaScript framework for creating,
11
11
  - Buffer-based operations (load/save from memory)
12
12
  - Document properties (core, extended, custom)
13
13
  - Memory management with dispose pattern
14
+ - Bookmark pair validation and auto-repair (`validateBookmarkPairs()`)
15
+ - App.xml metadata preservation (HeadingPairs, TotalTime, etc.)
16
+ - Document background color/theme support
14
17
 
15
18
  ### Text & Paragraph Formatting
16
19
 
@@ -20,6 +23,9 @@ A comprehensive, production-ready TypeScript/JavaScript framework for creating,
20
23
  - Paragraph alignment, indentation, spacing, borders, shading
21
24
  - Text search and replace with regex support
22
25
  - Custom styles (paragraph, character, table)
26
+ - CJK/East Asian paragraph properties (kinsoku, wordWrap, overflowPunct, topLinePunct)
27
+ - Underline color and theme color attributes
28
+ - Theme font references (asciiTheme, hAnsiTheme, eastAsiaTheme, csTheme)
23
29
 
24
30
  ### Lists & Tables
25
31
 
@@ -29,6 +35,9 @@ A comprehensive, production-ready TypeScript/JavaScript framework for creating,
29
35
  - Tables with formatting, borders, shading
30
36
  - Cell spanning (merge cells horizontally and vertically)
31
37
  - Advanced table properties (margins, widths, alignment)
38
+ - Table navigation helpers (`getFirstParagraph()`, `getLastParagraph()`)
39
+ - Legacy horizontal merge (`hMerge`) support
40
+ - Table layout parsing (`fixed`/`auto`)
32
41
  - Table style shading updates (modify styles.xml colors)
33
42
  - Cell content management (trailing blank removal with structure preservation)
34
43
 
@@ -39,17 +48,25 @@ A comprehensive, production-ready TypeScript/JavaScript framework for creating,
39
48
  - Hyperlinks (external URLs, internal bookmarks)
40
49
  - Hyperlink defragmentation utility (fixes fragmented links from Google Docs)
41
50
  - Bookmarks and cross-references
51
+ - Body-level bookmark support (bookmarks between block elements)
42
52
  - Shapes and text boxes
43
53
 
44
54
  ### Advanced Features
45
55
 
46
56
  - Track changes (revisions for insertions, deletions, formatting)
57
+ - Granular character-level tracked changes (text diff-based)
47
58
  - Comments and annotations
48
59
  - Compatibility mode detection and upgrade (Word 2003/2007/2010/2013+ modes)
49
- - Table of contents generation with customizable heading levels
60
+ - Table of contents generation with customizable heading levels and relative indentation
50
61
  - Fields: merge fields, date/time, page numbers, TOC fields
51
62
  - Footnotes and endnotes
52
63
  - Content controls (Structured Document Tags)
64
+ - Form field data preservation (text input, checkbox, dropdown per ECMA-376 §17.16)
65
+ - w14 run effects passthrough (Word 2010+ ligatures, numForm, textOutline, etc.)
66
+ - Expanded document settings (evenAndOddHeaders, mirrorMargins, autoHyphenation, decimalSymbol)
67
+ - People.xml auto-registration for tracked changes authors
68
+ - Style default attribute preservation (`w:default="1"`)
69
+ - Namespace order preservation in generated XML
53
70
  - Multiple sections with different page layouts
54
71
  - Page orientation, size, and margins
55
72
  - Preserved element round-trip (math equations, alternate content, custom XML)
@@ -59,6 +76,8 @@ A comprehensive, production-ready TypeScript/JavaScript framework for creating,
59
76
  - Complete XML generation and parsing (ReDoS-safe, position-based parser)
60
77
  - 40+ unit conversion functions (twips, EMUs, points, pixels, inches, cm)
61
78
  - Validation utilities and corruption detection
79
+ - Text diff utility for character-level comparisons
80
+ - webSettings.xml auto-generation
62
81
  - Safe OOXML parsing helpers (zero-value handling, boolean parsing)
63
82
  - Full TypeScript support with comprehensive type definitions
64
83
  - Error handling utilities
@@ -551,7 +570,7 @@ const properties: DocumentProperties = {
551
570
 
552
571
  ## Version History
553
572
 
554
- **Current Version: 9.6.2**
573
+ **Current Version: 9.7.3**
555
574
 
556
575
  See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
557
576
 
@@ -559,7 +578,7 @@ See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
559
578
 
560
579
  The framework includes comprehensive test coverage:
561
580
 
562
- - **2260+ test cases** across 99 test suites
581
+ - **2506+ test cases** across 113 test suites
563
582
  - Tests cover all phases of implementation
564
583
  - Integration tests for complex scenarios
565
584
  - Performance benchmarks
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"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"}
@@ -1363,11 +1363,16 @@ class DocumentParser {
1363
1363
  const numPr = Array.isArray(numPrRaw) ? numPrRaw[0] : numPrRaw;
1364
1364
  const numId = numPr?.["w:numId"]?.["@_w:val"];
1365
1365
  const ilvl = numPr?.["w:ilvl"]?.["@_w:val"] || "0";
1366
- if (numId) {
1366
+ if (numId !== undefined && numId !== null) {
1367
1367
  const parsedNumId = parseInt(numId, 10);
1368
1368
  const parsedIlvl = parseInt(ilvl, 10);
1369
1369
  if (!isNaN(parsedNumId) && !isNaN(parsedIlvl)) {
1370
- paragraph.setNumbering(parsedNumId, parsedIlvl);
1370
+ if (parsedNumId === 0) {
1371
+ paragraph.formatting.numberingSuppressed = true;
1372
+ }
1373
+ else {
1374
+ paragraph.setNumbering(parsedNumId, parsedIlvl);
1375
+ }
1371
1376
  }
1372
1377
  }
1373
1378
  }
@@ -1380,12 +1385,12 @@ class DocumentParser {
1380
1385
  const border = {};
1381
1386
  if (borderObj["@_w:val"])
1382
1387
  border.style = borderObj["@_w:val"];
1383
- if (borderObj["@_w:sz"])
1384
- border.size = parseInt(borderObj["@_w:sz"], 10);
1388
+ if (borderObj["@_w:sz"] !== undefined)
1389
+ border.size = (0, parsingHelpers_1.safeParseInt)(borderObj["@_w:sz"]);
1385
1390
  if (borderObj["@_w:color"])
1386
1391
  border.color = borderObj["@_w:color"];
1387
- if (borderObj["@_w:space"])
1388
- border.space = parseInt(borderObj["@_w:space"], 10);
1392
+ if (borderObj["@_w:space"] !== undefined)
1393
+ border.space = (0, parsingHelpers_1.safeParseInt)(borderObj["@_w:space"]);
1389
1394
  return Object.keys(border).length > 0 ? border : undefined;
1390
1395
  };
1391
1396
  if (pBdr["w:top"])
@@ -4090,10 +4095,10 @@ class DocumentParser {
4090
4095
  const border = {
4091
4096
  style: (borderObj["@_w:val"] || "single"),
4092
4097
  };
4093
- if (borderObj["@_w:sz"])
4094
- border.size = parseInt(borderObj["@_w:sz"], 10);
4095
- if (borderObj["@_w:space"])
4096
- border.space = parseInt(borderObj["@_w:space"], 10);
4098
+ if (borderObj["@_w:sz"] !== undefined)
4099
+ border.size = (0, parsingHelpers_1.safeParseInt)(borderObj["@_w:sz"]);
4100
+ if (borderObj["@_w:space"] !== undefined)
4101
+ border.space = (0, parsingHelpers_1.safeParseInt)(borderObj["@_w:space"]);
4097
4102
  if (borderObj["@_w:color"])
4098
4103
  border.color = borderObj["@_w:color"];
4099
4104
  return border;