@usejunior/docx-core 0.19.1 → 0.20.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 (113) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core-types.d.ts +1 -139
  3. package/dist/core-types.d.ts.map +1 -1
  4. package/dist/core-types.js +1 -3
  5. package/dist/core-types.js.map +1 -1
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +11 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/integration/generation-probes.d.ts +36 -2
  11. package/dist/integration/generation-probes.d.ts.map +1 -1
  12. package/dist/integration/generation-probes.js +137 -15
  13. package/dist/integration/generation-probes.js.map +1 -1
  14. package/dist/integration/libreoffice-oracle.js +1 -1
  15. package/dist/integration/synthetic-docx-fixture.d.ts.map +1 -1
  16. package/dist/integration/synthetic-docx-fixture.js +8 -0
  17. package/dist/integration/synthetic-docx-fixture.js.map +1 -1
  18. package/dist/primitives/accept_ai_edits.js +14 -2
  19. package/dist/primitives/accept_ai_edits.js.map +1 -1
  20. package/dist/primitives/accept_changes.d.ts +7 -0
  21. package/dist/primitives/accept_changes.d.ts.map +1 -1
  22. package/dist/primitives/accept_changes.js +92 -4
  23. package/dist/primitives/accept_changes.js.map +1 -1
  24. package/dist/primitives/bookmarks.d.ts +1 -0
  25. package/dist/primitives/bookmarks.d.ts.map +1 -1
  26. package/dist/primitives/bookmarks.js +1 -1
  27. package/dist/primitives/bookmarks.js.map +1 -1
  28. package/dist/primitives/comments.d.ts +31 -4
  29. package/dist/primitives/comments.d.ts.map +1 -1
  30. package/dist/primitives/comments.js +111 -12
  31. package/dist/primitives/comments.js.map +1 -1
  32. package/dist/primitives/document.d.ts +47 -1
  33. package/dist/primitives/document.d.ts.map +1 -1
  34. package/dist/primitives/document.js +198 -13
  35. package/dist/primitives/document.js.map +1 -1
  36. package/dist/primitives/document_view-headings.d.ts +3 -1
  37. package/dist/primitives/document_view-headings.d.ts.map +1 -1
  38. package/dist/primitives/document_view-headings.js +5 -5
  39. package/dist/primitives/document_view-headings.js.map +1 -1
  40. package/dist/primitives/document_view.d.ts +2 -0
  41. package/dist/primitives/document_view.d.ts.map +1 -1
  42. package/dist/primitives/document_view.js +18 -4
  43. package/dist/primitives/document_view.js.map +1 -1
  44. package/dist/primitives/field_evaluation.d.ts +70 -0
  45. package/dist/primitives/field_evaluation.d.ts.map +1 -0
  46. package/dist/primitives/field_evaluation.js +462 -0
  47. package/dist/primitives/field_evaluation.js.map +1 -0
  48. package/dist/primitives/footnotes.d.ts +17 -3
  49. package/dist/primitives/footnotes.d.ts.map +1 -1
  50. package/dist/primitives/footnotes.js +64 -17
  51. package/dist/primitives/footnotes.js.map +1 -1
  52. package/dist/primitives/index.d.ts +6 -1
  53. package/dist/primitives/index.d.ts.map +1 -1
  54. package/dist/primitives/index.js +6 -1
  55. package/dist/primitives/index.js.map +1 -1
  56. package/dist/primitives/merge_runs.d.ts +3 -1
  57. package/dist/primitives/merge_runs.d.ts.map +1 -1
  58. package/dist/primitives/merge_runs.js +12 -2
  59. package/dist/primitives/merge_runs.js.map +1 -1
  60. package/dist/primitives/namespaces.d.ts +10 -2
  61. package/dist/primitives/namespaces.d.ts.map +1 -1
  62. package/dist/primitives/namespaces.js +11 -2
  63. package/dist/primitives/namespaces.js.map +1 -1
  64. package/dist/primitives/note_conversion.d.ts +11 -0
  65. package/dist/primitives/note_conversion.d.ts.map +1 -0
  66. package/dist/primitives/note_conversion.js +12 -0
  67. package/dist/primitives/note_conversion.js.map +1 -0
  68. package/dist/primitives/paragraph_numbering.d.ts +40 -0
  69. package/dist/primitives/paragraph_numbering.d.ts.map +1 -0
  70. package/dist/primitives/paragraph_numbering.js +198 -0
  71. package/dist/primitives/paragraph_numbering.js.map +1 -0
  72. package/dist/primitives/reject_changes.d.ts +7 -0
  73. package/dist/primitives/reject_changes.d.ts.map +1 -1
  74. package/dist/primitives/reject_changes.js +133 -10
  75. package/dist/primitives/reject_changes.js.map +1 -1
  76. package/dist/primitives/sectPrAudit.d.ts.map +1 -1
  77. package/dist/primitives/sectPrAudit.js +10 -1
  78. package/dist/primitives/sectPrAudit.js.map +1 -1
  79. package/dist/primitives/sections.d.ts +134 -0
  80. package/dist/primitives/sections.d.ts.map +1 -0
  81. package/dist/primitives/sections.js +644 -0
  82. package/dist/primitives/sections.js.map +1 -0
  83. package/dist/primitives/styles.d.ts +60 -0
  84. package/dist/primitives/styles.d.ts.map +1 -1
  85. package/dist/primitives/styles.js +206 -25
  86. package/dist/primitives/styles.js.map +1 -1
  87. package/dist/primitives/symbol_run_content.d.ts +42 -0
  88. package/dist/primitives/symbol_run_content.d.ts.map +1 -0
  89. package/dist/primitives/symbol_run_content.js +79 -0
  90. package/dist/primitives/symbol_run_content.js.map +1 -0
  91. package/dist/primitives/text.d.ts +29 -0
  92. package/dist/primitives/text.d.ts.map +1 -1
  93. package/dist/primitives/text.js +354 -44
  94. package/dist/primitives/text.js.map +1 -1
  95. package/dist/primitives/track-changes-emitter.d.ts +9 -0
  96. package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
  97. package/dist/primitives/track-changes-emitter.js +39 -1
  98. package/dist/primitives/track-changes-emitter.js.map +1 -1
  99. package/dist/primitives/validate_document.d.ts.map +1 -1
  100. package/dist/primitives/validate_document.js +22 -1
  101. package/dist/primitives/validate_document.js.map +1 -1
  102. package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
  103. package/dist/shared/docx/DocxArchive.js +7 -0
  104. package/dist/shared/docx/DocxArchive.js.map +1 -1
  105. package/dist/shared/field-semantics.d.ts +26 -0
  106. package/dist/shared/field-semantics.d.ts.map +1 -0
  107. package/dist/shared/field-semantics.js +232 -0
  108. package/dist/shared/field-semantics.js.map +1 -0
  109. package/dist/shared/field-structure.d.ts +7 -1
  110. package/dist/shared/field-structure.d.ts.map +1 -1
  111. package/dist/shared/field-structure.js +25 -8
  112. package/dist/shared/field-structure.js.map +1 -1
  113. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/primitives/sections.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,19 @@ export type StyleDef = {
8
8
  export type StylesModel = {
9
9
  byId: Map<string, StyleDef>;
10
10
  };
11
+ export type ThemeModel = {
12
+ fonts: Map<string, string>;
13
+ colors: Map<string, string>;
14
+ };
15
+ /**
16
+ * Parse the concrete Latin/EA/complex-script fonts and color scheme carried by
17
+ * `word/theme/theme1.xml`.
18
+ *
19
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.26
20
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.6
21
+ * @see https://github.com/UseJunior/safe-docx/issues/738
22
+ */
23
+ export declare function parseThemeXml(themeDoc: Document | null): ThemeModel;
11
24
  export declare function parseStylesXml(stylesDoc: Document | null): StylesModel;
12
25
  export type ParagraphAlignment = 'LEFT' | 'CENTER' | 'RIGHT' | 'JUSTIFY';
13
26
  export type ParagraphFormatting = {
@@ -23,6 +36,14 @@ export declare function extractParagraphFormatting(pPr: Element | null, styles:
23
36
  export type RunFormatting = {
24
37
  bold: boolean;
25
38
  italic: boolean;
39
+ caps: boolean;
40
+ smallCaps: boolean;
41
+ strike: boolean;
42
+ emboss: boolean;
43
+ imprint: boolean;
44
+ outline: boolean;
45
+ shadow: boolean;
46
+ vanish: boolean;
26
47
  underline: boolean;
27
48
  highlightVal: string | null;
28
49
  fontName: string;
@@ -44,10 +65,49 @@ export type StyleRunFormatting = {
44
65
  };
45
66
  /** Resolve a named style's effective run formatting through its `basedOn` chain. */
46
67
  export declare function extractStyleRunFormatting(styles: StylesModel, styleId: string | null): StyleRunFormatting;
68
+ /**
69
+ * Resolve the run formatting a reader actually sees, not merely the formatting
70
+ * the run declares. Ordinary properties are taken from the first layer that
71
+ * specifies them: direct `w:rPr` on the run, then the `w:rStyle`
72
+ * character-style `basedOn` chain, then the paragraph mark's `w:rPr` inside
73
+ * `pPr`, then the paragraph style's `basedOn` chain. A property specified
74
+ * nowhere resolves to the neutral value (`false`, `''`, `0`, or `null`).
75
+ *
76
+ * Each property is resolved independently down the chain — a style that
77
+ * specifies only color does not mask an ancestor's bold.
78
+ *
79
+ * Toggle properties are evaluated in hierarchy order rather than by ordinary
80
+ * nearest-wins inheritance. At style level, an on declaration inverts the
81
+ * accumulated state and an off declaration preserves it. Direct formatting
82
+ * is absolute. This parity rule applies independently to `w:b`, `w:i`,
83
+ * `w:caps`, `w:smallCaps`, `w:strike`, `w:emboss`, `w:imprint`, `w:outline`,
84
+ * `w:shadow`, and `w:vanish`.
85
+ *
86
+ * Not resolved: `w:docDefaults`, table-style run properties, and
87
+ * numbering-level `rPr`. A formatting change confined to one of those layers
88
+ * is invisible to this resolver.
89
+ *
90
+ * Part of docx-core's public surface (see `src/index.ts`) so external
91
+ * diagnostics — `scripts/check_docx_formatting_loss.mjs` today, the planned
92
+ * formatting-convention detector (#687) — consume this one implementation
93
+ * instead of growing declared-properties re-implementations that drift.
94
+ *
95
+ * @param params.run the `w:r` element (a non-run element yields style/paragraph
96
+ * contributions only)
97
+ * @param params.paragraphPPr the owning paragraph's `w:pPr`, or null
98
+ * @param params.paragraphStyleId the `w:val` of `pPr/w:pStyle`, or null
99
+ * @param params.styles the model produced by {@link parseStylesXml}
100
+ * @param params.theme the model produced by {@link parseThemeXml}; when
101
+ * omitted, direct font/color fallbacks retain their previous behavior
102
+ *
103
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
104
+ * @see https://github.com/UseJunior/safe-docx/issues/737
105
+ */
47
106
  export declare function extractEffectiveRunFormatting(params: {
48
107
  run: Element;
49
108
  paragraphPPr: Element | null;
50
109
  paragraphStyleId: string | null;
51
110
  styles: StylesModel;
111
+ theme?: ThemeModel | null;
52
112
  }): RunFormatting;
53
113
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/primitives/styles.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC7B,CAAC;AAEF,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,CAyBtE;AAiBD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAsDF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,GAAG,IAAI,EACnB,MAAM,EAAE,WAAW,GAClB,mBAAmB,CA+BrB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,kBAAkB,CASpB;AA0DD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;CACrB,GAAG,aAAa,CAiChB"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/primitives/styles.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,76 @@ function getWAttr(el, localName) {
5
5
  // when attributes were written without a real namespace binding.
6
6
  return getAttributeSafe(el, OOXML.W_NS, localName, 'w', { emptyIsMissing: true });
7
7
  }
8
+ const THEME_COLOR_ELEMENT_BY_REFERENCE = {
9
+ dark1: 'dk1',
10
+ light1: 'lt1',
11
+ dark2: 'dk2',
12
+ light2: 'lt2',
13
+ text1: 'dk1',
14
+ background1: 'lt1',
15
+ text2: 'dk2',
16
+ background2: 'lt2',
17
+ accent1: 'accent1',
18
+ accent2: 'accent2',
19
+ accent3: 'accent3',
20
+ accent4: 'accent4',
21
+ accent5: 'accent5',
22
+ accent6: 'accent6',
23
+ hyperlink: 'hlink',
24
+ followedHyperlink: 'folHlink',
25
+ };
26
+ function drawingChild(parent, localName) {
27
+ return parent ? getFirstChild(parent, OOXML.A_NS, localName) : null;
28
+ }
29
+ function themeColorHex(slot) {
30
+ const srgb = drawingChild(slot, 'srgbClr');
31
+ const srgbValue = srgb?.getAttribute('val');
32
+ if (srgbValue && /^[0-9A-Fa-f]{6}$/u.test(srgbValue))
33
+ return srgbValue.toUpperCase();
34
+ const system = drawingChild(slot, 'sysClr');
35
+ const lastColor = system?.getAttribute('lastClr');
36
+ if (lastColor && /^[0-9A-Fa-f]{6}$/u.test(lastColor))
37
+ return lastColor.toUpperCase();
38
+ return null;
39
+ }
40
+ /**
41
+ * Parse the concrete Latin/EA/complex-script fonts and color scheme carried by
42
+ * `word/theme/theme1.xml`.
43
+ *
44
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.26
45
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.6
46
+ * @see https://github.com/UseJunior/safe-docx/issues/738
47
+ */
48
+ export function parseThemeXml(themeDoc) {
49
+ const fonts = new Map();
50
+ const colors = new Map();
51
+ if (!themeDoc)
52
+ return { fonts, colors };
53
+ const fontScheme = themeDoc.getElementsByTagNameNS(OOXML.A_NS, 'fontScheme').item(0);
54
+ for (const family of ['major', 'minor']) {
55
+ const familyElement = drawingChild(fontScheme, `${family}Font`);
56
+ for (const [suffix, elementName] of [
57
+ ['Ascii', 'latin'],
58
+ ['HAnsi', 'latin'],
59
+ ['EastAsia', 'ea'],
60
+ ['Bidi', 'cs'],
61
+ ]) {
62
+ const typeface = drawingChild(familyElement, elementName)?.getAttribute('typeface');
63
+ if (typeface)
64
+ fonts.set(`${family}${suffix}`, typeface);
65
+ }
66
+ }
67
+ const colorScheme = themeDoc.getElementsByTagNameNS(OOXML.A_NS, 'clrScheme').item(0);
68
+ if (colorScheme) {
69
+ for (const [reference, elementName] of Object.entries(THEME_COLOR_ELEMENT_BY_REFERENCE)) {
70
+ const slot = drawingChild(colorScheme, elementName);
71
+ const hex = slot ? themeColorHex(slot) : null;
72
+ if (hex)
73
+ colors.set(reference, hex);
74
+ }
75
+ }
76
+ return { fonts, colors };
77
+ }
8
78
  export function parseStylesXml(stylesDoc) {
9
79
  const byId = new Map();
10
80
  if (!stylesDoc)
@@ -128,9 +198,9 @@ export function extractStyleRunFormatting(styles, styleId) {
128
198
  return {
129
199
  bold: firstNonNull(rPrs.map((rPr) => parseBoolProp(rPr, W.b))),
130
200
  italic: firstNonNull(rPrs.map((rPr) => parseBoolProp(rPr, W.i))),
131
- fontName: firstNonNull(rPrs.map(parseFontName)),
201
+ fontName: firstNonNull(rPrs.map((rPr) => parseFontName(rPr))),
132
202
  fontSizePt: firstNonNull(rPrs.map(parseFontSizePt)),
133
- colorHex: firstNonNull(rPrs.map(parseColorHex)),
203
+ colorHex: firstNonNull(rPrs.map((rPr) => parseColorHex(rPr))),
134
204
  };
135
205
  }
136
206
  function parseBoolProp(parent, tagLocal) {
@@ -139,12 +209,37 @@ function parseBoolProp(parent, tagLocal) {
139
209
  const el = getFirstChild(parent, OOXML.W_NS, tagLocal);
140
210
  if (!el)
141
211
  return null;
142
- // <w:b/> implies true. <w:b w:val="0"/> implies false.
212
+ // <w:b/> implies true. <w:b w:val="0"/> implies false. 'off' is the
213
+ // transitional OOXML ST_OnOff spelling; documents produced by older writers
214
+ // still carry it, and reading it as "on" would invert the property.
143
215
  const v = getWAttr(el, 'val');
144
- if (v === '0' || v === 'false')
216
+ if (v === '0' || v === 'false' || v === 'off')
145
217
  return false;
146
218
  return true;
147
219
  }
220
+ /**
221
+ * Evaluate a toggle property in hierarchy order. Style-level true values
222
+ * invert the accumulated state while style-level false values preserve it;
223
+ * direct formatting sets an absolute value.
224
+ *
225
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
226
+ * @see https://github.com/UseJunior/safe-docx/issues/737
227
+ */
228
+ function resolveToggleProperty(steps, tagLocal) {
229
+ let effective = false;
230
+ for (const { rPr, kind } of steps) {
231
+ const declaration = parseBoolProp(rPr, tagLocal);
232
+ if (declaration === null)
233
+ continue;
234
+ if (kind === 'direct') {
235
+ effective = declaration;
236
+ }
237
+ else if (declaration) {
238
+ effective = !effective;
239
+ }
240
+ }
241
+ return effective;
242
+ }
148
243
  function parseUnderline(parent) {
149
244
  if (!parent)
150
245
  return null;
@@ -156,12 +251,18 @@ function parseUnderline(parent) {
156
251
  return true;
157
252
  return v !== 'none';
158
253
  }
159
- function parseFontName(parent) {
254
+ function parseFontName(parent, theme = null) {
160
255
  if (!parent)
161
256
  return null;
162
257
  const el = getFirstChild(parent, OOXML.W_NS, W.rFonts);
163
258
  if (!el)
164
259
  return null;
260
+ for (const attribute of ['asciiTheme', 'hAnsiTheme', 'eastAsiaTheme', 'cstheme']) {
261
+ const reference = getWAttr(el, attribute);
262
+ const resolved = reference ? theme?.fonts.get(reference) : null;
263
+ if (resolved)
264
+ return resolved;
265
+ }
165
266
  return getWAttr(el, 'ascii') ?? getWAttr(el, 'hAnsi') ?? getWAttr(el, 'cs') ?? getWAttr(el, 'val') ?? null;
166
267
  }
167
268
  function parseFontSizePt(parent) {
@@ -179,12 +280,33 @@ function parseFontSizePt(parent) {
179
280
  // OOXML stores half-points.
180
281
  return v / 2.0;
181
282
  }
182
- function parseColorHex(parent) {
283
+ function applyThemeColorTransform(hex, tint, shade) {
284
+ const tintByte = tint && /^[0-9A-Fa-f]{2}$/u.test(tint) ? Number.parseInt(tint, 16) : null;
285
+ const shadeByte = shade && /^[0-9A-Fa-f]{2}$/u.test(shade) ? Number.parseInt(shade, 16) : null;
286
+ const transform = (component) => {
287
+ let value = component;
288
+ if (shadeByte !== null)
289
+ value = value * (shadeByte / 255);
290
+ if (tintByte !== null)
291
+ value = 255 - (255 - value) * (tintByte / 255);
292
+ return Math.max(0, Math.min(255, Math.round(value)));
293
+ };
294
+ return [0, 2, 4]
295
+ .map((offset) => transform(Number.parseInt(hex.slice(offset, offset + 2), 16)).toString(16).padStart(2, '0'))
296
+ .join('')
297
+ .toUpperCase();
298
+ }
299
+ function parseColorHex(parent, theme = null) {
183
300
  if (!parent)
184
301
  return null;
185
302
  const el = getFirstChild(parent, OOXML.W_NS, W.color);
186
303
  if (!el)
187
304
  return null;
305
+ const themeReference = getWAttr(el, 'themeColor');
306
+ const themeHex = themeReference ? theme?.colors.get(themeReference) : null;
307
+ if (themeHex) {
308
+ return applyThemeColorTransform(themeHex, getWAttr(el, 'themeTint'), getWAttr(el, 'themeShade'));
309
+ }
188
310
  const v = getWAttr(el, 'val') || el.getAttribute('val');
189
311
  if (!v || v === 'auto')
190
312
  return null;
@@ -201,8 +323,46 @@ function parseHighlightVal(parent) {
201
323
  return null;
202
324
  return v;
203
325
  }
326
+ /**
327
+ * Resolve the run formatting a reader actually sees, not merely the formatting
328
+ * the run declares. Ordinary properties are taken from the first layer that
329
+ * specifies them: direct `w:rPr` on the run, then the `w:rStyle`
330
+ * character-style `basedOn` chain, then the paragraph mark's `w:rPr` inside
331
+ * `pPr`, then the paragraph style's `basedOn` chain. A property specified
332
+ * nowhere resolves to the neutral value (`false`, `''`, `0`, or `null`).
333
+ *
334
+ * Each property is resolved independently down the chain — a style that
335
+ * specifies only color does not mask an ancestor's bold.
336
+ *
337
+ * Toggle properties are evaluated in hierarchy order rather than by ordinary
338
+ * nearest-wins inheritance. At style level, an on declaration inverts the
339
+ * accumulated state and an off declaration preserves it. Direct formatting
340
+ * is absolute. This parity rule applies independently to `w:b`, `w:i`,
341
+ * `w:caps`, `w:smallCaps`, `w:strike`, `w:emboss`, `w:imprint`, `w:outline`,
342
+ * `w:shadow`, and `w:vanish`.
343
+ *
344
+ * Not resolved: `w:docDefaults`, table-style run properties, and
345
+ * numbering-level `rPr`. A formatting change confined to one of those layers
346
+ * is invisible to this resolver.
347
+ *
348
+ * Part of docx-core's public surface (see `src/index.ts`) so external
349
+ * diagnostics — `scripts/check_docx_formatting_loss.mjs` today, the planned
350
+ * formatting-convention detector (#687) — consume this one implementation
351
+ * instead of growing declared-properties re-implementations that drift.
352
+ *
353
+ * @param params.run the `w:r` element (a non-run element yields style/paragraph
354
+ * contributions only)
355
+ * @param params.paragraphPPr the owning paragraph's `w:pPr`, or null
356
+ * @param params.paragraphStyleId the `w:val` of `pPr/w:pStyle`, or null
357
+ * @param params.styles the model produced by {@link parseStylesXml}
358
+ * @param params.theme the model produced by {@link parseThemeXml}; when
359
+ * omitted, direct font/color fallbacks retain their previous behavior
360
+ *
361
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
362
+ * @see https://github.com/UseJunior/safe-docx/issues/737
363
+ */
204
364
  export function extractEffectiveRunFormatting(params) {
205
- const { run, paragraphPPr, paragraphStyleId, styles } = params;
365
+ const { run, paragraphPPr, paragraphStyleId, styles, theme = null } = params;
206
366
  const isRun = run.localName === W.r || run.localName === 'r';
207
367
  const rPr = isRun ? getFirstChild(run, OOXML.W_NS, W.rPr) : null;
208
368
  const pRPr = paragraphPPr ? getFirstChild(paragraphPPr, OOXML.W_NS, W.rPr) : null;
@@ -210,25 +370,46 @@ export function extractEffectiveRunFormatting(params) {
210
370
  const rStyleEl = rPr ? getFirstChild(rPr, OOXML.W_NS, W.rStyle) : null;
211
371
  const rStyleId = rStyleEl ? (getWAttr(rStyleEl, 'val') ?? null) : null;
212
372
  const rStyleChain = resolveStyleChain(styles, rStyleId);
213
- const rStyleRPr = firstNonNull(rStyleChain.map((s) => s.rPr));
214
- const paraChain = resolveStyleChain(styles, paragraphStyleId);
215
- const styleRPr = firstNonNull(paraChain.map((s) => s.rPr));
216
- // Priority: direct rPr → rStyle chain rPr → paragraph rPr → paragraph style chain rPr
217
- const bold = firstNonNull([parseBoolProp(rPr, W.b), parseBoolProp(rStyleRPr, W.b), parseBoolProp(pRPr, W.b), parseBoolProp(styleRPr, W.b)]) ?? false;
218
- const italic = firstNonNull([parseBoolProp(rPr, W.i), parseBoolProp(rStyleRPr, W.i), parseBoolProp(pRPr, W.i), parseBoolProp(styleRPr, W.i)]) ?? false;
219
- const underline = firstNonNull([parseUnderline(rPr), parseUnderline(rStyleRPr), parseUnderline(pRPr), parseUnderline(styleRPr)]) ?? false;
220
- const highlightVal = firstNonNull([parseHighlightVal(rPr), parseHighlightVal(rStyleRPr), parseHighlightVal(pRPr), parseHighlightVal(styleRPr)]);
221
- const fontName = firstNonNull([parseFontName(rPr), parseFontName(rStyleRPr), parseFontName(pRPr), parseFontName(styleRPr)]) ?? '';
222
- const fontSizePt = firstNonNull([parseFontSizePt(rPr), parseFontSizePt(rStyleRPr), parseFontSizePt(pRPr), parseFontSizePt(styleRPr)]) ?? 0;
223
- const colorHex = firstNonNull([parseColorHex(rPr), parseColorHex(rStyleRPr), parseColorHex(pRPr), parseColorHex(styleRPr)]);
373
+ const paragraphStyleChain = resolveStyleChain(styles, paragraphStyleId);
374
+ // Priority: direct rPr → rStyle chain rPrs → paragraph mark rPr → paragraph
375
+ // style chain rPrs. Each property resolves independently down this list: a
376
+ // chain member that specifies only color must not mask an ancestor's bold,
377
+ // so the sources are the individual rPr containers, never "the first chain
378
+ // member that has an rPr" (peer review on #684; extractStyleRunFormatting
379
+ // above already resolved per property).
380
+ const sources = [
381
+ rPr,
382
+ ...rStyleChain.map((s) => s.rPr),
383
+ pRPr,
384
+ ...paragraphStyleChain.map((s) => s.rPr),
385
+ ];
386
+ const resolve = (parse) => firstNonNull(sources.map(parse));
387
+ // Apply from the least specific style ancestor to direct run formatting.
388
+ // Paragraph-mark rPr is direct formatting at its hierarchy level; a
389
+ // character style can still contribute above it before the run's own rPr
390
+ // supplies the final absolute override.
391
+ const toggleSteps = [
392
+ ...[...paragraphStyleChain].reverse().map((style) => ({ rPr: style.rPr, kind: 'style' })),
393
+ { rPr: pRPr, kind: 'direct' },
394
+ ...[...rStyleChain].reverse().map((style) => ({ rPr: style.rPr, kind: 'style' })),
395
+ { rPr, kind: 'direct' },
396
+ ];
224
397
  return {
225
- bold,
226
- italic,
227
- underline,
228
- highlightVal: highlightVal ?? null,
229
- fontName,
230
- fontSizePt,
231
- colorHex: colorHex ?? null,
398
+ bold: resolveToggleProperty(toggleSteps, W.b),
399
+ italic: resolveToggleProperty(toggleSteps, W.i),
400
+ caps: resolveToggleProperty(toggleSteps, W.caps),
401
+ smallCaps: resolveToggleProperty(toggleSteps, W.smallCaps),
402
+ strike: resolveToggleProperty(toggleSteps, W.strike),
403
+ emboss: resolveToggleProperty(toggleSteps, W.emboss),
404
+ imprint: resolveToggleProperty(toggleSteps, W.imprint),
405
+ outline: resolveToggleProperty(toggleSteps, W.outline),
406
+ shadow: resolveToggleProperty(toggleSteps, W.shadow),
407
+ vanish: resolveToggleProperty(toggleSteps, W.vanish),
408
+ underline: resolve(parseUnderline) ?? false,
409
+ highlightVal: resolve(parseHighlightVal),
410
+ fontName: resolve((el) => parseFontName(el, theme)) ?? '',
411
+ fontSizePt: resolve(parseFontSizePt) ?? 0,
412
+ colorHex: resolve((el) => parseColorHex(el, theme)),
232
413
  };
233
414
  }
234
415
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/primitives/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/primitives/styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Text projection of `<w:sym>` run content.
3
+ *
4
+ * A symbol glyph has two legal spellings in WordprocessingML and Word renders
5
+ * them identically:
6
+ *
7
+ * 1. `<w:sym w:font="Wingdings" w:char="F0A8"/>`, and
8
+ * 2. the same codepoint written literally inside a `<w:t>`, with the symbol
9
+ * font carried on the run's `<w:rFonts>`.
10
+ *
11
+ * Any text projection that walks `w:t`/`w:delText` alone therefore sees a
12
+ * document that *lost* a symbol and a document that *kept* it as the same
13
+ * string, and sees the two spellings of one glyph as different strings. This
14
+ * module is the single place the projection resolves spelling (1) into the
15
+ * characters spelling (2) would have contributed.
16
+ *
17
+ * The font is deliberately **not** part of the projected value. The projections
18
+ * that consume this are text projections: they already exclude `w:rFonts`, so
19
+ * folding `w:sym/@w:font` in would make the same font signal visible for one
20
+ * spelling of a glyph and invisible for the other, and would make the two
21
+ * spellings compare unequal by construction — the exact false difference this
22
+ * resolution exists to remove. A font-only change is a formatting change and
23
+ * belongs to the formatting-fidelity surface, not the round-trip text gate;
24
+ * that residual is tracked separately.
25
+ *
26
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.3.30
27
+ * @see https://github.com/UseJunior/safe-docx/issues/793
28
+ * @see https://github.com/UseJunior/safe-docx/issues/799
29
+ */
30
+ /** Local name of the symbol-character run-content element. */
31
+ export declare const SYM_LOCAL_NAME = "sym";
32
+ /**
33
+ * Project a `<w:sym>` element to the text it contributes, or `undefined` when
34
+ * `element` is not a `w:sym`.
35
+ *
36
+ * For a resolvable `@w:char` the result is exactly the character the glyph
37
+ * stands for — what it would have contributed had it been spelled as literal
38
+ * `w:t` content. Otherwise it is a framed, projection-only identity that keeps
39
+ * the element's presence visible without colliding with authored text.
40
+ */
41
+ export declare function projectSymbolRun(element: Element): string | undefined;
42
+ //# sourceMappingURL=symbol_run_content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol_run_content.d.ts","sourceRoot":"","sources":["../../src/primitives/symbol_run_content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,8DAA8D;AAC9D,eAAO,MAAM,cAAc,QAAQ,CAAC;AAkCpC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Text projection of `<w:sym>` run content.
3
+ *
4
+ * A symbol glyph has two legal spellings in WordprocessingML and Word renders
5
+ * them identically:
6
+ *
7
+ * 1. `<w:sym w:font="Wingdings" w:char="F0A8"/>`, and
8
+ * 2. the same codepoint written literally inside a `<w:t>`, with the symbol
9
+ * font carried on the run's `<w:rFonts>`.
10
+ *
11
+ * Any text projection that walks `w:t`/`w:delText` alone therefore sees a
12
+ * document that *lost* a symbol and a document that *kept* it as the same
13
+ * string, and sees the two spellings of one glyph as different strings. This
14
+ * module is the single place the projection resolves spelling (1) into the
15
+ * characters spelling (2) would have contributed.
16
+ *
17
+ * The font is deliberately **not** part of the projected value. The projections
18
+ * that consume this are text projections: they already exclude `w:rFonts`, so
19
+ * folding `w:sym/@w:font` in would make the same font signal visible for one
20
+ * spelling of a glyph and invisible for the other, and would make the two
21
+ * spellings compare unequal by construction — the exact false difference this
22
+ * resolution exists to remove. A font-only change is a formatting change and
23
+ * belongs to the formatting-fidelity surface, not the round-trip text gate;
24
+ * that residual is tracked separately.
25
+ *
26
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.3.30
27
+ * @see https://github.com/UseJunior/safe-docx/issues/793
28
+ * @see https://github.com/UseJunior/safe-docx/issues/799
29
+ */
30
+ import { OOXML } from './namespaces.js';
31
+ /** Local name of the symbol-character run-content element. */
32
+ export const SYM_LOCAL_NAME = 'sym';
33
+ /**
34
+ * `w:sym/@w:char` is `ST_ShortHexNumber` — `xsd:hexBinary` restricted to
35
+ * `length="2"`, i.e. exactly two bytes, four hexadecimal digits. Every legal
36
+ * value is therefore a BMP codepoint and `String.fromCharCode` is total over
37
+ * the domain. Four digits exactly: `A` and `ABC` are outside the lexical space
38
+ * and must not be read as characters.
39
+ */
40
+ const SHORT_HEX_NUMBER = /^[0-9A-Fa-f]{4}$/u;
41
+ /**
42
+ * Projection identity for a `w:sym` whose `@w:char` is absent or outside
43
+ * `ST_ShortHexNumber`. Both `CT_Sym` attributes are optional in the vendored
44
+ * schema, so such an element is not schema-invalid — it is semantically
45
+ * unresolvable, and it is still *content*. Projecting nothing would reopen the
46
+ * blindness this module closes.
47
+ *
48
+ * It is a framed token rather than a character (U+FFFD was the obvious choice
49
+ * and is wrong: a document may author U+FFFD literally, and an unresolvable
50
+ * symbol would then compare equal to that text). The framing follows the
51
+ * `__safe_docx_pageref__|` convention already used for stable comparison
52
+ * identities in `docx-compare`.
53
+ */
54
+ const UNRESOLVED_SYMBOL_IDENTITY = '__safe_docx_sym__|unresolved';
55
+ function isSymElement(element) {
56
+ // The namespace check alone is sufficient, and a qualified-name fallback
57
+ // would be dead code: `parseXml` rejects an undeclared prefix outright
58
+ // (`NamespaceError: prefix is non-null and namespace is null`), so nothing
59
+ // reaching this function can be named `w:sym` with a null namespace.
60
+ return element.namespaceURI === OOXML.W_NS && element.localName === SYM_LOCAL_NAME;
61
+ }
62
+ /**
63
+ * Project a `<w:sym>` element to the text it contributes, or `undefined` when
64
+ * `element` is not a `w:sym`.
65
+ *
66
+ * For a resolvable `@w:char` the result is exactly the character the glyph
67
+ * stands for — what it would have contributed had it been spelled as literal
68
+ * `w:t` content. Otherwise it is a framed, projection-only identity that keeps
69
+ * the element's presence visible without colliding with authored text.
70
+ */
71
+ export function projectSymbolRun(element) {
72
+ if (!isSymElement(element))
73
+ return undefined;
74
+ const raw = element.getAttributeNS(OOXML.W_NS, 'char') ?? element.getAttribute('w:char');
75
+ if (raw === null || !SHORT_HEX_NUMBER.test(raw))
76
+ return UNRESOLVED_SYMBOL_IDENTITY;
77
+ return String.fromCharCode(Number.parseInt(raw, 16));
78
+ }
79
+ //# sourceMappingURL=symbol_run_content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol_run_content.js","sourceRoot":"","sources":["../../src/primitives/symbol_run_content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAElE,SAAS,YAAY,CAAC,OAAgB;IACpC,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,OAAO,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,CAAC;AACrF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,GAAG,GACP,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/E,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,0BAA0B,CAAC;IACnF,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}