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
@@ -1182,7 +1182,7 @@ var init_comments2 = __esm({
1182
1182
  }
1183
1183
  });
1184
1184
 
1185
- // diagram/dom.ts
1185
+ // drawingml/dom.ts
1186
1186
  function attributeReader(element2) {
1187
1187
  return (name) => {
1188
1188
  if (!element2) return void 0;
@@ -1203,12 +1203,12 @@ function booleanAttribute(element2, name) {
1203
1203
  return void 0;
1204
1204
  }
1205
1205
  var init_dom = __esm({
1206
- "diagram/dom.ts"() {
1206
+ "drawingml/dom.ts"() {
1207
1207
  init_xml2();
1208
1208
  }
1209
1209
  });
1210
1210
 
1211
- // diagram/drawing-color.ts
1211
+ // drawingml/drawing-color.ts
1212
1212
  function colorValue(kind, element2) {
1213
1213
  const attribute = (name) => element2.getAttribute(name) ?? "";
1214
1214
  if (kind === "scrgb") return `${attribute("r")},${attribute("g")},${attribute("b")}`;
@@ -1241,7 +1241,7 @@ function parseDrawingColor(element2) {
1241
1241
  }
1242
1242
  var COLOR_ELEMENTS;
1243
1243
  var init_drawing_color = __esm({
1244
- "diagram/drawing-color.ts"() {
1244
+ "drawingml/drawing-color.ts"() {
1245
1245
  init_dom();
1246
1246
  COLOR_ELEMENTS = {
1247
1247
  srgbClr: "srgb",
@@ -1389,7 +1389,7 @@ var init_color_style = __esm({
1389
1389
  }
1390
1390
  });
1391
1391
 
1392
- // diagram/drawing-fill.ts
1392
+ // drawingml/drawing-fill.ts
1393
1393
  function fillElementOf(properties) {
1394
1394
  return properties ? elements(properties).find(
1395
1395
  (element2) => FILL_ELEMENTS.has(element2.localName) && (!element2.namespaceURI || element2.namespaceURI === NS.a)
@@ -1474,7 +1474,7 @@ function parseDrawingLine(ln2) {
1474
1474
  }
1475
1475
  var FILL_ELEMENTS;
1476
1476
  var init_drawing_fill = __esm({
1477
- "diagram/drawing-fill.ts"() {
1477
+ "drawingml/drawing-fill.ts"() {
1478
1478
  init_drawing_color();
1479
1479
  init_dom();
1480
1480
  init_xml2();
@@ -1489,7 +1489,7 @@ var init_drawing_fill = __esm({
1489
1489
  }
1490
1490
  });
1491
1491
 
1492
- // diagram/write-color.ts
1492
+ // drawingml/write-color.ts
1493
1493
  function drawingColorXml(color) {
1494
1494
  const local = ELEMENTS[color.kind];
1495
1495
  const doc = parseXml(`<a:${local} xmlns:a="${NS.a}"/>`);
@@ -1512,7 +1512,7 @@ function drawingColorXml(color) {
1512
1512
  }
1513
1513
  var ELEMENTS;
1514
1514
  var init_write_color = __esm({
1515
- "diagram/write-color.ts"() {
1515
+ "drawingml/write-color.ts"() {
1516
1516
  init_xml2();
1517
1517
  ELEMENTS = {
1518
1518
  srgb: "srgbClr",
@@ -1525,7 +1525,7 @@ var init_write_color = __esm({
1525
1525
  }
1526
1526
  });
1527
1527
 
1528
- // diagram/write-fill.ts
1528
+ // drawingml/write-fill.ts
1529
1529
  function setDrawingFillXml(properties, xml) {
1530
1530
  const doc = properties.ownerDocument;
1531
1531
  const wrapper = parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`);
@@ -1620,7 +1620,7 @@ function drawingFillXml(fill2) {
1620
1620
  return buildXml(doc);
1621
1621
  }
1622
1622
  var init_write_fill = __esm({
1623
- "diagram/write-fill.ts"() {
1623
+ "drawingml/write-fill.ts"() {
1624
1624
  init_xml2();
1625
1625
  init_write_color();
1626
1626
  init_drawing_color();
@@ -1639,7 +1639,7 @@ var init_chart_colors = __esm({
1639
1639
  }
1640
1640
  });
1641
1641
 
1642
- // diagram/drawing-color-brightness.ts
1642
+ // drawingml/drawing-color-brightness.ts
1643
1643
  function withDrawingColorBrightness(color, percent) {
1644
1644
  if (!Number.isFinite(percent) || percent < -100 || percent > 100)
1645
1645
  throw new RangeError("Brightness must be from -100 to 100");
@@ -1654,7 +1654,7 @@ function withDrawingColorBrightness(color, percent) {
1654
1654
  return result2;
1655
1655
  }
1656
1656
  var init_drawing_color_brightness = __esm({
1657
- "diagram/drawing-color-brightness.ts"() {
1657
+ "drawingml/drawing-color-brightness.ts"() {
1658
1658
  }
1659
1659
  });
1660
1660
 
@@ -2121,7 +2121,7 @@ var init_built_in_text_style = __esm({
2121
2121
  }
2122
2122
  });
2123
2123
 
2124
- // diagram/drawing-text.ts
2124
+ // drawingml/drawing-text.ts
2125
2125
  function parseSpacing(parent) {
2126
2126
  for (const [name, unit, divisor] of [
2127
2127
  ["spcPts", "points", 100],
@@ -2200,7 +2200,7 @@ function parseDrawingTextBody(body) {
2200
2200
  return result2;
2201
2201
  }
2202
2202
  var init_drawing_text = __esm({
2203
- "diagram/drawing-text.ts"() {
2203
+ "drawingml/drawing-text.ts"() {
2204
2204
  init_drawing_color();
2205
2205
  init_dom();
2206
2206
  }
@@ -15354,39 +15354,11 @@ var init_styles3 = __esm({
15354
15354
  }
15355
15355
  });
15356
15356
 
15357
- // xlsx/read/theme.ts
15358
- function parseTheme(xml) {
15359
- const palette = { ...DEFAULT_THEME, colors: [...DEFAULT_THEME.colors] };
15360
- if (!xml) return palette;
15361
- const root = parseXml(xml, { label: "XLSX theme" }).documentElement;
15362
- const elementsNode = first(root, "themeElements", NS.a);
15363
- const scheme = first(elementsNode, "clrScheme", NS.a);
15364
- if (scheme) {
15365
- const bySlot = /* @__PURE__ */ new Map();
15366
- for (const slot of elements(scheme)) {
15367
- const colour = elements(slot)[0];
15368
- if (!colour) continue;
15369
- const value = colour.localName === "sysClr" ? att(colour, "lastClr") ?? att(colour, "val") : att(colour, "val");
15370
- if (value && /^[0-9A-Fa-f]{6}$/.test(value))
15371
- bySlot.set(slot.localName ?? "", value.toUpperCase());
15372
- }
15373
- palette.colors = PALETTE_SLOTS.map(
15374
- (slot, index2) => bySlot.get(slot) ?? DEFAULT_THEME.colors[index2] ?? "000000"
15375
- );
15376
- }
15377
- const fonts = first(elementsNode, "fontScheme", NS.a);
15378
- const latin = (kind) => att(first(first(fonts, kind, NS.a), "latin", NS.a), "typeface") || void 0;
15379
- palette.majorFont = latin("majorFont") ?? palette.majorFont;
15380
- palette.minorFont = latin("minorFont") ?? palette.minorFont;
15381
- return palette;
15382
- }
15383
- var SCHEME_ORDER, PALETTE_SLOTS;
15384
- var init_theme = __esm({
15385
- "xlsx/read/theme.ts"() {
15386
- init_xml2();
15387
- init_workbook();
15388
- init_xml_util();
15389
- SCHEME_ORDER = [
15357
+ // drawingml/theme-model.ts
15358
+ var THEME_COLOR_SLOTS;
15359
+ var init_theme_model = __esm({
15360
+ "drawingml/theme-model.ts"() {
15361
+ THEME_COLOR_SLOTS = [
15390
15362
  "dk1",
15391
15363
  "lt1",
15392
15364
  "dk2",
@@ -15400,6 +15372,96 @@ var init_theme = __esm({
15400
15372
  "hlink",
15401
15373
  "folHlink"
15402
15374
  ];
15375
+ }
15376
+ });
15377
+
15378
+ // drawingml/theme.ts
15379
+ function nonEmpty(value) {
15380
+ return value ? value : void 0;
15381
+ }
15382
+ function parseThemeColorScheme(scheme) {
15383
+ const result2 = { colors: {} };
15384
+ if (!scheme) return result2;
15385
+ const name = nonEmpty(scheme.getAttribute("name"));
15386
+ if (name) result2.name = name;
15387
+ for (const slot of THEME_COLOR_SLOTS) {
15388
+ const color = parseDrawingColorIn(first(scheme, slot, NS.a));
15389
+ if (color) result2.colors[slot] = color;
15390
+ }
15391
+ return result2;
15392
+ }
15393
+ function parseFontCollection(collection) {
15394
+ const result2 = { scripts: {} };
15395
+ if (!collection) return result2;
15396
+ const typeface = (local) => nonEmpty(first(collection, local, NS.a)?.getAttribute("typeface"));
15397
+ const latin = typeface("latin");
15398
+ const eastAsia = typeface("ea");
15399
+ const complexScript = typeface("cs");
15400
+ if (latin) result2.latin = latin;
15401
+ if (eastAsia) result2.eastAsia = eastAsia;
15402
+ if (complexScript) result2.complexScript = complexScript;
15403
+ for (const font of elements(collection)) {
15404
+ if (font.localName !== "font") continue;
15405
+ const script = nonEmpty(font.getAttribute("script"));
15406
+ const face = nonEmpty(font.getAttribute("typeface"));
15407
+ if (script && face && !Object.hasOwn(result2.scripts, script)) result2.scripts[script] = face;
15408
+ }
15409
+ return result2;
15410
+ }
15411
+ function parseThemeFontScheme(scheme) {
15412
+ const result2 = {
15413
+ major: parseFontCollection(first(scheme, "majorFont", NS.a)),
15414
+ minor: parseFontCollection(first(scheme, "minorFont", NS.a))
15415
+ };
15416
+ const name = nonEmpty(scheme?.getAttribute("name"));
15417
+ if (name) result2.name = name;
15418
+ return result2;
15419
+ }
15420
+ function rootOf(source2) {
15421
+ return "documentElement" in source2 ? source2.documentElement : source2;
15422
+ }
15423
+ function parseTheme(source2) {
15424
+ const root = rootOf(source2);
15425
+ const holder = first(root, "themeElements", NS.a) ?? root;
15426
+ const theme = {
15427
+ colorScheme: parseThemeColorScheme(first(holder, "clrScheme", NS.a)),
15428
+ fontScheme: parseThemeFontScheme(first(holder, "fontScheme", NS.a))
15429
+ };
15430
+ const name = nonEmpty(root.getAttribute("name"));
15431
+ if (name) theme.name = name;
15432
+ return theme;
15433
+ }
15434
+ var init_theme = __esm({
15435
+ "drawingml/theme.ts"() {
15436
+ init_xml2();
15437
+ init_drawing_color();
15438
+ init_theme_model();
15439
+ new Set(THEME_COLOR_SLOTS);
15440
+ }
15441
+ });
15442
+
15443
+ // xlsx/read/theme.ts
15444
+ function paletteHex(color) {
15445
+ const value = color?.kind === "system" ? color.fallback ?? color.value : color?.value;
15446
+ return value && /^[0-9A-Fa-f]{6}$/.test(value) ? value.toUpperCase() : void 0;
15447
+ }
15448
+ function parseTheme2(xml) {
15449
+ const palette = { ...DEFAULT_THEME, colors: [...DEFAULT_THEME.colors] };
15450
+ if (!xml) return palette;
15451
+ const theme = parseTheme(parseXml(xml, { label: "XLSX theme" }));
15452
+ palette.colors = PALETTE_SLOTS.map(
15453
+ (slot, index2) => paletteHex(theme.colorScheme.colors[slot]) ?? DEFAULT_THEME.colors[index2] ?? "000000"
15454
+ );
15455
+ palette.majorFont = theme.fontScheme.major.latin ?? palette.majorFont;
15456
+ palette.minorFont = theme.fontScheme.minor.latin ?? palette.minorFont;
15457
+ return palette;
15458
+ }
15459
+ var PALETTE_SLOTS;
15460
+ var init_theme2 = __esm({
15461
+ "xlsx/read/theme.ts"() {
15462
+ init_theme();
15463
+ init_xml2();
15464
+ init_workbook();
15403
15465
  PALETTE_SLOTS = [
15404
15466
  "lt1",
15405
15467
  "dk1",
@@ -15419,7 +15481,7 @@ var init_theme = __esm({
15419
15481
 
15420
15482
  // xlsx/write/theme.ts
15421
15483
  function defaultThemeXml(theme) {
15422
- const scheme = SCHEME_ORDER.map(
15484
+ const scheme = THEME_COLOR_SLOTS.map(
15423
15485
  (slot) => `<a:${slot}><a:srgbClr val="${colorOf(theme, slot)}"/></a:${slot}>`
15424
15486
  ).join("");
15425
15487
  const font = (kind, face) => `<a:${kind}><a:latin typeface="${escapeAttr3(face)}"/><a:ea typeface=""/><a:cs typeface=""/></a:${kind}>`;
@@ -15430,7 +15492,7 @@ function defaultThemeXml(theme) {
15430
15492
  }
15431
15493
  function themePart(theme, sourceXml) {
15432
15494
  if (!sourceXml) return defaultThemeXml(theme);
15433
- const current = parseTheme(sourceXml);
15495
+ const current = parseTheme2(sourceXml);
15434
15496
  if (current.majorFont === theme.majorFont && current.minorFont === theme.minorFont && current.colors.join() === theme.colors.map((c3) => c3.slice(-6).toUpperCase()).join())
15435
15497
  return void 0;
15436
15498
  const doc = parseXml(sourceXml, { label: "XLSX theme" });
@@ -15452,10 +15514,11 @@ function themePart(theme, sourceXml) {
15452
15514
  return `${XML_HEADER}${buildXml(doc).replace(/^<\?xml[^>]*\?>\s*/, "")}`;
15453
15515
  }
15454
15516
  var colorOf;
15455
- var init_theme2 = __esm({
15517
+ var init_theme3 = __esm({
15456
15518
  "xlsx/write/theme.ts"() {
15457
15519
  init_xml2();
15458
- init_theme();
15520
+ init_theme_model();
15521
+ init_theme2();
15459
15522
  init_xml_out();
15460
15523
  colorOf = (theme, slot) => (theme.colors[PALETTE_SLOTS.indexOf(slot)] ?? "000000").slice(-6).toUpperCase();
15461
15524
  }
@@ -16200,6 +16263,13 @@ var init_relationships2 = __esm({
16200
16263
  }
16201
16264
  });
16202
16265
 
16266
+ // diagram/dom.ts
16267
+ var init_dom2 = __esm({
16268
+ "diagram/dom.ts"() {
16269
+ init_dom();
16270
+ }
16271
+ });
16272
+
16203
16273
  // diagram/data-model.ts
16204
16274
  var init_data_model = __esm({
16205
16275
  "diagram/data-model.ts"() {
@@ -16212,15 +16282,15 @@ var init_definitions = __esm({
16212
16282
  }
16213
16283
  });
16214
16284
 
16215
- // diagram/drawing-color-css.ts
16285
+ // drawingml/drawing-color-css.ts
16216
16286
  var init_drawing_color_css = __esm({
16217
- "diagram/drawing-color-css.ts"() {
16287
+ "drawingml/drawing-color-css.ts"() {
16218
16288
  }
16219
16289
  });
16220
16290
 
16221
- // diagram/drawing-geometry.ts
16291
+ // drawingml/drawing-geometry.ts
16222
16292
  var init_drawing_geometry = __esm({
16223
- "diagram/drawing-geometry.ts"() {
16293
+ "drawingml/drawing-geometry.ts"() {
16224
16294
  }
16225
16295
  });
16226
16296
 
@@ -16242,16 +16312,16 @@ var init_load = __esm({
16242
16312
  }
16243
16313
  });
16244
16314
 
16245
- // diagram/drawing-shadow.ts
16315
+ // drawingml/drawing-shadow.ts
16246
16316
  var init_drawing_shadow = __esm({
16247
- "diagram/drawing-shadow.ts"() {
16317
+ "drawingml/drawing-shadow.ts"() {
16248
16318
  }
16249
16319
  });
16250
16320
 
16251
- // diagram/gradient-preset-data.ts
16321
+ // drawingml/gradient-preset-data.ts
16252
16322
  var OFFICE_GRADIENT_PRESET_DATA;
16253
16323
  var init_gradient_preset_data = __esm({
16254
- "diagram/gradient-preset-data.ts"() {
16324
+ "drawingml/gradient-preset-data.ts"() {
16255
16325
  OFFICE_GRADIENT_PRESET_DATA = [
16256
16326
  [
16257
16327
  "Early Sunset",
@@ -16521,7 +16591,7 @@ var init_gradient_preset_data = __esm({
16521
16591
  }
16522
16592
  });
16523
16593
  var init_gradient_presets = __esm({
16524
- "diagram/gradient-presets.ts"() {
16594
+ "drawingml/gradient-presets.ts"() {
16525
16595
  init_gradient_preset_data();
16526
16596
  OFFICE_GRADIENT_PRESET_DATA.map(([label2], index2) => ({
16527
16597
  id: index2 + 1,
@@ -16530,15 +16600,15 @@ var init_gradient_presets = __esm({
16530
16600
  }
16531
16601
  });
16532
16602
 
16533
- // diagram/gradient-geometry.ts
16603
+ // drawingml/gradient-geometry.ts
16534
16604
  var init_gradient_geometry = __esm({
16535
- "diagram/gradient-geometry.ts"() {
16605
+ "drawingml/gradient-geometry.ts"() {
16536
16606
  }
16537
16607
  });
16538
16608
 
16539
- // diagram/rect-path-gradient.ts
16609
+ // drawingml/rect-path-gradient.ts
16540
16610
  var init_rect_path_gradient = __esm({
16541
- "diagram/rect-path-gradient.ts"() {
16611
+ "drawingml/rect-path-gradient.ts"() {
16542
16612
  }
16543
16613
  });
16544
16614
 
@@ -16560,7 +16630,7 @@ var init_diagram = __esm({
16560
16630
  init_drawing2();
16561
16631
  init_drawing_bounds();
16562
16632
  init_load();
16563
- init_dom();
16633
+ init_dom2();
16564
16634
  init_write_color();
16565
16635
  init_write_fill();
16566
16636
  init_drawing_shadow();
@@ -18001,7 +18071,7 @@ var init_save = __esm({
18001
18071
  init_package_writer();
18002
18072
  init_shared_strings();
18003
18073
  init_styles3();
18004
- init_theme2();
18074
+ init_theme3();
18005
18075
  init_doc_props();
18006
18076
  init_workbook_part2();
18007
18077
  init_worksheet2();
@@ -19778,8 +19848,8 @@ function createThreadFollows(storage, key) {
19778
19848
  }
19779
19849
  const follows = /* @__PURE__ */ new Map();
19780
19850
  const reference2 = (channel, message) => JSON.stringify([channel, message]);
19781
- const matching2 = (channel, message, rootOf) => [...follows.entries()].filter(
19782
- ([, row2]) => row2.channelId === channel && (row2.messageId === message || rootOf?.(row2.messageId) === message)
19851
+ const matching2 = (channel, message, rootOf2) => [...follows.entries()].filter(
19852
+ ([, row2]) => row2.channelId === channel && (row2.messageId === message || rootOf2?.(row2.messageId) === message)
19783
19853
  ).map(([id]) => id);
19784
19854
  try {
19785
19855
  const raw = storage?.getItem(key) ?? "[]";
@@ -19818,13 +19888,13 @@ function createThreadFollows(storage, key) {
19818
19888
  }
19819
19889
  return changed;
19820
19890
  },
19821
- has(channel, message, rootOf) {
19822
- return matching2(channel, message, rootOf).length > 0;
19891
+ has(channel, message, rootOf2) {
19892
+ return matching2(channel, message, rootOf2).length > 0;
19823
19893
  },
19824
- set(channel, message, followed, rootOf) {
19894
+ set(channel, message, followed, rootOf2) {
19825
19895
  if (!isValidId(channel, 64) || !isValidId(message)) return false;
19826
19896
  const id = reference2(channel, message);
19827
- const matches2 = matching2(channel, message, rootOf);
19897
+ const matches2 = matching2(channel, message, rootOf2);
19828
19898
  if (followed === matches2.length > 0 || followed && follows.size >= 250) return false;
19829
19899
  if (followed)
19830
19900
  follows.set(id, { channelId: channel, messageId: message, readAt: 0, forcedUnread: false });
@@ -19832,9 +19902,9 @@ function createThreadFollows(storage, key) {
19832
19902
  persist();
19833
19903
  return true;
19834
19904
  },
19835
- mark(channel, message, readAt, forcedUnread, rootOf) {
19905
+ mark(channel, message, readAt, forcedUnread, rootOf2) {
19836
19906
  let changed = false;
19837
- for (const id of matching2(channel, message, rootOf)) {
19907
+ for (const id of matching2(channel, message, rootOf2)) {
19838
19908
  const row2 = follows.get(id);
19839
19909
  const nextReadAt = forcedUnread ? row2.readAt : readAt;
19840
19910
  if (row2.readAt === nextReadAt && row2.forcedUnread === forcedUnread) continue;