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
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/visio/geometry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAU,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAIzE,gGAAgG;AAChG,wBAAgB,cAAc,CAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACb,WAAW,CAUb;AACD,wBAAgB,SAAS,CACxB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,UAAQ,EACb,KAAK,UAAQ,GACX,WAAW,CAQb;AAsCD,4EAA4E;AAC5E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe,GAC7C,aAAa,EAAE,CAwNjB"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/visio/geometry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAU,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAIzE,gGAAgG;AAChG,wBAAgB,cAAc,CAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACb,WAAW,CAUb;AACD,wBAAgB,SAAS,CACxB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,UAAQ,EACb,KAAK,UAAQ,GACX,WAAW,CAQb;AAsCD,4EAA4E;AAC5E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe,GAC7C,aAAa,EAAE,CA4NjB"}
@@ -3653,6 +3653,63 @@ function roundedRectanglePath(points, rounding, point2) {
3653
3653
  commands.push("Z");
3654
3654
  return commands.join(" ");
3655
3655
  }
3656
+ function roundedOrthogonalPath(points, radius, point2) {
3657
+ if (!points || points.length < 3 || !Number.isFinite(radius) || radius < 1e-9) return void 0;
3658
+ if (!points.every((p) => p.every(Number.isFinite))) return void 0;
3659
+ const first = points[0], last = points[points.length - 1];
3660
+ if (first[0] === last[0] && first[1] === last[1]) return void 0;
3661
+ const directions = [], lengths = [];
3662
+ for (let i = 1; i < points.length; i++) {
3663
+ const from = points[i - 1], to = points[i];
3664
+ const dx = to[0] - from[0], dy = to[1] - from[1];
3665
+ if (dx === 0 === (dy === 0)) return void 0;
3666
+ const length = Math.abs(dx || dy);
3667
+ if (!Number.isFinite(length)) return void 0;
3668
+ directions.push([dx / length, dy / length]);
3669
+ lengths.push(length);
3670
+ }
3671
+ const corners = [false];
3672
+ for (let i = 1; i < points.length - 1; i++) {
3673
+ const a = directions[i - 1], b = directions[i];
3674
+ const dot = a[0] * b[0] + a[1] * b[1];
3675
+ if (dot < 0) return void 0;
3676
+ corners.push(dot === 0);
3677
+ }
3678
+ corners.push(false);
3679
+ for (let i = 0; i < lengths.length; i++) {
3680
+ const required = (Number(corners[i]) + Number(corners[i + 1])) * radius;
3681
+ if (lengths[i] < required) return void 0;
3682
+ }
3683
+ const commands = [`M ${point2(first[0], first[1])}`];
3684
+ let extraCommands = 0;
3685
+ for (let i = 1; i < points.length - 1; i++) {
3686
+ const vertex = points[i];
3687
+ if (!corners[i]) {
3688
+ commands.push(`L ${point2(vertex[0], vertex[1])}`);
3689
+ continue;
3690
+ }
3691
+ const incoming = directions[i - 1], outgoing = directions[i];
3692
+ const entry = [
3693
+ vertex[0] - incoming[0] * radius,
3694
+ vertex[1] - incoming[1] * radius
3695
+ ];
3696
+ const exit = [
3697
+ vertex[0] + outgoing[0] * radius,
3698
+ vertex[1] + outgoing[1] * radius
3699
+ ];
3700
+ if (!entry.every(Number.isFinite) || !exit.every(Number.isFinite) || point2(...entry) === point2(...vertex) || point2(...exit) === point2(...vertex))
3701
+ return void 0;
3702
+ const sweep = incoming[0] * outgoing[1] - incoming[1] * outgoing[0] > 0 ? 1 : 0;
3703
+ commands.push(
3704
+ `L ${point2(...entry)}`,
3705
+ `A ${point2(radius, radius)} 0 0 ${sweep} ${point2(...exit)}`
3706
+ );
3707
+ extraCommands++;
3708
+ }
3709
+ if (!extraCommands) return void 0;
3710
+ commands.push(`L ${point2(last[0], last[1])}`);
3711
+ return { path: commands.join(" "), extraCommands };
3712
+ }
3656
3713
 
3657
3714
  // src/visio/geometry.ts
3658
3715
  var clean = (value) => Math.abs(value) < 1e-12 ? 0 : Number(value.toFixed(9));
@@ -3704,7 +3761,7 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3704
3761
  continue;
3705
3762
  const commands = [];
3706
3763
  const rows = [...section.rows.values()].filter((row) => !row.deleted).sort((a, b) => Number(a.index) - Number(b.index));
3707
- let rectangle = rows.length === 5 && rows.every(
3764
+ let linePoints = rows.length >= 3 && rows.every(
3708
3765
  (row, i) => i === 0 ? ["MoveTo", "RelMoveTo"].includes(row.type) : ["LineTo", "RelLineTo"].includes(row.type)
3709
3766
  ) ? [] : void 0;
3710
3767
  let currentX = 0, currentY = 0, currentValid = false, supported = true;
@@ -3755,11 +3812,12 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3755
3812
  const relative = row.type.startsWith("Rel");
3756
3813
  const xScale = relative ? width : 1, yScale = relative ? height : 1;
3757
3814
  const cell = (name, fallback = 0) => number(row.cells, name, fallback, (code, message, context) => {
3758
- rectangle = void 0;
3815
+ linePoints = void 0;
3759
3816
  report(code, message, context);
3760
3817
  });
3818
+ if (!row.cells.has("X") || !row.cells.has("Y")) linePoints = void 0;
3761
3819
  const x = cell("X") * xScale, y = cell("Y") * yScale;
3762
- rectangle?.push([x, y]);
3820
+ linePoints?.push([x, y]);
3763
3821
  switch (row.type) {
3764
3822
  case "MoveTo":
3765
3823
  case "RelMoveTo":
@@ -3865,13 +3923,15 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3865
3923
  currentY = y;
3866
3924
  }
3867
3925
  if (!supported) continue;
3868
- const rounded = rounding > 0 ? roundedRectanglePath(rectangle, rounding, point) : void 0;
3926
+ const rectangle = rounding > 0 ? roundedRectanglePath(linePoints, rounding, point) : void 0;
3927
+ const open = rounding > 0 && !rectangle ? roundedOrthogonalPath(linePoints, rounding, point) : void 0;
3928
+ const rounded = rectangle ?? open?.path;
3869
3929
  if (rounded) {
3870
- for (let i = 0; i < 5; i++) consume();
3930
+ for (let i = 0; i < (rectangle ? 5 : open.extraCommands); i++) consume();
3871
3931
  } else if (rounding > 0 && commands.length)
3872
3932
  report(
3873
3933
  "unsupported-corner-rounding",
3874
- "Corner rounding is supported only on a closed axis-aligned rectangular line path; this geometry was left unchanged."
3934
+ "Corner rounding requires a closed axis-aligned rectangle or an open orthogonal line chain with space for the saved radius; this geometry was left unchanged."
3875
3935
  );
3876
3936
  if (commands.length)
3877
3937
  geometry.push({
@@ -3647,6 +3647,63 @@ function roundedRectanglePath(points, rounding, point2) {
3647
3647
  commands.push("Z");
3648
3648
  return commands.join(" ");
3649
3649
  }
3650
+ function roundedOrthogonalPath(points, radius, point2) {
3651
+ if (!points || points.length < 3 || !Number.isFinite(radius) || radius < 1e-9) return void 0;
3652
+ if (!points.every((p) => p.every(Number.isFinite))) return void 0;
3653
+ const first = points[0], last = points[points.length - 1];
3654
+ if (first[0] === last[0] && first[1] === last[1]) return void 0;
3655
+ const directions = [], lengths = [];
3656
+ for (let i = 1; i < points.length; i++) {
3657
+ const from = points[i - 1], to = points[i];
3658
+ const dx = to[0] - from[0], dy = to[1] - from[1];
3659
+ if (dx === 0 === (dy === 0)) return void 0;
3660
+ const length = Math.abs(dx || dy);
3661
+ if (!Number.isFinite(length)) return void 0;
3662
+ directions.push([dx / length, dy / length]);
3663
+ lengths.push(length);
3664
+ }
3665
+ const corners = [false];
3666
+ for (let i = 1; i < points.length - 1; i++) {
3667
+ const a = directions[i - 1], b = directions[i];
3668
+ const dot = a[0] * b[0] + a[1] * b[1];
3669
+ if (dot < 0) return void 0;
3670
+ corners.push(dot === 0);
3671
+ }
3672
+ corners.push(false);
3673
+ for (let i = 0; i < lengths.length; i++) {
3674
+ const required = (Number(corners[i]) + Number(corners[i + 1])) * radius;
3675
+ if (lengths[i] < required) return void 0;
3676
+ }
3677
+ const commands = [`M ${point2(first[0], first[1])}`];
3678
+ let extraCommands = 0;
3679
+ for (let i = 1; i < points.length - 1; i++) {
3680
+ const vertex = points[i];
3681
+ if (!corners[i]) {
3682
+ commands.push(`L ${point2(vertex[0], vertex[1])}`);
3683
+ continue;
3684
+ }
3685
+ const incoming = directions[i - 1], outgoing = directions[i];
3686
+ const entry = [
3687
+ vertex[0] - incoming[0] * radius,
3688
+ vertex[1] - incoming[1] * radius
3689
+ ];
3690
+ const exit = [
3691
+ vertex[0] + outgoing[0] * radius,
3692
+ vertex[1] + outgoing[1] * radius
3693
+ ];
3694
+ if (!entry.every(Number.isFinite) || !exit.every(Number.isFinite) || point2(...entry) === point2(...vertex) || point2(...exit) === point2(...vertex))
3695
+ return void 0;
3696
+ const sweep = incoming[0] * outgoing[1] - incoming[1] * outgoing[0] > 0 ? 1 : 0;
3697
+ commands.push(
3698
+ `L ${point2(...entry)}`,
3699
+ `A ${point2(radius, radius)} 0 0 ${sweep} ${point2(...exit)}`
3700
+ );
3701
+ extraCommands++;
3702
+ }
3703
+ if (!extraCommands) return void 0;
3704
+ commands.push(`L ${point2(last[0], last[1])}`);
3705
+ return { path: commands.join(" "), extraCommands };
3706
+ }
3650
3707
 
3651
3708
  // src/visio/geometry.ts
3652
3709
  var clean = (value) => Math.abs(value) < 1e-12 ? 0 : Number(value.toFixed(9));
@@ -3698,7 +3755,7 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3698
3755
  continue;
3699
3756
  const commands = [];
3700
3757
  const rows = [...section.rows.values()].filter((row) => !row.deleted).sort((a, b) => Number(a.index) - Number(b.index));
3701
- let rectangle = rows.length === 5 && rows.every(
3758
+ let linePoints = rows.length >= 3 && rows.every(
3702
3759
  (row, i) => i === 0 ? ["MoveTo", "RelMoveTo"].includes(row.type) : ["LineTo", "RelLineTo"].includes(row.type)
3703
3760
  ) ? [] : void 0;
3704
3761
  let currentX = 0, currentY = 0, currentValid = false, supported = true;
@@ -3749,11 +3806,12 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3749
3806
  const relative = row.type.startsWith("Rel");
3750
3807
  const xScale = relative ? width : 1, yScale = relative ? height : 1;
3751
3808
  const cell = (name, fallback = 0) => number(row.cells, name, fallback, (code, message, context) => {
3752
- rectangle = void 0;
3809
+ linePoints = void 0;
3753
3810
  report(code, message, context);
3754
3811
  });
3812
+ if (!row.cells.has("X") || !row.cells.has("Y")) linePoints = void 0;
3755
3813
  const x = cell("X") * xScale, y = cell("Y") * yScale;
3756
- rectangle?.push([x, y]);
3814
+ linePoints?.push([x, y]);
3757
3815
  switch (row.type) {
3758
3816
  case "MoveTo":
3759
3817
  case "RelMoveTo":
@@ -3859,13 +3917,15 @@ function geometryPaths(sheet, width, height, report, consume, consumeWork = () =
3859
3917
  currentY = y;
3860
3918
  }
3861
3919
  if (!supported) continue;
3862
- const rounded = rounding > 0 ? roundedRectanglePath(rectangle, rounding, point) : void 0;
3920
+ const rectangle = rounding > 0 ? roundedRectanglePath(linePoints, rounding, point) : void 0;
3921
+ const open = rounding > 0 && !rectangle ? roundedOrthogonalPath(linePoints, rounding, point) : void 0;
3922
+ const rounded = rectangle ?? open?.path;
3863
3923
  if (rounded) {
3864
- for (let i = 0; i < 5; i++) consume();
3924
+ for (let i = 0; i < (rectangle ? 5 : open.extraCommands); i++) consume();
3865
3925
  } else if (rounding > 0 && commands.length)
3866
3926
  report(
3867
3927
  "unsupported-corner-rounding",
3868
- "Corner rounding is supported only on a closed axis-aligned rectangular line path; this geometry was left unchanged."
3928
+ "Corner rounding requires a closed axis-aligned rectangle or an open orthogonal line chain with space for the saved radius; this geometry was left unchanged."
3869
3929
  );
3870
3930
  if (commands.length)
3871
3931
  geometry.push({
@@ -5,4 +5,13 @@ export type RectanglePoint = readonly [number, number];
5
5
  * https://learn.microsoft.com/en-us/office/client-developer/visio/rounding-cell-line-format-section
6
6
  */
7
7
  export declare function roundedRectanglePath(points: readonly RectanglePoint[] | undefined, rounding: number, point: (x: number, y: number) => string): string | undefined;
8
+ /**
9
+ * Open orthogonal line chains with enough space for the saved radius, without
10
+ * clamping. Repeated vertices deliberately remain unsupported: Visio authors
11
+ * use them to suppress rounding (see docs/visio-connector-rounding.md).
12
+ */
13
+ export declare function roundedOrthogonalPath(points: readonly RectanglePoint[] | undefined, radius: number, point: (x: number, y: number) => string): {
14
+ path: string;
15
+ extraCommands: number;
16
+ } | undefined;
8
17
  //# sourceMappingURL=rounded-geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rounded-geometry.d.ts","sourceRoot":"","sources":["../../src/visio/rounded-geometry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC7C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GACrC,MAAM,GAAG,SAAS,CAuDpB"}
1
+ {"version":3,"file":"rounded-geometry.d.ts","sourceRoot":"","sources":["../../src/visio/rounded-geometry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC7C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GACrC,MAAM,GAAG,SAAS,CAuDpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAsErD"}
@@ -0,0 +1,42 @@
1
+ /** Largest zero-based row index in a SpreadsheetML sheet (1,048,576 rows). */
2
+ export declare const MAX_ROW = 1048575;
3
+ /** Largest zero-based column index in a SpreadsheetML sheet (16,384 columns, `XFD`). */
4
+ export declare const MAX_COL = 16383;
5
+ /** A zero-based cell position. */
6
+ export interface CellAddress {
7
+ row: number;
8
+ col: number;
9
+ }
10
+ /** A rectangular, inclusive, zero-based range with `start` at the top left. */
11
+ export interface CellRange {
12
+ start: CellAddress;
13
+ end: CellAddress;
14
+ }
15
+ /** `0` -> `A`, `25` -> `Z`, `26` -> `AA`. */
16
+ export declare function columnLabel(col: number): string;
17
+ /** `A` -> `0`, `AA` -> `26`; case-insensitive. Returns `-1` for anything that is not letters. */
18
+ export declare function columnIndex(label: string): number;
19
+ /** `{ row: 0, col: 0 }` -> `A1`. */
20
+ export declare const formatAddress: (address: CellAddress) => string;
21
+ /** Parses `A1` or `$A$1`; returns `undefined` for malformed or out-of-grid references. */
22
+ export declare function parseAddress(ref: string): CellAddress | undefined;
23
+ /** Orders a range so `start` is the top-left corner. */
24
+ export declare function normalizeRange(range: CellRange): CellRange;
25
+ /**
26
+ * Parses `A1:B2`, a single cell `A1`, whole columns `A:C` or whole rows `1:3`. Whole-row and
27
+ * whole-column ranges extend to the grid edge.
28
+ */
29
+ export declare function parseRange(ref: string): CellRange | undefined;
30
+ /** `A1:B2`, or `A1` when the range is one cell. */
31
+ export declare function formatRange(range: CellRange): string;
32
+ export declare const rangeContains: (range: CellRange, address: CellAddress) => boolean;
33
+ export declare const rangesIntersect: (a: CellRange, b: CellRange) => boolean;
34
+ /** Number of cells in a range. */
35
+ export declare const rangeSize: (range: CellRange) => number;
36
+ /** A numeric key for a cell, unique within a sheet; used for cell maps and dependency graphs. */
37
+ export declare const cellKey: (row: number, col: number) => number;
38
+ /** The inverse of {@link cellKey}. */
39
+ export declare const keyToAddress: (key: number) => CellAddress;
40
+ /** Quotes a sheet name for use in a formula reference when it needs it (`'My Sheet'!A1`). */
41
+ export declare function quoteSheetName(name: string): string;
42
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/xlsx/address.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,OAAO,UAAY,CAAC;AACjC,wFAAwF;AACxF,eAAO,MAAM,OAAO,QAAS,CAAC;AAE9B,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;CACjB;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,oCAAoC;AACpC,eAAO,MAAM,aAAa,GAAI,SAAS,WAAW,KAAG,MACL,CAAC;AAEjD,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAOjE;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAW1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAsB7D;AAED,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAIpD;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,SAAS,EAAE,SAAS,WAAW,KAAG,OAI1C,CAAC;AAE9B,eAAO,MAAM,eAAe,GAAI,GAAG,SAAS,EAAE,GAAG,SAAS,KAAG,OAIpC,CAAC;AAE1B,kCAAkC;AAClC,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,KAAG,MACiC,CAAC;AAE/E,iGAAiG;AACjG,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAmC,CAAC;AAEvF,sCAAsC;AACtC,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,WAGzC,CAAC;AAEH,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD"}
@@ -0,0 +1,25 @@
1
+ import type { Alignment, Border, CellStyle, Fill, Font, Protection } from './model.js';
2
+ export interface BuiltinCellStyle {
3
+ name: string;
4
+ /** `builtinId` of `cellStyle` in styles.xml. */
5
+ builtinId: number;
6
+ /** Gallery group, as Excel shows them. */
7
+ group: 'good-bad' | 'data' | 'titles' | 'themed' | 'number';
8
+ /** Font changes over the workbook's Normal font (the whole font is replaced when present). */
9
+ font?: Partial<Font>;
10
+ fill?: Fill;
11
+ border?: Border;
12
+ numFmt?: string;
13
+ alignment?: Alignment;
14
+ protection?: Protection;
15
+ }
16
+ /** Every built-in cell style this package knows, in gallery order. */
17
+ export declare const BUILTIN_CELL_STYLES: readonly BuiltinCellStyle[];
18
+ /** A built-in cell style by name (case-insensitive). */
19
+ export declare const builtinCellStyle: (name: string) => BuiltinCellStyle | undefined;
20
+ /**
21
+ * Applies a built-in style's aspects to `base`; `normal` is the workbook's Normal format, whose
22
+ * font the style's font changes start from. `Normal` itself resets every aspect.
23
+ */
24
+ export declare function applyBuiltinStyle(base: CellStyle, entry: BuiltinCellStyle, normal: CellStyle): CellStyle;
25
+ //# sourceMappingURL=cell-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-styles.d.ts","sourceRoot":"","sources":["../../src/xlsx/cell-styles.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAS,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5D,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAqDD,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAwJ1D,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,gBAAgB,GAAG,SACU,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,GACf,SAAS,CAiBX"}
@@ -0,0 +1,25 @@
1
+ import type { CellAddress, CellRange } from './address.js';
2
+ import type { Cell, CellValue, Worksheet } from './model.js';
3
+ /** The cell at a position, or `undefined` for an empty one. */
4
+ export declare const getCell: (sheet: Worksheet, row: number, col: number) => Cell | undefined;
5
+ export declare const getCellAt: (sheet: Worksheet, address: CellAddress) => Cell | undefined;
6
+ /** A cell's value; empty cells are `null`. */
7
+ export declare const getValue: (sheet: Worksheet, row: number, col: number) => CellValue;
8
+ /** Stores `cell` at a position, replacing what was there. */
9
+ export declare function putCell(sheet: Worksheet, row: number, col: number, cell: Cell): void;
10
+ /** Removes the cell at a position; empty rows are dropped from the map. */
11
+ export declare function deleteCell(sheet: Worksheet, row: number, col: number): void;
12
+ /** Whether a cell holds nothing worth saving (no value, no formula, default style). */
13
+ export declare const isEmptyCell: (cell: Cell | undefined) => boolean;
14
+ /** Visits every stored cell in row-major order. */
15
+ export declare function forEachCell(sheet: Worksheet, visit: (cell: Cell, row: number, col: number) => void): void;
16
+ /** Visits stored cells inside a range, in row-major order. */
17
+ export declare function forEachCellInRange(sheet: Worksheet, range: CellRange, visit: (cell: Cell, row: number, col: number) => void): void;
18
+ /**
19
+ * The used range: the smallest range holding every stored cell (`undefined` for an empty sheet).
20
+ * Styled-but-empty cells count, matching Excel's `dimension`.
21
+ */
22
+ export declare function usedRange(sheet: Worksheet): CellRange | undefined;
23
+ /** The merged range a cell belongs to, if any. */
24
+ export declare function mergeAt(sheet: Worksheet, row: number, col: number): CellRange | undefined;
25
+ //# sourceMappingURL=cells.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../src/xlsx/cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7D,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,OAAO,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,IAAI,GAAG,SAC9C,CAAC;AAE/B,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,EAAE,SAAS,WAAW,KAAG,IAAI,GAAG,SACjC,CAAC;AAE1C,8CAA8C;AAC9C,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,SAC9B,CAAC;AAEzC,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAOpF;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAK3E;AAED,uFAAuF;AACvF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,GAAG,SAAS,KAAG,OAE4C,CAAC;AAElG,mDAAmD;AACnD,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GACnD,IAAI,CASN;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GACnD,IAAI,CAeN;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAgBjE;AAED,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAIzF"}
@@ -0,0 +1,17 @@
1
+ import { type CellAddress, type CellRange } from '../address.js';
2
+ import type { ConditionalFormat, DataValidation, Hyperlink } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ /** Adds, replaces or (with `text` undefined) removes the comment on a cell. */
5
+ export declare function setComment(ctx: EditContext, s: number, at: CellAddress, text: string | undefined, author: string): void;
6
+ /**
7
+ * Sets (or removes) the hyperlink on a range. Links overlapping the range are replaced; an empty
8
+ * anchor cell gets the link's display text and the cells get the hyperlink look.
9
+ */
10
+ export declare function setHyperlink(ctx: EditContext, s: number, range: CellRange, link: Omit<Hyperlink, 'range'> | undefined): void;
11
+ /** Adds a conditional format whose rules take the top priorities (as a new rule does in Excel). */
12
+ export declare function addConditionalFormat(ctx: EditContext, s: number, format: ConditionalFormat): void;
13
+ /** Clears conditional formats from a range (rules covering more keep the rest) or the sheet. */
14
+ export declare function clearConditionalFormats(ctx: EditContext, s: number, range?: CellRange): void;
15
+ /** Sets the validation of a range (replacing what overlapped it) or clears it when undefined. */
16
+ export declare function setDataValidation(ctx: EditContext, s: number, validation: DataValidation | undefined, range: CellRange): void;
17
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAElG,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAIzD,+EAA+E;AAC/E,wBAAgB,UAAU,CACzB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GACZ,IAAI,CAuBN;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,IAAI,CA0BN;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAoBjG;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAiB5F;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,KAAK,EAAE,SAAS,GACd,IAAI,CAeN"}
@@ -0,0 +1,9 @@
1
+ import { type AxisShift } from './range-math.js';
2
+ import type { Band } from './shift-sheet.js';
3
+ /**
4
+ * Rewrites a formula for an insert-cells or delete-cells shift: only cell and area references lying
5
+ * entirely inside the band move (as Excel does); references to deleted cells become `#REF!`.
6
+ * Unparseable formulas are returned unchanged.
7
+ */
8
+ export declare function shiftFormulaInBand(formula: string, formulaSheet: string, sheet: string, shift: AxisShift, band: Band): string;
9
+ //# sourceMappingURL=band-formulas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"band-formulas.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/band-formulas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAa7C;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAI,GACR,MAAM,CA+CR"}
@@ -0,0 +1,8 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { Border, BorderEdge } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ import type { BorderPreset } from './types.js';
5
+ /** The border edges a preset sets on the cell at (`row`, `col`) of range `r`. */
6
+ export declare function presetEdges(preset: BorderPreset, r: CellRange, row: number, col: number, edge: BorderEdge): Partial<Border> | undefined;
7
+ export declare function setBorders(ctx: EditContext, s: number, range: CellRange, preset: BorderPreset, edge?: BorderEdge): void;
8
+ //# sourceMappingURL=borders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borders.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/borders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAc,KAAK,WAAW,EAAuC,MAAM,cAAc,CAAC;AAEjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,iFAAiF;AACjF,wBAAgB,WAAW,CAC1B,MAAM,EAAE,YAAY,EACpB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAqE7B;AAED,wBAAgB,UAAU,CACzB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,UAA8B,GAClC,IAAI,CA0BN"}
@@ -0,0 +1,11 @@
1
+ import type { Workbook } from '../model.js';
2
+ import type { EditContext } from './context.js';
3
+ export type CalcMode = 'auto' | 'manual';
4
+ /** The workbook's calculation mode (automatic unless the model says manual). */
5
+ export declare const calcModeOf: (workbook: Workbook) => CalcMode;
6
+ /**
7
+ * Switches automatic or manual calculation (saved as `calcPr calcMode`). Switching back to
8
+ * automatic recalculates, as Excel does. One undo step.
9
+ */
10
+ export declare function setCalcMode(ctx: EditContext, mode: CalcMode): void;
11
+ //# sourceMappingURL=calc-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc-mode.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/calc-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzC,gFAAgF;AAChF,eAAO,MAAM,UAAU,GAAI,UAAU,QAAQ,KAAG,QACG,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAYlE"}
@@ -0,0 +1,11 @@
1
+ import { type CellRange } from '../address.js';
2
+ import { type EditContext } from './context.js';
3
+ /**
4
+ * Inserts blank cells over `range`, pushing the cells below (or to the right) along. A range
5
+ * spanning whole rows or columns is a row or column insert. References lying entirely inside the
6
+ * moved band follow the cells; references straddling the band edge stay as written.
7
+ */
8
+ export declare function insertCellsShift(ctx: EditContext, s: number, range: CellRange, direction: 'down' | 'right'): void;
9
+ /** Deletes the cells of `range`, pulling the cells below (or to the right) in. */
10
+ export declare function deleteCellsShift(ctx: EditContext, s: number, range: CellRange, direction: 'up' | 'left'): void;
11
+ //# sourceMappingURL=cell-shift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-shift.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/cell-shift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,eAAe,CAAC;AAGlG,OAAO,EAAE,KAAK,WAAW,EAAwC,MAAM,cAAc,CAAC;AAwDtF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAAG,OAAO,GACzB,IAAI,CAON;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,IAAI,GAAG,MAAM,GACtB,IAAI,CAON"}
@@ -0,0 +1,9 @@
1
+ import { type CellRange } from '../address.js';
2
+ import { type EditContext } from './context.js';
3
+ /**
4
+ * Applies a named cell style (a built-in one such as `Good` or `Heading 1`, or one the workbook
5
+ * defines) to ranges: the aspects the style includes replace the cells' formatting and the
6
+ * cells record the style name, so the saved file lists it in Excel's gallery.
7
+ */
8
+ export declare function applyCellStyle(ctx: EditContext, s: number, ranges: CellRange[], name: string): void;
9
+ //# sourceMappingURL=cell-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-style.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/cell-style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,eAAe,CAAC;AAI/D,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AA0CzD;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,EAAE,MAAM,GACV,IAAI,CA6BN"}
@@ -0,0 +1,21 @@
1
+ import { type CellAddress, type CellRange } from '../address.js';
2
+ import type { Cell, CellValue, Worksheet } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ import type { EditScope } from './history.js';
5
+ import type { ClearWhat } from './types.js';
6
+ /** Keeps a table's column name in step with its header cell. */
7
+ export declare function syncTableHeader(ctx: EditContext, sheet: Worksheet, row: number, col: number): void;
8
+ /** Undo scope for writing to cells: the cells, or the whole sheet when a table header changes. */
9
+ export declare function writeScope(sheet: Worksheet, index: number, range: CellRange): EditScope;
10
+ /** Writes typed text into a cell without opening an undo step (shared by paste and replace). */
11
+ export declare function writeInput(ctx: EditContext, sheet: Worksheet, row: number, col: number, text: string): void;
12
+ /** Writes a value into a cell (no parsing) without opening an undo step. */
13
+ export declare function writeValue(sheet: Worksheet, row: number, col: number, value: CellValue): void;
14
+ export declare function clearContents(cell: Cell): void;
15
+ export declare function setCellInput(ctx: EditContext, s: number, row: number, col: number, text: string): void;
16
+ export declare function setCellValue(ctx: EditContext, s: number, row: number, col: number, value: CellValue): void;
17
+ export declare function setRangeValues(ctx: EditContext, s: number, at: CellAddress, values: CellValue[][]): void;
18
+ export declare function clearRange(ctx: EditContext, s: number, range: CellRange, what: ClearWhat): void;
19
+ /** Clears part of a range's content in place (no undo step). */
20
+ export declare function clearIn(ctx: EditContext, sheet: Worksheet, r: CellRange, what: ClearWhat): void;
21
+ //# sourceMappingURL=cell-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-values.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/cell-values.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,SAAS,EAId,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACN,KAAK,WAAW,EAMhB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa5C,gEAAgE;AAChE,wBAAgB,eAAe,CAC9B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,IAAI,CAON;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAavF;AAED,gGAAgG;AAChG,wBAAgB,UAAU,CACzB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACV,IAAI,CAoBN;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU7F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAS9C;AAED,wBAAgB,YAAY,CAC3B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACV,IAAI,CAaN;AAED,wBAAgB,YAAY,CAC3B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,GACd,IAAI,CAaN;AAED,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,SAAS,EAAE,EAAE,GACnB,IAAI,CAmBN;AAUD,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAY/F;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CA6B/F"}
@@ -0,0 +1,22 @@
1
+ import type { ChartObject, DrawingAnchor, ImageObject, Workbook } from '../model.js';
2
+ import { type EditContext } from './context.js';
3
+ /** File extensions for the picture types Excel accepts. */
4
+ export declare const IMAGE_EXTENSIONS: Readonly<Record<string, string>>;
5
+ /** What `updateChart` may change (the chart keeps its kind and source part). */
6
+ export type ChartPatch = Partial<Omit<ChartObject, 'kind' | 'partName'>>;
7
+ /** Adds a chart drawn from the model (a new chart part is written on save); returns its index. */
8
+ export declare function addChart(ctx: EditContext, s: number, chart: Omit<ChartObject, 'kind'>): number;
9
+ /**
10
+ * Edits a chart. A chart read from a file keeps its part: on save the title, legend, series
11
+ * names and references are patched into it so formatting the model does not carry survives;
12
+ * changing the type, grouping or number of series rewrites the part from the model.
13
+ */
14
+ export declare function updateChart(ctx: EditContext, s: number, index: number, patch: ChartPatch): void;
15
+ /** A media part name not used by the workbook's package yet (`xl/media/imageN.ext`). */
16
+ export declare function newMediaPart(workbook: Workbook, contentType: string): string;
17
+ /**
18
+ * Inserts a picture. Its bytes are stored in the workbook's package (created when the workbook
19
+ * has none) under a new media part, which the writer copies on save. Returns the image.
20
+ */
21
+ export declare function addImage(ctx: EditContext, s: number, bytes: Uint8Array, contentType: string, anchor: DrawingAnchor, name?: string): ImageObject;
22
+ //# sourceMappingURL=charts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/charts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7D,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AAEzE,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,CAc9F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAkB/F;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAS5E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACvB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,MAAM,GACX,WAAW,CAwBb"}
@@ -0,0 +1,12 @@
1
+ import type { CellStyle, Color } from '../model.js';
2
+ import type { ClipboardCells } from './types.js';
3
+ /** A CSS colour (`#rgb`, `#rrggbb`, `rgb()`, a basic name) as a model colour. */
4
+ export declare function parseCssColor(text: string): Color | undefined;
5
+ export declare function decodeEntities(text: string): string;
6
+ /**
7
+ * Parses the first `<table>` of clipboard HTML (as Excel, Sheets or a browser write it) into
8
+ * cells. Class rules in `<style>` and inline styles become formats over `base`; `x:num` and
9
+ * `mso-number-format` are honoured; row and column spans become merges.
10
+ */
11
+ export declare function parseHtmlTable(html: string, base: CellStyle): ClipboardCells | undefined;
12
+ //# sourceMappingURL=clipboard-html-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard-html-parse.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/clipboard-html-parse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,SAAS,EAET,KAAK,EAGL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAuBhE,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAkB7D;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOnD;AAqFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAoDxF"}
@@ -0,0 +1,8 @@
1
+ import type { Color, ThemePalette } from '../model.js';
2
+ import type { ClipboardCells } from './types.js';
3
+ export declare const escapeHtml: (text: string) => string;
4
+ /** A colour as CSS hex; theme colours ignore tint, legacy indexed colours are skipped. */
5
+ export declare function cssColor(color: Color | undefined, theme: ThemePalette): string | undefined;
6
+ /** An HTML table for the system clipboard, with inline styles and merged cells as spans. */
7
+ export declare function toHtml(cells: ClipboardCells, theme: ThemePalette): string;
8
+ //# sourceMappingURL=clipboard-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard-html.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/clipboard-html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MACsD,CAAC;AAEjG,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAQ1F;AA8BD,4FAA4F;AAC5F,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAkCzE"}
@@ -0,0 +1,8 @@
1
+ /** Tab-separated text for the system clipboard (Excel style: CRLF rows, trailing CRLF). */
2
+ export declare function toTsv(rows: string[][]): string;
3
+ /**
4
+ * Parses tab-separated clipboard text. Quoted fields may hold tabs, line breaks and doubled
5
+ * quotes; one trailing line break is ignored. Rows are padded to the same width.
6
+ */
7
+ export declare function parseTsv(text: string): string[][];
8
+ //# sourceMappingURL=clipboard-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard-text.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/clipboard-text.ts"],"names":[],"mappings":"AAKA,2FAA2F;AAC3F,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAG9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAyCjD"}
@@ -0,0 +1,16 @@
1
+ import { type CellAddress, type CellRange } from '../address.js';
2
+ import type { Workbook } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ import type { ClipboardCells, ClipboardPayload, PasteMode } from './types.js';
5
+ /** Copies a range into a self-contained payload (whole rows or columns stop at the used area). */
6
+ export declare function copyRange(workbook: Workbook, s: number, range: CellRange): ClipboardPayload;
7
+ /** Clipboard text (HTML table or TSV) as cells; plain text goes through input parsing. */
8
+ export declare function cellsFromText(workbook: Workbook, text: string): ClipboardCells;
9
+ /**
10
+ * Pastes clipboard cells at `at`. `all` pastes values, formulas (moved relative to the copy) and
11
+ * formats; `values` the results only; `formulas` formulas without formats; `formats` formats only;
12
+ * `transpose` everything with rows and columns swapped. A cut payload clears its source on the
13
+ * first paste and keeps formulas unchanged. Returns the pasted range.
14
+ */
15
+ export declare function pasteAt(ctx: EditContext, s: number, at: CellAddress, payload: ClipboardPayload | string, mode: PasteMode): CellRange;
16
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,SAAS,EAMd,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMlD,OAAO,EAAE,KAAK,WAAW,EAA+C,MAAM,cAAc,CAAC;AAM7F,OAAO,KAAK,EAAiB,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7F,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,gBAAgB,CA+C3F;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAiB9E;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACtB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAClC,IAAI,EAAE,SAAS,GACb,SAAS,CAwFX"}
@@ -0,0 +1,11 @@
1
+ import type { ColumnInfo, Worksheet } from '../model.js';
2
+ /** The column entry covering `col`, if any. */
3
+ export declare const columnAt: (sheet: Worksheet, col: number) => ColumnInfo | undefined;
4
+ /**
5
+ * Edits the properties of individual columns. Spans covering them are split, each target column
6
+ * gets its own entry for `edit`, and equal neighbours are joined again afterwards.
7
+ */
8
+ export declare function editColumns(sheet: Worksheet, cols: number[], edit: (info: ColumnInfo) => void): void;
9
+ /** Sorts entries, drops empty ones and joins adjacent entries with equal properties. */
10
+ export declare function normalizeColumns(columns: ColumnInfo[]): ColumnInfo[];
11
+ //# sourceMappingURL=columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAczD,+CAA+C;AAC/C,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAK,MAAM,KAAG,UAAU,GAAG,SACd,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAC9B,IAAI,CAqBN;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CASpE"}
@@ -0,0 +1,17 @@
1
+ import type { ConditionalFormat } from '../model.js';
2
+ import { type EditContext } from './context.js';
3
+ /**
4
+ * Replaces the conditional format at `index` (ranges and rules). The new rules keep the
5
+ * priorities they carry; rules are then renumbered 1..n so priorities stay unique.
6
+ */
7
+ export declare function replaceConditionalFormat(ctx: EditContext, s: number, index: number, format: ConditionalFormat): void;
8
+ /** Removes the conditional format at `index` with all its rules. */
9
+ export declare function removeConditionalFormat(ctx: EditContext, s: number, index: number): void;
10
+ /**
11
+ * Gives one rule a new priority (1 is evaluated first), shifting the others like the Rules
12
+ * Manager's arrows; every rule of the sheet ends up numbered 1..n.
13
+ */
14
+ export declare function setConditionalRulePriority(ctx: EditContext, s: number, formatIndex: number, ruleIndex: number, priority: number): void;
15
+ /** Moves a rule one step up (earlier) or down (later) in the evaluation order. */
16
+ export declare function moveConditionalRule(ctx: EditContext, s: number, formatIndex: number, ruleIndex: number, direction: 'up' | 'down'): void;
17
+ //# sourceMappingURL=conditional-formats.d.ts.map