@usejunior/docx-core 0.16.0 → 0.18.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 (134) hide show
  1. package/README.md +18 -83
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli/conformance-adapter.d.ts +14 -0
  4. package/dist/cli/conformance-adapter.d.ts.map +1 -1
  5. package/dist/cli/conformance-adapter.js +104 -12
  6. package/dist/cli/conformance-adapter.js.map +1 -1
  7. package/dist/core-types.d.ts +46 -0
  8. package/dist/core-types.d.ts.map +1 -1
  9. package/dist/core-types.js.map +1 -1
  10. package/dist/footnotes.d.ts +7 -5
  11. package/dist/footnotes.d.ts.map +1 -1
  12. package/dist/footnotes.js +7 -5
  13. package/dist/footnotes.js.map +1 -1
  14. package/dist/generated/ecma-376-vocabulary.d.ts +93 -0
  15. package/dist/generated/ecma-376-vocabulary.d.ts.map +1 -0
  16. package/dist/generated/ecma-376-vocabulary.js +87 -0
  17. package/dist/generated/ecma-376-vocabulary.js.map +1 -0
  18. package/dist/generation/compile.js +2 -2
  19. package/dist/generation/compile.js.map +1 -1
  20. package/dist/generation/emit/comments-part.d.ts +2 -0
  21. package/dist/generation/emit/comments-part.d.ts.map +1 -1
  22. package/dist/generation/emit/comments-part.js +2 -0
  23. package/dist/generation/emit/comments-part.js.map +1 -1
  24. package/dist/generation/emit/paragraph.d.ts +3 -0
  25. package/dist/generation/emit/paragraph.d.ts.map +1 -1
  26. package/dist/generation/emit/paragraph.js +3 -0
  27. package/dist/generation/emit/paragraph.js.map +1 -1
  28. package/dist/generation/emit/run.d.ts.map +1 -1
  29. package/dist/generation/emit/run.js +6 -1
  30. package/dist/generation/emit/run.js.map +1 -1
  31. package/dist/generation/emit/settings-part.d.ts +12 -3
  32. package/dist/generation/emit/settings-part.d.ts.map +1 -1
  33. package/dist/generation/emit/settings-part.js +23 -5
  34. package/dist/generation/emit/settings-part.js.map +1 -1
  35. package/dist/generation/ordering.d.ts +3 -1
  36. package/dist/generation/ordering.d.ts.map +1 -1
  37. package/dist/generation/ordering.js +3 -1
  38. package/dist/generation/ordering.js.map +1 -1
  39. package/dist/generation/schema-enum-domains.d.ts +27 -0
  40. package/dist/generation/schema-enum-domains.d.ts.map +1 -0
  41. package/dist/generation/schema-enum-domains.js +69 -0
  42. package/dist/generation/schema-enum-domains.js.map +1 -0
  43. package/dist/generation/structural-checks.js +7 -1
  44. package/dist/generation/structural-checks.js.map +1 -1
  45. package/dist/generation/validate-spec.d.ts.map +1 -1
  46. package/dist/generation/validate-spec.js +149 -31
  47. package/dist/generation/validate-spec.js.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/primitives/accept_changes.d.ts +23 -2
  53. package/dist/primitives/accept_changes.d.ts.map +1 -1
  54. package/dist/primitives/accept_changes.js +23 -2
  55. package/dist/primitives/accept_changes.js.map +1 -1
  56. package/dist/primitives/bookmarks.d.ts +55 -1
  57. package/dist/primitives/bookmarks.d.ts.map +1 -1
  58. package/dist/primitives/bookmarks.js +160 -12
  59. package/dist/primitives/bookmarks.js.map +1 -1
  60. package/dist/primitives/document.d.ts +3 -1
  61. package/dist/primitives/document.d.ts.map +1 -1
  62. package/dist/primitives/document.js +20 -4
  63. package/dist/primitives/document.js.map +1 -1
  64. package/dist/primitives/document_view-headings.d.ts +14 -3
  65. package/dist/primitives/document_view-headings.d.ts.map +1 -1
  66. package/dist/primitives/document_view-headings.js +29 -4
  67. package/dist/primitives/document_view-headings.js.map +1 -1
  68. package/dist/primitives/document_view-toon.d.ts +20 -0
  69. package/dist/primitives/document_view-toon.d.ts.map +1 -1
  70. package/dist/primitives/document_view-toon.js +16 -0
  71. package/dist/primitives/document_view-toon.js.map +1 -1
  72. package/dist/primitives/document_view-types.d.ts +5 -3
  73. package/dist/primitives/document_view-types.d.ts.map +1 -1
  74. package/dist/primitives/document_view.d.ts +3 -2
  75. package/dist/primitives/document_view.d.ts.map +1 -1
  76. package/dist/primitives/document_view.js +23 -4
  77. package/dist/primitives/document_view.js.map +1 -1
  78. package/dist/primitives/dom-helpers.d.ts.map +1 -1
  79. package/dist/primitives/dom-helpers.js +7 -2
  80. package/dist/primitives/dom-helpers.js.map +1 -1
  81. package/dist/primitives/footnotes.d.ts +50 -2
  82. package/dist/primitives/footnotes.d.ts.map +1 -1
  83. package/dist/primitives/footnotes.js +88 -19
  84. package/dist/primitives/footnotes.js.map +1 -1
  85. package/dist/primitives/heading_styles.d.ts +14 -0
  86. package/dist/primitives/heading_styles.d.ts.map +1 -0
  87. package/dist/primitives/heading_styles.js +33 -0
  88. package/dist/primitives/heading_styles.js.map +1 -0
  89. package/dist/primitives/index.d.ts +1 -1
  90. package/dist/primitives/index.d.ts.map +1 -1
  91. package/dist/primitives/index.js +1 -1
  92. package/dist/primitives/index.js.map +1 -1
  93. package/dist/primitives/layout.d.ts.map +1 -1
  94. package/dist/primitives/layout.js +41 -1
  95. package/dist/primitives/layout.js.map +1 -1
  96. package/dist/primitives/namespaces.d.ts +3 -0
  97. package/dist/primitives/namespaces.d.ts.map +1 -1
  98. package/dist/primitives/namespaces.js +3 -0
  99. package/dist/primitives/namespaces.js.map +1 -1
  100. package/dist/primitives/numbering.d.ts +9 -0
  101. package/dist/primitives/numbering.d.ts.map +1 -1
  102. package/dist/primitives/numbering.js +14 -4
  103. package/dist/primitives/numbering.js.map +1 -1
  104. package/dist/primitives/reject_changes.d.ts +17 -1
  105. package/dist/primitives/reject_changes.d.ts.map +1 -1
  106. package/dist/primitives/reject_changes.js +17 -1
  107. package/dist/primitives/reject_changes.js.map +1 -1
  108. package/dist/primitives/sectPrAudit.d.ts +11 -2
  109. package/dist/primitives/sectPrAudit.d.ts.map +1 -1
  110. package/dist/primitives/sectPrAudit.js +148 -23
  111. package/dist/primitives/sectPrAudit.js.map +1 -1
  112. package/dist/primitives/styles.d.ts +2 -0
  113. package/dist/primitives/styles.d.ts.map +1 -1
  114. package/dist/primitives/styles.js +18 -0
  115. package/dist/primitives/styles.js.map +1 -1
  116. package/dist/primitives/track-changes-emitter.d.ts +4 -0
  117. package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
  118. package/dist/primitives/track-changes-emitter.js +5 -2
  119. package/dist/primitives/track-changes-emitter.js.map +1 -1
  120. package/dist/primitives/validate_ai_revisions.d.ts.map +1 -1
  121. package/dist/primitives/validate_ai_revisions.js +13 -5
  122. package/dist/primitives/validate_ai_revisions.js.map +1 -1
  123. package/dist/primitives/zip.d.ts.map +1 -1
  124. package/dist/primitives/zip.js +6 -2
  125. package/dist/primitives/zip.js.map +1 -1
  126. package/dist/shared/docx/DocxArchive.d.ts +3 -1
  127. package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
  128. package/dist/shared/docx/DocxArchive.js +7 -0
  129. package/dist/shared/docx/DocxArchive.js.map +1 -1
  130. package/dist/shared/field-structure.d.ts +6 -0
  131. package/dist/shared/field-structure.d.ts.map +1 -1
  132. package/dist/shared/field-structure.js +6 -0
  133. package/dist/shared/field-structure.js.map +1 -1
  134. package/package.json +2 -2
@@ -13,11 +13,15 @@
13
13
  */
14
14
  import { readFileSync, realpathSync, writeFileSync } from 'node:fs';
15
15
  import { pathToFileURL } from 'node:url';
16
+ import { generateDocx } from '../generation/compile.js';
16
17
  import { DocxDocument } from '../primitives/document.js';
17
- import { getParagraphText, replaceParagraphTextRange } from '../primitives/text.js';
18
+ import { OOXML, W } from '../primitives/namespaces.js';
19
+ import { parseXml } from '../primitives/xml.js';
20
+ import { readZipText } from '../primitives/zip.js';
18
21
  const SUPPORTED_PROTOCOL_VERSION = '1';
19
- const SUPPORTED_OPERATIONS = new Set([
22
+ export const SUPPORTED_CONFORMANCE_OPERATIONS = new Set([
20
23
  'acceptAllTrackedChanges',
24
+ 'composeDocumentWithCompatibilityMode',
21
25
  'rejectAllTrackedChanges',
22
26
  'replaceFirstTextOccurrence',
23
27
  ]);
@@ -25,6 +29,51 @@ function argValue(argv, flag) {
25
29
  const idx = argv.indexOf(flag);
26
30
  return idx !== -1 ? argv[idx + 1] : undefined;
27
31
  }
32
+ async function hasTableRowRevision(buffer, markerName) {
33
+ const documentXml = await readZipText(buffer, 'word/document.xml');
34
+ if (!documentXml)
35
+ return false;
36
+ const document = parseXml(documentXml);
37
+ const rows = Array.from(document.getElementsByTagNameNS(OOXML.W_NS, W.tr));
38
+ return rows.some((row) => Array.from(row.children).some((child) => child.namespaceURI === OOXML.W_NS &&
39
+ child.localName === W.trPr &&
40
+ Array.from(child.children).some((property) => property.namespaceURI === OOXML.W_NS && property.localName === markerName)));
41
+ }
42
+ /** Classifies adapter support from the requested operation and input package shape. */
43
+ export async function classifyConformanceSupport(operation, input) {
44
+ if (!SUPPORTED_CONFORMANCE_OPERATIONS.has(operation.operationName)) {
45
+ return {
46
+ supported: false,
47
+ reason: `safe-docx adapter does not implement operation '${operation.operationName}'`,
48
+ };
49
+ }
50
+ if (operation.operationName === 'composeDocumentWithCompatibilityMode') {
51
+ return operation.compatibilityMode === 15
52
+ ? { supported: true }
53
+ : {
54
+ supported: false,
55
+ reason: `safe-docx adapter only implements compatibilityMode 15, got ${String(operation.compatibilityMode)}`,
56
+ };
57
+ }
58
+ if (!input) {
59
+ throw new Error(`operation '${operation.operationName}' requires an input package for support classification`);
60
+ }
61
+ if (operation.operationName === 'acceptAllTrackedChanges' &&
62
+ await hasTableRowRevision(input, 'del')) {
63
+ return {
64
+ supported: false,
65
+ reason: 'safe-docx adapter does not implement accepting deleted table-row revisions',
66
+ };
67
+ }
68
+ if (operation.operationName === 'rejectAllTrackedChanges' &&
69
+ await hasTableRowRevision(input, 'ins')) {
70
+ return {
71
+ supported: false,
72
+ reason: 'safe-docx adapter does not implement rejecting inserted table-row revisions',
73
+ };
74
+ }
75
+ return { supported: true };
76
+ }
28
77
  export async function runConformanceAdapter(argv) {
29
78
  const protocolVersion = argValue(argv, '--protocol-version');
30
79
  const operationPath = argValue(argv, '--operation');
@@ -39,13 +88,48 @@ export async function runConformanceAdapter(argv) {
39
88
  return 1;
40
89
  }
41
90
  const operation = JSON.parse(readFileSync(operationPath, 'utf8'));
42
- // Decline before touching the input: unsupported must not depend on the
43
- // document being readable.
44
- if (!SUPPORTED_OPERATIONS.has(operation.operationName)) {
45
- console.log(`safe-docx adapter does not implement operation '${operation.operationName}'`);
91
+ if (typeof operation.operationName !== 'string') {
92
+ console.error('operation descriptor requires a string operationName');
93
+ return 1;
94
+ }
95
+ // Unknown operations are classified without touching the input package.
96
+ if (!SUPPORTED_CONFORMANCE_OPERATIONS.has(operation.operationName)) {
97
+ const operationDecision = await classifyConformanceSupport(operation);
98
+ console.log(operationDecision.reason);
99
+ return 2;
100
+ }
101
+ if (operation.operationName === 'composeDocumentWithCompatibilityMode') {
102
+ const { bodyText, compatibilityMode } = operation;
103
+ if (typeof compatibilityMode !== 'number' || !Number.isInteger(compatibilityMode)) {
104
+ console.error('composeDocumentWithCompatibilityMode requires an integer compatibilityMode');
105
+ return 1;
106
+ }
107
+ if (typeof bodyText !== 'string') {
108
+ console.error('composeDocumentWithCompatibilityMode requires a string bodyText');
109
+ return 1;
110
+ }
111
+ const operationDecision = await classifyConformanceSupport(operation);
112
+ if (!operationDecision.supported) {
113
+ console.log(operationDecision.reason);
114
+ return 2;
115
+ }
116
+ const buffer = await generateDocx({
117
+ sections: [
118
+ {
119
+ blocks: [{ kind: 'paragraph', runs: [{ kind: 'text', text: bodyText }] }],
120
+ },
121
+ ],
122
+ });
123
+ writeFileSync(outputPath, buffer);
124
+ return 0;
125
+ }
126
+ const input = readFileSync(inputPath);
127
+ const documentDecision = await classifyConformanceSupport(operation, input);
128
+ if (!documentDecision.supported) {
129
+ console.log(documentDecision.reason);
46
130
  return 2;
47
131
  }
48
- const doc = await DocxDocument.load(readFileSync(inputPath));
132
+ const doc = await DocxDocument.load(input);
49
133
  switch (operation.operationName) {
50
134
  case 'acceptAllTrackedChanges':
51
135
  await doc.acceptChanges();
@@ -61,22 +145,30 @@ export async function runConformanceAdapter(argv) {
61
145
  }
62
146
  // DSL 1.0 match scope: first paragraph-local occurrence in document
63
147
  // order; the replacement is a plain edit, not a tracked change.
148
+ doc.insertParagraphBookmarks('dpt-adapter');
64
149
  const paragraph = doc
65
- .getParagraphs()
66
- .find((p) => getParagraphText(p).includes(findText));
150
+ .readParagraphs()
151
+ .paragraphs.find((candidate) => candidate.text.includes(findText));
67
152
  if (!paragraph) {
68
153
  console.error(`findText not present in any paragraph: ${JSON.stringify(findText)}`);
69
154
  return 1;
70
155
  }
71
- const start = getParagraphText(paragraph).indexOf(findText);
72
- replaceParagraphTextRange(paragraph, start, start + findText.length, replaceText);
156
+ const paragraphText = doc.getParagraphTextById(paragraph.id);
157
+ const start = paragraphText.indexOf(findText);
158
+ doc.replaceTextAtRange({
159
+ targetParagraphId: paragraph.id,
160
+ start,
161
+ end: start + findText.length,
162
+ replaceText,
163
+ });
164
+ doc.normalize();
73
165
  break;
74
166
  }
75
167
  default:
76
168
  // Unreachable: membership was checked above.
77
169
  return 2;
78
170
  }
79
- const { buffer } = await doc.toBuffer();
171
+ const { buffer } = await doc.toBuffer({ cleanBookmarks: true });
80
172
  writeFileSync(outputPath, buffer);
81
173
  return 0;
82
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conformance-adapter.js","sourceRoot":"","sources":["../../src/cli/conformance-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conformance-adapter.js","sourceRoot":"","sources":["../../src/cli/conformance-adapter.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,48 @@ export interface FormatChangeInfo {
82
82
  /** List of property names that changed (e.g., "bold", "italic", "fontSize") */
83
83
  changedProperties: string[];
84
84
  }
85
+ /**
86
+ * Process-local payload for a comparison atom owned by an opaque XML boundary.
87
+ *
88
+ * The comparison model is already DOM-backed; this descriptor intentionally
89
+ * retains a cloned element rather than exposing a serialized public contract.
90
+ * `documentOrdinal` identifies the boundary among other captured boundaries in
91
+ * source order. The reconstructor validates original/revised counterparts before
92
+ * assigning `emissionElements` from the original side.
93
+ */
94
+ export interface OpaquePassthroughNode {
95
+ /** Determines whether paragraph-run emission or the body scaffold owns output. */
96
+ placementKind: 'inline-run' | 'inline-range' | 'body-block';
97
+ namespaceUri: string;
98
+ localName: string;
99
+ documentOrdinal: number;
100
+ /** Source-order paragraph identity; movement is outside the bounded contract and fails closed. */
101
+ paragraphOrdinal: number;
102
+ /** Structural parent path (body or table/cell position) owning the paragraph. */
103
+ containerIdentity: string;
104
+ /** Direct body-child position for a scaffold-owned block boundary. */
105
+ bodyChildOrdinal?: number;
106
+ /** Inclusive direct paragraph-child range for an ordered inline payload. */
107
+ inlineChildStartOrdinal?: number;
108
+ inlineChildEndOrdinal?: number;
109
+ /** Stable sequence position among captured field ranges in this paragraph. */
110
+ inlineRangeOrdinal?: number;
111
+ /** Number of contiguous source-order paragraph slots owned by a block boundary. */
112
+ ownedParagraphCount?: number;
113
+ semanticFingerprint: string;
114
+ /** First retained XML element; kept for source compatibility with single-node owners. */
115
+ sourceElement: WmlElement;
116
+ /** Ordered XML payload retained by this boundary. */
117
+ sourceElements?: WmlElement[];
118
+ effectiveNamespaces: Readonly<Record<string, string>>;
119
+ effectiveMceDeclarations: Readonly<Record<string, string>>;
120
+ /** Package relationship closure rooted at relationship attributes in a block subtree. */
121
+ relationshipClosureFingerprint?: string;
122
+ /** Revised-side canonical owner for an equal original empty-paragraph atom. */
123
+ correlatedNode?: OpaquePassthroughNode;
124
+ emissionElement?: WmlElement;
125
+ emissionElements?: WmlElement[];
126
+ }
85
127
  /**
86
128
  * Atomic leaf-node unit used in LCS comparison.
87
129
  *
@@ -127,6 +169,10 @@ export interface ComparisonUnitAtom extends ComparisonUnit {
127
169
  sourceDocument?: 'original' | 'revised';
128
170
  /** Cloned run properties (w:rPr) captured at atomization time, or null if no formatting */
129
171
  rPr?: Element | null;
172
+ /** Opaque XML boundary that owns this atom, when bounded passthrough is enabled. */
173
+ opaquePassthrough?: OpaquePassthroughNode;
174
+ /** Zero-based paragraph position inside a scaffold-owned opaque block. */
175
+ opaquePassthroughRelativeParagraphOrdinal?: number;
130
176
  }
131
177
  /**
132
178
  * Settings for move detection algorithm.
@@ -1 +1 @@
1
- {"version":3,"file":"core-types.d.ts","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-types.d.ts","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-types.js","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,gDAAgD;IAChD,wCAAmB,CAAA;IACnB,wCAAwC;IACxC,oCAAe,CAAA;IACf,yDAAyD;IACzD,wCAAmB,CAAA;IACnB,sDAAsD;IACtD,0CAAqB,CAAA;IACrB,4DAA4D;IAC5D,gDAA2B,CAAA;IAC3B,+DAA+D;IAC/D,0DAAqC,CAAA;IACrC,kDAAkD;IAClD,oDAA+B,CAAA;AACjC,CAAC,EAfW,iBAAiB,KAAjB,iBAAiB,QAe5B;AAuJD;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,WAAW,EAAE,IAAI;IACjB,uBAAuB,EAAE,GAAG;IAC5B,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AA8BF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4B;IACxE,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,WAAW;IAC1B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;IAC1B,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,UAAU;CACzB,CAAC;AAkBF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,GAAG,+BAA+B;IAClC,GAAG,iCAAiC;IACpC,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,IAAI,IAAI,EAAE;CACrB,CAAC;AA+CF,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,yBAAyB;IACzB,SAAS,EAAE,GAAG;IACd,sCAAsC;IACtC,sBAAsB,EAAE,GAAG;CACnB,CAAC;AAcX,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAN,IAAY,uBAWX;AAXD,WAAY,uBAAuB;IACjC,wBAAwB;IACxB,kDAAuB,CAAA;IACvB,uBAAuB;IACvB,gDAAqB,CAAA;IACrB,iCAAiC;IACjC,gDAAqB,CAAA;IACrB,sCAAsC;IACtC,4CAAiB,CAAA;IACjB,6BAA6B;IAC7B,0DAA+B,CAAA;AACjC,CAAC,EAXW,uBAAuB,KAAvB,uBAAuB,QAWlC"}
1
+ {"version":3,"file":"core-types.js","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,gDAAgD;IAChD,wCAAmB,CAAA;IACnB,wCAAwC;IACxC,oCAAe,CAAA;IACf,yDAAyD;IACzD,wCAAmB,CAAA;IACnB,sDAAsD;IACtD,0CAAqB,CAAA;IACrB,4DAA4D;IAC5D,gDAA2B,CAAA;IAC3B,+DAA+D;IAC/D,0DAAqC,CAAA;IACrC,kDAAkD;IAClD,oDAA+B,CAAA;AACjC,CAAC,EAfW,iBAAiB,KAAjB,iBAAiB,QAe5B;AAuMD;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,WAAW,EAAE,IAAI;IACjB,uBAAuB,EAAE,GAAG;IAC5B,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AA8BF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4B;IACxE,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,WAAW;IAC1B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;IAC1B,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,UAAU;CACzB,CAAC;AAkBF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,GAAG,+BAA+B;IAClC,GAAG,iCAAiC;IACpC,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,IAAI,IAAI,EAAE;CACrB,CAAC;AA+CF,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,yBAAyB;IACzB,SAAS,EAAE,GAAG;IACd,sCAAsC;IACtC,sBAAsB,EAAE,GAAG;CACnB,CAAC;AAcX,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAN,IAAY,uBAWX;AAXD,WAAY,uBAAuB;IACjC,wBAAwB;IACxB,kDAAuB,CAAA;IACvB,uBAAuB;IACvB,gDAAqB,CAAA;IACrB,iCAAiC;IACjC,gDAAqB,CAAA;IACrB,sCAAsC;IACtC,4CAAiB,CAAA;IACjB,6BAA6B;IAC7B,0DAA+B,CAAA;AACjC,CAAC,EAXW,uBAAuB,KAAvB,uBAAuB,QAWlC"}
@@ -7,11 +7,13 @@
7
7
  * number. Display numbers are sequential based on document order.
8
8
  *
9
9
  * @example
10
- * Document has 91 footnotes with XML IDs 2-92 (IDs 0, 1 are reserved):
10
+ * Under safe-docx's current Word-conventional package assumption, a document
11
+ * has 91 user footnotes with XML IDs 2-92 (IDs 0 and 1 are skipped):
11
12
  * - Incorrect: Display as 2, 3, 4, ..., 92
12
13
  * - Correct: Display as 1, 2, 3, ..., 91
13
14
  *
14
15
  * @conformance ECMA-376 edition 5, Part 1 § 17.11.14
16
+ * @ooxmlSpec ooxml.ecma376.5ed.part1.notes.footnote-reference-numbering
15
17
  */
16
18
  import { FootnoteReference, WmlElement } from './core-types.js';
17
19
  /**
@@ -27,13 +29,13 @@ export declare function findReferencesInOrder(element: WmlElement, tagName: 'w:f
27
29
  /**
28
30
  * Check if a footnote/endnote ID is reserved.
29
31
  *
30
- * IDs 0 and 1 are treated as reserved, matching the special separator and
31
- * continuation-separator footnote examples in ECMA-376 5th edition Part 1
32
- * §17.11.9 / §17.11.10.
32
+ * IDs 0 and 1 are treated as separator sentinels for compatibility with the
33
+ * Word-produced packages safe-docx currently targets. ECMA-376 identifies
34
+ * separator notes by note type; §17.11.14 does not reserve numeric IDs.
33
35
  *
34
36
  * @param xmlId - The XML ID to check
35
37
  * @returns True if this is a reserved ID
36
- * @conformance ECMA-376 edition 5, Part 1 § 17.11.14
38
+ * @conformance-gap ECMA-376 edition 5, Part 1 § 17.11.14 — numeric IDs 0 and 1 are skipped as Word-conventional separator sentinels even though the section does not reserve those identifiers
37
39
  */
38
40
  export declare function isReservedId(xmlId: string): boolean;
39
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"footnotes.d.ts","sourceRoot":"","sources":["../src/footnotes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,iBAAiB,EAEjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAOzB;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,GACpD,UAAU,EAAE,CAcd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKnD;AAMD;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,wBAAwB,CAAkC;IAClE,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,kBAAkB,CAA0B;IAEpD;;;;OAIG;gBACS,YAAY,EAAE,UAAU;IAIpC;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;OAKG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1D;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOnD;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;;OAKG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,qBAAqB,IAAI,iBAAiB,EAAE;IAwB5C;;;;OAIG;IACH,oBAAoB,IAAI,iBAAiB,EAAE;CAuB5C;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,UAAU,EACzB,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAYxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,UAAU,EACxB,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAYxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAiB/D"}
1
+ {"version":3,"file":"footnotes.d.ts","sourceRoot":"","sources":["../src/footnotes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EAEjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAOzB;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,GACpD,UAAU,EAAE,CAcd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKnD;AAMD;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,wBAAwB,CAAkC;IAClE,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,kBAAkB,CAA0B;IAEpD;;;;OAIG;gBACS,YAAY,EAAE,UAAU;IAIpC;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;OAKG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1D;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOnD;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;;OAKG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,qBAAqB,IAAI,iBAAiB,EAAE;IAwB5C;;;;OAIG;IACH,oBAAoB,IAAI,iBAAiB,EAAE;CAuB5C;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,UAAU,EACzB,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAYxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,UAAU,EACxB,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAYxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAiB/D"}
package/dist/footnotes.js CHANGED
@@ -7,11 +7,13 @@
7
7
  * number. Display numbers are sequential based on document order.
8
8
  *
9
9
  * @example
10
- * Document has 91 footnotes with XML IDs 2-92 (IDs 0, 1 are reserved):
10
+ * Under safe-docx's current Word-conventional package assumption, a document
11
+ * has 91 user footnotes with XML IDs 2-92 (IDs 0 and 1 are skipped):
11
12
  * - Incorrect: Display as 2, 3, 4, ..., 92
12
13
  * - Correct: Display as 1, 2, 3, ..., 91
13
14
  *
14
15
  * @conformance ECMA-376 edition 5, Part 1 § 17.11.14
16
+ * @ooxmlSpec ooxml.ecma376.5ed.part1.notes.footnote-reference-numbering
15
17
  */
16
18
  import { RESERVED_FOOTNOTE_IDS, } from './core-types.js';
17
19
  import { childElements, getLeafText } from './primitives/index.js';
@@ -43,13 +45,13 @@ export function findReferencesInOrder(element, tagName) {
43
45
  /**
44
46
  * Check if a footnote/endnote ID is reserved.
45
47
  *
46
- * IDs 0 and 1 are treated as reserved, matching the special separator and
47
- * continuation-separator footnote examples in ECMA-376 5th edition Part 1
48
- * §17.11.9 / §17.11.10.
48
+ * IDs 0 and 1 are treated as separator sentinels for compatibility with the
49
+ * Word-produced packages safe-docx currently targets. ECMA-376 identifies
50
+ * separator notes by note type; §17.11.14 does not reserve numeric IDs.
49
51
  *
50
52
  * @param xmlId - The XML ID to check
51
53
  * @returns True if this is a reserved ID
52
- * @conformance ECMA-376 edition 5, Part 1 § 17.11.14
54
+ * @conformance-gap ECMA-376 edition 5, Part 1 § 17.11.14 — numeric IDs 0 and 1 are skipped as Word-conventional separator sentinels even though the section does not reserve those identifiers
53
55
  */
54
56
  export function isReservedId(xmlId) {
55
57
  return (xmlId === RESERVED_FOOTNOTE_IDS.SEPARATOR ||
@@ -1 +1 @@
1
- {"version":3,"file":"footnotes.js","sourceRoot":"","sources":["../src/footnotes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footnotes.js","sourceRoot":"","sources":["../src/footnotes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ export interface OoxmlVocabularyEntry {
2
+ readonly namespaceUri: string;
3
+ readonly preferredPrefix: string;
4
+ readonly localName: string;
5
+ readonly qname: string;
6
+ readonly clarkName: string;
7
+ readonly kind: 'element' | 'attribute';
8
+ readonly sourceLocators: readonly string[];
9
+ }
10
+ export declare const WML: {
11
+ readonly FLD_CHAR: {
12
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
13
+ readonly preferredPrefix: "w";
14
+ readonly localName: "fldChar";
15
+ readonly qname: "w:fldChar";
16
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}fldChar";
17
+ readonly kind: "element";
18
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:fldChar"];
19
+ };
20
+ readonly INSTR_TEXT: {
21
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
22
+ readonly preferredPrefix: "w";
23
+ readonly localName: "instrText";
24
+ readonly qname: "w:instrText";
25
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}instrText";
26
+ readonly kind: "element";
27
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:instrText"];
28
+ };
29
+ readonly DEL_INSTR_TEXT: {
30
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
31
+ readonly preferredPrefix: "w";
32
+ readonly localName: "delInstrText";
33
+ readonly qname: "w:delInstrText";
34
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}delInstrText";
35
+ readonly kind: "element";
36
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:delInstrText"];
37
+ };
38
+ readonly INS: {
39
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
40
+ readonly preferredPrefix: "w";
41
+ readonly localName: "ins";
42
+ readonly qname: "w:ins";
43
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}ins";
44
+ readonly kind: "element";
45
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_NumPr/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrPr/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_ParaRPrTrackChanges/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RPrMath/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunLevelElts/element:ins"];
46
+ };
47
+ readonly DEL: {
48
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
49
+ readonly preferredPrefix: "w";
50
+ readonly localName: "del";
51
+ readonly qname: "w:del";
52
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}del";
53
+ readonly kind: "element";
54
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MathCtrlIns/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrPr/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_ParaRPrTrackChanges/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RPrMath/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunLevelElts/element:del"];
55
+ };
56
+ readonly FLD_CHAR_TYPE: {
57
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
58
+ readonly preferredPrefix: "w";
59
+ readonly localName: "fldCharType";
60
+ readonly qname: "w:fldCharType";
61
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}fldCharType";
62
+ readonly kind: "attribute";
63
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FldChar/attribute:fldCharType"];
64
+ };
65
+ readonly ID: {
66
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
67
+ readonly preferredPrefix: "w";
68
+ readonly localName: "id";
69
+ readonly qname: "w:id";
70
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}id";
71
+ readonly kind: "attribute";
72
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Div/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_EastAsianLayout/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FitText/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdn/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdnRef/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdnSepRef/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Markup/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Perm/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Tc/attribute:id"];
73
+ };
74
+ readonly AUTHOR: {
75
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
76
+ readonly preferredPrefix: "w";
77
+ readonly localName: "author";
78
+ readonly qname: "w:author";
79
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}author";
80
+ readonly kind: "attribute";
81
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MoveBookmark/attribute:author", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrackChange/attribute:author"];
82
+ };
83
+ readonly DATE: {
84
+ readonly namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
85
+ readonly preferredPrefix: "w";
86
+ readonly localName: "date";
87
+ readonly qname: "w:date";
88
+ readonly clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}date";
89
+ readonly kind: "attribute";
90
+ readonly sourceLocators: readonly ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MoveBookmark/attribute:date", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrackChange/attribute:date"];
91
+ };
92
+ };
93
+ //# sourceMappingURL=ecma-376-vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecma-376-vocabulary.d.ts","sourceRoot":"","sources":["../../src/generated/ecma-376-vocabulary.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFyC,CAAC"}
@@ -0,0 +1,87 @@
1
+ // Generated by scripts/generate_ecma_376_coverage.mjs. Do not edit.
2
+ // Source: spec-compliance/ecma-376/source-artifacts/ECMA-376-4_5th_edition_december_2016.zip
3
+ // SHA-256: bd25da1109f73762356596918bf5ff8b74a1331642dba5f1c1d1dfc6bed34ecd
4
+ export const WML = {
5
+ FLD_CHAR: {
6
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
7
+ preferredPrefix: "w",
8
+ localName: "fldChar",
9
+ qname: "w:fldChar",
10
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}fldChar",
11
+ kind: "element",
12
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:fldChar"],
13
+ },
14
+ INSTR_TEXT: {
15
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
16
+ preferredPrefix: "w",
17
+ localName: "instrText",
18
+ qname: "w:instrText",
19
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}instrText",
20
+ kind: "element",
21
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:instrText"],
22
+ },
23
+ DEL_INSTR_TEXT: {
24
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
25
+ preferredPrefix: "w",
26
+ localName: "delInstrText",
27
+ qname: "w:delInstrText",
28
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}delInstrText",
29
+ kind: "element",
30
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunInnerContent/element:delInstrText"],
31
+ },
32
+ INS: {
33
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
34
+ preferredPrefix: "w",
35
+ localName: "ins",
36
+ qname: "w:ins",
37
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}ins",
38
+ kind: "element",
39
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_NumPr/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrPr/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_ParaRPrTrackChanges/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RPrMath/element:ins", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunLevelElts/element:ins"],
40
+ },
41
+ DEL: {
42
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
43
+ preferredPrefix: "w",
44
+ localName: "del",
45
+ qname: "w:del",
46
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}del",
47
+ kind: "element",
48
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MathCtrlIns/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrPr/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_ParaRPrTrackChanges/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RPrMath/element:del", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#group:EG_RunLevelElts/element:del"],
49
+ },
50
+ FLD_CHAR_TYPE: {
51
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
52
+ preferredPrefix: "w",
53
+ localName: "fldCharType",
54
+ qname: "w:fldCharType",
55
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}fldCharType",
56
+ kind: "attribute",
57
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FldChar/attribute:fldCharType"],
58
+ },
59
+ ID: {
60
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
61
+ preferredPrefix: "w",
62
+ localName: "id",
63
+ qname: "w:id",
64
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}id",
65
+ kind: "attribute",
66
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Div/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_EastAsianLayout/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FitText/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdn/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdnRef/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_FtnEdnSepRef/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Markup/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Perm/attribute:id", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_Tc/attribute:id"],
67
+ },
68
+ AUTHOR: {
69
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
70
+ preferredPrefix: "w",
71
+ localName: "author",
72
+ qname: "w:author",
73
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}author",
74
+ kind: "attribute",
75
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MoveBookmark/attribute:author", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrackChange/attribute:author"],
76
+ },
77
+ DATE: {
78
+ namespaceUri: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
79
+ preferredPrefix: "w",
80
+ localName: "date",
81
+ qname: "w:date",
82
+ clarkName: "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}date",
83
+ kind: "attribute",
84
+ sourceLocators: ["OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_MoveBookmark/attribute:date", "OfficeOpenXML-XMLSchema-Transitional.zip!/wml.xsd#complexType:CT_TrackChange/attribute:date"],
85
+ },
86
+ };
87
+ //# sourceMappingURL=ecma-376-vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecma-376-vocabulary.js","sourceRoot":"","sources":["../../src/generated/ecma-376-vocabulary.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,6FAA6F;AAC7F,4EAA4E;AAY5E,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE;QACR,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,uEAAuE;QAClF,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,4FAA4F,CAAC;KAC/G;IACD,UAAU,EAAE;QACV,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,yEAAyE;QACpF,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,8FAA8F,CAAC;KACjH;IACD,cAAc,EAAE;QACd,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,4EAA4E;QACvF,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,iGAAiG,CAAC;KACpH;IACD,GAAG,EAAE;QACH,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,mEAAmE;QAC9E,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,oFAAoF,EAAC,mFAAmF,EAAC,4FAA4F,EAAC,gFAAgF,EAAC,qFAAqF,CAAC;KAC/b;IACD,GAAG,EAAE;QACH,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,mEAAmE;QAC9E,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,0FAA0F,EAAC,mFAAmF,EAAC,4FAA4F,EAAC,gFAAgF,EAAC,qFAAqF,CAAC;KACrc;IACD,aAAa,EAAE;QACb,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,2EAA2E;QACtF,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,CAAC,gGAAgG,CAAC;KACnH;IACD,EAAE,EAAE;QACF,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,kEAAkE;QAC7E,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,CAAC,mFAAmF,EAAC,+FAA+F,EAAC,uFAAuF,EAAC,sFAAsF,EAAC,yFAAyF,EAAC,4FAA4F,EAAC,sFAAsF,EAAC,oFAAoF,EAAC,kFAAkF,CAAC;KAC3yB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,sEAAsE;QACjF,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,CAAC,gGAAgG,EAAC,+FAA+F,CAAC;KACnN;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,8DAA8D;QAC5E,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,oEAAoE;QAC/E,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,CAAC,8FAA8F,EAAC,6FAA6F,CAAC;KAC/M;CACsD,CAAC"}
@@ -22,7 +22,7 @@ import { emitFontTablePart } from './emit/font-table-part.js';
22
22
  import { emitHeaderFooterParts } from './emit/header-footer-part.js';
23
23
  import { emitNumberingPartIfNeeded } from './emit/numbering-part.js';
24
24
  import { emitPackageParts } from './emit/package-parts.js';
25
- import { emitSettingsPartIfNeeded } from './emit/settings-part.js';
25
+ import { emitSettingsPart } from './emit/settings-part.js';
26
26
  import { emitStylesPart } from './emit/styles-part.js';
27
27
  import { emitThemePart } from './emit/theme-part.js';
28
28
  import { emitWebSettingsPart } from './emit/web-settings-part.js';
@@ -45,7 +45,7 @@ export async function generateDocx(spec, opts) {
45
45
  if (notes)
46
46
  emitCommentsPartsIfNeeded(spec, ctx, notes);
47
47
  emitStylesPart(spec, ctx);
48
- emitSettingsPartIfNeeded(spec, ctx);
48
+ emitSettingsPart(spec, ctx);
49
49
  // Standard ancillary parts every Word-authored package carries (issue #482):
50
50
  // theme → fontTable → webSettings, ordered for stable rId allocation. Package
51
51
  // plumbing must stay last — it assembles [Content_Types].xml from the registry.
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/generation/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,2EAA2E;AAC3E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAOjD,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAkB,EAAE,IAA0B;IAC/E,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,YAAY,GAAG,IAAI,EAAE,oBAAoB,IAAI,IAAI,CAAC,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5G,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAChD,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,KAAK;QAAE,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACvD,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE5B,OAAO,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/generation/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,2EAA2E;AAC3E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAOjD,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAkB,EAAE,IAA0B;IAC/E,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,YAAY,GAAG,IAAI,EAAE,oBAAoB,IAAI,IAAI,CAAC,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5G,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAChD,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,KAAK;QAAE,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACvD,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE5B,OAAO,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -21,6 +21,8 @@
21
21
  *
22
22
  * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.6
23
23
  * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.2
24
+ * @ooxmlSpec ooxml.ecma376.5ed.part1.comments.collection
25
+ * @ooxmlSpec ooxml.ecma376.5ed.part1.comments.comment
24
26
  */
25
27
  import type { CompileContext } from '../context.js';
26
28
  import type { DocumentSpec } from '../types.js';