ooxml-core 0.3.0 → 0.4.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 (451) hide show
  1. package/README.md +15 -14
  2. package/dist/docx/load/index.cjs +11 -11
  3. package/dist/docx/load/index.mjs +11 -11
  4. package/dist/index.cjs +34 -1
  5. package/dist/index.mjs +34 -1
  6. package/dist/opc/index.cjs +18 -1
  7. package/dist/opc/index.mjs +18 -1
  8. package/dist/opc/relationship-types.d.ts +17 -0
  9. package/dist/opc/relationship-types.d.ts.map +1 -1
  10. package/dist/pptx/cli/index.cjs +122 -105
  11. package/dist/pptx/cli/index.mjs +122 -105
  12. package/dist/pptx/index.cjs +144 -127
  13. package/dist/pptx/index.d.ts +8 -8
  14. package/dist/pptx/index.d.ts.map +1 -1
  15. package/dist/pptx/index.mjs +144 -127
  16. package/dist/visio/geometry.d.ts.map +1 -1
  17. package/dist/visio/index.cjs +66 -6
  18. package/dist/visio/index.mjs +66 -6
  19. package/dist/visio/rounded-geometry.d.ts +9 -0
  20. package/dist/visio/rounded-geometry.d.ts.map +1 -1
  21. package/dist/xlsx/address.d.ts +42 -0
  22. package/dist/xlsx/address.d.ts.map +1 -0
  23. package/dist/xlsx/cell-styles.d.ts +25 -0
  24. package/dist/xlsx/cell-styles.d.ts.map +1 -0
  25. package/dist/xlsx/cells.d.ts +25 -0
  26. package/dist/xlsx/cells.d.ts.map +1 -0
  27. package/dist/xlsx/edit/annotations.d.ts +17 -0
  28. package/dist/xlsx/edit/annotations.d.ts.map +1 -0
  29. package/dist/xlsx/edit/band-formulas.d.ts +9 -0
  30. package/dist/xlsx/edit/band-formulas.d.ts.map +1 -0
  31. package/dist/xlsx/edit/borders.d.ts +8 -0
  32. package/dist/xlsx/edit/borders.d.ts.map +1 -0
  33. package/dist/xlsx/edit/calc-mode.d.ts +11 -0
  34. package/dist/xlsx/edit/calc-mode.d.ts.map +1 -0
  35. package/dist/xlsx/edit/cell-shift.d.ts +11 -0
  36. package/dist/xlsx/edit/cell-shift.d.ts.map +1 -0
  37. package/dist/xlsx/edit/cell-style.d.ts +9 -0
  38. package/dist/xlsx/edit/cell-style.d.ts.map +1 -0
  39. package/dist/xlsx/edit/cell-values.d.ts +21 -0
  40. package/dist/xlsx/edit/cell-values.d.ts.map +1 -0
  41. package/dist/xlsx/edit/charts.d.ts +22 -0
  42. package/dist/xlsx/edit/charts.d.ts.map +1 -0
  43. package/dist/xlsx/edit/clipboard-html-parse.d.ts +12 -0
  44. package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -0
  45. package/dist/xlsx/edit/clipboard-html.d.ts +8 -0
  46. package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -0
  47. package/dist/xlsx/edit/clipboard-text.d.ts +8 -0
  48. package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -0
  49. package/dist/xlsx/edit/clipboard.d.ts +16 -0
  50. package/dist/xlsx/edit/clipboard.d.ts.map +1 -0
  51. package/dist/xlsx/edit/columns.d.ts +11 -0
  52. package/dist/xlsx/edit/columns.d.ts.map +1 -0
  53. package/dist/xlsx/edit/conditional-formats.d.ts +17 -0
  54. package/dist/xlsx/edit/conditional-formats.d.ts.map +1 -0
  55. package/dist/xlsx/edit/context.d.ts +42 -0
  56. package/dist/xlsx/edit/context.d.ts.map +1 -0
  57. package/dist/xlsx/edit/deps.d.ts +4 -0
  58. package/dist/xlsx/edit/deps.d.ts.map +1 -0
  59. package/dist/xlsx/edit/dimensions.d.ts +13 -0
  60. package/dist/xlsx/edit/dimensions.d.ts.map +1 -0
  61. package/dist/xlsx/edit/drawings.d.ts +10 -0
  62. package/dist/xlsx/edit/drawings.d.ts.map +1 -0
  63. package/dist/xlsx/edit/duplicates.d.ts +17 -0
  64. package/dist/xlsx/edit/duplicates.d.ts.map +1 -0
  65. package/dist/xlsx/edit/fill-series.d.ts +16 -0
  66. package/dist/xlsx/edit/fill-series.d.ts.map +1 -0
  67. package/dist/xlsx/edit/fill.d.ts +14 -0
  68. package/dist/xlsx/edit/fill.d.ts.map +1 -0
  69. package/dist/xlsx/edit/filter.d.ts +17 -0
  70. package/dist/xlsx/edit/filter.d.ts.map +1 -0
  71. package/dist/xlsx/edit/find.d.ts +17 -0
  72. package/dist/xlsx/edit/find.d.ts.map +1 -0
  73. package/dist/xlsx/edit/format.d.ts +13 -0
  74. package/dist/xlsx/edit/format.d.ts.map +1 -0
  75. package/dist/xlsx/edit/history.d.ts +75 -0
  76. package/dist/xlsx/edit/history.d.ts.map +1 -0
  77. package/dist/xlsx/edit/index.d.ts +23 -0
  78. package/dist/xlsx/edit/index.d.ts.map +1 -0
  79. package/dist/xlsx/edit/merge.d.ts +11 -0
  80. package/dist/xlsx/edit/merge.d.ts.map +1 -0
  81. package/dist/xlsx/edit/outline.d.ts +14 -0
  82. package/dist/xlsx/edit/outline.d.ts.map +1 -0
  83. package/dist/xlsx/edit/page.d.ts +11 -0
  84. package/dist/xlsx/edit/page.d.ts.map +1 -0
  85. package/dist/xlsx/edit/protection.d.ts +26 -0
  86. package/dist/xlsx/edit/protection.d.ts.map +1 -0
  87. package/dist/xlsx/edit/range-math.d.ts +33 -0
  88. package/dist/xlsx/edit/range-math.d.ts.map +1 -0
  89. package/dist/xlsx/edit/row-autofit.d.ts +17 -0
  90. package/dist/xlsx/edit/row-autofit.d.ts.map +1 -0
  91. package/dist/xlsx/edit/session-calc.d.ts +24 -0
  92. package/dist/xlsx/edit/session-calc.d.ts.map +1 -0
  93. package/dist/xlsx/edit/session.d.ts +5 -0
  94. package/dist/xlsx/edit/session.d.ts.map +1 -0
  95. package/dist/xlsx/edit/sheets.d.ts +19 -0
  96. package/dist/xlsx/edit/sheets.d.ts.map +1 -0
  97. package/dist/xlsx/edit/shift-formulas.d.ts +14 -0
  98. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -0
  99. package/dist/xlsx/edit/shift-sheet.d.ts +15 -0
  100. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -0
  101. package/dist/xlsx/edit/sort.d.ts +17 -0
  102. package/dist/xlsx/edit/sort.d.ts.map +1 -0
  103. package/dist/xlsx/edit/structure.d.ts +10 -0
  104. package/dist/xlsx/edit/structure.d.ts.map +1 -0
  105. package/dist/xlsx/edit/table-edits.d.ts +25 -0
  106. package/dist/xlsx/edit/table-edits.d.ts.map +1 -0
  107. package/dist/xlsx/edit/table-rows.d.ts +11 -0
  108. package/dist/xlsx/edit/table-rows.d.ts.map +1 -0
  109. package/dist/xlsx/edit/tables.d.ts +11 -0
  110. package/dist/xlsx/edit/tables.d.ts.map +1 -0
  111. package/dist/xlsx/edit/test-context.d.ts +15 -0
  112. package/dist/xlsx/edit/test-context.d.ts.map +1 -0
  113. package/dist/xlsx/edit/types-clipboard.d.ts +66 -0
  114. package/dist/xlsx/edit/types-clipboard.d.ts.map +1 -0
  115. package/dist/xlsx/edit/types.d.ts +188 -0
  116. package/dist/xlsx/edit/types.d.ts.map +1 -0
  117. package/dist/xlsx/edit/validation.d.ts +21 -0
  118. package/dist/xlsx/edit/validation.d.ts.map +1 -0
  119. package/dist/xlsx/edit/view.d.ts +12 -0
  120. package/dist/xlsx/edit/view.d.ts.map +1 -0
  121. package/dist/xlsx/formula/array-context.d.ts +7 -0
  122. package/dist/xlsx/formula/array-context.d.ts.map +1 -0
  123. package/dist/xlsx/formula/ast.d.ts +108 -0
  124. package/dist/xlsx/formula/ast.d.ts.map +1 -0
  125. package/dist/xlsx/formula/call.d.ts +13 -0
  126. package/dist/xlsx/formula/call.d.ts.map +1 -0
  127. package/dist/xlsx/formula/coerce.d.ts +22 -0
  128. package/dist/xlsx/formula/coerce.d.ts.map +1 -0
  129. package/dist/xlsx/formula/context.d.ts +74 -0
  130. package/dist/xlsx/formula/context.d.ts.map +1 -0
  131. package/dist/xlsx/formula/date-serial.d.ts +26 -0
  132. package/dist/xlsx/formula/date-serial.d.ts.map +1 -0
  133. package/dist/xlsx/formula/engine-core.d.ts +19 -0
  134. package/dist/xlsx/formula/engine-core.d.ts.map +1 -0
  135. package/dist/xlsx/formula/engine-host.d.ts +51 -0
  136. package/dist/xlsx/formula/engine-host.d.ts.map +1 -0
  137. package/dist/xlsx/formula/engine-types.d.ts +31 -0
  138. package/dist/xlsx/formula/engine-types.d.ts.map +1 -0
  139. package/dist/xlsx/formula/engine-util.d.ts +10 -0
  140. package/dist/xlsx/formula/engine-util.d.ts.map +1 -0
  141. package/dist/xlsx/formula/engine.d.ts +6 -0
  142. package/dist/xlsx/formula/engine.d.ts.map +1 -0
  143. package/dist/xlsx/formula/evaluator.d.ts +17 -0
  144. package/dist/xlsx/formula/evaluator.d.ts.map +1 -0
  145. package/dist/xlsx/formula/functions/array-shape.d.ts +3 -0
  146. package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -0
  147. package/dist/xlsx/formula/functions/array.d.ts +6 -0
  148. package/dist/xlsx/formula/functions/array.d.ts.map +1 -0
  149. package/dist/xlsx/formula/functions/criteria.d.ts +22 -0
  150. package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -0
  151. package/dist/xlsx/formula/functions/date-calc.d.ts +14 -0
  152. package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -0
  153. package/dist/xlsx/formula/functions/datetime.d.ts +3 -0
  154. package/dist/xlsx/formula/functions/datetime.d.ts.map +1 -0
  155. package/dist/xlsx/formula/functions/depreciation.d.ts +4 -0
  156. package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -0
  157. package/dist/xlsx/formula/functions/dist-core.d.ts +22 -0
  158. package/dist/xlsx/formula/functions/dist-core.d.ts.map +1 -0
  159. package/dist/xlsx/formula/functions/distributions-more.d.ts +4 -0
  160. package/dist/xlsx/formula/functions/distributions-more.d.ts.map +1 -0
  161. package/dist/xlsx/formula/functions/distributions.d.ts +3 -0
  162. package/dist/xlsx/formula/functions/distributions.d.ts.map +1 -0
  163. package/dist/xlsx/formula/functions/engineering.d.ts +3 -0
  164. package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -0
  165. package/dist/xlsx/formula/functions/financial-core.d.ts +8 -0
  166. package/dist/xlsx/formula/functions/financial-core.d.ts.map +1 -0
  167. package/dist/xlsx/formula/functions/financial.d.ts +3 -0
  168. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -0
  169. package/dist/xlsx/formula/functions/helpers.d.ts +44 -0
  170. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -0
  171. package/dist/xlsx/formula/functions/info.d.ts +3 -0
  172. package/dist/xlsx/formula/functions/info.d.ts.map +1 -0
  173. package/dist/xlsx/formula/functions/lambda.d.ts +3 -0
  174. package/dist/xlsx/formula/functions/lambda.d.ts.map +1 -0
  175. package/dist/xlsx/formula/functions/logical.d.ts +7 -0
  176. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -0
  177. package/dist/xlsx/formula/functions/lookup-core.d.ts +32 -0
  178. package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -0
  179. package/dist/xlsx/formula/functions/lookup.d.ts +8 -0
  180. package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -0
  181. package/dist/xlsx/formula/functions/math-combin.d.ts +5 -0
  182. package/dist/xlsx/formula/functions/math-combin.d.ts.map +1 -0
  183. package/dist/xlsx/formula/functions/math-more.d.ts +4 -0
  184. package/dist/xlsx/formula/functions/math-more.d.ts.map +1 -0
  185. package/dist/xlsx/formula/functions/math-sum.d.ts +6 -0
  186. package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -0
  187. package/dist/xlsx/formula/functions/math.d.ts +7 -0
  188. package/dist/xlsx/formula/functions/math.d.ts.map +1 -0
  189. package/dist/xlsx/formula/functions/matrix.d.ts +3 -0
  190. package/dist/xlsx/formula/functions/matrix.d.ts.map +1 -0
  191. package/dist/xlsx/formula/functions/reference.d.ts +3 -0
  192. package/dist/xlsx/formula/functions/reference.d.ts.map +1 -0
  193. package/dist/xlsx/formula/functions/registry.d.ts +8 -0
  194. package/dist/xlsx/formula/functions/registry.d.ts.map +1 -0
  195. package/dist/xlsx/formula/functions/statistical-count.d.ts +3 -0
  196. package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -0
  197. package/dist/xlsx/formula/functions/statistical-more.d.ts +10 -0
  198. package/dist/xlsx/formula/functions/statistical-more.d.ts.map +1 -0
  199. package/dist/xlsx/formula/functions/statistical-shape.d.ts +4 -0
  200. package/dist/xlsx/formula/functions/statistical-shape.d.ts.map +1 -0
  201. package/dist/xlsx/formula/functions/statistical-spread.d.ts +4 -0
  202. package/dist/xlsx/formula/functions/statistical-spread.d.ts.map +1 -0
  203. package/dist/xlsx/formula/functions/statistical.d.ts +3 -0
  204. package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -0
  205. package/dist/xlsx/formula/functions/stats-core.d.ts +30 -0
  206. package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -0
  207. package/dist/xlsx/formula/functions/text-convert.d.ts +4 -0
  208. package/dist/xlsx/formula/functions/text-convert.d.ts.map +1 -0
  209. package/dist/xlsx/formula/functions/text-extra.d.ts +3 -0
  210. package/dist/xlsx/formula/functions/text-extra.d.ts.map +1 -0
  211. package/dist/xlsx/formula/functions/text.d.ts +3 -0
  212. package/dist/xlsx/formula/functions/text.d.ts.map +1 -0
  213. package/dist/xlsx/formula/functions/types.d.ts +30 -0
  214. package/dist/xlsx/formula/functions/types.d.ts.map +1 -0
  215. package/dist/xlsx/formula/functions/workdays.d.ts +3 -0
  216. package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -0
  217. package/dist/xlsx/formula/graph.d.ts +50 -0
  218. package/dist/xlsx/formula/graph.d.ts.map +1 -0
  219. package/dist/xlsx/formula/index.d.ts +14 -0
  220. package/dist/xlsx/formula/index.d.ts.map +1 -0
  221. package/dist/xlsx/formula/lexemes.d.ts +41 -0
  222. package/dist/xlsx/formula/lexemes.d.ts.map +1 -0
  223. package/dist/xlsx/formula/move.d.ts +23 -0
  224. package/dist/xlsx/formula/move.d.ts.map +1 -0
  225. package/dist/xlsx/formula/operators.d.ts +15 -0
  226. package/dist/xlsx/formula/operators.d.ts.map +1 -0
  227. package/dist/xlsx/formula/parser.d.ts +4 -0
  228. package/dist/xlsx/formula/parser.d.ts.map +1 -0
  229. package/dist/xlsx/formula/references.d.ts +36 -0
  230. package/dist/xlsx/formula/references.d.ts.map +1 -0
  231. package/dist/xlsx/formula/scc.d.ts +6 -0
  232. package/dist/xlsx/formula/scc.d.ts.map +1 -0
  233. package/dist/xlsx/formula/sheet-scan.d.ts +10 -0
  234. package/dist/xlsx/formula/sheet-scan.d.ts.map +1 -0
  235. package/dist/xlsx/formula/spill.d.ts +32 -0
  236. package/dist/xlsx/formula/spill.d.ts.map +1 -0
  237. package/dist/xlsx/formula/store.d.ts +10 -0
  238. package/dist/xlsx/formula/store.d.ts.map +1 -0
  239. package/dist/xlsx/formula/structured-to-a1.d.ts +18 -0
  240. package/dist/xlsx/formula/structured-to-a1.d.ts.map +1 -0
  241. package/dist/xlsx/formula/structured.d.ts +4 -0
  242. package/dist/xlsx/formula/structured.d.ts.map +1 -0
  243. package/dist/xlsx/formula/table-refs.d.ts +7 -0
  244. package/dist/xlsx/formula/table-refs.d.ts.map +1 -0
  245. package/dist/xlsx/formula/test-helpers.d.ts +32 -0
  246. package/dist/xlsx/formula/test-helpers.d.ts.map +1 -0
  247. package/dist/xlsx/formula/text-number.d.ts +11 -0
  248. package/dist/xlsx/formula/text-number.d.ts.map +1 -0
  249. package/dist/xlsx/formula/tokenizer.d.ts +21 -0
  250. package/dist/xlsx/formula/tokenizer.d.ts.map +1 -0
  251. package/dist/xlsx/formula/transform.d.ts +49 -0
  252. package/dist/xlsx/formula/transform.d.ts.map +1 -0
  253. package/dist/xlsx/formula/values.d.ts +63 -0
  254. package/dist/xlsx/formula/values.d.ts.map +1 -0
  255. package/dist/xlsx/index.cjs +20579 -0
  256. package/dist/xlsx/index.d.ts +14 -0
  257. package/dist/xlsx/index.d.ts.map +1 -0
  258. package/dist/xlsx/index.mjs +20396 -0
  259. package/dist/xlsx/layout/autofit.d.ts +12 -0
  260. package/dist/xlsx/layout/autofit.d.ts.map +1 -0
  261. package/dist/xlsx/layout/axis-metrics.d.ts +39 -0
  262. package/dist/xlsx/layout/axis-metrics.d.ts.map +1 -0
  263. package/dist/xlsx/layout/cell-view.d.ts +21 -0
  264. package/dist/xlsx/layout/cell-view.d.ts.map +1 -0
  265. package/dist/xlsx/layout/cf-evaluator.d.ts +26 -0
  266. package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -0
  267. package/dist/xlsx/layout/cf-helpers.d.ts +8 -0
  268. package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -0
  269. package/dist/xlsx/layout/cf-values.d.ts +25 -0
  270. package/dist/xlsx/layout/cf-values.d.ts.map +1 -0
  271. package/dist/xlsx/layout/chart-colors.d.ts +6 -0
  272. package/dist/xlsx/layout/chart-colors.d.ts.map +1 -0
  273. package/dist/xlsx/layout/chart-scale.d.ts +25 -0
  274. package/dist/xlsx/layout/chart-scale.d.ts.map +1 -0
  275. package/dist/xlsx/layout/chart-svg-cartesian.d.ts +5 -0
  276. package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +1 -0
  277. package/dist/xlsx/layout/chart-svg-radial.d.ts +7 -0
  278. package/dist/xlsx/layout/chart-svg-radial.d.ts.map +1 -0
  279. package/dist/xlsx/layout/chart-svg-util.d.ts +29 -0
  280. package/dist/xlsx/layout/chart-svg-util.d.ts.map +1 -0
  281. package/dist/xlsx/layout/chart-svg.d.ts +7 -0
  282. package/dist/xlsx/layout/chart-svg.d.ts.map +1 -0
  283. package/dist/xlsx/layout/chart-view.d.ts +42 -0
  284. package/dist/xlsx/layout/chart-view.d.ts.map +1 -0
  285. package/dist/xlsx/layout/colors.d.ts +20 -0
  286. package/dist/xlsx/layout/colors.d.ts.map +1 -0
  287. package/dist/xlsx/layout/index.d.ts +21 -0
  288. package/dist/xlsx/layout/index.d.ts.map +1 -0
  289. package/dist/xlsx/layout/metrics.d.ts +41 -0
  290. package/dist/xlsx/layout/metrics.d.ts.map +1 -0
  291. package/dist/xlsx/layout/navigate.d.ts +6 -0
  292. package/dist/xlsx/layout/navigate.d.ts.map +1 -0
  293. package/dist/xlsx/layout/ref-evaluator.d.ts +16 -0
  294. package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -0
  295. package/dist/xlsx/layout/row-autofit.d.ts +17 -0
  296. package/dist/xlsx/layout/row-autofit.d.ts.map +1 -0
  297. package/dist/xlsx/layout/sheet-queries.d.ts +37 -0
  298. package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -0
  299. package/dist/xlsx/layout/style-view.d.ts +18 -0
  300. package/dist/xlsx/layout/style-view.d.ts.map +1 -0
  301. package/dist/xlsx/layout/tint.d.ts +26 -0
  302. package/dist/xlsx/layout/tint.d.ts.map +1 -0
  303. package/dist/xlsx/layout/types.d.ts +106 -0
  304. package/dist/xlsx/layout/types.d.ts.map +1 -0
  305. package/dist/xlsx/layout/units.d.ts +37 -0
  306. package/dist/xlsx/layout/units.d.ts.map +1 -0
  307. package/dist/xlsx/layout/viewport.d.ts +27 -0
  308. package/dist/xlsx/layout/viewport.d.ts.map +1 -0
  309. package/dist/xlsx/load/csv.d.ts +29 -0
  310. package/dist/xlsx/load/csv.d.ts.map +1 -0
  311. package/dist/xlsx/load/detect.d.ts +22 -0
  312. package/dist/xlsx/load/detect.d.ts.map +1 -0
  313. package/dist/xlsx/load/index.cjs +15619 -0
  314. package/dist/xlsx/load/index.d.ts +4 -0
  315. package/dist/xlsx/load/index.d.ts.map +1 -0
  316. package/dist/xlsx/load/index.mjs +15603 -0
  317. package/dist/xlsx/load/legacy-xls-sheet.d.ts +14 -0
  318. package/dist/xlsx/load/legacy-xls-sheet.d.ts.map +1 -0
  319. package/dist/xlsx/load/legacy-xls-styles.d.ts +9 -0
  320. package/dist/xlsx/load/legacy-xls-styles.d.ts.map +1 -0
  321. package/dist/xlsx/load/legacy-xls.d.ts +10 -0
  322. package/dist/xlsx/load/legacy-xls.d.ts.map +1 -0
  323. package/dist/xlsx/model.d.ts +535 -0
  324. package/dist/xlsx/model.d.ts.map +1 -0
  325. package/dist/xlsx/numfmt/builtins.d.ts +15 -0
  326. package/dist/xlsx/numfmt/builtins.d.ts.map +1 -0
  327. package/dist/xlsx/numfmt/compile.d.ts +26 -0
  328. package/dist/xlsx/numfmt/compile.d.ts.map +1 -0
  329. package/dist/xlsx/numfmt/date.d.ts +34 -0
  330. package/dist/xlsx/numfmt/date.d.ts.map +1 -0
  331. package/dist/xlsx/numfmt/decimal.d.ts +27 -0
  332. package/dist/xlsx/numfmt/decimal.d.ts.map +1 -0
  333. package/dist/xlsx/numfmt/decimals.d.ts +10 -0
  334. package/dist/xlsx/numfmt/decimals.d.ts.map +1 -0
  335. package/dist/xlsx/numfmt/format.d.ts +13 -0
  336. package/dist/xlsx/numfmt/format.d.ts.map +1 -0
  337. package/dist/xlsx/numfmt/fraction.d.ts +38 -0
  338. package/dist/xlsx/numfmt/fraction.d.ts.map +1 -0
  339. package/dist/xlsx/numfmt/general.d.ts +8 -0
  340. package/dist/xlsx/numfmt/general.d.ts.map +1 -0
  341. package/dist/xlsx/numfmt/index.d.ts +8 -0
  342. package/dist/xlsx/numfmt/index.d.ts.map +1 -0
  343. package/dist/xlsx/numfmt/input-date.d.ts +16 -0
  344. package/dist/xlsx/numfmt/input-date.d.ts.map +1 -0
  345. package/dist/xlsx/numfmt/input.d.ts +23 -0
  346. package/dist/xlsx/numfmt/input.d.ts.map +1 -0
  347. package/dist/xlsx/numfmt/number.d.ts +38 -0
  348. package/dist/xlsx/numfmt/number.d.ts.map +1 -0
  349. package/dist/xlsx/numfmt/tokenizer.d.ts +6 -0
  350. package/dist/xlsx/numfmt/tokenizer.d.ts.map +1 -0
  351. package/dist/xlsx/numfmt/types.d.ts +87 -0
  352. package/dist/xlsx/numfmt/types.d.ts.map +1 -0
  353. package/dist/xlsx/read/builtin-formats.d.ts +10 -0
  354. package/dist/xlsx/read/builtin-formats.d.ts.map +1 -0
  355. package/dist/xlsx/read/chart.d.ts +7 -0
  356. package/dist/xlsx/read/chart.d.ts.map +1 -0
  357. package/dist/xlsx/read/comments.d.ts +10 -0
  358. package/dist/xlsx/read/comments.d.ts.map +1 -0
  359. package/dist/xlsx/read/conditional.d.ts +6 -0
  360. package/dist/xlsx/read/conditional.d.ts.map +1 -0
  361. package/dist/xlsx/read/dates.d.ts +6 -0
  362. package/dist/xlsx/read/dates.d.ts.map +1 -0
  363. package/dist/xlsx/read/drawing.d.ts +10 -0
  364. package/dist/xlsx/read/drawing.d.ts.map +1 -0
  365. package/dist/xlsx/read/formula-storage.d.ts +5 -0
  366. package/dist/xlsx/read/formula-storage.d.ts.map +1 -0
  367. package/dist/xlsx/read/formula-text.d.ts +15 -0
  368. package/dist/xlsx/read/formula-text.d.ts.map +1 -0
  369. package/dist/xlsx/read/index.d.ts +3 -0
  370. package/dist/xlsx/read/index.d.ts.map +1 -0
  371. package/dist/xlsx/read/load.d.ts +7 -0
  372. package/dist/xlsx/read/load.d.ts.map +1 -0
  373. package/dist/xlsx/read/metadata.d.ts +8 -0
  374. package/dist/xlsx/read/metadata.d.ts.map +1 -0
  375. package/dist/xlsx/read/package.d.ts +60 -0
  376. package/dist/xlsx/read/package.d.ts.map +1 -0
  377. package/dist/xlsx/read/print-options.d.ts +7 -0
  378. package/dist/xlsx/read/print-options.d.ts.map +1 -0
  379. package/dist/xlsx/read/shared-strings.d.ts +13 -0
  380. package/dist/xlsx/read/shared-strings.d.ts.map +1 -0
  381. package/dist/xlsx/read/sheet-data.d.ts +15 -0
  382. package/dist/xlsx/read/sheet-data.d.ts.map +1 -0
  383. package/dist/xlsx/read/sheet-props.d.ts +21 -0
  384. package/dist/xlsx/read/sheet-props.d.ts.map +1 -0
  385. package/dist/xlsx/read/style-parts.d.ts +20 -0
  386. package/dist/xlsx/read/style-parts.d.ts.map +1 -0
  387. package/dist/xlsx/read/styles.d.ts +17 -0
  388. package/dist/xlsx/read/styles.d.ts.map +1 -0
  389. package/dist/xlsx/read/tables.d.ts +4 -0
  390. package/dist/xlsx/read/tables.d.ts.map +1 -0
  391. package/dist/xlsx/read/theme.d.ts +11 -0
  392. package/dist/xlsx/read/theme.d.ts.map +1 -0
  393. package/dist/xlsx/read/workbook-part.d.ts +23 -0
  394. package/dist/xlsx/read/workbook-part.d.ts.map +1 -0
  395. package/dist/xlsx/read/worksheet.d.ts +18 -0
  396. package/dist/xlsx/read/worksheet.d.ts.map +1 -0
  397. package/dist/xlsx/read/xml-util.d.ts +28 -0
  398. package/dist/xlsx/read/xml-util.d.ts.map +1 -0
  399. package/dist/xlsx/styles.d.ts +27 -0
  400. package/dist/xlsx/styles.d.ts.map +1 -0
  401. package/dist/xlsx/time-period.d.ts +9 -0
  402. package/dist/xlsx/time-period.d.ts.map +1 -0
  403. package/dist/xlsx/workbook.d.ts +26 -0
  404. package/dist/xlsx/workbook.d.ts.map +1 -0
  405. package/dist/xlsx/write/chart-patch.d.ts +9 -0
  406. package/dist/xlsx/write/chart-patch.d.ts.map +1 -0
  407. package/dist/xlsx/write/chart.d.ts +9 -0
  408. package/dist/xlsx/write/chart.d.ts.map +1 -0
  409. package/dist/xlsx/write/comments.d.ts +23 -0
  410. package/dist/xlsx/write/comments.d.ts.map +1 -0
  411. package/dist/xlsx/write/conditional.d.ts +5 -0
  412. package/dist/xlsx/write/conditional.d.ts.map +1 -0
  413. package/dist/xlsx/write/drawing.d.ts +10 -0
  414. package/dist/xlsx/write/drawing.d.ts.map +1 -0
  415. package/dist/xlsx/write/dynamic-array.d.ts +16 -0
  416. package/dist/xlsx/write/dynamic-array.d.ts.map +1 -0
  417. package/dist/xlsx/write/index.d.ts +2 -0
  418. package/dist/xlsx/write/index.d.ts.map +1 -0
  419. package/dist/xlsx/write/package-writer.d.ts +31 -0
  420. package/dist/xlsx/write/package-writer.d.ts.map +1 -0
  421. package/dist/xlsx/write/save.d.ts +8 -0
  422. package/dist/xlsx/write/save.d.ts.map +1 -0
  423. package/dist/xlsx/write/shared-strings.d.ts +13 -0
  424. package/dist/xlsx/write/shared-strings.d.ts.map +1 -0
  425. package/dist/xlsx/write/sheet-data.d.ts +19 -0
  426. package/dist/xlsx/write/sheet-data.d.ts.map +1 -0
  427. package/dist/xlsx/write/sheet-parts.d.ts +34 -0
  428. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -0
  429. package/dist/xlsx/write/sheet-props.d.ts +16 -0
  430. package/dist/xlsx/write/sheet-props.d.ts.map +1 -0
  431. package/dist/xlsx/write/snapshot.d.ts +9 -0
  432. package/dist/xlsx/write/snapshot.d.ts.map +1 -0
  433. package/dist/xlsx/write/style-xml.d.ts +13 -0
  434. package/dist/xlsx/write/style-xml.d.ts.map +1 -0
  435. package/dist/xlsx/write/styles.d.ts +24 -0
  436. package/dist/xlsx/write/styles.d.ts.map +1 -0
  437. package/dist/xlsx/write/tables.d.ts +18 -0
  438. package/dist/xlsx/write/tables.d.ts.map +1 -0
  439. package/dist/xlsx/write/theme.d.ts +9 -0
  440. package/dist/xlsx/write/theme.d.ts.map +1 -0
  441. package/dist/xlsx/write/workbook-part.d.ts +16 -0
  442. package/dist/xlsx/write/workbook-part.d.ts.map +1 -0
  443. package/dist/xlsx/write/worksheet.d.ts +6 -0
  444. package/dist/xlsx/write/worksheet.d.ts.map +1 -0
  445. package/dist/xlsx/write/xml-out.d.ts +25 -0
  446. package/dist/xlsx/write/xml-out.d.ts.map +1 -0
  447. package/dist/xml/index.cjs +16 -0
  448. package/dist/xml/index.mjs +16 -0
  449. package/dist/xml/namespaces.d.ts +16 -0
  450. package/dist/xml/namespaces.d.ts.map +1 -1
  451. package/package.json +16 -3
@@ -0,0 +1,14 @@
1
+ import type { XlsRange, XlsSheet } from '@christophervr/ole2/legacy-excel-workbook';
2
+ import type { CellRange } from '../address.js';
3
+ import { type Worksheet } from '../model.js';
4
+ /** Resolves a BIFF8 XF index to a model style id (0 for the default format). */
5
+ export type StyleResolver = (xf: number) => number;
6
+ export interface SheetMapResult {
7
+ sheet: Worksheet;
8
+ /** Formula cells whose tokens the reader could not decode (kept as cached values). */
9
+ undecodedFormulas: number;
10
+ externalReferences: boolean;
11
+ }
12
+ export declare const toRange: (range: XlsRange) => CellRange;
13
+ export declare function mapSheet(source: XlsSheet, sheetId: number, style: StyleResolver): SheetMapResult;
14
+ //# sourceMappingURL=legacy-xls-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-xls-sheet.d.ts","sourceRoot":"","sources":["../../../src/xlsx/load/legacy-xls-sheet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,QAAQ,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAQN,KAAK,SAAS,EACd,MAAM,aAAa,CAAC;AAIrB,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,sFAAsF;IACtF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAKD,eAAO,MAAM,OAAO,GAAI,OAAO,QAAQ,KAAG,SAGxC,CAAC;AAuBH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CAiGhG"}
@@ -0,0 +1,9 @@
1
+ import type { XlsColor, XlsWorkbook, XlsXf } from '@christophervr/ole2/legacy-excel-workbook';
2
+ import type { CellStyle, Color } from '../model.js';
3
+ /** A model colour, or undefined for automatic/system colours. */
4
+ export declare function mapColor(color: XlsColor | undefined): Color | undefined;
5
+ /** The resolved cell format of one BIFF8 XF. */
6
+ export declare function xfToCellStyle(xls: XlsWorkbook, xf: XlsXf): CellStyle;
7
+ /** The default cell XF: 15 in every Excel-written file, else the first cell (non-style) XF. */
8
+ export declare function defaultXfIndex(xls: XlsWorkbook): number;
9
+ //# sourceMappingURL=legacy-xls-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-xls-styles.d.ts","sourceRoot":"","sources":["../../../src/xlsx/load/legacy-xls-styles.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,QAAQ,EAER,WAAW,EACX,KAAK,EACL,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAIX,SAAS,EACT,KAAK,EAIL,MAAM,aAAa,CAAC;AAErB,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAMvE;AAiED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,GAAG,SAAS,CAYpE;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAIvD"}
@@ -0,0 +1,10 @@
1
+ import type { Workbook } from '../model.js';
2
+ export type LegacyXlsErrorCode = 'encrypted' | 'unsupported-version' | 'corrupt';
3
+ /** The .xls file cannot be opened: encrypted, older than Excel 97 (BIFF5 and before) or corrupt. */
4
+ export declare class LegacyXlsError extends Error {
5
+ readonly code: LegacyXlsErrorCode;
6
+ constructor(message: string, code?: LegacyXlsErrorCode);
7
+ }
8
+ /** Loads an Excel 97-2003 workbook into the model (`workbook.format` is `'xls'`). */
9
+ export declare function loadLegacyXls(input: Uint8Array | ArrayBuffer): Promise<Workbook>;
10
+ //# sourceMappingURL=legacy-xls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-xls.d.ts","sourceRoot":"","sources":["../../../src/xlsx/load/legacy-xls.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAe,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAM7E,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,qBAAqB,GAAG,SAAS,CAAC;AAEjF,oGAAoG;AACpG,qBAAa,cAAe,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBACtB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,kBAA8B;CAKjE;AAgDD,qFAAqF;AACrF,wBAAsB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6FtF"}
@@ -0,0 +1,535 @@
1
+ import type { CellAddress, CellRange } from './address.js';
2
+ /** Excel error values. */
3
+ export declare const ERROR_CODES: readonly ["#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A", "#GETTING_DATA", "#SPILL!", "#CALC!"];
4
+ export type ErrorCode = (typeof ERROR_CODES)[number];
5
+ /** An error cell value (`#DIV/0!`, `#N/A`, ...). */
6
+ export interface CellError {
7
+ readonly error: ErrorCode;
8
+ }
9
+ export declare const isErrorCode: (value: string) => value is ErrorCode;
10
+ export declare const cellError: (error: ErrorCode) => CellError;
11
+ export declare const isCellError: (value: unknown) => value is CellError;
12
+ /**
13
+ * A cell's value. Dates are numbers (serial days since the workbook epoch) whose style carries a
14
+ * date number format, exactly as SpreadsheetML stores them.
15
+ */
16
+ export type CellValue = number | string | boolean | CellError | null;
17
+ /** A colour as SpreadsheetML records it: explicit ARGB, a theme slot with tint, or a legacy index. */
18
+ export interface Color {
19
+ /** `AARRGGBB` or `RRGGBB`, upper case. */
20
+ rgb?: string;
21
+ /** Theme colour slot (0 lt1/bg1, 1 dk1/tx1, 2 lt2, 3 dk2, 4-9 accent1-6, 10 hlink, 11 folHlink). */
22
+ theme?: number;
23
+ /** -1 (darker) to 1 (lighter). */
24
+ tint?: number;
25
+ /** Legacy palette index (64 is system foreground, 65 system background). */
26
+ indexed?: number;
27
+ /** `auto` colour (the system default). */
28
+ auto?: boolean;
29
+ }
30
+ export type UnderlineStyle = 'single' | 'double' | 'singleAccounting' | 'doubleAccounting';
31
+ export interface Font {
32
+ name?: string;
33
+ /** Points. */
34
+ size?: number;
35
+ bold?: boolean;
36
+ italic?: boolean;
37
+ underline?: UnderlineStyle;
38
+ strike?: boolean;
39
+ color?: Color;
40
+ vertAlign?: 'superscript' | 'subscript';
41
+ /** Font family class (`2` swiss, ...), kept for round trip. */
42
+ family?: number;
43
+ scheme?: 'major' | 'minor';
44
+ }
45
+ export type PatternType = 'none' | 'solid' | 'gray125' | 'gray0625' | 'darkGray' | 'mediumGray' | 'lightGray' | 'darkHorizontal' | 'darkVertical' | 'darkDown' | 'darkUp' | 'darkGrid' | 'darkTrellis' | 'lightHorizontal' | 'lightVertical' | 'lightDown' | 'lightUp' | 'lightGrid' | 'lightTrellis';
46
+ export interface GradientStop {
47
+ position: number;
48
+ color: Color;
49
+ }
50
+ export type Fill = {
51
+ type: 'pattern';
52
+ pattern: PatternType;
53
+ fgColor?: Color;
54
+ bgColor?: Color;
55
+ } | {
56
+ type: 'gradient';
57
+ gradient: 'linear' | 'path';
58
+ degree?: number;
59
+ stops: GradientStop[];
60
+ };
61
+ export type BorderStyle = 'thin' | 'medium' | 'thick' | 'dashed' | 'dotted' | 'double' | 'hair' | 'mediumDashed' | 'dashDot' | 'mediumDashDot' | 'dashDotDot' | 'mediumDashDotDot' | 'slantDashDot';
62
+ export interface BorderEdge {
63
+ style: BorderStyle;
64
+ color?: Color;
65
+ }
66
+ export interface Border {
67
+ left?: BorderEdge;
68
+ right?: BorderEdge;
69
+ top?: BorderEdge;
70
+ bottom?: BorderEdge;
71
+ diagonal?: BorderEdge;
72
+ diagonalUp?: boolean;
73
+ diagonalDown?: boolean;
74
+ }
75
+ export type HorizontalAlignment = 'general' | 'left' | 'center' | 'right' | 'fill' | 'justify' | 'centerContinuous' | 'distributed';
76
+ export type VerticalAlignment = 'top' | 'center' | 'bottom' | 'justify' | 'distributed';
77
+ export interface Alignment {
78
+ horizontal?: HorizontalAlignment;
79
+ vertical?: VerticalAlignment;
80
+ wrapText?: boolean;
81
+ shrinkToFit?: boolean;
82
+ indent?: number;
83
+ /** 0-90 counter-clockwise, 91-180 clockwise (90 + n), 255 vertical stacked text. */
84
+ textRotation?: number;
85
+ readingOrder?: number;
86
+ }
87
+ export interface Protection {
88
+ locked?: boolean;
89
+ hidden?: boolean;
90
+ }
91
+ /**
92
+ * A fully resolved cell format (one `cellXfs` entry with its font, fill, border and number
93
+ * format inlined). Style 0 of every workbook is the default format. Formats are immutable: an
94
+ * edit creates or reuses another entry through {@link StyleTable}.
95
+ */
96
+ export interface CellStyle {
97
+ font: Font;
98
+ fill: Fill;
99
+ border: Border;
100
+ /** The number format code (`General`, `0.00`, `m/d/yyyy`, ...). */
101
+ numFmt: string;
102
+ alignment?: Alignment;
103
+ protection?: Protection;
104
+ /** Name of the cell style (`Normal`, `Heading 1`) this format derives from, if any. */
105
+ cellStyleName?: string;
106
+ }
107
+ /** A run of rich text in a cell (`<r>` in a shared string). */
108
+ export interface RichTextRun {
109
+ text: string;
110
+ font?: Font;
111
+ }
112
+ export interface Cell {
113
+ value: CellValue;
114
+ /** The formula without its leading `=`, as written in `<f>`. */
115
+ formula?: string;
116
+ /** Array formula range (`<f t="array" ref="...">`), when this cell anchors one. */
117
+ arrayRange?: CellRange;
118
+ /** Index into {@link Workbook.styles}; absent means style 0. */
119
+ styleId?: number;
120
+ /** Rich text runs for a string value with mixed formatting. */
121
+ richText?: RichTextRun[];
122
+ /**
123
+ * The formula was stored as an Excel dynamic-array formula (`cm` pointing at `XLDAPR`
124
+ * cell metadata with `fDynamic`). Informational: formulas without {@link legacyFormula}
125
+ * are always evaluated with dynamic-array semantics, and the writer stores any formula that
126
+ * spills (or needs array evaluation) as a dynamic array whether or not this flag is set.
127
+ */
128
+ dynamicArray?: true;
129
+ /**
130
+ * The formula came from a file without dynamic-array metadata, so it uses pre-dynamic-array
131
+ * semantics: a range or array where one value is expected is reduced by implicit
132
+ * intersection (Excel shows these formulas with `@`) and the result never spills. The
133
+ * readers set it on plain formulas they load (not on CSE array formulas, which keep
134
+ * {@link arrayRange}); formulas typed in an edit session do not have it and are dynamic.
135
+ * Copying, filling and moving a cell keep the flag.
136
+ */
137
+ legacyFormula?: true;
138
+ }
139
+ export interface RowInfo {
140
+ /** Points. */
141
+ height?: number;
142
+ customHeight?: boolean;
143
+ hidden?: boolean;
144
+ styleId?: number;
145
+ outlineLevel?: number;
146
+ collapsed?: boolean;
147
+ }
148
+ export interface ColumnInfo {
149
+ /** Zero-based first and last column this entry covers. */
150
+ min: number;
151
+ max: number;
152
+ /** Width in characters of the default font's maximum digit width. */
153
+ width?: number;
154
+ customWidth?: boolean;
155
+ hidden?: boolean;
156
+ styleId?: number;
157
+ outlineLevel?: number;
158
+ collapsed?: boolean;
159
+ bestFit?: boolean;
160
+ }
161
+ export interface Hyperlink {
162
+ range: CellRange;
163
+ /** External target (URL or file); absent for in-workbook locations. */
164
+ target?: string;
165
+ /** In-workbook location (`Sheet2!A1`). */
166
+ location?: string;
167
+ tooltip?: string;
168
+ display?: string;
169
+ }
170
+ export interface Comment {
171
+ address: CellAddress;
172
+ author: string;
173
+ text: string;
174
+ /** Threaded-comment replies, oldest first (read from `threadedComments` when present). */
175
+ replies?: {
176
+ author: string;
177
+ text: string;
178
+ date?: string;
179
+ }[];
180
+ }
181
+ export type ConditionalOperator = 'lessThan' | 'lessThanOrEqual' | 'equal' | 'notEqual' | 'greaterThanOrEqual' | 'greaterThan' | 'between' | 'notBetween';
182
+ /** Differential format applied by conditional formatting (`dxf`). */
183
+ export interface DifferentialStyle {
184
+ font?: Font;
185
+ fill?: Fill;
186
+ border?: Border;
187
+ numFmt?: string;
188
+ }
189
+ export interface CfvoThreshold {
190
+ type: 'min' | 'max' | 'num' | 'percent' | 'percentile' | 'formula';
191
+ value?: string;
192
+ }
193
+ export type ConditionalRule = {
194
+ type: 'cellIs';
195
+ operator: ConditionalOperator;
196
+ formulas: string[];
197
+ style: DifferentialStyle;
198
+ priority: number;
199
+ stopIfTrue?: boolean;
200
+ } | {
201
+ type: 'expression';
202
+ formula: string;
203
+ style: DifferentialStyle;
204
+ priority: number;
205
+ stopIfTrue?: boolean;
206
+ } | {
207
+ type: 'colorScale';
208
+ thresholds: CfvoThreshold[];
209
+ colors: Color[];
210
+ priority: number;
211
+ } | {
212
+ type: 'dataBar';
213
+ min: CfvoThreshold;
214
+ max: CfvoThreshold;
215
+ color: Color;
216
+ priority: number;
217
+ showValue?: boolean;
218
+ /** GUID linking this rule to its Excel 2010 (`x14:dataBar`) extension, kept for round trip. */
219
+ extensionId?: string;
220
+ } | {
221
+ type: 'iconSet';
222
+ iconSet: string;
223
+ thresholds: CfvoThreshold[];
224
+ priority: number;
225
+ reverse?: boolean;
226
+ showValue?: boolean;
227
+ } | {
228
+ type: 'top10';
229
+ rank: number;
230
+ bottom?: boolean;
231
+ percent?: boolean;
232
+ style: DifferentialStyle;
233
+ priority: number;
234
+ } | {
235
+ type: 'aboveAverage';
236
+ below?: boolean;
237
+ equalAverage?: boolean;
238
+ style: DifferentialStyle;
239
+ priority: number;
240
+ } | {
241
+ type: 'duplicateValues' | 'uniqueValues' | 'containsBlanks' | 'notContainsBlanks' | 'containsErrors' | 'notContainsErrors';
242
+ style: DifferentialStyle;
243
+ priority: number;
244
+ } | {
245
+ type: 'containsText' | 'notContainsText' | 'beginsWith' | 'endsWith';
246
+ text: string;
247
+ style: DifferentialStyle;
248
+ priority: number;
249
+ } | {
250
+ /** "A Date Occurring": the cell's date falls in a period relative to today. */
251
+ type: 'timePeriod';
252
+ timePeriod: TimePeriod;
253
+ style: DifferentialStyle;
254
+ priority: number;
255
+ stopIfTrue?: boolean;
256
+ };
257
+ /** Periods of a `timePeriod` conditional-format rule (`ST_TimePeriod`). */
258
+ export type TimePeriod = 'today' | 'yesterday' | 'tomorrow' | 'last7Days' | 'thisWeek' | 'lastWeek' | 'nextWeek' | 'thisMonth' | 'lastMonth' | 'nextMonth';
259
+ export declare const TIME_PERIODS: readonly TimePeriod[];
260
+ export interface ConditionalFormat {
261
+ ranges: CellRange[];
262
+ rules: ConditionalRule[];
263
+ }
264
+ export type ValidationType = 'none' | 'whole' | 'decimal' | 'list' | 'date' | 'time' | 'textLength' | 'custom';
265
+ export interface DataValidation {
266
+ ranges: CellRange[];
267
+ type: ValidationType;
268
+ operator?: ConditionalOperator;
269
+ formula1?: string;
270
+ formula2?: string;
271
+ allowBlank?: boolean;
272
+ /** Show the in-cell drop-down for list validations (SpreadsheetML inverts this flag). */
273
+ showDropDown?: boolean;
274
+ showErrorMessage?: boolean;
275
+ showInputMessage?: boolean;
276
+ errorStyle?: 'stop' | 'warning' | 'information';
277
+ errorTitle?: string;
278
+ error?: string;
279
+ promptTitle?: string;
280
+ prompt?: string;
281
+ }
282
+ export interface FreezePane {
283
+ /** Number of frozen rows at the top. */
284
+ rows: number;
285
+ /** Number of frozen columns on the left. */
286
+ cols: number;
287
+ }
288
+ export interface AutoFilter {
289
+ range: CellRange;
290
+ /** Per-column filters keyed by zero-based column offset within the range. */
291
+ columns?: {
292
+ offset: number;
293
+ values?: string[];
294
+ blank?: boolean;
295
+ }[];
296
+ }
297
+ export interface TableColumn {
298
+ name: string;
299
+ totalsRowFunction?: string;
300
+ totalsRowLabel?: string;
301
+ calculatedColumnFormula?: string;
302
+ }
303
+ /** An Excel table (ListObject). */
304
+ export interface Table {
305
+ id: number;
306
+ name: string;
307
+ displayName: string;
308
+ range: CellRange;
309
+ headerRow: boolean;
310
+ totalsRow: boolean;
311
+ columns: TableColumn[];
312
+ styleName?: string;
313
+ showRowStripes?: boolean;
314
+ showColumnStripes?: boolean;
315
+ showFirstColumn?: boolean;
316
+ showLastColumn?: boolean;
317
+ /** Package part the table was read from, reused on save. */
318
+ partName?: string;
319
+ }
320
+ /** Where a drawing object sits on the grid (two-cell anchor, offsets in EMU). */
321
+ export interface DrawingAnchor {
322
+ from: CellAddress & {
323
+ colOffset: number;
324
+ rowOffset: number;
325
+ };
326
+ to?: CellAddress & {
327
+ colOffset: number;
328
+ rowOffset: number;
329
+ };
330
+ /** Extent in EMU for one-cell and absolute anchors. */
331
+ ext?: {
332
+ cx: number;
333
+ cy: number;
334
+ };
335
+ }
336
+ export interface ImageObject {
337
+ kind: 'image';
338
+ anchor: DrawingAnchor;
339
+ /** Package part of the image (`xl/media/image1.png`). */
340
+ partName: string;
341
+ contentType: string;
342
+ name?: string;
343
+ description?: string;
344
+ }
345
+ export type ChartType = 'bar' | 'column' | 'line' | 'pie' | 'doughnut' | 'area' | 'scatter' | 'radar' | 'bubble' | 'stock' | 'surface';
346
+ export interface ChartSeries {
347
+ name?: string;
348
+ /** Formula reference for the series name (`Sheet1!$B$1`). */
349
+ nameRef?: string;
350
+ categoriesRef?: string;
351
+ valuesRef?: string;
352
+ /** Cached categories and values from the chart part, used when references cannot resolve. */
353
+ categories: (string | number)[];
354
+ values: (number | null)[];
355
+ color?: Color;
356
+ }
357
+ export interface ChartObject {
358
+ kind: 'chart';
359
+ anchor: DrawingAnchor;
360
+ chartType: ChartType;
361
+ /** Bar/column grouping. */
362
+ grouping?: 'clustered' | 'stacked' | 'percentStacked' | 'standard';
363
+ title?: string;
364
+ series: ChartSeries[];
365
+ showLegend: boolean;
366
+ legendPosition?: 'r' | 'l' | 't' | 'b' | 'tr';
367
+ /** Package part of the chart (`xl/charts/chart1.xml`), kept so unmodelled detail survives. */
368
+ partName?: string;
369
+ name?: string;
370
+ }
371
+ /** A shape or object the model does not draw; reported so the UI can say so honestly. */
372
+ export interface UnsupportedDrawingObject {
373
+ kind: 'unsupported';
374
+ anchor: DrawingAnchor;
375
+ /** What it is (`shape`, `smartArt`, `ole`, `form control`, ...). */
376
+ description: string;
377
+ /** The anchor element's XML as read, written back verbatim when the drawing is regenerated. */
378
+ sourceXml?: string;
379
+ }
380
+ export type DrawingObject = ImageObject | ChartObject | UnsupportedDrawingObject;
381
+ export interface SheetView {
382
+ showGridLines: boolean;
383
+ showHeaders: boolean;
384
+ showZeros: boolean;
385
+ rightToLeft: boolean;
386
+ /** Percent. */
387
+ zoom: number;
388
+ freeze?: FreezePane;
389
+ /** Top-left visible cell of the scrollable pane. */
390
+ topLeft?: CellAddress;
391
+ selection?: {
392
+ active: CellAddress;
393
+ ranges: CellRange[];
394
+ };
395
+ /** Show formula text instead of results (`showFormulas`, Ctrl+`). */
396
+ showFormulas?: boolean;
397
+ }
398
+ /** Print options (`<printOptions>`). */
399
+ export interface PrintOptions {
400
+ /** Print gridlines. */
401
+ gridLines?: boolean;
402
+ /** Print row and column headings. */
403
+ headings?: boolean;
404
+ horizontalCentered?: boolean;
405
+ verticalCentered?: boolean;
406
+ }
407
+ export interface PageSetup {
408
+ orientation?: 'portrait' | 'landscape';
409
+ paperSize?: number;
410
+ scale?: number;
411
+ fitToWidth?: number;
412
+ fitToHeight?: number;
413
+ margins?: {
414
+ left: number;
415
+ right: number;
416
+ top: number;
417
+ bottom: number;
418
+ header: number;
419
+ footer: number;
420
+ };
421
+ printArea?: CellRange;
422
+ header?: string;
423
+ footer?: string;
424
+ }
425
+ export interface SheetProtection {
426
+ sheet: boolean;
427
+ /** Legacy password hash (`password` attribute), kept for round trip. */
428
+ passwordHash?: string;
429
+ /** Actions still allowed (`formatCells`, `insertRows`, `sort`, `autoFilter`, ...). */
430
+ allow?: string[];
431
+ }
432
+ export type SheetState = 'visible' | 'hidden' | 'veryHidden';
433
+ export interface Worksheet {
434
+ name: string;
435
+ /** `sheetId` from workbook.xml; unique and stable within the workbook. */
436
+ sheetId: number;
437
+ state: SheetState;
438
+ /** Cells keyed by row index, then column index (both zero-based). */
439
+ rows: Map<number, Map<number, Cell>>;
440
+ rowInfo: Map<number, RowInfo>;
441
+ columns: ColumnInfo[];
442
+ /** Points. */
443
+ defaultRowHeight: number;
444
+ /** Characters; absent means the Excel default (8.43 plus padding). */
445
+ defaultColWidth?: number;
446
+ merges: CellRange[];
447
+ view: SheetView;
448
+ hyperlinks: Hyperlink[];
449
+ comments: Comment[];
450
+ conditionalFormats: ConditionalFormat[];
451
+ dataValidations: DataValidation[];
452
+ tables: Table[];
453
+ drawings: DrawingObject[];
454
+ autoFilter?: AutoFilter;
455
+ pageSetup?: PageSetup;
456
+ /** Print options; absent means none set. */
457
+ printOptions?: PrintOptions;
458
+ protection?: SheetProtection;
459
+ tabColor?: Color;
460
+ /**
461
+ * Worksheet XML elements the model does not represent, keyed by local name and kept verbatim
462
+ * so a save writes them back in schema order (`printOptions`, `rowBreaks`, `extLst`, ...).
463
+ */
464
+ preserved: Map<string, string[]>;
465
+ /** Package part the sheet was read from, reused on save. */
466
+ partName?: string;
467
+ }
468
+ export interface DefinedName {
469
+ name: string;
470
+ /** The reference or formula, without a leading `=`. */
471
+ formula: string;
472
+ /** Zero-based sheet index for a sheet-scoped name. */
473
+ localSheet?: number;
474
+ hidden?: boolean;
475
+ comment?: string;
476
+ }
477
+ /** The workbook theme's colour palette and fonts, resolved for rendering. */
478
+ export interface ThemePalette {
479
+ /** 12 colours in theme order (lt1, dk1, lt2, dk2, accent1-6, hlink, folHlink) as `RRGGBB`. */
480
+ colors: string[];
481
+ majorFont: string;
482
+ minorFont: string;
483
+ }
484
+ export interface WorkbookProperties {
485
+ title?: string;
486
+ subject?: string;
487
+ creator?: string;
488
+ keywords?: string;
489
+ description?: string;
490
+ lastModifiedBy?: string;
491
+ created?: string;
492
+ modified?: string;
493
+ company?: string;
494
+ application?: string;
495
+ }
496
+ export interface Workbook {
497
+ sheets: Worksheet[];
498
+ /** Resolved cell formats; index 0 is the default. */
499
+ styles: CellStyle[];
500
+ /** Named cell styles (`Normal`, `Good`, `Heading 1`, ...) available for the styles gallery. */
501
+ namedStyles: {
502
+ name: string;
503
+ style: CellStyle;
504
+ builtinId?: number;
505
+ }[];
506
+ definedNames: DefinedName[];
507
+ theme: ThemePalette;
508
+ /** Zero-based index of the sheet shown first. */
509
+ activeSheet: number;
510
+ /** Dates count from 1904-01-01 instead of 1900-01-01. */
511
+ date1904: boolean;
512
+ properties: WorkbookProperties;
513
+ /** Recalculate formulas when the file opens (`calcPr fullCalcOnLoad`). */
514
+ fullCalcOnLoad?: boolean;
515
+ /** Workbook structure protection (no adding, deleting or renaming sheets). */
516
+ structureLocked?: boolean;
517
+ /** Legacy 16-bit hash of the structure protection password (`workbookPassword`, hex). */
518
+ workbookPasswordHash?: string;
519
+ /** Calculation mode (`calcPr calcMode`); absent means automatic. */
520
+ calcMode?: 'auto' | 'manual';
521
+ /**
522
+ * The package the workbook was loaded from, kept so parts the model does not represent
523
+ * (charts' full detail, VBA, pivot caches, custom XML) survive a save. Absent for new workbooks.
524
+ */
525
+ source?: SourcePackage;
526
+ /** Where the workbook came from, for honest reporting in the UI. */
527
+ format: 'xlsx' | 'xlsm' | 'xls' | 'csv' | 'new';
528
+ /** Things the loader read but could not model, surfaced to the user. */
529
+ warnings: string[];
530
+ }
531
+ /** Raw parts of the loaded package, keyed by part name (no leading slash). */
532
+ export interface SourcePackage {
533
+ parts: Map<string, Uint8Array>;
534
+ }
535
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/xlsx/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Built-in number formats (`numFmtId` values a workbook may use without declaring them), as Excel
3
+ * shows them in the en-US locale. Ids 23-36 and 50+ are locale specific (East Asian) and omitted.
4
+ */
5
+ export declare const BUILTIN_NUMBER_FORMATS: Readonly<Record<number, string>>;
6
+ /** The built-in id of a format code, or `undefined` when it has to be declared in `numFmts`. */
7
+ export declare function builtinFormatId(format: string): number | undefined;
8
+ export interface FormatPreset {
9
+ id: string;
10
+ label: string;
11
+ format: string;
12
+ }
13
+ /** The Home ribbon's number format drop-down. */
14
+ export declare const FORMAT_PRESETS: FormatPreset[];
15
+ //# sourceMappingURL=builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/xlsx/numfmt/builtins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuClE,CAAC;AAuBH,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,iDAAiD;AACjD,eAAO,MAAM,cAAc,EAAE,YAAY,EAYxC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type FractionPlan } from './fraction.js';
2
+ import { type NumberPlan } from './number.js';
3
+ import type { Condition, Section } from './types.js';
4
+ export interface CompiledSection extends Section {
5
+ number?: NumberPlan;
6
+ fraction?: FractionPlan;
7
+ }
8
+ export interface Compiled {
9
+ /** Sections used for numbers (1-3; a lone conditional section gets a General fallback). */
10
+ numeric: CompiledSection[];
11
+ /** Section used for text values, if the format has one. */
12
+ text?: CompiledSection;
13
+ conditional: boolean;
14
+ isDate: boolean;
15
+ }
16
+ /** Parses a format code once; results are cached by code. */
17
+ export declare function compileFormat(format: string): Compiled;
18
+ export declare function matches(c: Condition, v: number): boolean;
19
+ export interface Choice {
20
+ section: CompiledSection;
21
+ /** Whether the section shows the absolute value (no minus sign). */
22
+ abs: boolean;
23
+ }
24
+ /** Picks the section for a number the way Excel does (`undefined`: no section applies, `####`). */
25
+ export declare function chooseSection(c: Compiled, v: number): Choice | undefined;
26
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/xlsx/numfmt/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAiB,MAAM,eAAe,CAAC;AAClF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACxB,2FAA2F;IAC3F,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CAChB;AAwBD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CA2BtD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAexD;AAMD,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,eAAe,CAAC;IACzB,oEAAoE;IACpE,GAAG,EAAE,OAAO,CAAC;CACb;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBxE"}