ooxml-core 1.0.0 → 1.1.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 (230) hide show
  1. package/dist/{PptxHandler-G63S6YZU.mjs → PptxHandler-75LOVF7I.mjs} +2 -2
  2. package/dist/automation/index.cjs +2559 -1169
  3. package/dist/automation/index.mjs +2559 -1169
  4. package/dist/chart/gradient-definition.d.ts +2 -2
  5. package/dist/chart/gradient-definition.d.ts.map +1 -1
  6. package/dist/chart/index.cjs +7 -7
  7. package/dist/chart/index.mjs +7 -7
  8. package/dist/{chunk-BICQYRPW.mjs → chunk-75LA7H3F.mjs} +1339 -1435
  9. package/dist/{chunk-CKJSWE7N.mjs → chunk-LA7D6ZYQ.mjs} +244 -115
  10. package/dist/{chunk-ROM5MZ7O.mjs → chunk-OMGH6IKY.mjs} +3 -3
  11. package/dist/{chunk-RWXFQJVF.mjs → chunk-Q27H4HFS.mjs} +1 -1
  12. package/dist/{chunk-DDG5HTGX.mjs → chunk-RFX7AJDZ.mjs} +1 -1
  13. package/dist/crypto/index.cjs +1406 -184
  14. package/dist/crypto/index.mjs +1406 -184
  15. package/dist/diagram/dom.d.ts +1 -14
  16. package/dist/diagram/dom.d.ts.map +1 -1
  17. package/dist/diagram/index.cjs +15 -15
  18. package/dist/diagram/index.d.ts +12 -12
  19. package/dist/diagram/index.d.ts.map +1 -1
  20. package/dist/diagram/index.mjs +15 -15
  21. package/dist/diagram/types.d.ts +12 -148
  22. package/dist/diagram/types.d.ts.map +1 -1
  23. package/dist/digest/algorithm-names.d.ts +2 -2
  24. package/dist/digest/algorithm-names.d.ts.map +1 -1
  25. package/dist/digest/bit-ops.d.ts +30 -0
  26. package/dist/digest/bit-ops.d.ts.map +1 -0
  27. package/dist/digest/digest.d.ts +2 -2
  28. package/dist/digest/digest.d.ts.map +1 -1
  29. package/dist/digest/index.cjs +1319 -90
  30. package/dist/digest/index.d.ts +7 -1
  31. package/dist/digest/index.d.ts.map +1 -1
  32. package/dist/digest/index.mjs +1313 -91
  33. package/dist/digest/md2.d.ts +22 -0
  34. package/dist/digest/md2.d.ts.map +1 -0
  35. package/dist/digest/md4.d.ts +3 -0
  36. package/dist/digest/md4.d.ts.map +1 -0
  37. package/dist/digest/md5.d.ts +3 -0
  38. package/dist/digest/md5.d.ts.map +1 -0
  39. package/dist/digest/password-hash.d.ts +7 -0
  40. package/dist/digest/password-hash.d.ts.map +1 -1
  41. package/dist/digest/ripemd-functions.d.ts +18 -0
  42. package/dist/digest/ripemd-functions.d.ts.map +1 -0
  43. package/dist/digest/ripemd128.d.ts +3 -0
  44. package/dist/digest/ripemd128.d.ts.map +1 -0
  45. package/dist/digest/ripemd160.d.ts +3 -0
  46. package/dist/digest/ripemd160.d.ts.map +1 -0
  47. package/dist/digest/whirlpool-sbox.d.ts +15 -0
  48. package/dist/digest/whirlpool-sbox.d.ts.map +1 -0
  49. package/dist/digest/whirlpool-table.d.ts +12 -0
  50. package/dist/digest/whirlpool-table.d.ts.map +1 -0
  51. package/dist/digest/whirlpool.d.ts +3 -0
  52. package/dist/digest/whirlpool.d.ts.map +1 -0
  53. package/dist/docx/block-parser.d.ts.map +1 -1
  54. package/dist/docx/diagram-theme.d.ts +3 -3
  55. package/dist/docx/diagram-theme.d.ts.map +1 -1
  56. package/dist/docx/embedded.cjs +470 -276
  57. package/dist/docx/embedded.mjs +470 -276
  58. package/dist/docx/field-flags.d.ts +8 -0
  59. package/dist/docx/field-flags.d.ts.map +1 -0
  60. package/dist/docx/field-lock.d.ts +6 -0
  61. package/dist/docx/field-lock.d.ts.map +1 -0
  62. package/dist/docx/field-runs.d.ts +4 -1
  63. package/dist/docx/field-runs.d.ts.map +1 -1
  64. package/dist/docx/index.cjs +1029 -850
  65. package/dist/docx/index.d.ts +2 -0
  66. package/dist/docx/index.d.ts.map +1 -1
  67. package/dist/docx/index.mjs +1027 -850
  68. package/dist/docx/layout/adapter.d.ts.map +1 -1
  69. package/dist/docx/layout/index.cjs +61 -47
  70. package/dist/docx/layout/index.mjs +61 -47
  71. package/dist/docx/layout/page-fields.d.ts.map +1 -1
  72. package/dist/docx/load/index.cjs +1883 -467
  73. package/dist/docx/load/index.mjs +1883 -467
  74. package/dist/docx/model-run.d.ts +5 -0
  75. package/dist/docx/model-run.d.ts.map +1 -1
  76. package/dist/docx/numbering-model.d.ts +1 -1
  77. package/dist/docx/numbering-model.d.ts.map +1 -1
  78. package/dist/docx/numbering-package.d.ts +4 -4
  79. package/dist/docx/numbering-package.d.ts.map +1 -1
  80. package/dist/docx/numbering-start-edit.d.ts +8 -0
  81. package/dist/docx/numbering-start-edit.d.ts.map +1 -0
  82. package/dist/docx/numbering-start-patch.d.ts +13 -0
  83. package/dist/docx/numbering-start-patch.d.ts.map +1 -0
  84. package/dist/docx/theme-color.d.ts.map +1 -1
  85. package/dist/docx/theme-model.d.ts +3 -2
  86. package/dist/docx/theme-model.d.ts.map +1 -1
  87. package/dist/docx/theme.d.ts +5 -1
  88. package/dist/docx/theme.d.ts.map +1 -1
  89. package/dist/docx/ui/field-guard.d.ts +2 -0
  90. package/dist/docx/ui/field-guard.d.ts.map +1 -1
  91. package/dist/docx/ui/field-results.d.ts.map +1 -1
  92. package/dist/docx/ui/index.cjs +547 -375
  93. package/dist/docx/ui/index.mjs +547 -376
  94. package/dist/docx/ui/review-commands.d.ts.map +1 -1
  95. package/dist/docx/ui/run-extra-mark.d.ts +1 -1
  96. package/dist/docx/ui/run-extra-mark.d.ts.map +1 -1
  97. package/dist/docx/ui/simple-field-input.d.ts +3 -0
  98. package/dist/docx/ui/simple-field-input.d.ts.map +1 -1
  99. package/dist/docx/ui/track-changes-mode.d.ts.map +1 -1
  100. package/dist/docx/ui/track-paragraph-boundaries.d.ts +5 -0
  101. package/dist/docx/ui/track-paragraph-boundaries.d.ts.map +1 -0
  102. package/dist/docx/write-inline.d.ts.map +1 -1
  103. package/dist/docx/write-run.d.ts.map +1 -1
  104. package/dist/drawingml/dom.d.ts +15 -0
  105. package/dist/drawingml/dom.d.ts.map +1 -0
  106. package/dist/drawingml/drawing-color-brightness.d.ts +6 -0
  107. package/dist/drawingml/drawing-color-brightness.d.ts.map +1 -0
  108. package/dist/drawingml/drawing-color-css.d.ts.map +1 -0
  109. package/dist/{diagram → drawingml}/drawing-color.d.ts +5 -5
  110. package/dist/drawingml/drawing-color.d.ts.map +1 -0
  111. package/dist/{diagram → drawingml}/drawing-fill.d.ts +3 -3
  112. package/dist/drawingml/drawing-fill.d.ts.map +1 -0
  113. package/dist/{diagram → drawingml}/drawing-geometry.d.ts +4 -4
  114. package/dist/drawingml/drawing-geometry.d.ts.map +1 -0
  115. package/dist/drawingml/drawing-shadow.d.ts.map +1 -0
  116. package/dist/{diagram → drawingml}/drawing-text.d.ts +2 -2
  117. package/dist/drawingml/drawing-text.d.ts.map +1 -0
  118. package/dist/{diagram → drawingml}/gradient-geometry.d.ts +2 -2
  119. package/dist/drawingml/gradient-geometry.d.ts.map +1 -0
  120. package/dist/drawingml/gradient-preset-data.d.ts.map +1 -0
  121. package/dist/{diagram → drawingml}/gradient-presets.d.ts +3 -3
  122. package/dist/drawingml/gradient-presets.d.ts.map +1 -0
  123. package/dist/drawingml/index.cjs +1545 -0
  124. package/dist/drawingml/index.d.ts +19 -0
  125. package/dist/drawingml/index.d.ts.map +1 -0
  126. package/dist/drawingml/index.mjs +1497 -0
  127. package/dist/{diagram → drawingml}/ordered-color-transforms.d.ts +2 -2
  128. package/dist/drawingml/ordered-color-transforms.d.ts.map +1 -0
  129. package/dist/drawingml/rect-path-gradient.d.ts.map +1 -0
  130. package/dist/drawingml/theme-color.d.ts +19 -0
  131. package/dist/drawingml/theme-color.d.ts.map +1 -0
  132. package/dist/drawingml/theme-model.d.ts +40 -0
  133. package/dist/drawingml/theme-model.d.ts.map +1 -0
  134. package/dist/drawingml/theme.d.ts +21 -0
  135. package/dist/drawingml/theme.d.ts.map +1 -0
  136. package/dist/drawingml/types.d.ts +152 -0
  137. package/dist/drawingml/types.d.ts.map +1 -0
  138. package/dist/drawingml/write-color.d.ts +4 -0
  139. package/dist/drawingml/write-color.d.ts.map +1 -0
  140. package/dist/{diagram → drawingml}/write-fill.d.ts +2 -2
  141. package/dist/drawingml/write-fill.d.ts.map +1 -0
  142. package/dist/geometry/connector-elbow-geometry.d.ts +14 -0
  143. package/dist/geometry/connector-elbow-geometry.d.ts.map +1 -1
  144. package/dist/geometry/index.cjs +43 -0
  145. package/dist/geometry/index.mjs +42 -1
  146. package/dist/i18n/dictionary.d.ts +13 -0
  147. package/dist/i18n/dictionary.d.ts.map +1 -0
  148. package/dist/i18n/index.cjs +68 -0
  149. package/dist/i18n/index.d.ts +4 -0
  150. package/dist/i18n/index.d.ts.map +1 -0
  151. package/dist/i18n/index.mjs +60 -0
  152. package/dist/i18n/locale.d.ts +17 -0
  153. package/dist/i18n/locale.d.ts.map +1 -0
  154. package/dist/i18n/translator.d.ts +18 -0
  155. package/dist/i18n/translator.d.ts.map +1 -0
  156. package/dist/index.cjs +3712 -2178
  157. package/dist/index.d.ts +2 -0
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.mjs +3711 -2179
  160. package/dist/pptx/automation/index.cjs +2852 -1568
  161. package/dist/pptx/automation/index.d.ts +3 -3
  162. package/dist/pptx/automation/index.mjs +5 -5
  163. package/dist/pptx/chunks/{index-C4mfzVoY.d.ts → index-BHqL5KXH.d.ts} +2 -2
  164. package/dist/pptx/chunks/{index-C4mfzVoY.d.ts.map → index-BHqL5KXH.d.ts.map} +1 -1
  165. package/dist/pptx/chunks/{index-lk7dyOPS.d.ts → index-BYkdcS8J.d.ts} +12 -16
  166. package/dist/pptx/chunks/index-BYkdcS8J.d.ts.map +1 -0
  167. package/dist/pptx/chunks/smart-art-CO2jmJFf.d.ts.map +1 -1
  168. package/dist/pptx/chunks/{text-operations-CDLx4hD5.d.ts → text-operations-DEJ7alZR.d.ts} +2 -2
  169. package/dist/pptx/chunks/text-operations-DEJ7alZR.d.ts.map +1 -0
  170. package/dist/pptx/cli/index.cjs +2680 -1396
  171. package/dist/pptx/cli/index.d.ts +1 -1
  172. package/dist/pptx/cli/index.mjs +4 -4
  173. package/dist/pptx/converter/index.d.ts +1 -1
  174. package/dist/pptx/converter/index.mjs +2 -2
  175. package/dist/pptx/index.cjs +1771 -1756
  176. package/dist/pptx/index.d.ts +3 -3
  177. package/dist/pptx/index.mjs +5 -5
  178. package/dist/teams/index.cjs +144 -74
  179. package/dist/teams/index.mjs +144 -74
  180. package/dist/visio/ui/index.cjs +14 -3
  181. package/dist/visio/ui/index.mjs +14 -3
  182. package/dist/visio/ui/shape-rotation.d.ts +1 -1
  183. package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
  184. package/dist/xlsx/edit/chart-series-gradient.d.ts +1 -1
  185. package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
  186. package/dist/xlsx/edit/protection.d.ts +1 -1
  187. package/dist/xlsx/index.cjs +3222 -1886
  188. package/dist/xlsx/index.mjs +3222 -1886
  189. package/dist/xlsx/layout/chart-appearance.d.ts +1 -1
  190. package/dist/xlsx/layout/chart-appearance.d.ts.map +1 -1
  191. package/dist/xlsx/layout/chart-scale.d.ts +5 -1
  192. package/dist/xlsx/layout/chart-scale.d.ts.map +1 -1
  193. package/dist/xlsx/layout/chart-svg-legend.d.ts +13 -0
  194. package/dist/xlsx/layout/chart-svg-legend.d.ts.map +1 -0
  195. package/dist/xlsx/layout/chart-svg.d.ts.map +1 -1
  196. package/dist/xlsx/layout/chart-view.d.ts +3 -1
  197. package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
  198. package/dist/xlsx/load/index.cjs +2110 -838
  199. package/dist/xlsx/load/index.mjs +2110 -838
  200. package/dist/xlsx/read/theme.d.ts +2 -4
  201. package/dist/xlsx/read/theme.d.ts.map +1 -1
  202. package/dist/xlsx/ui/index.cjs +2017 -771
  203. package/dist/xlsx/ui/index.mjs +2017 -771
  204. package/dist/xlsx/ui/locales/merge.d.ts +2 -1
  205. package/dist/xlsx/ui/locales/merge.d.ts.map +1 -1
  206. package/dist/xlsx/ui/localization.d.ts.map +1 -1
  207. package/dist/xlsx/write/theme.d.ts.map +1 -1
  208. package/package.json +11 -1
  209. package/dist/diagram/drawing-color-brightness.d.ts +0 -6
  210. package/dist/diagram/drawing-color-brightness.d.ts.map +0 -1
  211. package/dist/diagram/drawing-color-css.d.ts.map +0 -1
  212. package/dist/diagram/drawing-color.d.ts.map +0 -1
  213. package/dist/diagram/drawing-fill.d.ts.map +0 -1
  214. package/dist/diagram/drawing-geometry.d.ts.map +0 -1
  215. package/dist/diagram/drawing-shadow.d.ts.map +0 -1
  216. package/dist/diagram/drawing-text.d.ts.map +0 -1
  217. package/dist/diagram/gradient-geometry.d.ts.map +0 -1
  218. package/dist/diagram/gradient-preset-data.d.ts.map +0 -1
  219. package/dist/diagram/gradient-presets.d.ts.map +0 -1
  220. package/dist/diagram/ordered-color-transforms.d.ts.map +0 -1
  221. package/dist/diagram/rect-path-gradient.d.ts.map +0 -1
  222. package/dist/diagram/write-color.d.ts +0 -4
  223. package/dist/diagram/write-color.d.ts.map +0 -1
  224. package/dist/diagram/write-fill.d.ts.map +0 -1
  225. package/dist/pptx/chunks/index-lk7dyOPS.d.ts.map +0 -1
  226. package/dist/pptx/chunks/text-operations-CDLx4hD5.d.ts.map +0 -1
  227. /package/dist/{diagram → drawingml}/drawing-color-css.d.ts +0 -0
  228. /package/dist/{diagram → drawingml}/drawing-shadow.d.ts +0 -0
  229. /package/dist/{diagram → drawingml}/gradient-preset-data.d.ts +0 -0
  230. /package/dist/{diagram → drawingml}/rect-path-gradient.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../docx/layout/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,aAAa,EAAyC,MAAM,UAAU,CAAC;AAoB5F,OAAO,EAIN,KAAK,mBAAmB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEX,mBAAmB,EAKnB,MAAM,SAAS,CAAC;AA2BjB,oFAAoF;AACpF,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC1C,OAAO,GAAE,mBAAwB,GAC/B,mBAAmB,CAkRrB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../docx/layout/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,aAAa,EAAyC,MAAM,UAAU,CAAC;AAqB5F,OAAO,EAIN,KAAK,mBAAmB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEX,mBAAmB,EAKnB,MAAM,SAAS,CAAC;AA2BjB,oFAAoF;AACpF,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC1C,OAAO,GAAE,mBAAwB,GAC/B,mBAAmB,CAkRrB"}
@@ -689,6 +689,32 @@ function resolveRunFormatting(run, context = {}) {
689
689
  return result;
690
690
  }
691
691
 
692
+ // color/color-primitives.ts
693
+ function clampUnitInterval(value) {
694
+ return Math.min(1, Math.max(0, value));
695
+ }
696
+ function toHex(value) {
697
+ return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
698
+ }
699
+
700
+ // color/color-linear.ts
701
+ function srgb255ToLinear(channel) {
702
+ const c = clampUnitInterval(channel / 255);
703
+ return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
704
+ }
705
+ function linearToSrgb255(linear) {
706
+ const c = clampUnitInterval(linear);
707
+ return 255 * (c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055);
708
+ }
709
+
710
+ // drawingml/theme-model.ts
711
+ var DEFAULT_THEME_COLOR_MAP = {
712
+ bg1: "lt1",
713
+ tx1: "dk1",
714
+ bg2: "lt2",
715
+ tx2: "dk2"
716
+ };
717
+
692
718
  // docx/theme-color.ts
693
719
  function isThemeColorToken(value) {
694
720
  return isStThemeColor(value);
@@ -707,12 +733,6 @@ var TOKEN_TO_SLOT = {
707
733
  hyperlink: "hlink",
708
734
  followedHyperlink: "folHlink"
709
735
  };
710
- var DEFAULT_MAPPING = {
711
- bg1: "lt1",
712
- tx1: "dk1",
713
- bg2: "lt2",
714
- tx2: "dk2"
715
- };
716
736
  function resolveThemeColorToken(token, theme) {
717
737
  const logical = {
718
738
  background1: "bg1",
@@ -722,7 +742,7 @@ function resolveThemeColorToken(token, theme) {
722
742
  };
723
743
  const logicalKey = logical[token];
724
744
  if (logicalKey) {
725
- const slot2 = theme.colorMapping[logicalKey] ?? DEFAULT_MAPPING[logicalKey];
745
+ const slot2 = theme.colorMapping[logicalKey] ?? DEFAULT_THEME_COLOR_MAP[logicalKey];
726
746
  return theme.colors[slot2];
727
747
  }
728
748
  const slot = TOKEN_TO_SLOT[token];
@@ -737,27 +757,16 @@ function hexToRgb(hex) {
737
757
  b: Number.parseInt(normalized.slice(4, 6), 16)
738
758
  };
739
759
  }
740
- function toHex(value) {
741
- return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
742
- }
743
- function srgbToLinear(channel) {
744
- const c = Math.min(1, Math.max(0, channel / 255));
745
- return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
746
- }
747
- function linearToSrgb(linear) {
748
- const c = Math.min(1, Math.max(0, linear));
749
- return 255 * (c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055);
750
- }
751
760
  function applyThemeShade(hex, fraction) {
752
761
  const rgb = hexToRgb(hex);
753
762
  if (!rgb) return hex;
754
- const mix = (channel) => linearToSrgb(srgbToLinear(channel) * fraction);
763
+ const mix = (channel) => linearToSrgb255(srgb255ToLinear(channel) * fraction);
755
764
  return `#${toHex(mix(rgb.r))}${toHex(mix(rgb.g))}${toHex(mix(rgb.b))}`;
756
765
  }
757
766
  function applyThemeTint(hex, fraction) {
758
767
  const rgb = hexToRgb(hex);
759
768
  if (!rgb) return hex;
760
- const mix = (channel) => linearToSrgb(1 - (1 - srgbToLinear(channel)) * fraction);
769
+ const mix = (channel) => linearToSrgb255(1 - (1 - srgb255ToLinear(channel)) * fraction);
761
770
  return `#${toHex(mix(rgb.r))}${toHex(mix(rgb.g))}${toHex(mix(rgb.b))}`;
762
771
  }
763
772
  function resolveThemeColorReference(ref, theme) {
@@ -1016,6 +1025,11 @@ function restoreRunFormatting(run) {
1016
1025
  else delete run.revision;
1017
1026
  }
1018
1027
 
1028
+ // docx/field-lock.ts
1029
+ function isFieldLocked(run) {
1030
+ return run?.fieldFlags?.locked === true;
1031
+ }
1032
+
1019
1033
  // docx/paragraph-properties.ts
1020
1034
  var signedTwipValue = parseSignedTwips;
1021
1035
  var twipValue = parseTwips;
@@ -1087,6 +1101,31 @@ function parseDirectParagraphProperties(props) {
1087
1101
  return paragraph;
1088
1102
  }
1089
1103
 
1104
+ // docx/numbering-parse.ts
1105
+ function resolveNumberingLevel(catalog, numId, level) {
1106
+ const num = catalog.nums[numId];
1107
+ if (!num) return void 0;
1108
+ const override = num.levelOverrides?.[level];
1109
+ const sourceAbstract = catalog.abstractNums[num.abstractNumId]?.levels[level];
1110
+ const abstract = sourceAbstract?.startWasOmitted && sourceAbstract.start === 1 ? { ...sourceAbstract, start: 0 } : sourceAbstract;
1111
+ let base = override?.lvl ?? abstract;
1112
+ if (!base) return void 0;
1113
+ if (override?.lvl) {
1114
+ const { lvlRestart: _ignored, ...properties } = base;
1115
+ base = {
1116
+ ...properties,
1117
+ ...abstract?.lvlRestart !== void 0 ? { lvlRestart: abstract.lvlRestart } : {}
1118
+ };
1119
+ }
1120
+ let start = override?.startOverride ?? base.start;
1121
+ if (override?.lvl) {
1122
+ if (abstract?.lvlRestart === 0 && override.startOverride === void 0) start = abstract.start;
1123
+ else if (!override.lvl.startWasOmitted || override.lvl.start !== 1) start = override.lvl.start;
1124
+ else start = override.startOverride ?? 0;
1125
+ }
1126
+ return start !== base.start ? { ...base, start } : base;
1127
+ }
1128
+
1090
1129
  // docx/document-paragraphs.ts
1091
1130
  function mapBlockParagraphs(blocks, map) {
1092
1131
  return blocks.map(
@@ -1210,31 +1249,6 @@ function numberNotesInOrder(blocks, kind) {
1210
1249
  return order;
1211
1250
  }
1212
1251
 
1213
- // docx/numbering-parse.ts
1214
- function resolveNumberingLevel(catalog, numId, level) {
1215
- const num = catalog.nums[numId];
1216
- if (!num) return void 0;
1217
- const override = num.levelOverrides?.[level];
1218
- const sourceAbstract = catalog.abstractNums[num.abstractNumId]?.levels[level];
1219
- const abstract = sourceAbstract?.startWasOmitted && sourceAbstract.start === 1 ? { ...sourceAbstract, start: 0 } : sourceAbstract;
1220
- let base = override?.lvl ?? abstract;
1221
- if (!base) return void 0;
1222
- if (override?.lvl) {
1223
- const { lvlRestart: _ignored, ...properties } = base;
1224
- base = {
1225
- ...properties,
1226
- ...abstract?.lvlRestart !== void 0 ? { lvlRestart: abstract.lvlRestart } : {}
1227
- };
1228
- }
1229
- let start = override?.startOverride ?? base.start;
1230
- if (override?.lvl) {
1231
- if (abstract?.lvlRestart === 0 && override.startOverride === void 0) start = abstract.start;
1232
- else if (!override.lvl.startWasOmitted || override.lvl.start !== 1) start = override.lvl.start;
1233
- else start = override.startOverride ?? 0;
1234
- }
1235
- return start !== base.start ? { ...base, start } : base;
1236
- }
1237
-
1238
1252
  // docx/numbering-text.ts
1239
1253
  function romanNumeral(n) {
1240
1254
  const values = [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
@@ -1796,7 +1810,7 @@ function appendBreakMarker(tokens, runIndex, sourceStart, kind) {
1796
1810
 
1797
1811
  // docx/layout/page-fields.ts
1798
1812
  function fieldDisplayText(run, values) {
1799
- if (!run.field) return run.text;
1813
+ if (!run.field || isFieldLocked(run)) return run.text;
1800
1814
  const name = fieldName(run.field.instr);
1801
1815
  if (name === "PAGE") return values.page;
1802
1816
  if (name === "NUMPAGES") return values.numPages;
@@ -3350,7 +3364,7 @@ function adaptDocumentModel(model, note = () => {
3350
3364
  if (run.equation) reportOnce(EQUATION_NOTE);
3351
3365
  const name = run.field ? fieldName(run.field.instr) : "";
3352
3366
  const noteText = run.noteReference ? noteLabel(run.noteReference.kind, run.noteReference.id) : run.noteMark ? markLabel ?? "" : void 0;
3353
- const text = noteText ?? (run.field && (name === "DATE" || name === "TIME") ? dateFieldResult(name, run.field.instr, now) : run.equation ? "[Equation]" : run.text);
3367
+ const text = noteText ?? (run.field && !isFieldLocked(run) && (name === "DATE" || name === "TIME") ? dateFieldResult(name, run.field.instr, now) : run.equation ? "[Equation]" : run.text);
3354
3368
  const script = formatting.verticalAlign === "superscript" || noteText !== void 0 && formatting.verticalAlign === void 0 ? "super" : formatting.verticalAlign === "subscript" ? "sub" : void 0;
3355
3369
  const image = run.image;
3356
3370
  if (image?.unsupported === "Text box") reportOnce(TEXT_BOX_NOTE);
@@ -687,6 +687,32 @@ function resolveRunFormatting(run, context = {}) {
687
687
  return result;
688
688
  }
689
689
 
690
+ // color/color-primitives.ts
691
+ function clampUnitInterval(value) {
692
+ return Math.min(1, Math.max(0, value));
693
+ }
694
+ function toHex(value) {
695
+ return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
696
+ }
697
+
698
+ // color/color-linear.ts
699
+ function srgb255ToLinear(channel) {
700
+ const c = clampUnitInterval(channel / 255);
701
+ return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
702
+ }
703
+ function linearToSrgb255(linear) {
704
+ const c = clampUnitInterval(linear);
705
+ return 255 * (c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055);
706
+ }
707
+
708
+ // drawingml/theme-model.ts
709
+ var DEFAULT_THEME_COLOR_MAP = {
710
+ bg1: "lt1",
711
+ tx1: "dk1",
712
+ bg2: "lt2",
713
+ tx2: "dk2"
714
+ };
715
+
690
716
  // docx/theme-color.ts
691
717
  function isThemeColorToken(value) {
692
718
  return isStThemeColor(value);
@@ -705,12 +731,6 @@ var TOKEN_TO_SLOT = {
705
731
  hyperlink: "hlink",
706
732
  followedHyperlink: "folHlink"
707
733
  };
708
- var DEFAULT_MAPPING = {
709
- bg1: "lt1",
710
- tx1: "dk1",
711
- bg2: "lt2",
712
- tx2: "dk2"
713
- };
714
734
  function resolveThemeColorToken(token, theme) {
715
735
  const logical = {
716
736
  background1: "bg1",
@@ -720,7 +740,7 @@ function resolveThemeColorToken(token, theme) {
720
740
  };
721
741
  const logicalKey = logical[token];
722
742
  if (logicalKey) {
723
- const slot2 = theme.colorMapping[logicalKey] ?? DEFAULT_MAPPING[logicalKey];
743
+ const slot2 = theme.colorMapping[logicalKey] ?? DEFAULT_THEME_COLOR_MAP[logicalKey];
724
744
  return theme.colors[slot2];
725
745
  }
726
746
  const slot = TOKEN_TO_SLOT[token];
@@ -735,27 +755,16 @@ function hexToRgb(hex) {
735
755
  b: Number.parseInt(normalized.slice(4, 6), 16)
736
756
  };
737
757
  }
738
- function toHex(value) {
739
- return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
740
- }
741
- function srgbToLinear(channel) {
742
- const c = Math.min(1, Math.max(0, channel / 255));
743
- return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
744
- }
745
- function linearToSrgb(linear) {
746
- const c = Math.min(1, Math.max(0, linear));
747
- return 255 * (c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055);
748
- }
749
758
  function applyThemeShade(hex, fraction) {
750
759
  const rgb = hexToRgb(hex);
751
760
  if (!rgb) return hex;
752
- const mix = (channel) => linearToSrgb(srgbToLinear(channel) * fraction);
761
+ const mix = (channel) => linearToSrgb255(srgb255ToLinear(channel) * fraction);
753
762
  return `#${toHex(mix(rgb.r))}${toHex(mix(rgb.g))}${toHex(mix(rgb.b))}`;
754
763
  }
755
764
  function applyThemeTint(hex, fraction) {
756
765
  const rgb = hexToRgb(hex);
757
766
  if (!rgb) return hex;
758
- const mix = (channel) => linearToSrgb(1 - (1 - srgbToLinear(channel)) * fraction);
767
+ const mix = (channel) => linearToSrgb255(1 - (1 - srgb255ToLinear(channel)) * fraction);
759
768
  return `#${toHex(mix(rgb.r))}${toHex(mix(rgb.g))}${toHex(mix(rgb.b))}`;
760
769
  }
761
770
  function resolveThemeColorReference(ref, theme) {
@@ -1014,6 +1023,11 @@ function restoreRunFormatting(run) {
1014
1023
  else delete run.revision;
1015
1024
  }
1016
1025
 
1026
+ // docx/field-lock.ts
1027
+ function isFieldLocked(run) {
1028
+ return run?.fieldFlags?.locked === true;
1029
+ }
1030
+
1017
1031
  // docx/paragraph-properties.ts
1018
1032
  var signedTwipValue = parseSignedTwips;
1019
1033
  var twipValue = parseTwips;
@@ -1085,6 +1099,31 @@ function parseDirectParagraphProperties(props) {
1085
1099
  return paragraph;
1086
1100
  }
1087
1101
 
1102
+ // docx/numbering-parse.ts
1103
+ function resolveNumberingLevel(catalog, numId, level) {
1104
+ const num = catalog.nums[numId];
1105
+ if (!num) return void 0;
1106
+ const override = num.levelOverrides?.[level];
1107
+ const sourceAbstract = catalog.abstractNums[num.abstractNumId]?.levels[level];
1108
+ const abstract = sourceAbstract?.startWasOmitted && sourceAbstract.start === 1 ? { ...sourceAbstract, start: 0 } : sourceAbstract;
1109
+ let base = override?.lvl ?? abstract;
1110
+ if (!base) return void 0;
1111
+ if (override?.lvl) {
1112
+ const { lvlRestart: _ignored, ...properties } = base;
1113
+ base = {
1114
+ ...properties,
1115
+ ...abstract?.lvlRestart !== void 0 ? { lvlRestart: abstract.lvlRestart } : {}
1116
+ };
1117
+ }
1118
+ let start = override?.startOverride ?? base.start;
1119
+ if (override?.lvl) {
1120
+ if (abstract?.lvlRestart === 0 && override.startOverride === void 0) start = abstract.start;
1121
+ else if (!override.lvl.startWasOmitted || override.lvl.start !== 1) start = override.lvl.start;
1122
+ else start = override.startOverride ?? 0;
1123
+ }
1124
+ return start !== base.start ? { ...base, start } : base;
1125
+ }
1126
+
1088
1127
  // docx/document-paragraphs.ts
1089
1128
  function mapBlockParagraphs(blocks, map) {
1090
1129
  return blocks.map(
@@ -1208,31 +1247,6 @@ function numberNotesInOrder(blocks, kind) {
1208
1247
  return order;
1209
1248
  }
1210
1249
 
1211
- // docx/numbering-parse.ts
1212
- function resolveNumberingLevel(catalog, numId, level) {
1213
- const num = catalog.nums[numId];
1214
- if (!num) return void 0;
1215
- const override = num.levelOverrides?.[level];
1216
- const sourceAbstract = catalog.abstractNums[num.abstractNumId]?.levels[level];
1217
- const abstract = sourceAbstract?.startWasOmitted && sourceAbstract.start === 1 ? { ...sourceAbstract, start: 0 } : sourceAbstract;
1218
- let base = override?.lvl ?? abstract;
1219
- if (!base) return void 0;
1220
- if (override?.lvl) {
1221
- const { lvlRestart: _ignored, ...properties } = base;
1222
- base = {
1223
- ...properties,
1224
- ...abstract?.lvlRestart !== void 0 ? { lvlRestart: abstract.lvlRestart } : {}
1225
- };
1226
- }
1227
- let start = override?.startOverride ?? base.start;
1228
- if (override?.lvl) {
1229
- if (abstract?.lvlRestart === 0 && override.startOverride === void 0) start = abstract.start;
1230
- else if (!override.lvl.startWasOmitted || override.lvl.start !== 1) start = override.lvl.start;
1231
- else start = override.startOverride ?? 0;
1232
- }
1233
- return start !== base.start ? { ...base, start } : base;
1234
- }
1235
-
1236
1250
  // docx/numbering-text.ts
1237
1251
  function romanNumeral(n) {
1238
1252
  const values = [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
@@ -1794,7 +1808,7 @@ function appendBreakMarker(tokens, runIndex, sourceStart, kind) {
1794
1808
 
1795
1809
  // docx/layout/page-fields.ts
1796
1810
  function fieldDisplayText(run, values) {
1797
- if (!run.field) return run.text;
1811
+ if (!run.field || isFieldLocked(run)) return run.text;
1798
1812
  const name = fieldName(run.field.instr);
1799
1813
  if (name === "PAGE") return values.page;
1800
1814
  if (name === "NUMPAGES") return values.numPages;
@@ -3348,7 +3362,7 @@ function adaptDocumentModel(model, note = () => {
3348
3362
  if (run.equation) reportOnce(EQUATION_NOTE);
3349
3363
  const name = run.field ? fieldName(run.field.instr) : "";
3350
3364
  const noteText = run.noteReference ? noteLabel(run.noteReference.kind, run.noteReference.id) : run.noteMark ? markLabel ?? "" : void 0;
3351
- const text = noteText ?? (run.field && (name === "DATE" || name === "TIME") ? dateFieldResult(name, run.field.instr, now) : run.equation ? "[Equation]" : run.text);
3365
+ const text = noteText ?? (run.field && !isFieldLocked(run) && (name === "DATE" || name === "TIME") ? dateFieldResult(name, run.field.instr, now) : run.equation ? "[Equation]" : run.text);
3352
3366
  const script = formatting.verticalAlign === "superscript" || noteText !== void 0 && formatting.verticalAlign === void 0 ? "super" : formatting.verticalAlign === "subscript" ? "sub" : void 0;
3353
3367
  const image = run.image;
3354
3368
  if (image?.unsupported === "Text box") reportOnce(TEXT_BOX_NOTE);
@@ -1 +1 @@
1
- {"version":3,"file":"page-fields.d.ts","sourceRoot":"","sources":["../../../docx/layout/page-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAqB,OAAO,EAAE,MAAM,UAAU,CAAC;AAI/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,IAAI,CAAC;CACX;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAS/E;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAgCvF;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAOlF;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrF;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,GAAG,SAAS,GACzB,mBAAmB,GAAG,SAAS,CAejC"}
1
+ {"version":3,"file":"page-fields.d.ts","sourceRoot":"","sources":["../../../docx/layout/page-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAqB,OAAO,EAAE,MAAM,UAAU,CAAC;AAK/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,IAAI,CAAC;CACX;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAS/E;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAgCvF;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAOlF;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrF;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,GAAG,SAAS,GACzB,mBAAmB,GAAG,SAAS,CAejC"}