ooxml-core 0.19.0 → 0.21.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 (328) hide show
  1. package/README.md +21 -43
  2. package/dist/automation/index.cjs +195 -193
  3. package/dist/automation/index.mjs +195 -193
  4. package/dist/chart/axis-nice.d.ts +97 -0
  5. package/dist/chart/axis-nice.d.ts.map +1 -0
  6. package/dist/chart/histogram-binning.d.ts +40 -0
  7. package/dist/chart/histogram-binning.d.ts.map +1 -0
  8. package/dist/chart/index.cjs +167 -0
  9. package/dist/chart/index.d.ts +2 -0
  10. package/dist/chart/index.d.ts.map +1 -1
  11. package/dist/chart/index.mjs +162 -1
  12. package/dist/diagram/index.cjs +2 -1
  13. package/dist/diagram/index.mjs +2 -1
  14. package/dist/docx/attr-units.d.ts +11 -0
  15. package/dist/docx/attr-units.d.ts.map +1 -0
  16. package/dist/docx/block-parser.d.ts.map +1 -1
  17. package/dist/docx/case-transform.d.ts +9 -0
  18. package/dist/docx/case-transform.d.ts.map +1 -0
  19. package/dist/docx/embedded.cjs +2 -1
  20. package/dist/docx/embedded.mjs +2 -1
  21. package/dist/docx/index.cjs +289 -3
  22. package/dist/docx/index.d.ts +5 -0
  23. package/dist/docx/index.d.ts.map +1 -1
  24. package/dist/docx/index.mjs +269 -4
  25. package/dist/docx/layout/adapter.d.ts.map +1 -1
  26. package/dist/docx/layout/table-layout.d.ts.map +1 -1
  27. package/dist/docx/load/index.cjs +2 -1
  28. package/dist/docx/load/index.mjs +2 -1
  29. package/dist/docx/page-setup-model.d.ts +29 -0
  30. package/dist/docx/page-setup-model.d.ts.map +1 -0
  31. package/dist/docx/page-size.d.ts +11 -0
  32. package/dist/docx/page-size.d.ts.map +1 -0
  33. package/dist/docx/parse.d.ts.map +1 -1
  34. package/dist/docx/section-edit.d.ts +19 -0
  35. package/dist/docx/section-edit.d.ts.map +1 -0
  36. package/dist/docx/tab-stops.d.ts.map +1 -1
  37. package/dist/docx/ui/backstage-focus.d.ts +6 -0
  38. package/dist/docx/ui/backstage-focus.d.ts.map +1 -0
  39. package/dist/docx/ui/break-note-schema.d.ts +11 -0
  40. package/dist/docx/ui/break-note-schema.d.ts.map +1 -0
  41. package/dist/docx/ui/collaboration-authority.d.ts +31 -0
  42. package/dist/docx/ui/collaboration-authority.d.ts.map +1 -0
  43. package/dist/docx/ui/collaboration-identity.d.ts +8 -0
  44. package/dist/docx/ui/collaboration-identity.d.ts.map +1 -0
  45. package/dist/docx/ui/collaboration-protocol.d.ts +25 -0
  46. package/dist/docx/ui/collaboration-protocol.d.ts.map +1 -0
  47. package/dist/docx/ui/collaboration.d.ts +30 -0
  48. package/dist/docx/ui/collaboration.d.ts.map +1 -0
  49. package/dist/docx/ui/defined.d.ts +3 -0
  50. package/dist/docx/ui/defined.d.ts.map +1 -0
  51. package/dist/docx/ui/dirty-state.d.ts +9 -0
  52. package/dist/docx/ui/dirty-state.d.ts.map +1 -0
  53. package/dist/docx/ui/field-guard.d.ts +21 -0
  54. package/dist/docx/ui/field-guard.d.ts.map +1 -0
  55. package/dist/docx/ui/header-footer-history.d.ts +15 -0
  56. package/dist/docx/ui/header-footer-history.d.ts.map +1 -0
  57. package/dist/docx/ui/index.cjs +2380 -0
  58. package/dist/docx/ui/index.d.ts +30 -0
  59. package/dist/docx/ui/index.d.ts.map +1 -0
  60. package/dist/docx/ui/index.mjs +2317 -0
  61. package/dist/docx/ui/inline-content-schema.d.ts +15 -0
  62. package/dist/docx/ui/inline-content-schema.d.ts.map +1 -0
  63. package/dist/docx/ui/ligature-style.d.ts +4 -0
  64. package/dist/docx/ui/ligature-style.d.ts.map +1 -0
  65. package/dist/docx/ui/node-numbering.d.ts +8 -0
  66. package/dist/docx/ui/node-numbering.d.ts.map +1 -0
  67. package/dist/docx/ui/review-schema.d.ts +90 -0
  68. package/dist/docx/ui/review-schema.d.ts.map +1 -0
  69. package/dist/docx/ui/ribbon-action-ids.d.ts +26 -0
  70. package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -0
  71. package/dist/docx/ui/ribbon-colors.d.ts +3 -0
  72. package/dist/docx/ui/ribbon-colors.d.ts.map +1 -0
  73. package/dist/docx/ui/ribbon-legacy-labels.d.ts +6 -0
  74. package/dist/docx/ui/ribbon-legacy-labels.d.ts.map +1 -0
  75. package/dist/docx/ui/run-compare.d.ts +5 -0
  76. package/dist/docx/ui/run-compare.d.ts.map +1 -0
  77. package/dist/docx/ui/run-extra-mark.d.ts +17 -0
  78. package/dist/docx/ui/run-extra-mark.d.ts.map +1 -0
  79. package/dist/docx/ui/schema-marks.d.ts +273 -0
  80. package/dist/docx/ui/schema-marks.d.ts.map +1 -0
  81. package/dist/docx/ui/smartart-theme.d.ts +21 -0
  82. package/dist/docx/ui/smartart-theme.d.ts.map +1 -0
  83. package/dist/docx/ui/table-render.d.ts +24 -0
  84. package/dist/docx/ui/table-render.d.ts.map +1 -0
  85. package/dist/docx/ui/table-visuals.d.ts +3 -0
  86. package/dist/docx/ui/table-visuals.d.ts.map +1 -0
  87. package/dist/docx/ui/theme/css-vars.d.ts +6 -0
  88. package/dist/docx/ui/theme/css-vars.d.ts.map +1 -0
  89. package/dist/docx/ui/theme/defaults.d.ts +12 -0
  90. package/dist/docx/ui/theme/defaults.d.ts.map +1 -0
  91. package/dist/docx/ui/theme/element.d.ts +9 -0
  92. package/dist/docx/ui/theme/element.d.ts.map +1 -0
  93. package/dist/docx/ui/theme/index.d.ts +5 -0
  94. package/dist/docx/ui/theme/index.d.ts.map +1 -0
  95. package/dist/docx/ui/theme/types.d.ts +42 -0
  96. package/dist/docx/ui/theme/types.d.ts.map +1 -0
  97. package/dist/docx/ui/word-count.d.ts +3 -0
  98. package/dist/docx/ui/word-count.d.ts.map +1 -0
  99. package/dist/docx/ui/zoom-fit.d.ts +16 -0
  100. package/dist/docx/ui/zoom-fit.d.ts.map +1 -0
  101. package/dist/docx/validate-paragraph.d.ts.map +1 -1
  102. package/dist/index.cjs +169 -1
  103. package/dist/index.mjs +169 -1
  104. package/dist/math/index.cjs +2 -1
  105. package/dist/math/index.mjs +2 -1
  106. package/dist/opc/index.cjs +2 -1
  107. package/dist/opc/index.mjs +2 -1
  108. package/dist/pptx/automation/index.cjs +1572 -863
  109. package/dist/pptx/automation/index.d.ts +4 -3
  110. package/dist/pptx/automation/index.d.ts.map +1 -1
  111. package/dist/pptx/automation/index.mjs +1572 -863
  112. package/dist/pptx/chunks/color-ref-BM66NGFP.d.ts +42 -0
  113. package/dist/pptx/chunks/color-ref-BM66NGFP.d.ts.map +1 -0
  114. package/dist/pptx/chunks/{index-D0yGoLyw.d.ts → index-CcQTCBnT.d.ts} +63 -479
  115. package/dist/pptx/chunks/index-CcQTCBnT.d.ts.map +1 -0
  116. package/dist/pptx/chunks/{index-BtBj3VG1.d.ts → index-DHoPgFcH.d.ts} +529 -11
  117. package/dist/pptx/chunks/index-DHoPgFcH.d.ts.map +1 -0
  118. package/dist/pptx/chunks/{text-operations-GuisjlbR.d.ts → text-operations-BzdehTeY.d.ts} +50 -51
  119. package/dist/pptx/chunks/text-operations-BzdehTeY.d.ts.map +1 -0
  120. package/dist/pptx/cli/index.cjs +1204 -489
  121. package/dist/pptx/cli/index.d.ts +1 -1
  122. package/dist/pptx/cli/index.mjs +1204 -489
  123. package/dist/pptx/converter/index.cjs +8 -5
  124. package/dist/pptx/converter/index.d.ts +1 -1
  125. package/dist/pptx/converter/index.mjs +8 -5
  126. package/dist/pptx/index.cjs +1699 -989
  127. package/dist/pptx/index.d.ts +5 -4
  128. package/dist/pptx/index.mjs +1698 -990
  129. package/dist/pptx/ui/index.cjs +510 -0
  130. package/dist/pptx/ui/index.d.ts +80 -0
  131. package/dist/pptx/ui/index.d.ts.map +1 -0
  132. package/dist/pptx/ui/index.mjs +499 -0
  133. package/dist/visio/index.cjs +2 -1
  134. package/dist/visio/index.mjs +2 -1
  135. package/dist/visio/ui/contract.d.ts +33 -0
  136. package/dist/visio/ui/contract.d.ts.map +1 -0
  137. package/dist/visio/ui/demo-document.d.ts +4 -0
  138. package/dist/visio/ui/demo-document.d.ts.map +1 -0
  139. package/dist/visio/ui/diagnostics.d.ts +10 -0
  140. package/dist/visio/ui/diagnostics.d.ts.map +1 -0
  141. package/dist/visio/ui/document-history.d.ts +43 -0
  142. package/dist/visio/ui/document-history.d.ts.map +1 -0
  143. package/dist/visio/ui/document-text-search.d.ts +45 -0
  144. package/dist/visio/ui/document-text-search.d.ts.map +1 -0
  145. package/dist/visio/ui/edit-commands.d.ts +4 -0
  146. package/dist/visio/ui/edit-commands.d.ts.map +1 -0
  147. package/dist/visio/ui/edit-error.d.ts +5 -0
  148. package/dist/visio/ui/edit-error.d.ts.map +1 -0
  149. package/dist/visio/ui/foreign-vector-budget.d.ts +25 -0
  150. package/dist/visio/ui/foreign-vector-budget.d.ts.map +1 -0
  151. package/dist/visio/ui/index.cjs +1523 -0
  152. package/dist/visio/ui/index.d.ts +12 -0
  153. package/dist/visio/ui/index.d.ts.map +1 -0
  154. package/dist/visio/ui/index.mjs +1498 -0
  155. package/dist/visio/ui/scene-details.d.ts +8 -0
  156. package/dist/visio/ui/scene-details.d.ts.map +1 -0
  157. package/dist/visio/ui/scene-validation.d.ts +5 -0
  158. package/dist/visio/ui/scene-validation.d.ts.map +1 -0
  159. package/dist/visio/ui/snapshot-scene.d.ts +9 -0
  160. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -0
  161. package/dist/xlsx/index.cjs +100 -98
  162. package/dist/xlsx/index.mjs +100 -98
  163. package/dist/xlsx/load/index.cjs +68 -66
  164. package/dist/xlsx/load/index.mjs +68 -66
  165. package/dist/xlsx/ui/backstage/templates.d.ts +16 -0
  166. package/dist/xlsx/ui/backstage/templates.d.ts.map +1 -0
  167. package/dist/xlsx/ui/commands/alignment.d.ts +4 -0
  168. package/dist/xlsx/ui/commands/alignment.d.ts.map +1 -0
  169. package/dist/xlsx/ui/commands/cells.d.ts +3 -0
  170. package/dist/xlsx/ui/commands/cells.d.ts.map +1 -0
  171. package/dist/xlsx/ui/commands/cf-presets.d.ts +15 -0
  172. package/dist/xlsx/ui/commands/cf-presets.d.ts.map +1 -0
  173. package/dist/xlsx/ui/commands/clipboard.d.ts +22 -0
  174. package/dist/xlsx/ui/commands/clipboard.d.ts.map +1 -0
  175. package/dist/xlsx/ui/commands/contextual.d.ts +13 -0
  176. package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -0
  177. package/dist/xlsx/ui/commands/data.d.ts +3 -0
  178. package/dist/xlsx/ui/commands/data.d.ts.map +1 -0
  179. package/dist/xlsx/ui/commands/editing.d.ts +13 -0
  180. package/dist/xlsx/ui/commands/editing.d.ts.map +1 -0
  181. package/dist/xlsx/ui/commands/font.d.ts +21 -0
  182. package/dist/xlsx/ui/commands/font.d.ts.map +1 -0
  183. package/dist/xlsx/ui/commands/formulas.d.ts +15 -0
  184. package/dist/xlsx/ui/commands/formulas.d.ts.map +1 -0
  185. package/dist/xlsx/ui/commands/i18n/core-features.d.ts +3 -0
  186. package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -0
  187. package/dist/xlsx/ui/commands/i18n/format-cells.d.ts +3 -0
  188. package/dist/xlsx/ui/commands/i18n/format-cells.d.ts.map +1 -0
  189. package/dist/xlsx/ui/commands/i18n/index.d.ts +4 -0
  190. package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -0
  191. package/dist/xlsx/ui/commands/i18n/messages.d.ts +3 -0
  192. package/dist/xlsx/ui/commands/i18n/messages.d.ts.map +1 -0
  193. package/dist/xlsx/ui/commands/i18n/navigation.d.ts +3 -0
  194. package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -0
  195. package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts +3 -0
  196. package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts.map +1 -0
  197. package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts +3 -0
  198. package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -0
  199. package/dist/xlsx/ui/commands/i18n/rules.d.ts +3 -0
  200. package/dist/xlsx/ui/commands/i18n/rules.d.ts.map +1 -0
  201. package/dist/xlsx/ui/commands/i18n/tools.d.ts +3 -0
  202. package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -0
  203. package/dist/xlsx/ui/commands/i18n/types.d.ts +5 -0
  204. package/dist/xlsx/ui/commands/i18n/types.d.ts.map +1 -0
  205. package/dist/xlsx/ui/commands/icons.d.ts +4 -0
  206. package/dist/xlsx/ui/commands/icons.d.ts.map +1 -0
  207. package/dist/xlsx/ui/commands/number.d.ts +11 -0
  208. package/dist/xlsx/ui/commands/number.d.ts.map +1 -0
  209. package/dist/xlsx/ui/commands/page-layout.d.ts +10 -0
  210. package/dist/xlsx/ui/commands/page-layout.d.ts.map +1 -0
  211. package/dist/xlsx/ui/commands/select-special.d.ts +12 -0
  212. package/dist/xlsx/ui/commands/select-special.d.ts.map +1 -0
  213. package/dist/xlsx/ui/commands/sort-filter.d.ts +3 -0
  214. package/dist/xlsx/ui/commands/sort-filter.d.ts.map +1 -0
  215. package/dist/xlsx/ui/commands/style-presets.d.ts +21 -0
  216. package/dist/xlsx/ui/commands/style-presets.d.ts.map +1 -0
  217. package/dist/xlsx/ui/commands/util.d.ts +59 -0
  218. package/dist/xlsx/ui/commands/util.d.ts.map +1 -0
  219. package/dist/xlsx/ui/commands.d.ts +36 -0
  220. package/dist/xlsx/ui/commands.d.ts.map +1 -0
  221. package/dist/xlsx/ui/context-menu/items.d.ts +36 -0
  222. package/dist/xlsx/ui/context-menu/items.d.ts.map +1 -0
  223. package/dist/xlsx/ui/context.d.ts +65 -0
  224. package/dist/xlsx/ui/context.d.ts.map +1 -0
  225. package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts +28 -0
  226. package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts.map +1 -0
  227. package/dist/xlsx/ui/dialogs/format-cells/types.d.ts +40 -0
  228. package/dist/xlsx/ui/dialogs/format-cells/types.d.ts.map +1 -0
  229. package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts +9 -0
  230. package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts.map +1 -0
  231. package/dist/xlsx/ui/dialogs.d.ts +9 -0
  232. package/dist/xlsx/ui/dialogs.d.ts.map +1 -0
  233. package/dist/xlsx/ui/dirty-state.d.ts +9 -0
  234. package/dist/xlsx/ui/dirty-state.d.ts.map +1 -0
  235. package/dist/xlsx/ui/formula-bar/name-resolve.d.ts +23 -0
  236. package/dist/xlsx/ui/formula-bar/name-resolve.d.ts.map +1 -0
  237. package/dist/xlsx/ui/grid/cell-items.d.ts +42 -0
  238. package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -0
  239. package/dist/xlsx/ui/grid/cell-paint.d.ts +26 -0
  240. package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -0
  241. package/dist/xlsx/ui/grid/edit-bridge.d.ts +47 -0
  242. package/dist/xlsx/ui/grid/edit-bridge.d.ts.map +1 -0
  243. package/dist/xlsx/ui/grid/geometry.d.ts +76 -0
  244. package/dist/xlsx/ui/grid/geometry.d.ts.map +1 -0
  245. package/dist/xlsx/ui/grid/icon-sets.d.ts +3 -0
  246. package/dist/xlsx/ui/grid/icon-sets.d.ts.map +1 -0
  247. package/dist/xlsx/ui/grid/number-fit.d.ts +3 -0
  248. package/dist/xlsx/ui/grid/number-fit.d.ts.map +1 -0
  249. package/dist/xlsx/ui/grid/selection-ops.d.ts +32 -0
  250. package/dist/xlsx/ui/grid/selection-ops.d.ts.map +1 -0
  251. package/dist/xlsx/ui/grid/view-cache.d.ts +15 -0
  252. package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -0
  253. package/dist/xlsx/ui/index.cjs +28484 -0
  254. package/dist/xlsx/ui/index.d.ts +56 -0
  255. package/dist/xlsx/ui/index.d.ts.map +1 -0
  256. package/dist/xlsx/ui/index.mjs +28290 -0
  257. package/dist/xlsx/ui/locales/de/commands.d.ts +2 -0
  258. package/dist/xlsx/ui/locales/de/commands.d.ts.map +1 -0
  259. package/dist/xlsx/ui/locales/de/grid.d.ts +2 -0
  260. package/dist/xlsx/ui/locales/de/grid.d.ts.map +1 -0
  261. package/dist/xlsx/ui/locales/de/index.d.ts +2 -0
  262. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -0
  263. package/dist/xlsx/ui/locales/de/shell.d.ts +2 -0
  264. package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -0
  265. package/dist/xlsx/ui/locales/en/commands.d.ts +2 -0
  266. package/dist/xlsx/ui/locales/en/commands.d.ts.map +1 -0
  267. package/dist/xlsx/ui/locales/en/grid.d.ts +2 -0
  268. package/dist/xlsx/ui/locales/en/grid.d.ts.map +1 -0
  269. package/dist/xlsx/ui/locales/en/index.d.ts +2 -0
  270. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -0
  271. package/dist/xlsx/ui/locales/en/shell.d.ts +2 -0
  272. package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -0
  273. package/dist/xlsx/ui/locales/es/commands.d.ts +2 -0
  274. package/dist/xlsx/ui/locales/es/commands.d.ts.map +1 -0
  275. package/dist/xlsx/ui/locales/es/grid.d.ts +2 -0
  276. package/dist/xlsx/ui/locales/es/grid.d.ts.map +1 -0
  277. package/dist/xlsx/ui/locales/es/index.d.ts +2 -0
  278. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -0
  279. package/dist/xlsx/ui/locales/es/shell.d.ts +2 -0
  280. package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -0
  281. package/dist/xlsx/ui/locales/fr/commands.d.ts +2 -0
  282. package/dist/xlsx/ui/locales/fr/commands.d.ts.map +1 -0
  283. package/dist/xlsx/ui/locales/fr/grid.d.ts +2 -0
  284. package/dist/xlsx/ui/locales/fr/grid.d.ts.map +1 -0
  285. package/dist/xlsx/ui/locales/fr/index.d.ts +2 -0
  286. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -0
  287. package/dist/xlsx/ui/locales/fr/shell.d.ts +2 -0
  288. package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -0
  289. package/dist/xlsx/ui/locales/merge.d.ts +7 -0
  290. package/dist/xlsx/ui/locales/merge.d.ts.map +1 -0
  291. package/dist/xlsx/ui/locales/zh-CN/commands.d.ts +2 -0
  292. package/dist/xlsx/ui/locales/zh-CN/commands.d.ts.map +1 -0
  293. package/dist/xlsx/ui/locales/zh-CN/grid.d.ts +2 -0
  294. package/dist/xlsx/ui/locales/zh-CN/grid.d.ts.map +1 -0
  295. package/dist/xlsx/ui/locales/zh-CN/index.d.ts +2 -0
  296. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -0
  297. package/dist/xlsx/ui/locales/zh-CN/shell.d.ts +2 -0
  298. package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -0
  299. package/dist/xlsx/ui/localization.d.ts +23 -0
  300. package/dist/xlsx/ui/localization.d.ts.map +1 -0
  301. package/dist/xlsx/ui/ribbon/icon-paths.d.ts +9 -0
  302. package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -0
  303. package/dist/xlsx/ui/ribbon/parts.d.ts +88 -0
  304. package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -0
  305. package/dist/xlsx/ui/ribbon/tab-api.d.ts +21 -0
  306. package/dist/xlsx/ui/ribbon/tab-api.d.ts.map +1 -0
  307. package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts +5 -0
  308. package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -0
  309. package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts +8 -0
  310. package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts.map +1 -0
  311. package/dist/xlsx/ui/ribbon/tell-me.d.ts +16 -0
  312. package/dist/xlsx/ui/ribbon/tell-me.d.ts.map +1 -0
  313. package/dist/xlsx/ui/selection.d.ts +34 -0
  314. package/dist/xlsx/ui/selection.d.ts.map +1 -0
  315. package/dist/xlsx/ui/theme/css-vars.d.ts +6 -0
  316. package/dist/xlsx/ui/theme/css-vars.d.ts.map +1 -0
  317. package/dist/xlsx/ui/theme/defaults.d.ts +6 -0
  318. package/dist/xlsx/ui/theme/defaults.d.ts.map +1 -0
  319. package/dist/xlsx/ui/theme/element.d.ts +9 -0
  320. package/dist/xlsx/ui/theme/element.d.ts.map +1 -0
  321. package/dist/xlsx/ui/theme/types.d.ts +54 -0
  322. package/dist/xlsx/ui/theme/types.d.ts.map +1 -0
  323. package/dist/xml/index.cjs +2 -1
  324. package/dist/xml/index.mjs +2 -1
  325. package/package.json +42 -4
  326. package/dist/pptx/chunks/index-BtBj3VG1.d.ts.map +0 -1
  327. package/dist/pptx/chunks/index-D0yGoLyw.d.ts.map +0 -1
  328. package/dist/pptx/chunks/text-operations-GuisjlbR.d.ts.map +0 -1
@@ -1640,8 +1640,8 @@ function fitNumber(value, format, options) {
1640
1640
  const date1904 = options.date1904 ?? false;
1641
1641
  const width = options.width ?? 0;
1642
1642
  const fits = (text2) => (options.measure ? options.measure(text2) : text2.length) <= width;
1643
- const first3 = formatNumber(value, format, date1904);
1644
- if (fits(first3.text) || first3.text === OVERFLOW_TEXT) return first3;
1643
+ const first2 = formatNumber(value, format, date1904);
1644
+ if (fits(first2.text) || first2.text === OVERFLOW_TEXT) return first2;
1645
1645
  const choice = chooseSection(compileFormat(format), value);
1646
1646
  const general = choice && !choice.section.number && !choice.section.fraction && choice.section.tokens.some((t) => t.t === "general");
1647
1647
  if (general) {
@@ -1651,7 +1651,7 @@ function fitNumber(value, format, options) {
1651
1651
  }
1652
1652
  }
1653
1653
  const fill2 = hashFill(options);
1654
- return first3.color ? { text: fill2, color: first3.color } : { text: fill2 };
1654
+ return first2.color ? { text: fill2, color: first2.color } : { text: fill2 };
1655
1655
  }
1656
1656
  function formatNumber(value, format, date1904, generalWidth) {
1657
1657
  if (!Number.isFinite(value)) return { text: "#NUM!" };
@@ -2634,9 +2634,9 @@ function serialToYmd(serial, date1904 = date1904Mode) {
2634
2634
  return { year: d.getUTCFullYear(), month: d.getUTCMonth() + 1, day: d.getUTCDate() };
2635
2635
  }
2636
2636
  function monthStartSerial(year, month0, date1904) {
2637
- const first3 = /* @__PURE__ */ new Date(0);
2638
- first3.setUTCFullYear(year, month0, 1);
2639
- const days = Math.round((first3.getTime() - (date1904 ? EPOCH_19042 : EPOCH_19002)) / DAY_MS);
2637
+ const first2 = /* @__PURE__ */ new Date(0);
2638
+ first2.setUTCFullYear(year, month0, 1);
2639
+ const days = Math.round((first2.getTime() - (date1904 ? EPOCH_19042 : EPOCH_19002)) / DAY_MS);
2640
2640
  return !date1904 && days < 61 ? days - 1 : days;
2641
2641
  }
2642
2642
  function ymdToSerial(year, month, day, date1904 = date1904Mode) {
@@ -3704,9 +3704,9 @@ function percentRank(values2, x, digits2, exclusive) {
3704
3704
  const s = sorted(values2);
3705
3705
  const n2 = s.length;
3706
3706
  if (n2 === 0 || digits2 < 1) fail(ERR.NUM);
3707
- const first3 = s[0];
3707
+ const first2 = s[0];
3708
3708
  const last = s[n2 - 1];
3709
- if (x < first3 || x > last) fail(ERR.NA);
3709
+ if (x < first2 || x > last) fail(ERR.NA);
3710
3710
  let rank4;
3711
3711
  const lower2 = s.filter((v) => v < x).length;
3712
3712
  const exact = s.includes(x);
@@ -3906,8 +3906,8 @@ function weekendDays(value) {
3906
3906
  }
3907
3907
  const code = Math.trunc(num(v));
3908
3908
  if (code >= 1 && code <= 7) {
3909
- const first3 = (code + 5) % 7;
3910
- return /* @__PURE__ */ new Set([first3, (first3 + 1) % 7]);
3909
+ const first2 = (code + 5) % 7;
3910
+ return /* @__PURE__ */ new Set([first2, (first2 + 1) % 7]);
3911
3911
  }
3912
3912
  if (code >= 11 && code <= 17) return /* @__PURE__ */ new Set([code - 11]);
3913
3913
  return fail(ERR.NUM);
@@ -5151,16 +5151,16 @@ function quasiPeriods(anchor, from, to, frequency2, ctx) {
5151
5151
  }
5152
5152
  function accruedInterest(args, ctx) {
5153
5153
  const issue = serialArg(args[0]);
5154
- const first3 = serialArg(args[1]);
5154
+ const first2 = serialArg(args[1]);
5155
5155
  const settlement = serialArg(args[2]);
5156
5156
  const [rate, par] = [num(args[3]), optNum(args, 4, 1e3)];
5157
5157
  const frequency2 = int(args[5]);
5158
5158
  const basis = basisOf(args, 6);
5159
5159
  const fromIssue = args.length > 7 && args[7] !== null ? bool(args[7]) : true;
5160
5160
  if (rate <= 0 || par <= 0 || ![1, 2, 4].includes(frequency2) || issue >= settlement) fail(ERR.NUM);
5161
- const start = fromIssue ? issue : Math.max(issue, first3);
5161
+ const start = fromIssue ? issue : Math.max(issue, first2);
5162
5162
  if (start >= settlement) return 0;
5163
- const dates = quasiPeriods(first3, start, settlement, frequency2, ctx);
5163
+ const dates = quasiPeriods(first2, start, settlement, frequency2, ctx);
5164
5164
  const count2 = (a, b) => basis === 0 || basis === 4 ? days360(a, b, basis === 4, ctx) : b - a;
5165
5165
  let sum2 = 0;
5166
5166
  for (let i = 0; i + 1 < dates.length; i++) {
@@ -5619,8 +5619,8 @@ function datedFlows(ctx, args) {
5619
5619
  const values2 = collectNumbers(ctx, [args[0] ?? null]);
5620
5620
  const dates = collectNumbers(ctx, [args[1] ?? null]).map(Math.floor);
5621
5621
  if (values2.length !== dates.length || values2.length === 0) fail(ERR.NUM);
5622
- const first3 = dates[0];
5623
- if (dates.some((d) => d < first3)) fail(ERR.NUM);
5622
+ const first2 = dates[0];
5623
+ if (dates.some((d) => d < first2)) fail(ERR.NUM);
5624
5624
  return { values: values2, dates };
5625
5625
  }
5626
5626
  var xnpv = (rate, values2, dates) => values2.reduce(
@@ -5792,13 +5792,13 @@ function sheetIndex(host, name) {
5792
5792
  function prefixSheets(host, prefix, current) {
5793
5793
  if (!prefix) return [current];
5794
5794
  if (prefix.book !== void 0) return void 0;
5795
- const first3 = sheetIndex(host, prefix.sheet);
5796
- if (first3 < 0) return void 0;
5797
- if (prefix.sheet2 === void 0) return [first3];
5795
+ const first2 = sheetIndex(host, prefix.sheet);
5796
+ if (first2 < 0) return void 0;
5797
+ if (prefix.sheet2 === void 0) return [first2];
5798
5798
  const last = sheetIndex(host, prefix.sheet2);
5799
5799
  if (last < 0) return void 0;
5800
5800
  const out = [];
5801
- for (let i = Math.min(first3, last); i <= Math.max(first3, last); i++) out.push(i);
5801
+ for (let i = Math.min(first2, last); i <= Math.max(first2, last); i++) out.push(i);
5802
5802
  return out;
5803
5803
  }
5804
5804
  var specRange = (spec2) => normalizeRange({
@@ -7369,7 +7369,7 @@ function matchingCells(ctx, pairs, target, sameShape) {
7369
7369
  const tests = pairs.map((p) => makeCriteria(scalar(p.criteria)));
7370
7370
  const values2 = matrices[matrices.length - 1];
7371
7371
  const out = [];
7372
- const first3 = matrices[0];
7372
+ const first2 = matrices[0];
7373
7373
  const holds = (r, c2) => {
7374
7374
  for (let i = 0; i < tests.length; i++) {
7375
7375
  if (!tests[i](matrices[i].get(r, c2))) return false;
@@ -7379,23 +7379,23 @@ function matchingCells(ctx, pairs, target, sameShape) {
7379
7379
  const candidates = indexedCandidates(pairs, matrices);
7380
7380
  if (candidates) {
7381
7381
  for (const at of candidates) {
7382
- const r = Math.floor(at / first3.cols);
7383
- const c2 = at - r * first3.cols;
7382
+ const r = Math.floor(at / first2.cols);
7383
+ const c2 = at - r * first2.cols;
7384
7384
  if (holds(r, c2)) out.push(values2.get(r, c2));
7385
7385
  }
7386
7386
  } else {
7387
- for (let r = 0; r < first3.rows; r++) {
7388
- for (let c2 = 0; c2 < first3.cols; c2++) if (holds(r, c2)) out.push(values2.get(r, c2));
7387
+ for (let r = 0; r < first2.rows; r++) {
7388
+ for (let c2 = 0; c2 < first2.cols; c2++) if (holds(r, c2)) out.push(values2.get(r, c2));
7389
7389
  }
7390
7390
  }
7391
7391
  const blankTail = total2 > block && tests.every((test) => test(null)) ? total2 - block : 0;
7392
7392
  return { values: out, blankTail };
7393
7393
  }
7394
7394
  function indexedCandidates(pairs, matrices) {
7395
- const first3 = matrices[0];
7395
+ const first2 = matrices[0];
7396
7396
  for (let i = 0; i < pairs.length; i++) {
7397
7397
  const m = matrices[i];
7398
- if (!(pairs[i]?.range instanceof RefValue) || m.cols !== first3.cols) continue;
7398
+ if (!(pairs[i]?.range instanceof RefValue) || m.cols !== first2.cols) continue;
7399
7399
  const key = equalityKey(scalar(pairs[i]?.criteria));
7400
7400
  if (key === void 0) continue;
7401
7401
  const found = positionsOf(m, key);
@@ -7452,12 +7452,12 @@ var C18 = "Math & Trig";
7452
7452
  var numbersOf = (values2) => values2.filter((v) => typeof v === "number");
7453
7453
  function sumProduct(ctx, args) {
7454
7454
  const matrices = args.map((a) => ctx.toMatrix(a));
7455
- const first3 = matrices[0];
7456
- if (!first3) fail(ERR.VALUE);
7457
- for (const m of matrices) if (m.rows !== first3.rows || m.cols !== first3.cols) fail(ERR.VALUE);
7455
+ const first2 = matrices[0];
7456
+ if (!first2) fail(ERR.VALUE);
7457
+ for (const m of matrices) if (m.rows !== first2.rows || m.cols !== first2.cols) fail(ERR.VALUE);
7458
7458
  let total2 = 0;
7459
- for (let r = 0; r < first3.rows; r++) {
7460
- for (let c2 = 0; c2 < first3.cols; c2++) {
7459
+ for (let r = 0; r < first2.rows; r++) {
7460
+ for (let c2 = 0; c2 < first2.cols; c2++) {
7461
7461
  let product = 1;
7462
7462
  for (const m of matrices) {
7463
7463
  const v = m.get(r, c2);
@@ -11323,9 +11323,9 @@ function visit(node, c2) {
11323
11323
  let sheet = c2.sheet;
11324
11324
  if (node.prefix) {
11325
11325
  const sheets = prefixSheets(c2.host, node.prefix, c2.sheet);
11326
- const first3 = sheets?.[0];
11327
- if (first3 === void 0) return;
11328
- sheet = first3;
11326
+ const first2 = sheets?.[0];
11327
+ if (first2 === void 0) return;
11328
+ sheet = first2;
11329
11329
  }
11330
11330
  const defined = findDefinedName(c2.host, node.name, sheet, node.prefix !== void 0);
11331
11331
  if (defined) {
@@ -11463,9 +11463,9 @@ var AreaIndex = class {
11463
11463
  else this.wide.set(area.sheet, [entry]);
11464
11464
  return;
11465
11465
  }
11466
- const first3 = start.row >> CHUNK_SHIFT;
11466
+ const first2 = start.row >> CHUNK_SHIFT;
11467
11467
  const last = end.row >> CHUNK_SHIFT;
11468
- if (last - first3 + 1 > CHUNKS) {
11468
+ if (last - first2 + 1 > CHUNKS) {
11469
11469
  const cols2 = inner(this.tall, area.sheet);
11470
11470
  for (let c2 = start.col; c2 <= end.col; c2++) push2(cols2, c2, entry);
11471
11471
  return;
@@ -11474,7 +11474,7 @@ var AreaIndex = class {
11474
11474
  for (let c2 = start.col; c2 <= end.col; c2++) {
11475
11475
  let chunks = cols.get(c2);
11476
11476
  if (!chunks) cols.set(c2, chunks = /* @__PURE__ */ new Map());
11477
- for (let k = first3; k <= last; k++) push2(chunks, k, entry);
11477
+ for (let k = first2; k <= last; k++) push2(chunks, k, entry);
11478
11478
  }
11479
11479
  }
11480
11480
  /** Items whose areas intersect `range` on `sheet` (each once). */
@@ -11515,13 +11515,13 @@ var AreaIndex = class {
11515
11515
  } else for (const c2 of map.keys()) if (c2 >= start.col && c2 <= end.col) visit2(c2);
11516
11516
  };
11517
11517
  const chunked = this.chunked.get(sheet);
11518
- const first3 = start.row >> CHUNK_SHIFT;
11518
+ const first2 = start.row >> CHUNK_SHIFT;
11519
11519
  const last = end.row >> CHUNK_SHIFT;
11520
11520
  columns(chunked, (c2) => {
11521
11521
  const chunks = chunked?.get(c2);
11522
- if (last - first3 + 1 <= chunks.size) {
11523
- for (let k = first3; k <= last; k++) check3(chunks.get(k));
11524
- } else for (const [k, list] of chunks) if (k >= first3 && k <= last) check3(list);
11522
+ if (last - first2 + 1 <= chunks.size) {
11523
+ for (let k = first2; k <= last; k++) check3(chunks.get(k));
11524
+ } else for (const [k, list] of chunks) if (k >= first2 && k <= last) check3(list);
11525
11525
  });
11526
11526
  const tall = this.tall.get(sheet);
11527
11527
  columns(tall, (c2) => check3(tall?.get(c2)));
@@ -11992,8 +11992,8 @@ function formulaOrder(nodes, successors) {
11992
11992
  const ranks = /* @__PURE__ */ new Map();
11993
11993
  const components = stronglyConnected(nodes, successors).map((members, rank4) => {
11994
11994
  for (const member of members) ranks.set(member, rank4);
11995
- const first3 = members[0];
11996
- return { nodes: members, cyclic: members.length > 1 || successors(first3).includes(first3) };
11995
+ const first2 = members[0];
11996
+ return { nodes: members, cyclic: members.length > 1 || successors(first2).includes(first2) };
11997
11997
  });
11998
11998
  return { components, ranks };
11999
11999
  }
@@ -12032,9 +12032,9 @@ function sameRange(a, b) {
12032
12032
  return a.start.row === b.start.row && a.start.col === b.start.col && a.end.row === b.end.row && a.end.col === b.end.col;
12033
12033
  }
12034
12034
  function boundingBox(ranges) {
12035
- const first3 = ranges[0];
12036
- const start = { ...first3.start };
12037
- const end = { ...first3.end };
12035
+ const first2 = ranges[0];
12036
+ const start = { ...first2.start };
12037
+ const end = { ...first2.end };
12038
12038
  for (const r of ranges) {
12039
12039
  start.row = Math.min(start.row, r.start.row);
12040
12040
  start.col = Math.min(start.col, r.start.col);
@@ -12171,13 +12171,13 @@ var EngineCore = class extends EngineHost {
12171
12171
  this.dynamicCycleHits = /* @__PURE__ */ new Set();
12172
12172
  try {
12173
12173
  for (const component of order.components) {
12174
- const first3 = component.nodes[0];
12174
+ const first2 = component.nodes[0];
12175
12175
  if (component.cyclic) {
12176
12176
  const iterate = this.workbook.iterate;
12177
12177
  if (iterate) this.iterateGroup(component.nodes, iterate);
12178
12178
  else for (const node of component.nodes) this.markCycle(node);
12179
- } else if (this.pending.has(first3)) {
12180
- this.computeFrom(first3);
12179
+ } else if (this.pending.has(first2)) {
12180
+ this.computeFrom(first2);
12181
12181
  }
12182
12182
  }
12183
12183
  } finally {
@@ -12520,24 +12520,24 @@ function mergeSpacedAreas(tokens2) {
12520
12520
  const out = [];
12521
12521
  const plainCell = (t) => t?.kind === "ref" && t.ref?.kind === "cell" && !t.spill;
12522
12522
  for (let i = 0; i < tokens2.length; i++) {
12523
- const first3 = tokens2[i];
12523
+ const first2 = tokens2[i];
12524
12524
  let j = i + 1;
12525
12525
  while (tokens2[j]?.kind === "ws") j++;
12526
12526
  let k = j + 1;
12527
12527
  while (tokens2[k]?.kind === "ws") k++;
12528
12528
  const colon = tokens2[j];
12529
12529
  const last = tokens2[k];
12530
- if (plainCell(first3) && colon?.kind === "op" && colon.text === ":" && plainCell(last) && !last?.prefix && k > i + 2 && first3.ref && last?.ref) {
12530
+ if (plainCell(first2) && colon?.kind === "op" && colon.text === ":" && plainCell(last) && !last?.prefix && k > i + 2 && first2.ref && last?.ref) {
12531
12531
  const text2 = tokens2.slice(i, k + 1).map((t) => t.text).join("");
12532
12532
  out.push({
12533
- ...first3,
12533
+ ...first2,
12534
12534
  text: text2,
12535
- ref: { kind: "area", start: first3.ref.start, end: last.ref.start }
12535
+ ref: { kind: "area", start: first2.ref.start, end: last.ref.start }
12536
12536
  });
12537
12537
  i = k;
12538
12538
  continue;
12539
12539
  }
12540
- out.push(first3);
12540
+ out.push(first2);
12541
12541
  }
12542
12542
  return out;
12543
12543
  }
@@ -12589,10 +12589,10 @@ function renameSheetInFormula(formula, oldName, newName) {
12589
12589
  for (const token of tokens2) {
12590
12590
  const prefix = token.prefix;
12591
12591
  if (!prefix || prefix.book !== void 0) continue;
12592
- const first3 = prefix.sheet.toLowerCase() === lower2;
12592
+ const first2 = prefix.sheet.toLowerCase() === lower2;
12593
12593
  const second = prefix.sheet2?.toLowerCase() === lower2;
12594
- if (!first3 && !second) continue;
12595
- const renamed = { ...prefix, sheet: first3 ? newName : prefix.sheet };
12594
+ if (!first2 && !second) continue;
12595
+ const renamed = { ...prefix, sheet: first2 ? newName : prefix.sheet };
12596
12596
  if (prefix.sheet2 !== void 0) renamed.sheet2 = second ? newName : prefix.sheet2;
12597
12597
  const text2 = prefixText(renamed);
12598
12598
  token.text = text2 + token.text.slice(prefix.text.length);
@@ -13153,7 +13153,8 @@ function parseXml(xml, options = {}) {
13153
13153
  }).parseFromString(xml, "application/xml");
13154
13154
  } catch (error) {
13155
13155
  throw new Error(
13156
- `Invalid ${label2} XML: ${error instanceof Error ? error.message : String(error)}`
13156
+ `Invalid ${label2} XML: ${error instanceof Error ? error.message : String(error)}`,
13157
+ { cause: error }
13157
13158
  );
13158
13159
  }
13159
13160
  if (parseError || !parsed.documentElement)
@@ -13801,7 +13802,8 @@ async function readZipParts(input, limits = {}) {
13801
13802
  zip = await JSZip.loadAsync(bytes);
13802
13803
  } catch (error) {
13803
13804
  throw new Error(
13804
- `Not a valid XLSX package: ${error instanceof Error ? error.message : String(error)}`
13805
+ `Not a valid XLSX package: ${error instanceof Error ? error.message : String(error)}`,
13806
+ { cause: error }
13805
13807
  );
13806
13808
  }
13807
13809
  const entries = Object.values(zip.files).filter((entry) => !entry.dir);
@@ -16795,9 +16797,9 @@ function seriesXml(chart, series, index2) {
16795
16797
  var axes = (horizontal, scatter2) => {
16796
16798
  const common = '<c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="0"/>';
16797
16799
  const ticks = '<c:numFmt formatCode="General" sourceLinked="1"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/>';
16798
- const first3 = scatter2 ? `<c:valAx><c:axId val="500000001"/>${common}<c:axPos val="b"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:crossBetween val="midCat"/></c:valAx>` : `<c:catAx><c:axId val="500000001"/>${common}<c:axPos val="${horizontal ? "l" : "b"}"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffset val="100"/><c:noMultiLvlLbl val="0"/></c:catAx>`;
16800
+ const first2 = scatter2 ? `<c:valAx><c:axId val="500000001"/>${common}<c:axPos val="b"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:crossBetween val="midCat"/></c:valAx>` : `<c:catAx><c:axId val="500000001"/>${common}<c:axPos val="${horizontal ? "l" : "b"}"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffset val="100"/><c:noMultiLvlLbl val="0"/></c:catAx>`;
16799
16801
  const second = `<c:valAx><c:axId val="500000002"/>${common}<c:axPos val="${horizontal ? "b" : "l"}"/><c:majorGridlines/>${ticks}<c:crossAx val="500000001"/><c:crosses val="autoZero"/><c:crossBetween val="${scatter2 ? "midCat" : "between"}"/></c:valAx>`;
16800
- return first3 + second;
16802
+ return first2 + second;
16801
16803
  };
16802
16804
  var AX_IDS = '<c:axId val="500000001"/><c:axId val="500000002"/>';
16803
16805
  function plotXml(chart) {
@@ -18206,8 +18208,8 @@ function ruleXml(rule, styles, anchor) {
18206
18208
  }
18207
18209
  function conditionalFormatsXml(formats, styles) {
18208
18210
  return formats.filter((format) => format.ranges.length && format.rules.length).map((format) => {
18209
- const first3 = format.ranges[0];
18210
- const anchor = first3 ? formatAddress(first3.start) : "A1";
18211
+ const first2 = format.ranges[0];
18212
+ const anchor = first2 ? formatAddress(first2.start) : "A1";
18211
18213
  const rules = format.rules.map((rule) => ruleXml(rule, styles, anchor)).join("");
18212
18214
  return `<conditionalFormatting sqref="${format.ranges.map((r) => formatRange(r)).join(" ")}">${rules}</conditionalFormatting>`;
18213
18215
  }).join("");
@@ -18914,10 +18916,10 @@ function dimensionXml(sheet) {
18914
18916
  function sheetViewsXml(sheet, tabSelected) {
18915
18917
  const source2 = snapshotElement(sheet, "sheetViews");
18916
18918
  if (source2 && sameModel(readSheetView(source2), sheet.view)) {
18917
- const first3 = elements(source2).find((node) => node.localName === "sheetView");
18918
- if (first3) {
18919
- if (tabSelected) first3.setAttribute("tabSelected", "1");
18920
- else first3.removeAttribute("tabSelected");
18919
+ const first2 = elements(source2).find((node) => node.localName === "sheetView");
18920
+ if (first2) {
18921
+ if (tabSelected) first2.setAttribute("tabSelected", "1");
18922
+ else first2.removeAttribute("tabSelected");
18921
18923
  }
18922
18924
  return outerXml(source2);
18923
18925
  }
@@ -20742,14 +20744,14 @@ var TEXT_NUMBER = /^(.*?)(\d+)(\D*)$/;
20742
20744
  var QUARTER = /^(q|qtr|quarter)(\s?)([1-4])$/i;
20743
20745
  function textSeries(texts) {
20744
20746
  const lists = texts.map(listMatch);
20745
- const first3 = lists[0];
20746
- if (first3 && lists.every((m) => m && m.list === first3.list)) {
20747
+ const first2 = lists[0];
20748
+ if (first2 && lists.every((m) => m && m.list === first2.list)) {
20747
20749
  const second = lists[1];
20748
- const step2 = second ? mod(second.index - first3.index, first3.list.length) || 1 : 1;
20750
+ const step2 = second ? mod(second.index - first2.index, first2.list.length) || 1 : 1;
20749
20751
  const sample = texts[0] ?? "";
20750
20752
  return (k) => ({
20751
20753
  kind: "value",
20752
- value: matchCase(first3.list[mod(first3.index + step2 * k, first3.list.length)] ?? "", sample)
20754
+ value: matchCase(first2.list[mod(first2.index + step2 * k, first2.list.length)] ?? "", sample)
20753
20755
  });
20754
20756
  }
20755
20757
  const quarters = texts.map((t) => QUARTER.exec(t));
@@ -20789,11 +20791,11 @@ function formatShowsDate(code) {
20789
20791
  function dateCode(format) {
20790
20792
  return (format.split(";")[0] ?? "").replace(/"[^"]*"|\\.|_.|\*./g, "").replace(/\[(h+|m+|s+)\]/gi, "$1").replace(/\[[^\]]*\]/g, "").replace(/am\/pm|a\/p/gi, "").toLowerCase();
20791
20793
  }
20792
- function singleDateSeries(first3, format) {
20794
+ function singleDateSeries(first2, format) {
20793
20795
  const code = dateCode(format);
20794
- if (!formatShowsDate(code)) return (k) => ({ kind: "value", value: first3 + k / 24 });
20795
- const base = /[hs]/.test(code) ? first3 : Math.floor(first3);
20796
- return (k) => ({ kind: "value", value: k === 0 ? first3 : base + k });
20796
+ if (!formatShowsDate(code)) return (k) => ({ kind: "value", value: first2 + k / 24 });
20797
+ const base = /[hs]/.test(code) ? first2 : Math.floor(first2);
20798
+ return (k) => ({ kind: "value", value: k === 0 ? first2 : base + k });
20797
20799
  }
20798
20800
  function dateSeries(serials, date1904, format) {
20799
20801
  if (serials.length === 1) return singleDateSeries(serials[0] ?? 0, format);
@@ -20802,9 +20804,9 @@ function dateSeries(serials, date1904, format) {
20802
20804
  const sameDay = dates.every((d) => d.getUTCDate() === dates[0]?.getUTCDate());
20803
20805
  const stepMonths = (monthIndex[1] ?? 0) - (monthIndex[0] ?? 0);
20804
20806
  const evenMonths = stepMonths !== 0 && monthIndex.every((m, i) => m - (monthIndex[0] ?? 0) === stepMonths * i);
20805
- const first3 = serials[0] ?? 0;
20807
+ const first2 = serials[0] ?? 0;
20806
20808
  if (sameDay && evenMonths)
20807
- return (k) => ({ kind: "value", value: addMonths2(first3, stepMonths * k, date1904) });
20809
+ return (k) => ({ kind: "value", value: addMonths2(first2, stepMonths * k, date1904) });
20808
20810
  const trend = linearTrend(serials);
20809
20811
  return (k) => ({ kind: "value", value: trend(k) });
20810
20812
  }
@@ -22277,9 +22279,9 @@ function applyTotalsRow(sheet, table2) {
22277
22279
  const row2 = table2.range.end.row;
22278
22280
  const { columns } = table2;
22279
22281
  if (!columns.some((c2) => c2.totalsRowFunction || c2.totalsRowLabel)) {
22280
- const first3 = columns[0];
22282
+ const first2 = columns[0];
22281
22283
  const last = columns[columns.length - 1];
22282
- if (first3 && columns.length > 1) first3.totalsRowLabel = "Total";
22284
+ if (first2 && columns.length > 1) first2.totalsRowLabel = "Total";
22283
22285
  if (last) last.totalsRowFunction = "sum";
22284
22286
  }
22285
22287
  columns.forEach((column, i) => {
@@ -22602,25 +22604,25 @@ function removeDuplicates(ctx, s, range, columns, hasHeader) {
22602
22604
  const { workbook } = ctx;
22603
22605
  const sheet = sheetAt(workbook, s);
22604
22606
  const r = normalizeRange(range);
22605
- const first3 = hasHeader ? r.start.row + 1 : r.start.row;
22606
- if (first3 > r.end.row) return { removed: 0, remaining: 0 };
22607
- const data = { start: { row: first3, col: r.start.col }, end: r.end };
22607
+ const first2 = hasHeader ? r.start.row + 1 : r.start.row;
22608
+ if (first2 > r.end.row) return { removed: 0, remaining: 0 };
22609
+ const data = { start: { row: first2, col: r.start.col }, end: r.end };
22608
22610
  if (sheet.merges.some((m) => rangesIntersect(m, data)))
22609
22611
  throw new Error("Cannot remove duplicates from a range that contains merged cells.");
22610
22612
  const keyCols = columns.filter((c2) => c2 >= r.start.col && c2 <= r.end.col);
22611
22613
  const cols = keyCols.length ? keyCols : Array.from({ length: r.end.col - r.start.col + 1 }, (_v, i) => r.start.col + i);
22612
- let lastStored = first3;
22614
+ let lastStored = first2;
22613
22615
  for (const row2 of sheet.rows.keys()) if (row2 > lastStored) lastStored = row2;
22614
22616
  const lastRow = Math.min(r.end.row, lastStored);
22615
22617
  const keep2 = [];
22616
22618
  const seen = /* @__PURE__ */ new Set();
22617
- for (let row2 = first3; row2 <= lastRow; row2++) {
22619
+ for (let row2 = first2; row2 <= lastRow; row2++) {
22618
22620
  const key = cols.map((col) => displayText(workbook, getCell(sheet, row2, col)).toLowerCase()).join("\0");
22619
22621
  if (seen.has(key)) continue;
22620
22622
  seen.add(key);
22621
22623
  keep2.push(row2);
22622
22624
  }
22623
- const removed = lastRow - first3 + 1 - keep2.length;
22625
+ const removed = lastRow - first2 + 1 - keep2.length;
22624
22626
  if (!removed) return { removed: 0, remaining: keep2.length };
22625
22627
  ctx.run(
22626
22628
  "Remove duplicates",
@@ -22633,11 +22635,11 @@ function removeDuplicates(ctx, s, range, columns, hasHeader) {
22633
22635
  if (col >= r.start.col && col <= r.end.col) cells.set(col, cell);
22634
22636
  return { row: row2, cells };
22635
22637
  });
22636
- for (let row2 = first3; row2 <= lastRow; row2++)
22638
+ for (let row2 = first2; row2 <= lastRow; row2++)
22637
22639
  for (const col of [...sheet.rows.get(row2)?.keys() ?? []])
22638
22640
  if (col >= r.start.col && col <= r.end.col) deleteCell(sheet, row2, col);
22639
22641
  moved.forEach(({ row: from, cells }, i) => {
22640
- const row2 = first3 + i;
22642
+ const row2 = first2 + i;
22641
22643
  for (const [col, cell] of cells) {
22642
22644
  if (cell.formula !== void 0 && row2 !== from)
22643
22645
  cell.formula = translateFormula(cell.formula, row2 - from, 0);
@@ -23452,9 +23454,9 @@ function merge(ctx, s, range, mode) {
23452
23454
  sheet.merges = sheet.merges.filter((m) => !rangesIntersect(m, r));
23453
23455
  for (const target of targets) {
23454
23456
  const anchor = target.start;
23455
- const [first3] = filledCells(sheet, target);
23456
- if (first3 && (first3[0] !== anchor.row || first3[1] !== anchor.col)) {
23457
- const source2 = getCell(sheet, first3[0], first3[1]);
23457
+ const [first2] = filledCells(sheet, target);
23458
+ if (first2 && (first2[0] !== anchor.row || first2[1] !== anchor.col)) {
23459
+ const source2 = getCell(sheet, first2[0], first2[1]);
23458
23460
  const corner2 = getCell(sheet, anchor.row, anchor.col);
23459
23461
  if (source2) {
23460
23462
  const moved = structuredClone(source2);
@@ -24079,10 +24081,10 @@ var LINE_HEIGHTS = [
24079
24081
  [72, 93.75]
24080
24082
  ];
24081
24083
  function lineHeightPoints(sizePt) {
24082
- const first3 = LINE_HEIGHTS[0];
24084
+ const first2 = LINE_HEIGHTS[0];
24083
24085
  const last = LINE_HEIGHTS[LINE_HEIGHTS.length - 1];
24084
24086
  let height;
24085
- if (sizePt <= first3[0]) height = first3[1] / first3[0] * sizePt;
24087
+ if (sizePt <= first2[0]) height = first2[1] / first2[0] * sizePt;
24086
24088
  else if (sizePt >= last[0]) height = last[1] / last[0] * sizePt;
24087
24089
  else {
24088
24090
  let i = 1;
@@ -25484,8 +25486,8 @@ function navigate(sheet, from, key, pageRows = 20) {
25484
25486
  return { row: r, col };
25485
25487
  }
25486
25488
  case "home": {
25487
- const first3 = isColHidden(0) ? step(0, 1, MAX_COL, isColHidden) : 0;
25488
- return { row: row2, col: first3 };
25489
+ const first2 = isColHidden(0) ? step(0, 1, MAX_COL, isColHidden) : 0;
25490
+ return { row: row2, col: first2 };
25489
25491
  }
25490
25492
  case "end": {
25491
25493
  const cols = [...filledInRow(sheet, row2)].filter((c2) => !isColHidden(c2));
@@ -25690,8 +25692,8 @@ function chartView(workbook, sheetIndex2, chart, evaluateRef) {
25690
25692
  (_, i) => firstCats[i] !== void 0 ? toText2(firstCats[i] ?? null) : String(i + 1)
25691
25693
  );
25692
25694
  if (radial) {
25693
- const first3 = series[0];
25694
- if (first3) first3.pointColors = first3.values.map((_, i) => autoSeriesColor(theme2, i));
25695
+ const first2 = series[0];
25696
+ if (first2) first2.pointColors = first2.values.map((_, i) => autoSeriesColor(theme2, i));
25695
25697
  for (const s of series.slice(1))
25696
25698
  s.pointColors = s.values.map((_, i) => autoSeriesColor(theme2, i));
25697
25699
  }
@@ -26049,10 +26051,10 @@ function radarSvg(model, area) {
26049
26051
  var FONT_FAMILY = "Calibri, Carlito, Arial, sans-serif";
26050
26052
  function legendEntries(model) {
26051
26053
  if (model.type === "pie" || model.type === "doughnut") {
26052
- const first3 = model.series[0];
26054
+ const first2 = model.series[0];
26053
26055
  return model.categories.map((label2, i) => ({
26054
26056
  label: label2,
26055
- color: first3?.pointColors?.[i] ?? first3?.color ?? "#4472C4"
26057
+ color: first2?.pointColors?.[i] ?? first2?.color ?? "#4472C4"
26056
26058
  }));
26057
26059
  }
26058
26060
  return model.series.map((s) => ({ label: s.name, color: s.color }));