@usejunior/docx-core 0.22.0 → 0.23.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 (56) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/integration/generation-probes.d.ts.map +1 -1
  3. package/dist/integration/generation-probes.js +26 -21
  4. package/dist/integration/generation-probes.js.map +1 -1
  5. package/dist/integration/libreoffice-oracle.d.ts +6 -1
  6. package/dist/integration/libreoffice-oracle.d.ts.map +1 -1
  7. package/dist/integration/libreoffice-oracle.js +113 -44
  8. package/dist/integration/libreoffice-oracle.js.map +1 -1
  9. package/dist/integration/soffice-lock.d.ts +30 -0
  10. package/dist/integration/soffice-lock.d.ts.map +1 -0
  11. package/dist/integration/soffice-lock.js +308 -0
  12. package/dist/integration/soffice-lock.js.map +1 -0
  13. package/dist/primitives/accept_ai_edits.d.ts +8 -0
  14. package/dist/primitives/accept_ai_edits.d.ts.map +1 -1
  15. package/dist/primitives/accept_ai_edits.js +24 -4
  16. package/dist/primitives/accept_ai_edits.js.map +1 -1
  17. package/dist/primitives/accept_changes.d.ts +27 -1
  18. package/dist/primitives/accept_changes.d.ts.map +1 -1
  19. package/dist/primitives/accept_changes.js +57 -2
  20. package/dist/primitives/accept_changes.js.map +1 -1
  21. package/dist/primitives/comments.d.ts.map +1 -1
  22. package/dist/primitives/comments.js +2 -2
  23. package/dist/primitives/comments.js.map +1 -1
  24. package/dist/primitives/document.d.ts +1 -0
  25. package/dist/primitives/document.d.ts.map +1 -1
  26. package/dist/primitives/document.js +27 -14
  27. package/dist/primitives/document.js.map +1 -1
  28. package/dist/primitives/document_view-headings.d.ts.map +1 -1
  29. package/dist/primitives/document_view-headings.js +16 -6
  30. package/dist/primitives/document_view-headings.js.map +1 -1
  31. package/dist/primitives/footnotes.js +2 -2
  32. package/dist/primitives/footnotes.js.map +1 -1
  33. package/dist/primitives/formatting_tags.d.ts +6 -3
  34. package/dist/primitives/formatting_tags.d.ts.map +1 -1
  35. package/dist/primitives/formatting_tags.js +50 -44
  36. package/dist/primitives/formatting_tags.js.map +1 -1
  37. package/dist/primitives/paragraph-index.d.ts +28 -2
  38. package/dist/primitives/paragraph-index.d.ts.map +1 -1
  39. package/dist/primitives/paragraph-index.js +25 -6
  40. package/dist/primitives/paragraph-index.js.map +1 -1
  41. package/dist/primitives/styles.d.ts +88 -20
  42. package/dist/primitives/styles.d.ts.map +1 -1
  43. package/dist/primitives/styles.js +207 -40
  44. package/dist/primitives/styles.js.map +1 -1
  45. package/dist/primitives/xml.d.ts +43 -1
  46. package/dist/primitives/xml.d.ts.map +1 -1
  47. package/dist/primitives/xml.js +100 -10
  48. package/dist/primitives/xml.js.map +1 -1
  49. package/dist/primitives/zip.d.ts +6 -0
  50. package/dist/primitives/zip.d.ts.map +1 -1
  51. package/dist/primitives/zip.js +19 -4
  52. package/dist/primitives/zip.js.map +1 -1
  53. package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
  54. package/dist/shared/docx/DocxArchive.js +6 -2
  55. package/dist/shared/docx/DocxArchive.js.map +1 -1
  56. package/package.json +3 -3
@@ -8,6 +8,21 @@ export type StyleDef = {
8
8
  };
9
9
  export type StylesModel = {
10
10
  byId: Map<string, StyleDef>;
11
+ /**
12
+ * `w:docDefaults/w:rPrDefault/w:rPr`, when the styles part declares one.
13
+ * {@link extractEffectiveRunFormatting} reads it as the lowest-precedence
14
+ * run-property layer (#753). Optional so callers that build the `{ byId }`
15
+ * shape by hand remain source-compatible; such a model has no document
16
+ * defaults.
17
+ */
18
+ docDefaultsRPr?: Element | null;
19
+ /**
20
+ * Every `w:rPr` carried by a table style, including the conditional
21
+ * `w:tblStylePr/w:rPr` blocks. A detection-only probe: the resolver does not
22
+ * read table styles, so a declaration here that could change a property of a
23
+ * run inside a table makes that property unresolved.
24
+ */
25
+ tableStyleRPrs?: Element[];
11
26
  };
12
27
  export type ThemeModel = {
13
28
  fonts: Map<string, string>;
@@ -34,22 +49,45 @@ export type ParagraphFormatting = {
34
49
  outlineLevel: number | null;
35
50
  };
36
51
  export declare function extractParagraphFormatting(pPr: Element | null, styles: StylesModel): ParagraphFormatting;
52
+ /**
53
+ * Effective run formatting. `null` means the resolver could not establish the
54
+ * property, and never stands in for a rendered default. That happens when:
55
+ * - no layer the resolver reads above `w:docDefaults` declares the property,
56
+ * the run is inside a table, and a table style's run properties declare a
57
+ * value that differs from what `w:docDefaults` (or the OOXML default) gives
58
+ * — table styles sit above document defaults and are not read;
59
+ * - the nearest layer that declares it does so through a theme colour or
60
+ * theme font reference that cannot be resolved (no theme, or no matching
61
+ * theme entry, and no explicit fallback value); or
62
+ * - it has no OOXML default (`fontName`, `fontSizePt`) and no consulted layer,
63
+ * `w:docDefaults` included, declares it.
64
+ *
65
+ * A property declared nowhere in the document resolves to its OOXML default:
66
+ * `false` for toggles and `underline`, `false` for `highlightVal` (no
67
+ * highlight), and `'auto'` for `colorHex`. Explicit "off" declarations
68
+ * (`w:b w:val="0"`, `w:u w:val="none"`, `w:highlight w:val="none"`,
69
+ * `w:color w:val="auto"`) resolve to the same values, and like any other
70
+ * declaration they stop inheritance: `w:color w:val="auto"` on a run hides a
71
+ * character style's red, and `w:highlight w:val="none"` hides its highlight.
72
+ *
73
+ * @see https://github.com/UseJunior/safe-docx/issues/752
74
+ */
37
75
  export type RunFormatting = {
38
- bold: boolean;
39
- italic: boolean;
40
- caps: boolean;
41
- smallCaps: boolean;
42
- strike: boolean;
43
- emboss: boolean;
44
- imprint: boolean;
45
- outline: boolean;
46
- shadow: boolean;
47
- vanish: boolean;
48
- underline: boolean;
49
- highlightVal: string | null;
50
- fontName: string;
51
- fontSizePt: number;
52
- colorHex: string | null;
76
+ bold: boolean | null;
77
+ italic: boolean | null;
78
+ caps: boolean | null;
79
+ smallCaps: boolean | null;
80
+ strike: boolean | null;
81
+ emboss: boolean | null;
82
+ imprint: boolean | null;
83
+ outline: boolean | null;
84
+ shadow: boolean | null;
85
+ vanish: boolean | null;
86
+ underline: boolean | null;
87
+ highlightVal: string | false | null;
88
+ fontName: string | null;
89
+ fontSizePt: number | null;
90
+ colorHex: string | 'auto' | null;
53
91
  };
54
92
  /**
55
93
  * Tri-state run formatting resolved from a named style's `basedOn` chain: `null` means no
@@ -71,8 +109,8 @@ export declare function extractStyleRunFormatting(styles: StylesModel, styleId:
71
109
  * the run declares. Ordinary properties are taken from the first layer that
72
110
  * specifies them: direct `w:rPr` on the run, then the `w:rStyle`
73
111
  * character-style `basedOn` chain, then the paragraph mark's `w:rPr` inside
74
- * `pPr`, then the paragraph style's `basedOn` chain. A property specified
75
- * nowhere resolves to the neutral value (`false`, `''`, `0`, or `null`).
112
+ * `pPr`, then the paragraph style's `basedOn` chain, and finally the
113
+ * document defaults (`w:docDefaults/w:rPrDefault/w:rPr`).
76
114
  *
77
115
  * Each property is resolved independently down the chain — a style that
78
116
  * specifies only color does not mask an ancestor's bold.
@@ -84,9 +122,17 @@ export declare function extractStyleRunFormatting(styles: StylesModel, styleId:
84
122
  * `w:caps`, `w:smallCaps`, `w:strike`, `w:emboss`, `w:imprint`, `w:outline`,
85
123
  * `w:shadow`, and `w:vanish`.
86
124
  *
87
- * Not resolved: `w:docDefaults`, table-style run properties, and
88
- * numbering-level `rPr`. A formatting change confined to one of those layers
89
- * is invisible to this resolver.
125
+ * Document defaults seed toggle evaluation as an absolute base value rather
126
+ * than acting as another parity level (see {@link resolveToggleProperty}).
127
+ *
128
+ * Not read: table-style run properties. For a run inside a table, when a
129
+ * property is declared nowhere above the document defaults and a table style
130
+ * declares a value that would change it (for a toggle: turns it on), the
131
+ * result is `null` (unresolved) rather than a guess; when no layer declares it
132
+ * at all, the result is the OOXML default (see {@link RunFormatting}). A
133
+ * toggle that a direct layer sets absolutely is resolved regardless of table
134
+ * styles. Numbering-level `rPr` formats only the list label (`w:lvlText`),
135
+ * never the paragraph's runs, so it is out of scope.
90
136
  *
91
137
  * Part of docx-core's public surface (see `src/index.ts`) so external
92
138
  * diagnostics — `scripts/check_docx_formatting_loss.mjs` today, the planned
@@ -102,7 +148,10 @@ export declare function extractStyleRunFormatting(styles: StylesModel, styleId:
102
148
  * omitted, direct font/color fallbacks retain their previous behavior
103
149
  *
104
150
  * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
151
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.5.1
105
152
  * @see https://github.com/UseJunior/safe-docx/issues/737
153
+ * @see https://github.com/UseJunior/safe-docx/issues/752
154
+ * @see https://github.com/UseJunior/safe-docx/issues/753
106
155
  */
107
156
  export declare function extractEffectiveRunFormatting(params: {
108
157
  run: Element;
@@ -111,4 +160,23 @@ export declare function extractEffectiveRunFormatting(params: {
111
160
  styles: StylesModel;
112
161
  theme?: ThemeModel | null;
113
162
  }): RunFormatting;
163
+ /**
164
+ * Effective run formatting for annotation bodies (comments, footnotes), whose
165
+ * `tagged_text` is emitted in `full` mode and read back by docx-markdoc.
166
+ * Toggles, underline and highlight resolve through every layer, document
167
+ * defaults included. Colour, size and font are reported only when a layer
168
+ * above `w:docDefaults` declares them, otherwise as not declared (`'auto'` /
169
+ * `null`), so the inherited document font is not tagged as `face` on every run
170
+ * and a direct value that restates the document default is still emitted
171
+ * over a character style that would otherwise show through on import.
172
+ *
173
+ * @see https://github.com/UseJunior/safe-docx/issues/753
174
+ */
175
+ export declare function extractAnnotationRunFormatting(params: {
176
+ run: Element;
177
+ paragraphPPr: Element | null;
178
+ paragraphStyleId: string | null;
179
+ styles: StylesModel;
180
+ theme?: ThemeModel | null;
181
+ }): RunFormatting;
114
182
  //# 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,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,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,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,CAAC;AAoCF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,CA4BnE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,CA0BtE;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,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,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;AAoHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,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;IACpB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B,GAAG,aAAa,CAuDhB"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/primitives/styles.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,11 @@ export function parseThemeXml(themeDoc) {
78
78
  export function parseStylesXml(stylesDoc) {
79
79
  const byId = new Map();
80
80
  if (!stylesDoc)
81
- return { byId };
81
+ return { byId, docDefaultsRPr: null, tableStyleRPrs: [] };
82
+ const docDefaults = stylesDoc.getElementsByTagNameNS(OOXML.W_NS, W.docDefaults).item(0);
83
+ const rPrDefault = docDefaults ? getFirstChild(docDefaults, OOXML.W_NS, W.rPrDefault) : null;
84
+ const docDefaultsRPr = rPrDefault ? getFirstChild(rPrDefault, OOXML.W_NS, W.rPr) : null;
85
+ const tableStyleRPrs = [];
82
86
  const styles = Array.from(stylesDoc.getElementsByTagNameNS(OOXML.W_NS, W.style));
83
87
  for (const st of styles) {
84
88
  const id = getWAttr(st, 'styleId');
@@ -90,16 +94,26 @@ export function parseStylesXml(stylesDoc) {
90
94
  const rPr = getFirstChild(st, OOXML.W_NS, W.rPr);
91
95
  const name = nameEl ? (getWAttr(nameEl, 'val') ?? id) : id;
92
96
  const basedOn = basedOnEl ? (getWAttr(basedOnEl, 'val') ?? null) : null;
97
+ const styleType = getWAttr(st, 'type');
98
+ if (styleType === 'table') {
99
+ if (rPr)
100
+ tableStyleRPrs.push(rPr);
101
+ for (const conditional of Array.from(st.getElementsByTagNameNS(OOXML.W_NS, 'tblStylePr'))) {
102
+ const conditionalRPr = getFirstChild(conditional, OOXML.W_NS, W.rPr);
103
+ if (conditionalRPr)
104
+ tableStyleRPrs.push(conditionalRPr);
105
+ }
106
+ }
93
107
  byId.set(id, {
94
108
  styleId: id,
95
- styleType: getWAttr(st, 'type'),
109
+ styleType,
96
110
  name,
97
111
  basedOn,
98
112
  pPr: pPr ?? null,
99
113
  rPr: rPr ?? null,
100
114
  });
101
115
  }
102
- return { byId };
116
+ return { byId, docDefaultsRPr: docDefaultsRPr ?? null, tableStyleRPrs };
103
117
  }
104
118
  function resolveStyleChain(model, styleId) {
105
119
  const chain = [];
@@ -219,27 +233,63 @@ function parseBoolProp(parent, tagLocal) {
219
233
  return true;
220
234
  }
221
235
  /**
222
- * Evaluate a toggle property in hierarchy order. Style-level true values
223
- * invert the accumulated state while style-level false values preserve it;
224
- * direct formatting sets an absolute value.
236
+ * Evaluate a toggle property in hierarchy order. Document defaults seed the
237
+ * starting value; style-level true values invert the accumulated state while
238
+ * style-level false values preserve it; direct formatting sets an absolute
239
+ * value.
240
+ *
241
+ * Microsoft's ISO/IEC 29500 implementation note for §17.7.3 says Word falls
242
+ * back to the document defaults when a hierarchy level supplies no value and
243
+ * treats the document-default value as the base for subsequent parity.
244
+ * MS-OE376 §2.7.7 documents a separate Word deviation for paragraph styles but
245
+ * does not make `w:docDefaults` another toggling style level. So defaults seed
246
+ * the state rather than invert it.
225
247
  *
226
248
  * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
227
249
  * @see https://github.com/UseJunior/safe-docx/issues/737
250
+ * @see https://github.com/UseJunior/safe-docx/issues/753
251
+ * @see https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oi29500/f7130225-2368-48f3-acae-a9d278d0fb25
252
+ * @see https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/f936abaf-a9cb-439b-923d-7f688d9202e9
228
253
  */
229
- function resolveToggleProperty(steps, tagLocal) {
254
+ function resolveToggleProperty(steps, tagLocal, unreadLayerTurnsOn) {
230
255
  let effective = false;
256
+ // Once a direct step sets an absolute value, the base the hierarchy started
257
+ // from no longer affects the result.
258
+ let absolute = false;
231
259
  for (const { rPr, kind } of steps) {
232
260
  const declaration = parseBoolProp(rPr, tagLocal);
233
261
  if (declaration === null)
234
262
  continue;
235
- if (kind === 'direct') {
263
+ if (kind === 'default') {
264
+ // The seed sits below every unread layer (table styles), so it does not
265
+ // make the result absolute.
236
266
  effective = declaration;
237
267
  }
268
+ else if (kind === 'direct') {
269
+ effective = declaration;
270
+ absolute = true;
271
+ }
238
272
  else if (declaration) {
239
273
  effective = !effective;
240
274
  }
241
275
  }
242
- return effective;
276
+ // The walk starts from the document default (or `false`, the OOXML
277
+ // default). Table styles sit between that seed and the paragraph style and
278
+ // are not read, so a table style that turns the toggle on leaves the result
279
+ // depending on a layer the resolver does not read.
280
+ if (absolute || !unreadLayerTurnsOn)
281
+ return effective;
282
+ return null;
283
+ }
284
+ function isInsideTable(node) {
285
+ for (let cur = node.parentNode; cur; cur = cur.parentNode) {
286
+ if (cur.nodeType !== 1)
287
+ continue;
288
+ const el = cur;
289
+ if (el.localName === W.tbl && el.namespaceURI === OOXML.W_NS)
290
+ return true;
291
+ }
292
+ return false;
243
293
  }
244
294
  function parseUnderline(parent) {
245
295
  if (!parent)
@@ -324,13 +374,59 @@ function parseHighlightVal(parent) {
324
374
  return null;
325
375
  return v;
326
376
  }
377
+ /**
378
+ * Marks a layer that *does* declare a property whose value cannot be
379
+ * established — a theme colour or theme font with no theme to resolve it
380
+ * against. Resolution stops at that layer (a lower layer must not show
381
+ * through) and the property is reported as unresolved.
382
+ */
383
+ const DECLARED_UNRESOLVED = Symbol('declared-unresolved');
384
+ /**
385
+ * `'auto'` for a declared automatic colour, the hex otherwise, `null` if
386
+ * undeclared, {@link DECLARED_UNRESOLVED} for a theme colour reference that
387
+ * resolves neither through the theme nor through an explicit hex `w:val`.
388
+ */
389
+ function parseEffectiveColorHex(parent, theme) {
390
+ if (!parent)
391
+ return null;
392
+ const el = getFirstChild(parent, OOXML.W_NS, W.color);
393
+ if (!el)
394
+ return null;
395
+ const hex = parseColorHex(parent, theme);
396
+ if (hex !== null)
397
+ return hex;
398
+ return getWAttr(el, 'themeColor') ? DECLARED_UNRESOLVED : 'auto';
399
+ }
400
+ /**
401
+ * The font name, `null` if `w:rFonts` names none, or {@link DECLARED_UNRESOLVED}
402
+ * when it names the Latin font only through a theme reference that does not
403
+ * resolve and carries no explicit `w:ascii` / `w:hAnsi` fallback.
404
+ */
405
+ function parseEffectiveFontName(parent, theme) {
406
+ const name = parseFontName(parent, theme);
407
+ if (name !== null || !parent)
408
+ return name;
409
+ const el = getFirstChild(parent, OOXML.W_NS, W.rFonts);
410
+ if (!el)
411
+ return null;
412
+ return getWAttr(el, 'asciiTheme') || getWAttr(el, 'hAnsiTheme') ? DECLARED_UNRESOLVED : null;
413
+ }
414
+ /** `false` for a declared `none`, the value otherwise, `null` if undeclared. */
415
+ function parseEffectiveHighlightVal(parent) {
416
+ if (!parent)
417
+ return null;
418
+ const el = getFirstChild(parent, OOXML.W_NS, W.highlight);
419
+ if (!el)
420
+ return null;
421
+ return parseHighlightVal(parent) ?? false;
422
+ }
327
423
  /**
328
424
  * Resolve the run formatting a reader actually sees, not merely the formatting
329
425
  * the run declares. Ordinary properties are taken from the first layer that
330
426
  * specifies them: direct `w:rPr` on the run, then the `w:rStyle`
331
427
  * character-style `basedOn` chain, then the paragraph mark's `w:rPr` inside
332
- * `pPr`, then the paragraph style's `basedOn` chain. A property specified
333
- * nowhere resolves to the neutral value (`false`, `''`, `0`, or `null`).
428
+ * `pPr`, then the paragraph style's `basedOn` chain, and finally the
429
+ * document defaults (`w:docDefaults/w:rPrDefault/w:rPr`).
334
430
  *
335
431
  * Each property is resolved independently down the chain — a style that
336
432
  * specifies only color does not mask an ancestor's bold.
@@ -342,9 +438,17 @@ function parseHighlightVal(parent) {
342
438
  * `w:caps`, `w:smallCaps`, `w:strike`, `w:emboss`, `w:imprint`, `w:outline`,
343
439
  * `w:shadow`, and `w:vanish`.
344
440
  *
345
- * Not resolved: `w:docDefaults`, table-style run properties, and
346
- * numbering-level `rPr`. A formatting change confined to one of those layers
347
- * is invisible to this resolver.
441
+ * Document defaults seed toggle evaluation as an absolute base value rather
442
+ * than acting as another parity level (see {@link resolveToggleProperty}).
443
+ *
444
+ * Not read: table-style run properties. For a run inside a table, when a
445
+ * property is declared nowhere above the document defaults and a table style
446
+ * declares a value that would change it (for a toggle: turns it on), the
447
+ * result is `null` (unresolved) rather than a guess; when no layer declares it
448
+ * at all, the result is the OOXML default (see {@link RunFormatting}). A
449
+ * toggle that a direct layer sets absolutely is resolved regardless of table
450
+ * styles. Numbering-level `rPr` formats only the list label (`w:lvlText`),
451
+ * never the paragraph's runs, so it is out of scope.
348
452
  *
349
453
  * Part of docx-core's public surface (see `src/index.ts`) so external
350
454
  * diagnostics — `scripts/check_docx_formatting_loss.mjs` today, the planned
@@ -360,7 +464,10 @@ function parseHighlightVal(parent) {
360
464
  * omitted, direct font/color fallbacks retain their previous behavior
361
465
  *
362
466
  * @conformance ECMA-376 edition 5, Part 1 § 17.7.3
467
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.5.1
363
468
  * @see https://github.com/UseJunior/safe-docx/issues/737
469
+ * @see https://github.com/UseJunior/safe-docx/issues/752
470
+ * @see https://github.com/UseJunior/safe-docx/issues/753
364
471
  */
365
472
  export function extractEffectiveRunFormatting(params) {
366
473
  const { run, paragraphPPr, paragraphStyleId, styles, theme = null } = params;
@@ -373,44 +480,104 @@ export function extractEffectiveRunFormatting(params) {
373
480
  const rStyleChain = resolveStyleChain(styles, rStyleId);
374
481
  const paragraphStyleChain = resolveStyleChain(styles, paragraphStyleId);
375
482
  // Priority: direct rPr → rStyle chain rPrs → paragraph mark rPr → paragraph
376
- // style chain rPrs. Each property resolves independently down this list: a
377
- // chain member that specifies only color must not mask an ancestor's bold,
378
- // so the sources are the individual rPr containers, never "the first chain
379
- // member that has an rPr" (peer review on #684; extractStyleRunFormatting
380
- // above already resolved per property).
381
- const sources = [
483
+ // style chain rPrs → document defaults. Each property resolves
484
+ // independently down this list: a chain member that specifies only color
485
+ // must not mask an ancestor's bold, so the sources are the individual rPr
486
+ // containers, never "the first chain member that has an rPr" (peer review
487
+ // on #684; extractStyleRunFormatting above already resolved per property).
488
+ const sourcesAboveDefaults = [
382
489
  rPr,
383
490
  ...rStyleChain.map((s) => s.rPr),
384
491
  pRPr,
385
492
  ...paragraphStyleChain.map((s) => s.rPr),
386
493
  ];
387
- const resolve = (parse) => firstNonNull(sources.map(parse));
388
- // Apply from the least specific style ancestor to direct run formatting.
389
- // Paragraph-mark rPr is direct formatting at its hierarchy level; a
390
- // character style can still contribute above it before the run's own rPr
391
- // supplies the final absolute override.
494
+ const docDefaultsRPr = styles.docDefaultsRPr ?? null;
495
+ // Apply from the document defaults through the least specific style
496
+ // ancestor to direct run formatting. Paragraph-mark rPr is direct
497
+ // formatting at its hierarchy level; a character style can still contribute
498
+ // above it before the run's own rPr supplies the final absolute override.
392
499
  const toggleSteps = [
500
+ { rPr: docDefaultsRPr, kind: 'default' },
393
501
  ...[...paragraphStyleChain].reverse().map((style) => ({ rPr: style.rPr, kind: 'style' })),
394
502
  { rPr: pRPr, kind: 'direct' },
395
503
  ...[...rStyleChain].reverse().map((style) => ({ rPr: style.rPr, kind: 'style' })),
396
504
  { rPr, kind: 'direct' },
397
505
  ];
506
+ // Table styles are the one layer this resolver does not read. They sit
507
+ // between the document defaults and the paragraph style, so for a property
508
+ // declared nowhere above the document defaults, a table-style declaration
509
+ // that differs from the base below it makes the property unresolved. A
510
+ // declaration that restates that base cannot change the outcome.
511
+ const tableLayers = styles.tableStyleRPrs && styles.tableStyleRPrs.length > 0 && isInsideTable(run)
512
+ ? styles.tableStyleRPrs
513
+ : [];
514
+ const toggle = (tagLocal) => resolveToggleProperty(toggleSteps, tagLocal, tableLayers.some((layer) => parseBoolProp(layer, tagLocal) === true));
515
+ /**
516
+ * Nearest declaration above the document defaults; otherwise the document
517
+ * default, otherwise `ooxmlDefault` (`null` for a property with no OOXML
518
+ * default), unless an unread table style could change that base.
519
+ */
520
+ // Hex colours and font names compare case-insensitively: `abcdef` restates
521
+ // `ABCDEF`.
522
+ const sameValue = (a, b) => typeof a === 'string' && typeof b === 'string' ? a.toUpperCase() === b.toUpperCase() : a === b;
523
+ const resolveLayered = (parse, ooxmlDefault) => {
524
+ const above = firstNonNull(sourcesAboveDefaults.map(parse));
525
+ if (above === DECLARED_UNRESOLVED)
526
+ return null;
527
+ if (above !== null)
528
+ return above;
529
+ const base = parse(docDefaultsRPr) ?? ooxmlDefault;
530
+ if (tableLayers.some((layer) => {
531
+ const declared = parse(layer);
532
+ return declared !== null && !sameValue(declared, base);
533
+ })) {
534
+ return null;
535
+ }
536
+ return base === DECLARED_UNRESOLVED ? null : base;
537
+ };
538
+ return {
539
+ bold: toggle(W.b),
540
+ italic: toggle(W.i),
541
+ caps: toggle(W.caps),
542
+ smallCaps: toggle(W.smallCaps),
543
+ strike: toggle(W.strike),
544
+ emboss: toggle(W.emboss),
545
+ imprint: toggle(W.imprint),
546
+ outline: toggle(W.outline),
547
+ shadow: toggle(W.shadow),
548
+ vanish: toggle(W.vanish),
549
+ underline: resolveLayered(parseUnderline, false),
550
+ highlightVal: resolveLayered(parseEffectiveHighlightVal, false),
551
+ // No OOXML default: the rendered font and size are application-defined
552
+ // when nothing declares them, so an undeclared value stays unresolved.
553
+ fontName: resolveLayered((el) => parseEffectiveFontName(el, theme), null),
554
+ fontSizePt: resolveLayered(parseFontSizePt, null),
555
+ colorHex: resolveLayered((el) => parseEffectiveColorHex(el, theme), 'auto'),
556
+ };
557
+ }
558
+ /**
559
+ * Effective run formatting for annotation bodies (comments, footnotes), whose
560
+ * `tagged_text` is emitted in `full` mode and read back by docx-markdoc.
561
+ * Toggles, underline and highlight resolve through every layer, document
562
+ * defaults included. Colour, size and font are reported only when a layer
563
+ * above `w:docDefaults` declares them, otherwise as not declared (`'auto'` /
564
+ * `null`), so the inherited document font is not tagged as `face` on every run
565
+ * and a direct value that restates the document default is still emitted
566
+ * over a character style that would otherwise show through on import.
567
+ *
568
+ * @see https://github.com/UseJunior/safe-docx/issues/753
569
+ */
570
+ export function extractAnnotationRunFormatting(params) {
571
+ const effective = extractEffectiveRunFormatting(params);
572
+ const declared = extractEffectiveRunFormatting({
573
+ ...params,
574
+ styles: { ...params.styles, docDefaultsRPr: null },
575
+ });
398
576
  return {
399
- bold: resolveToggleProperty(toggleSteps, W.b),
400
- italic: resolveToggleProperty(toggleSteps, W.i),
401
- caps: resolveToggleProperty(toggleSteps, W.caps),
402
- smallCaps: resolveToggleProperty(toggleSteps, W.smallCaps),
403
- strike: resolveToggleProperty(toggleSteps, W.strike),
404
- emboss: resolveToggleProperty(toggleSteps, W.emboss),
405
- imprint: resolveToggleProperty(toggleSteps, W.imprint),
406
- outline: resolveToggleProperty(toggleSteps, W.outline),
407
- shadow: resolveToggleProperty(toggleSteps, W.shadow),
408
- vanish: resolveToggleProperty(toggleSteps, W.vanish),
409
- underline: resolve(parseUnderline) ?? false,
410
- highlightVal: resolve(parseHighlightVal),
411
- fontName: resolve((el) => parseFontName(el, theme)) ?? '',
412
- fontSizePt: resolve(parseFontSizePt) ?? 0,
413
- colorHex: resolve((el) => parseColorHex(el, theme)),
577
+ ...effective,
578
+ colorHex: declared.colorHex,
579
+ fontSizePt: declared.fontSizePt,
580
+ fontName: declared.fontName,
414
581
  };
415
582
  }
416
583
  //# 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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"}
@@ -4,7 +4,49 @@ export type XmlDoc = Document;
4
4
  * omits the declaration, so every emitted part prepends this manually.
5
5
  */
6
6
  export declare const XML_DECL = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
7
- export declare function parseXml(xml: string): XmlDoc;
7
+ /**
8
+ * Remove what may legally (BOM) or harmlessly (whitespace) precede an XML
9
+ * part's first `<`: one leading U+FEFF byte-order mark, then any XML
10
+ * whitespace before the first markup character (#1024). JSZip's
11
+ * `async('string')` keeps a BOM as U+FEFF, and xmldom rejects both a BOM
12
+ * character and whitespace in front of the `<?xml` declaration. Text that
13
+ * already starts with `<` is returned unchanged.
14
+ */
15
+ export declare function stripXmlLeadingNoise(xml: string): string;
16
+ /** Archive entries whose text is XML: `.xml` parts and `.rels` relationship parts. */
17
+ export declare function isXmlPartPath(path: string): boolean;
18
+ /**
19
+ * A package part failed to parse as XML. Names the part so the failure is
20
+ * actionable instead of a bare xmldom `ParseError` (#1024).
21
+ */
22
+ export declare class XmlPartParseError extends Error {
23
+ readonly partName: string;
24
+ /** Which input package held the part, e.g. `original` or `revised`. */
25
+ readonly source: string | undefined;
26
+ constructor(partName: string, cause: unknown, source?: string);
27
+ }
28
+ /** A raw xmldom `ParseError` that does not yet say which part failed. */
29
+ export declare function isUnattributedXmlParseError(error: unknown): boolean;
30
+ /**
31
+ * Rethrow helper for package-level entry points: when `error` is a raw xmldom
32
+ * `ParseError`, find the part that fails to parse in `buffer` and return a
33
+ * {@link XmlPartParseError} naming it; otherwise return `error` unchanged.
34
+ */
35
+ export declare function attributeXmlParseError(error: unknown, buffer: Buffer | Uint8Array, source?: string): Promise<unknown>;
36
+ export interface ParseXmlOptions {
37
+ /**
38
+ * Package path of the part being parsed (for example `word/styles.xml`).
39
+ * When given, a parse failure throws {@link XmlPartParseError} naming it.
40
+ */
41
+ partName?: string;
42
+ }
43
+ export declare function parseXml(xml: string, options?: ParseXmlOptions): XmlDoc;
44
+ /**
45
+ * Parse every XML part of a package and return the first one that fails,
46
+ * or null when all parse. Used to name the offending part when a parse error
47
+ * surfaces from code that only held the part's text.
48
+ */
49
+ export declare function findUnparseableXmlPart(buffer: Buffer | Uint8Array, source?: string): Promise<XmlPartParseError | null>;
8
50
  export declare function serializeXml(doc: XmlDoc): string;
9
51
  export declare function textContent(node: Node | null | undefined): string;
10
52
  //# sourceMappingURL=xml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/primitives/xml.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,QAAQ,kEAA4D,CAAC;AAElF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa5C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/primitives/xml.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,QAAQ,kEAA4D,CAAC;AAIlF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM;CAQ9D;AAED,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMnE;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAoBvE;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoBnC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE"}