ooxml-core 0.2.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 (558) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +15 -14
  4. package/dist/docx/load/index.cjs +11 -11
  5. package/dist/docx/load/index.mjs +11 -11
  6. package/dist/index.cjs +34 -1
  7. package/dist/index.mjs +34 -1
  8. package/dist/opc/index.cjs +18 -1
  9. package/dist/opc/index.mjs +18 -1
  10. package/dist/opc/relationship-types.d.ts +17 -0
  11. package/dist/opc/relationship-types.d.ts.map +1 -1
  12. package/dist/pptx/cli/index.cjs +122 -105
  13. package/dist/pptx/cli/index.mjs +122 -105
  14. package/dist/pptx/index.cjs +144 -127
  15. package/dist/pptx/index.d.ts +8 -8
  16. package/dist/pptx/index.d.ts.map +1 -1
  17. package/dist/pptx/index.mjs +144 -127
  18. package/dist/visio/complex-geometry.d.ts +4 -0
  19. package/dist/visio/complex-geometry.d.ts.map +1 -0
  20. package/dist/visio/convert-metafile.d.ts +28 -0
  21. package/dist/visio/convert-metafile.d.ts.map +1 -0
  22. package/dist/visio/diagnostics.d.ts +8 -0
  23. package/dist/visio/diagnostics.d.ts.map +1 -0
  24. package/dist/visio/edit-package.d.ts +10 -0
  25. package/dist/visio/edit-package.d.ts.map +1 -0
  26. package/dist/visio/edit-text.d.ts +7 -0
  27. package/dist/visio/edit-text.d.ts.map +1 -0
  28. package/dist/visio/edit.d.ts +26 -0
  29. package/dist/visio/edit.d.ts.map +1 -0
  30. package/dist/visio/emf-admission-comment.d.ts +7 -0
  31. package/dist/visio/emf-admission-comment.d.ts.map +1 -0
  32. package/dist/visio/emf-admission-context.d.ts +59 -0
  33. package/dist/visio/emf-admission-context.d.ts.map +1 -0
  34. package/dist/visio/emf-admission-geometry.d.ts +3 -0
  35. package/dist/visio/emf-admission-geometry.d.ts.map +1 -0
  36. package/dist/visio/emf-admission-input.d.ts +8 -0
  37. package/dist/visio/emf-admission-input.d.ts.map +1 -0
  38. package/dist/visio/emf-admission-records.d.ts +6 -0
  39. package/dist/visio/emf-admission-records.d.ts.map +1 -0
  40. package/dist/visio/emf-admission-types.d.ts +80 -0
  41. package/dist/visio/emf-admission-types.d.ts.map +1 -0
  42. package/dist/visio/emf-admission.d.ts +9 -0
  43. package/dist/visio/emf-admission.d.ts.map +1 -0
  44. package/dist/visio/foreign-vector-graph.d.ts +4 -0
  45. package/dist/visio/foreign-vector-graph.d.ts.map +1 -0
  46. package/dist/visio/foreign-vector-path.d.ts +12 -0
  47. package/dist/visio/foreign-vector-path.d.ts.map +1 -0
  48. package/dist/visio/foreign-vector-types.d.ts +81 -0
  49. package/dist/visio/foreign-vector-types.d.ts.map +1 -0
  50. package/dist/visio/foreign-vector-validation.d.ts +4 -0
  51. package/dist/visio/foreign-vector-validation.d.ts.map +1 -0
  52. package/dist/visio/foreign-vector-values.d.ts +14 -0
  53. package/dist/visio/foreign-vector-values.d.ts.map +1 -0
  54. package/dist/visio/foreign-vector.d.ts +13 -0
  55. package/dist/visio/foreign-vector.d.ts.map +1 -0
  56. package/dist/visio/geometry.d.ts +8 -0
  57. package/dist/visio/geometry.d.ts.map +1 -0
  58. package/dist/visio/index.cjs +5522 -0
  59. package/dist/visio/index.d.ts +12 -0
  60. package/dist/visio/index.d.ts.map +1 -0
  61. package/dist/visio/index.mjs +5501 -0
  62. package/dist/visio/layers.d.ts +19 -0
  63. package/dist/visio/layers.d.ts.map +1 -0
  64. package/dist/visio/line-pattern.d.ts +5 -0
  65. package/dist/visio/line-pattern.d.ts.map +1 -0
  66. package/dist/visio/line-style.d.ts +12 -0
  67. package/dist/visio/line-style.d.ts.map +1 -0
  68. package/dist/visio/media.d.ts +36 -0
  69. package/dist/visio/media.d.ts.map +1 -0
  70. package/dist/visio/metadata.d.ts +4 -0
  71. package/dist/visio/metadata.d.ts.map +1 -0
  72. package/dist/visio/model.d.ts +203 -0
  73. package/dist/visio/model.d.ts.map +1 -0
  74. package/dist/visio/nurbs-flatten.d.ts +5 -0
  75. package/dist/visio/nurbs-flatten.d.ts.map +1 -0
  76. package/dist/visio/nurbs.d.ts +11 -0
  77. package/dist/visio/nurbs.d.ts.map +1 -0
  78. package/dist/visio/package-common.d.ts +39 -0
  79. package/dist/visio/package-common.d.ts.map +1 -0
  80. package/dist/visio/package.d.ts +30 -0
  81. package/dist/visio/package.d.ts.map +1 -0
  82. package/dist/visio/paragraphs.d.ts +10 -0
  83. package/dist/visio/paragraphs.d.ts.map +1 -0
  84. package/dist/visio/parser.d.ts +26 -0
  85. package/dist/visio/parser.d.ts.map +1 -0
  86. package/dist/visio/parts.d.ts +9 -0
  87. package/dist/visio/parts.d.ts.map +1 -0
  88. package/dist/visio/prepare-images.d.ts +7 -0
  89. package/dist/visio/prepare-images.d.ts.map +1 -0
  90. package/dist/visio/prepare-metafiles.d.ts +17 -0
  91. package/dist/visio/prepare-metafiles.d.ts.map +1 -0
  92. package/dist/visio/rounded-geometry.d.ts +17 -0
  93. package/dist/visio/rounded-geometry.d.ts.map +1 -0
  94. package/dist/visio/saved-fill-gradient.d.ts +13 -0
  95. package/dist/visio/saved-fill-gradient.d.ts.map +1 -0
  96. package/dist/visio/shape-metadata.d.ts +65 -0
  97. package/dist/visio/shape-metadata.d.ts.map +1 -0
  98. package/dist/visio/shapes.d.ts +24 -0
  99. package/dist/visio/shapes.d.ts.map +1 -0
  100. package/dist/visio/sheet.d.ts +57 -0
  101. package/dist/visio/sheet.d.ts.map +1 -0
  102. package/dist/visio/spline-geometry.d.ts +8 -0
  103. package/dist/visio/spline-geometry.d.ts.map +1 -0
  104. package/dist/visio/style-inheritance.d.ts +13 -0
  105. package/dist/visio/style-inheritance.d.ts.map +1 -0
  106. package/dist/visio/style.d.ts +11 -0
  107. package/dist/visio/style.d.ts.map +1 -0
  108. package/dist/visio/text-background.d.ts +10 -0
  109. package/dist/visio/text-background.d.ts.map +1 -0
  110. package/dist/visio/theme-color.d.ts +15 -0
  111. package/dist/visio/theme-color.d.ts.map +1 -0
  112. package/dist/visio/theme-gradient.d.ts +15 -0
  113. package/dist/visio/theme-gradient.d.ts.map +1 -0
  114. package/dist/visio/theme-line.d.ts +15 -0
  115. package/dist/visio/theme-line.d.ts.map +1 -0
  116. package/dist/visio/theme-resolve.d.ts +29 -0
  117. package/dist/visio/theme-resolve.d.ts.map +1 -0
  118. package/dist/visio/theme-root.d.ts +16 -0
  119. package/dist/visio/theme-root.d.ts.map +1 -0
  120. package/dist/visio/theme.d.ts +27 -0
  121. package/dist/visio/theme.d.ts.map +1 -0
  122. package/dist/visio/visibility.d.ts +42 -0
  123. package/dist/visio/visibility.d.ts.map +1 -0
  124. package/dist/visio/xml-validation.d.ts +5 -0
  125. package/dist/visio/xml-validation.d.ts.map +1 -0
  126. package/dist/visio/zip-validation.d.ts +4 -0
  127. package/dist/visio/zip-validation.d.ts.map +1 -0
  128. package/dist/xlsx/address.d.ts +42 -0
  129. package/dist/xlsx/address.d.ts.map +1 -0
  130. package/dist/xlsx/cell-styles.d.ts +25 -0
  131. package/dist/xlsx/cell-styles.d.ts.map +1 -0
  132. package/dist/xlsx/cells.d.ts +25 -0
  133. package/dist/xlsx/cells.d.ts.map +1 -0
  134. package/dist/xlsx/edit/annotations.d.ts +17 -0
  135. package/dist/xlsx/edit/annotations.d.ts.map +1 -0
  136. package/dist/xlsx/edit/band-formulas.d.ts +9 -0
  137. package/dist/xlsx/edit/band-formulas.d.ts.map +1 -0
  138. package/dist/xlsx/edit/borders.d.ts +8 -0
  139. package/dist/xlsx/edit/borders.d.ts.map +1 -0
  140. package/dist/xlsx/edit/calc-mode.d.ts +11 -0
  141. package/dist/xlsx/edit/calc-mode.d.ts.map +1 -0
  142. package/dist/xlsx/edit/cell-shift.d.ts +11 -0
  143. package/dist/xlsx/edit/cell-shift.d.ts.map +1 -0
  144. package/dist/xlsx/edit/cell-style.d.ts +9 -0
  145. package/dist/xlsx/edit/cell-style.d.ts.map +1 -0
  146. package/dist/xlsx/edit/cell-values.d.ts +21 -0
  147. package/dist/xlsx/edit/cell-values.d.ts.map +1 -0
  148. package/dist/xlsx/edit/charts.d.ts +22 -0
  149. package/dist/xlsx/edit/charts.d.ts.map +1 -0
  150. package/dist/xlsx/edit/clipboard-html-parse.d.ts +12 -0
  151. package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -0
  152. package/dist/xlsx/edit/clipboard-html.d.ts +8 -0
  153. package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -0
  154. package/dist/xlsx/edit/clipboard-text.d.ts +8 -0
  155. package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -0
  156. package/dist/xlsx/edit/clipboard.d.ts +16 -0
  157. package/dist/xlsx/edit/clipboard.d.ts.map +1 -0
  158. package/dist/xlsx/edit/columns.d.ts +11 -0
  159. package/dist/xlsx/edit/columns.d.ts.map +1 -0
  160. package/dist/xlsx/edit/conditional-formats.d.ts +17 -0
  161. package/dist/xlsx/edit/conditional-formats.d.ts.map +1 -0
  162. package/dist/xlsx/edit/context.d.ts +42 -0
  163. package/dist/xlsx/edit/context.d.ts.map +1 -0
  164. package/dist/xlsx/edit/deps.d.ts +4 -0
  165. package/dist/xlsx/edit/deps.d.ts.map +1 -0
  166. package/dist/xlsx/edit/dimensions.d.ts +13 -0
  167. package/dist/xlsx/edit/dimensions.d.ts.map +1 -0
  168. package/dist/xlsx/edit/drawings.d.ts +10 -0
  169. package/dist/xlsx/edit/drawings.d.ts.map +1 -0
  170. package/dist/xlsx/edit/duplicates.d.ts +17 -0
  171. package/dist/xlsx/edit/duplicates.d.ts.map +1 -0
  172. package/dist/xlsx/edit/fill-series.d.ts +16 -0
  173. package/dist/xlsx/edit/fill-series.d.ts.map +1 -0
  174. package/dist/xlsx/edit/fill.d.ts +14 -0
  175. package/dist/xlsx/edit/fill.d.ts.map +1 -0
  176. package/dist/xlsx/edit/filter.d.ts +17 -0
  177. package/dist/xlsx/edit/filter.d.ts.map +1 -0
  178. package/dist/xlsx/edit/find.d.ts +17 -0
  179. package/dist/xlsx/edit/find.d.ts.map +1 -0
  180. package/dist/xlsx/edit/format.d.ts +13 -0
  181. package/dist/xlsx/edit/format.d.ts.map +1 -0
  182. package/dist/xlsx/edit/history.d.ts +75 -0
  183. package/dist/xlsx/edit/history.d.ts.map +1 -0
  184. package/dist/xlsx/edit/index.d.ts +23 -0
  185. package/dist/xlsx/edit/index.d.ts.map +1 -0
  186. package/dist/xlsx/edit/merge.d.ts +11 -0
  187. package/dist/xlsx/edit/merge.d.ts.map +1 -0
  188. package/dist/xlsx/edit/outline.d.ts +14 -0
  189. package/dist/xlsx/edit/outline.d.ts.map +1 -0
  190. package/dist/xlsx/edit/page.d.ts +11 -0
  191. package/dist/xlsx/edit/page.d.ts.map +1 -0
  192. package/dist/xlsx/edit/protection.d.ts +26 -0
  193. package/dist/xlsx/edit/protection.d.ts.map +1 -0
  194. package/dist/xlsx/edit/range-math.d.ts +33 -0
  195. package/dist/xlsx/edit/range-math.d.ts.map +1 -0
  196. package/dist/xlsx/edit/row-autofit.d.ts +17 -0
  197. package/dist/xlsx/edit/row-autofit.d.ts.map +1 -0
  198. package/dist/xlsx/edit/session-calc.d.ts +24 -0
  199. package/dist/xlsx/edit/session-calc.d.ts.map +1 -0
  200. package/dist/xlsx/edit/session.d.ts +5 -0
  201. package/dist/xlsx/edit/session.d.ts.map +1 -0
  202. package/dist/xlsx/edit/sheets.d.ts +19 -0
  203. package/dist/xlsx/edit/sheets.d.ts.map +1 -0
  204. package/dist/xlsx/edit/shift-formulas.d.ts +14 -0
  205. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -0
  206. package/dist/xlsx/edit/shift-sheet.d.ts +15 -0
  207. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -0
  208. package/dist/xlsx/edit/sort.d.ts +17 -0
  209. package/dist/xlsx/edit/sort.d.ts.map +1 -0
  210. package/dist/xlsx/edit/structure.d.ts +10 -0
  211. package/dist/xlsx/edit/structure.d.ts.map +1 -0
  212. package/dist/xlsx/edit/table-edits.d.ts +25 -0
  213. package/dist/xlsx/edit/table-edits.d.ts.map +1 -0
  214. package/dist/xlsx/edit/table-rows.d.ts +11 -0
  215. package/dist/xlsx/edit/table-rows.d.ts.map +1 -0
  216. package/dist/xlsx/edit/tables.d.ts +11 -0
  217. package/dist/xlsx/edit/tables.d.ts.map +1 -0
  218. package/dist/xlsx/edit/test-context.d.ts +15 -0
  219. package/dist/xlsx/edit/test-context.d.ts.map +1 -0
  220. package/dist/xlsx/edit/types-clipboard.d.ts +66 -0
  221. package/dist/xlsx/edit/types-clipboard.d.ts.map +1 -0
  222. package/dist/xlsx/edit/types.d.ts +188 -0
  223. package/dist/xlsx/edit/types.d.ts.map +1 -0
  224. package/dist/xlsx/edit/validation.d.ts +21 -0
  225. package/dist/xlsx/edit/validation.d.ts.map +1 -0
  226. package/dist/xlsx/edit/view.d.ts +12 -0
  227. package/dist/xlsx/edit/view.d.ts.map +1 -0
  228. package/dist/xlsx/formula/array-context.d.ts +7 -0
  229. package/dist/xlsx/formula/array-context.d.ts.map +1 -0
  230. package/dist/xlsx/formula/ast.d.ts +108 -0
  231. package/dist/xlsx/formula/ast.d.ts.map +1 -0
  232. package/dist/xlsx/formula/call.d.ts +13 -0
  233. package/dist/xlsx/formula/call.d.ts.map +1 -0
  234. package/dist/xlsx/formula/coerce.d.ts +22 -0
  235. package/dist/xlsx/formula/coerce.d.ts.map +1 -0
  236. package/dist/xlsx/formula/context.d.ts +74 -0
  237. package/dist/xlsx/formula/context.d.ts.map +1 -0
  238. package/dist/xlsx/formula/date-serial.d.ts +26 -0
  239. package/dist/xlsx/formula/date-serial.d.ts.map +1 -0
  240. package/dist/xlsx/formula/engine-core.d.ts +19 -0
  241. package/dist/xlsx/formula/engine-core.d.ts.map +1 -0
  242. package/dist/xlsx/formula/engine-host.d.ts +51 -0
  243. package/dist/xlsx/formula/engine-host.d.ts.map +1 -0
  244. package/dist/xlsx/formula/engine-types.d.ts +31 -0
  245. package/dist/xlsx/formula/engine-types.d.ts.map +1 -0
  246. package/dist/xlsx/formula/engine-util.d.ts +10 -0
  247. package/dist/xlsx/formula/engine-util.d.ts.map +1 -0
  248. package/dist/xlsx/formula/engine.d.ts +6 -0
  249. package/dist/xlsx/formula/engine.d.ts.map +1 -0
  250. package/dist/xlsx/formula/evaluator.d.ts +17 -0
  251. package/dist/xlsx/formula/evaluator.d.ts.map +1 -0
  252. package/dist/xlsx/formula/functions/array-shape.d.ts +3 -0
  253. package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -0
  254. package/dist/xlsx/formula/functions/array.d.ts +6 -0
  255. package/dist/xlsx/formula/functions/array.d.ts.map +1 -0
  256. package/dist/xlsx/formula/functions/criteria.d.ts +22 -0
  257. package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -0
  258. package/dist/xlsx/formula/functions/date-calc.d.ts +14 -0
  259. package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -0
  260. package/dist/xlsx/formula/functions/datetime.d.ts +3 -0
  261. package/dist/xlsx/formula/functions/datetime.d.ts.map +1 -0
  262. package/dist/xlsx/formula/functions/depreciation.d.ts +4 -0
  263. package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -0
  264. package/dist/xlsx/formula/functions/dist-core.d.ts +22 -0
  265. package/dist/xlsx/formula/functions/dist-core.d.ts.map +1 -0
  266. package/dist/xlsx/formula/functions/distributions-more.d.ts +4 -0
  267. package/dist/xlsx/formula/functions/distributions-more.d.ts.map +1 -0
  268. package/dist/xlsx/formula/functions/distributions.d.ts +3 -0
  269. package/dist/xlsx/formula/functions/distributions.d.ts.map +1 -0
  270. package/dist/xlsx/formula/functions/engineering.d.ts +3 -0
  271. package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -0
  272. package/dist/xlsx/formula/functions/financial-core.d.ts +8 -0
  273. package/dist/xlsx/formula/functions/financial-core.d.ts.map +1 -0
  274. package/dist/xlsx/formula/functions/financial.d.ts +3 -0
  275. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -0
  276. package/dist/xlsx/formula/functions/helpers.d.ts +44 -0
  277. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -0
  278. package/dist/xlsx/formula/functions/info.d.ts +3 -0
  279. package/dist/xlsx/formula/functions/info.d.ts.map +1 -0
  280. package/dist/xlsx/formula/functions/lambda.d.ts +3 -0
  281. package/dist/xlsx/formula/functions/lambda.d.ts.map +1 -0
  282. package/dist/xlsx/formula/functions/logical.d.ts +7 -0
  283. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -0
  284. package/dist/xlsx/formula/functions/lookup-core.d.ts +32 -0
  285. package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -0
  286. package/dist/xlsx/formula/functions/lookup.d.ts +8 -0
  287. package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -0
  288. package/dist/xlsx/formula/functions/math-combin.d.ts +5 -0
  289. package/dist/xlsx/formula/functions/math-combin.d.ts.map +1 -0
  290. package/dist/xlsx/formula/functions/math-more.d.ts +4 -0
  291. package/dist/xlsx/formula/functions/math-more.d.ts.map +1 -0
  292. package/dist/xlsx/formula/functions/math-sum.d.ts +6 -0
  293. package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -0
  294. package/dist/xlsx/formula/functions/math.d.ts +7 -0
  295. package/dist/xlsx/formula/functions/math.d.ts.map +1 -0
  296. package/dist/xlsx/formula/functions/matrix.d.ts +3 -0
  297. package/dist/xlsx/formula/functions/matrix.d.ts.map +1 -0
  298. package/dist/xlsx/formula/functions/reference.d.ts +3 -0
  299. package/dist/xlsx/formula/functions/reference.d.ts.map +1 -0
  300. package/dist/xlsx/formula/functions/registry.d.ts +8 -0
  301. package/dist/xlsx/formula/functions/registry.d.ts.map +1 -0
  302. package/dist/xlsx/formula/functions/statistical-count.d.ts +3 -0
  303. package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -0
  304. package/dist/xlsx/formula/functions/statistical-more.d.ts +10 -0
  305. package/dist/xlsx/formula/functions/statistical-more.d.ts.map +1 -0
  306. package/dist/xlsx/formula/functions/statistical-shape.d.ts +4 -0
  307. package/dist/xlsx/formula/functions/statistical-shape.d.ts.map +1 -0
  308. package/dist/xlsx/formula/functions/statistical-spread.d.ts +4 -0
  309. package/dist/xlsx/formula/functions/statistical-spread.d.ts.map +1 -0
  310. package/dist/xlsx/formula/functions/statistical.d.ts +3 -0
  311. package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -0
  312. package/dist/xlsx/formula/functions/stats-core.d.ts +30 -0
  313. package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -0
  314. package/dist/xlsx/formula/functions/text-convert.d.ts +4 -0
  315. package/dist/xlsx/formula/functions/text-convert.d.ts.map +1 -0
  316. package/dist/xlsx/formula/functions/text-extra.d.ts +3 -0
  317. package/dist/xlsx/formula/functions/text-extra.d.ts.map +1 -0
  318. package/dist/xlsx/formula/functions/text.d.ts +3 -0
  319. package/dist/xlsx/formula/functions/text.d.ts.map +1 -0
  320. package/dist/xlsx/formula/functions/types.d.ts +30 -0
  321. package/dist/xlsx/formula/functions/types.d.ts.map +1 -0
  322. package/dist/xlsx/formula/functions/workdays.d.ts +3 -0
  323. package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -0
  324. package/dist/xlsx/formula/graph.d.ts +50 -0
  325. package/dist/xlsx/formula/graph.d.ts.map +1 -0
  326. package/dist/xlsx/formula/index.d.ts +14 -0
  327. package/dist/xlsx/formula/index.d.ts.map +1 -0
  328. package/dist/xlsx/formula/lexemes.d.ts +41 -0
  329. package/dist/xlsx/formula/lexemes.d.ts.map +1 -0
  330. package/dist/xlsx/formula/move.d.ts +23 -0
  331. package/dist/xlsx/formula/move.d.ts.map +1 -0
  332. package/dist/xlsx/formula/operators.d.ts +15 -0
  333. package/dist/xlsx/formula/operators.d.ts.map +1 -0
  334. package/dist/xlsx/formula/parser.d.ts +4 -0
  335. package/dist/xlsx/formula/parser.d.ts.map +1 -0
  336. package/dist/xlsx/formula/references.d.ts +36 -0
  337. package/dist/xlsx/formula/references.d.ts.map +1 -0
  338. package/dist/xlsx/formula/scc.d.ts +6 -0
  339. package/dist/xlsx/formula/scc.d.ts.map +1 -0
  340. package/dist/xlsx/formula/sheet-scan.d.ts +10 -0
  341. package/dist/xlsx/formula/sheet-scan.d.ts.map +1 -0
  342. package/dist/xlsx/formula/spill.d.ts +32 -0
  343. package/dist/xlsx/formula/spill.d.ts.map +1 -0
  344. package/dist/xlsx/formula/store.d.ts +10 -0
  345. package/dist/xlsx/formula/store.d.ts.map +1 -0
  346. package/dist/xlsx/formula/structured-to-a1.d.ts +18 -0
  347. package/dist/xlsx/formula/structured-to-a1.d.ts.map +1 -0
  348. package/dist/xlsx/formula/structured.d.ts +4 -0
  349. package/dist/xlsx/formula/structured.d.ts.map +1 -0
  350. package/dist/xlsx/formula/table-refs.d.ts +7 -0
  351. package/dist/xlsx/formula/table-refs.d.ts.map +1 -0
  352. package/dist/xlsx/formula/test-helpers.d.ts +32 -0
  353. package/dist/xlsx/formula/test-helpers.d.ts.map +1 -0
  354. package/dist/xlsx/formula/text-number.d.ts +11 -0
  355. package/dist/xlsx/formula/text-number.d.ts.map +1 -0
  356. package/dist/xlsx/formula/tokenizer.d.ts +21 -0
  357. package/dist/xlsx/formula/tokenizer.d.ts.map +1 -0
  358. package/dist/xlsx/formula/transform.d.ts +49 -0
  359. package/dist/xlsx/formula/transform.d.ts.map +1 -0
  360. package/dist/xlsx/formula/values.d.ts +63 -0
  361. package/dist/xlsx/formula/values.d.ts.map +1 -0
  362. package/dist/xlsx/index.cjs +20579 -0
  363. package/dist/xlsx/index.d.ts +14 -0
  364. package/dist/xlsx/index.d.ts.map +1 -0
  365. package/dist/xlsx/index.mjs +20396 -0
  366. package/dist/xlsx/layout/autofit.d.ts +12 -0
  367. package/dist/xlsx/layout/autofit.d.ts.map +1 -0
  368. package/dist/xlsx/layout/axis-metrics.d.ts +39 -0
  369. package/dist/xlsx/layout/axis-metrics.d.ts.map +1 -0
  370. package/dist/xlsx/layout/cell-view.d.ts +21 -0
  371. package/dist/xlsx/layout/cell-view.d.ts.map +1 -0
  372. package/dist/xlsx/layout/cf-evaluator.d.ts +26 -0
  373. package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -0
  374. package/dist/xlsx/layout/cf-helpers.d.ts +8 -0
  375. package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -0
  376. package/dist/xlsx/layout/cf-values.d.ts +25 -0
  377. package/dist/xlsx/layout/cf-values.d.ts.map +1 -0
  378. package/dist/xlsx/layout/chart-colors.d.ts +6 -0
  379. package/dist/xlsx/layout/chart-colors.d.ts.map +1 -0
  380. package/dist/xlsx/layout/chart-scale.d.ts +25 -0
  381. package/dist/xlsx/layout/chart-scale.d.ts.map +1 -0
  382. package/dist/xlsx/layout/chart-svg-cartesian.d.ts +5 -0
  383. package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +1 -0
  384. package/dist/xlsx/layout/chart-svg-radial.d.ts +7 -0
  385. package/dist/xlsx/layout/chart-svg-radial.d.ts.map +1 -0
  386. package/dist/xlsx/layout/chart-svg-util.d.ts +29 -0
  387. package/dist/xlsx/layout/chart-svg-util.d.ts.map +1 -0
  388. package/dist/xlsx/layout/chart-svg.d.ts +7 -0
  389. package/dist/xlsx/layout/chart-svg.d.ts.map +1 -0
  390. package/dist/xlsx/layout/chart-view.d.ts +42 -0
  391. package/dist/xlsx/layout/chart-view.d.ts.map +1 -0
  392. package/dist/xlsx/layout/colors.d.ts +20 -0
  393. package/dist/xlsx/layout/colors.d.ts.map +1 -0
  394. package/dist/xlsx/layout/index.d.ts +21 -0
  395. package/dist/xlsx/layout/index.d.ts.map +1 -0
  396. package/dist/xlsx/layout/metrics.d.ts +41 -0
  397. package/dist/xlsx/layout/metrics.d.ts.map +1 -0
  398. package/dist/xlsx/layout/navigate.d.ts +6 -0
  399. package/dist/xlsx/layout/navigate.d.ts.map +1 -0
  400. package/dist/xlsx/layout/ref-evaluator.d.ts +16 -0
  401. package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -0
  402. package/dist/xlsx/layout/row-autofit.d.ts +17 -0
  403. package/dist/xlsx/layout/row-autofit.d.ts.map +1 -0
  404. package/dist/xlsx/layout/sheet-queries.d.ts +37 -0
  405. package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -0
  406. package/dist/xlsx/layout/style-view.d.ts +18 -0
  407. package/dist/xlsx/layout/style-view.d.ts.map +1 -0
  408. package/dist/xlsx/layout/tint.d.ts +26 -0
  409. package/dist/xlsx/layout/tint.d.ts.map +1 -0
  410. package/dist/xlsx/layout/types.d.ts +106 -0
  411. package/dist/xlsx/layout/types.d.ts.map +1 -0
  412. package/dist/xlsx/layout/units.d.ts +37 -0
  413. package/dist/xlsx/layout/units.d.ts.map +1 -0
  414. package/dist/xlsx/layout/viewport.d.ts +27 -0
  415. package/dist/xlsx/layout/viewport.d.ts.map +1 -0
  416. package/dist/xlsx/load/csv.d.ts +29 -0
  417. package/dist/xlsx/load/csv.d.ts.map +1 -0
  418. package/dist/xlsx/load/detect.d.ts +22 -0
  419. package/dist/xlsx/load/detect.d.ts.map +1 -0
  420. package/dist/xlsx/load/index.cjs +15619 -0
  421. package/dist/xlsx/load/index.d.ts +4 -0
  422. package/dist/xlsx/load/index.d.ts.map +1 -0
  423. package/dist/xlsx/load/index.mjs +15603 -0
  424. package/dist/xlsx/load/legacy-xls-sheet.d.ts +14 -0
  425. package/dist/xlsx/load/legacy-xls-sheet.d.ts.map +1 -0
  426. package/dist/xlsx/load/legacy-xls-styles.d.ts +9 -0
  427. package/dist/xlsx/load/legacy-xls-styles.d.ts.map +1 -0
  428. package/dist/xlsx/load/legacy-xls.d.ts +10 -0
  429. package/dist/xlsx/load/legacy-xls.d.ts.map +1 -0
  430. package/dist/xlsx/model.d.ts +535 -0
  431. package/dist/xlsx/model.d.ts.map +1 -0
  432. package/dist/xlsx/numfmt/builtins.d.ts +15 -0
  433. package/dist/xlsx/numfmt/builtins.d.ts.map +1 -0
  434. package/dist/xlsx/numfmt/compile.d.ts +26 -0
  435. package/dist/xlsx/numfmt/compile.d.ts.map +1 -0
  436. package/dist/xlsx/numfmt/date.d.ts +34 -0
  437. package/dist/xlsx/numfmt/date.d.ts.map +1 -0
  438. package/dist/xlsx/numfmt/decimal.d.ts +27 -0
  439. package/dist/xlsx/numfmt/decimal.d.ts.map +1 -0
  440. package/dist/xlsx/numfmt/decimals.d.ts +10 -0
  441. package/dist/xlsx/numfmt/decimals.d.ts.map +1 -0
  442. package/dist/xlsx/numfmt/format.d.ts +13 -0
  443. package/dist/xlsx/numfmt/format.d.ts.map +1 -0
  444. package/dist/xlsx/numfmt/fraction.d.ts +38 -0
  445. package/dist/xlsx/numfmt/fraction.d.ts.map +1 -0
  446. package/dist/xlsx/numfmt/general.d.ts +8 -0
  447. package/dist/xlsx/numfmt/general.d.ts.map +1 -0
  448. package/dist/xlsx/numfmt/index.d.ts +8 -0
  449. package/dist/xlsx/numfmt/index.d.ts.map +1 -0
  450. package/dist/xlsx/numfmt/input-date.d.ts +16 -0
  451. package/dist/xlsx/numfmt/input-date.d.ts.map +1 -0
  452. package/dist/xlsx/numfmt/input.d.ts +23 -0
  453. package/dist/xlsx/numfmt/input.d.ts.map +1 -0
  454. package/dist/xlsx/numfmt/number.d.ts +38 -0
  455. package/dist/xlsx/numfmt/number.d.ts.map +1 -0
  456. package/dist/xlsx/numfmt/tokenizer.d.ts +6 -0
  457. package/dist/xlsx/numfmt/tokenizer.d.ts.map +1 -0
  458. package/dist/xlsx/numfmt/types.d.ts +87 -0
  459. package/dist/xlsx/numfmt/types.d.ts.map +1 -0
  460. package/dist/xlsx/read/builtin-formats.d.ts +10 -0
  461. package/dist/xlsx/read/builtin-formats.d.ts.map +1 -0
  462. package/dist/xlsx/read/chart.d.ts +7 -0
  463. package/dist/xlsx/read/chart.d.ts.map +1 -0
  464. package/dist/xlsx/read/comments.d.ts +10 -0
  465. package/dist/xlsx/read/comments.d.ts.map +1 -0
  466. package/dist/xlsx/read/conditional.d.ts +6 -0
  467. package/dist/xlsx/read/conditional.d.ts.map +1 -0
  468. package/dist/xlsx/read/dates.d.ts +6 -0
  469. package/dist/xlsx/read/dates.d.ts.map +1 -0
  470. package/dist/xlsx/read/drawing.d.ts +10 -0
  471. package/dist/xlsx/read/drawing.d.ts.map +1 -0
  472. package/dist/xlsx/read/formula-storage.d.ts +5 -0
  473. package/dist/xlsx/read/formula-storage.d.ts.map +1 -0
  474. package/dist/xlsx/read/formula-text.d.ts +15 -0
  475. package/dist/xlsx/read/formula-text.d.ts.map +1 -0
  476. package/dist/xlsx/read/index.d.ts +3 -0
  477. package/dist/xlsx/read/index.d.ts.map +1 -0
  478. package/dist/xlsx/read/load.d.ts +7 -0
  479. package/dist/xlsx/read/load.d.ts.map +1 -0
  480. package/dist/xlsx/read/metadata.d.ts +8 -0
  481. package/dist/xlsx/read/metadata.d.ts.map +1 -0
  482. package/dist/xlsx/read/package.d.ts +60 -0
  483. package/dist/xlsx/read/package.d.ts.map +1 -0
  484. package/dist/xlsx/read/print-options.d.ts +7 -0
  485. package/dist/xlsx/read/print-options.d.ts.map +1 -0
  486. package/dist/xlsx/read/shared-strings.d.ts +13 -0
  487. package/dist/xlsx/read/shared-strings.d.ts.map +1 -0
  488. package/dist/xlsx/read/sheet-data.d.ts +15 -0
  489. package/dist/xlsx/read/sheet-data.d.ts.map +1 -0
  490. package/dist/xlsx/read/sheet-props.d.ts +21 -0
  491. package/dist/xlsx/read/sheet-props.d.ts.map +1 -0
  492. package/dist/xlsx/read/style-parts.d.ts +20 -0
  493. package/dist/xlsx/read/style-parts.d.ts.map +1 -0
  494. package/dist/xlsx/read/styles.d.ts +17 -0
  495. package/dist/xlsx/read/styles.d.ts.map +1 -0
  496. package/dist/xlsx/read/tables.d.ts +4 -0
  497. package/dist/xlsx/read/tables.d.ts.map +1 -0
  498. package/dist/xlsx/read/theme.d.ts +11 -0
  499. package/dist/xlsx/read/theme.d.ts.map +1 -0
  500. package/dist/xlsx/read/workbook-part.d.ts +23 -0
  501. package/dist/xlsx/read/workbook-part.d.ts.map +1 -0
  502. package/dist/xlsx/read/worksheet.d.ts +18 -0
  503. package/dist/xlsx/read/worksheet.d.ts.map +1 -0
  504. package/dist/xlsx/read/xml-util.d.ts +28 -0
  505. package/dist/xlsx/read/xml-util.d.ts.map +1 -0
  506. package/dist/xlsx/styles.d.ts +27 -0
  507. package/dist/xlsx/styles.d.ts.map +1 -0
  508. package/dist/xlsx/time-period.d.ts +9 -0
  509. package/dist/xlsx/time-period.d.ts.map +1 -0
  510. package/dist/xlsx/workbook.d.ts +26 -0
  511. package/dist/xlsx/workbook.d.ts.map +1 -0
  512. package/dist/xlsx/write/chart-patch.d.ts +9 -0
  513. package/dist/xlsx/write/chart-patch.d.ts.map +1 -0
  514. package/dist/xlsx/write/chart.d.ts +9 -0
  515. package/dist/xlsx/write/chart.d.ts.map +1 -0
  516. package/dist/xlsx/write/comments.d.ts +23 -0
  517. package/dist/xlsx/write/comments.d.ts.map +1 -0
  518. package/dist/xlsx/write/conditional.d.ts +5 -0
  519. package/dist/xlsx/write/conditional.d.ts.map +1 -0
  520. package/dist/xlsx/write/drawing.d.ts +10 -0
  521. package/dist/xlsx/write/drawing.d.ts.map +1 -0
  522. package/dist/xlsx/write/dynamic-array.d.ts +16 -0
  523. package/dist/xlsx/write/dynamic-array.d.ts.map +1 -0
  524. package/dist/xlsx/write/index.d.ts +2 -0
  525. package/dist/xlsx/write/index.d.ts.map +1 -0
  526. package/dist/xlsx/write/package-writer.d.ts +31 -0
  527. package/dist/xlsx/write/package-writer.d.ts.map +1 -0
  528. package/dist/xlsx/write/save.d.ts +8 -0
  529. package/dist/xlsx/write/save.d.ts.map +1 -0
  530. package/dist/xlsx/write/shared-strings.d.ts +13 -0
  531. package/dist/xlsx/write/shared-strings.d.ts.map +1 -0
  532. package/dist/xlsx/write/sheet-data.d.ts +19 -0
  533. package/dist/xlsx/write/sheet-data.d.ts.map +1 -0
  534. package/dist/xlsx/write/sheet-parts.d.ts +34 -0
  535. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -0
  536. package/dist/xlsx/write/sheet-props.d.ts +16 -0
  537. package/dist/xlsx/write/sheet-props.d.ts.map +1 -0
  538. package/dist/xlsx/write/snapshot.d.ts +9 -0
  539. package/dist/xlsx/write/snapshot.d.ts.map +1 -0
  540. package/dist/xlsx/write/style-xml.d.ts +13 -0
  541. package/dist/xlsx/write/style-xml.d.ts.map +1 -0
  542. package/dist/xlsx/write/styles.d.ts +24 -0
  543. package/dist/xlsx/write/styles.d.ts.map +1 -0
  544. package/dist/xlsx/write/tables.d.ts +18 -0
  545. package/dist/xlsx/write/tables.d.ts.map +1 -0
  546. package/dist/xlsx/write/theme.d.ts +9 -0
  547. package/dist/xlsx/write/theme.d.ts.map +1 -0
  548. package/dist/xlsx/write/workbook-part.d.ts +16 -0
  549. package/dist/xlsx/write/workbook-part.d.ts.map +1 -0
  550. package/dist/xlsx/write/worksheet.d.ts +6 -0
  551. package/dist/xlsx/write/worksheet.d.ts.map +1 -0
  552. package/dist/xlsx/write/xml-out.d.ts +25 -0
  553. package/dist/xlsx/write/xml-out.d.ts.map +1 -0
  554. package/dist/xml/index.cjs +16 -0
  555. package/dist/xml/index.mjs +16 -0
  556. package/dist/xml/namespaces.d.ts +16 -0
  557. package/dist/xml/namespaces.d.ts.map +1 -1
  558. package/package.json +25 -6
@@ -0,0 +1,33 @@
1
+ import { type CellAddress, type CellRange } from '../address.js';
2
+ export type Axis = 'row' | 'col';
3
+ /** An axis shift: `count` positive inserts before index `at`, negative deletes `-count` from `at`. */
4
+ export interface AxisShift {
5
+ axis: Axis;
6
+ at: number;
7
+ count: number;
8
+ }
9
+ /**
10
+ * Shifts a one-dimensional inclusive span. Inserting at the start moves the span; inserting inside
11
+ * it widens it. Deleting trims it; a span deleted entirely returns undefined.
12
+ */
13
+ export declare function shiftSpan(start: number, end: number, shift: AxisShift): {
14
+ start: number;
15
+ end: number;
16
+ } | undefined;
17
+ /** Shifts one index; undefined when it was deleted (or pushed off the grid). */
18
+ export declare function shiftIndex(index: number, shift: AxisShift): number | undefined;
19
+ /** Shifts an index, clamping deleted positions to the start of the deleted band (drawing anchors). */
20
+ export declare function shiftIndexClamped(index: number, shift: AxisShift): number;
21
+ export declare function shiftRange(range: CellRange, shift: AxisShift): CellRange | undefined;
22
+ export declare function shiftAddress(address: CellAddress, shift: AxisShift): CellAddress | undefined;
23
+ /**
24
+ * Shifts a range inside a band (only the cells between `lo` and `hi` on the other axis move, as an
25
+ * insert-cells or delete-cells shift does). Ranges straddling the band edge stay where they are.
26
+ */
27
+ export declare function shiftRangeInBand(range: CellRange, shift: AxisShift, lo: number, hi: number): CellRange | undefined;
28
+ /** `a` minus `b`: up to four rectangles covering what of `a` lies outside `b`. */
29
+ export declare function subtractRange(a: CellRange, b: CellRange): CellRange[];
30
+ export declare const sameRange: (a: CellRange, b: CellRange) => boolean;
31
+ export declare const rangeWithin: (inner: CellRange, outer: CellRange) => boolean;
32
+ export declare const cellRange: (row: number, col: number, row2?: number, col2?: number) => CellRange;
33
+ //# sourceMappingURL=range-math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-math.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/range-math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAmB,MAAM,eAAe,CAAC;AAEpG,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjC,sGAAsG;AACtG,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACd;AAID;;;GAGG;AACH,wBAAgB,SAAS,CACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkB5C;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAK9E;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAIzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAiBpF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAI5F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACR,SAAS,GAAG,SAAS,CAKvB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAcrE;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,SAAS,EAAE,GAAG,SAAS,KAAG,OAI/B,CAAC;AAEzB,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,EAAE,OAAO,SAAS,KAAG,OAIlC,CAAC;AAEhC,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,aAAU,EAAE,aAAU,KAAG,SAG3E,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { MeasureText } from '../layout/autofit.js';
3
+ import type { Worksheet } from '../model.js';
4
+ import { type EditContext } from './context.js';
5
+ /**
6
+ * Re-fits rows that have no custom height after an edit changed their text, wrapping or font
7
+ * size, as Excel grows (and shrinks back) such rows automatically. Rows with a custom height or
8
+ * hidden rows are left alone. Nothing happens when no height changes; otherwise the change is
9
+ * recorded as its own undo entry, which joins the surrounding step when called inside an edit or
10
+ * a batch (call it from inside `ctx.run` so the edit and the row heights undo together). Returns
11
+ * the rows whose height changed. Without `measure`, text width is approximated from the font
12
+ * size, so wrapped line counts are estimates.
13
+ */
14
+ export declare function autoGrowRows(ctx: EditContext, s: number, rows: Iterable<number>, measure?: MeasureText): number[];
15
+ /** The rows of `ranges` that hold cells or a non-custom height (candidates for re-fitting). */
16
+ export declare function rowsToRefit(sheet: Worksheet, ranges: readonly CellRange[]): number[];
17
+ //# sourceMappingURL=row-autofit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-autofit.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/row-autofit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAKzD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,OAAO,GAAE,WAAgC,GACvC,MAAM,EAAE,CA8BV;AAKD,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,EAAE,CAepF"}
@@ -0,0 +1,24 @@
1
+ import type { Workbook } from '../model.js';
2
+ import type { CalcEngine } from './deps.js';
3
+ import { type HistoryStep } from './history.js';
4
+ export declare class SessionCalculator {
5
+ private readonly workbook;
6
+ private readonly calc;
7
+ /** False when the session was created with `recalc: false`. */
8
+ readonly enabled: boolean;
9
+ /** Structural edits made in manual mode leave the dependency graph stale until a full pass. */
10
+ private staleGraph;
11
+ constructor(workbook: Workbook, calc: CalcEngine,
12
+ /** False when the session was created with `recalc: false`. */
13
+ enabled: boolean);
14
+ /** Recalculates after an applied, undone or redone step (failures become warnings). */
15
+ afterStep(step: HistoryStep): void;
16
+ /** Rebuilds the dependency graph and recalculates every formula (F9). */
17
+ full(): void;
18
+ /**
19
+ * Recalculates one sheet's formulas and their dependents (Shift+F9); after structural edits
20
+ * in manual mode the graph is stale, so the whole workbook is recalculated instead.
21
+ */
22
+ sheet(s: number): void;
23
+ }
24
+ //# sourceMappingURL=session-calc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-calc.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/session-calc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,cAAc,CAAC;AAK9D,qBAAa,iBAAiB;IAK5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,OAAO;IAP1B,+FAA+F;IAC/F,OAAO,CAAC,UAAU,CAAS;gBAGT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU;IACjC,+DAA+D;IACtD,OAAO,EAAE,OAAO;IAG1B,uFAAuF;IACvF,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAkBlC,yEAAyE;IACzE,IAAI,IAAI,IAAI;IAMZ;;;OAGG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAatB"}
@@ -0,0 +1,5 @@
1
+ import type { Workbook } from '../model.js';
2
+ import type { EditSession, EditSessionOptions } from './types.js';
3
+ /** Wraps a workbook in an undoable editing session. */
4
+ export declare function createEditSession(workbook: Workbook, options?: EditSessionOptions): EditSession;
5
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqC5C,OAAO,KAAK,EACX,WAAW,EACX,kBAAkB,EAGlB,MAAM,YAAY,CAAC;AAWpB,uDAAuD;AACvD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,kBAAuB,GAC9B,WAAW,CA0Ob"}
@@ -0,0 +1,19 @@
1
+ import type { Color, SheetState } from '../model.js';
2
+ import { type EditContext } from './context.js';
3
+ /** Adds an empty sheet (appended by default), makes it active and returns its index. */
4
+ export declare function addSheet(ctx: EditContext, name?: string, at?: number): number;
5
+ /**
6
+ * Deletes a sheet. Its sheet-scoped names go with it; references to it (and to its tables) in
7
+ * formulas, defined names, conditional formats, validations, chart series and hyperlink
8
+ * locations elsewhere become `#REF!`, as in Excel.
9
+ */
10
+ export declare function deleteSheet(ctx: EditContext, index: number): void;
11
+ /** Renames a sheet and every formula, name, chart and link reference to it. */
12
+ export declare function renameSheet(ctx: EditContext, index: number, name: string): void;
13
+ /** Moves the sheet at `from` so it ends up at index `to`. */
14
+ export declare function moveSheet(ctx: EditContext, from: number, to: number): void;
15
+ /** Copies a sheet next to the original (named `Name (2)`) and returns the copy's index. */
16
+ export declare function duplicateSheet(ctx: EditContext, index: number): number;
17
+ export declare function setSheetState(ctx: EditContext, index: number, state: SheetState): void;
18
+ export declare function setTabColor(ctx: EditContext, index: number, color?: Color): void;
19
+ //# sourceMappingURL=sheets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheets.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/sheets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AAQtE,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AA4BzD,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAwBjE;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAkB/E;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAuB1E;AAqBD,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA0CtE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAoBtF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAYhF"}
@@ -0,0 +1,14 @@
1
+ import type { Workbook, Worksheet } from '../model.js';
2
+ /** Rewrites one formula; `formulaSheet` is the sheet unqualified references point at. */
3
+ export type FormulaRewrite = (formula: string, formulaSheet: string) => string;
4
+ /**
5
+ * Visits every formula the workbook keeps: cell formulas, conditional-format and validation
6
+ * formulas, defined names, chart series references and in-workbook hyperlink locations.
7
+ */
8
+ export declare function rewriteFormulas(workbook: Workbook, rewrite: FormulaRewrite): void;
9
+ /**
10
+ * The per-sheet part of {@link rewriteFormulas}: cell, conditional-format, validation, table
11
+ * column (calculated and totals) formulas, hyperlink locations and chart series references.
12
+ */
13
+ export declare function rewriteSheetFormulas(sheet: Worksheet, rewrite: FormulaRewrite): void;
14
+ //# sourceMappingURL=shift-formulas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shift-formulas.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/shift-formulas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExE,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAuB/E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAOjF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA4BpF"}
@@ -0,0 +1,15 @@
1
+ import type { Worksheet } from '../model.js';
2
+ import { type AxisShift } from './range-math.js';
3
+ /** Limits a shift to the cells between `lo` and `hi` on the other axis (insert/delete cells). */
4
+ export interface Band {
5
+ lo: number;
6
+ hi: number;
7
+ }
8
+ /**
9
+ * Moves everything positioned on a sheet for a row or column insert/delete: cells, merges,
10
+ * conditional-format and validation ranges, hyperlinks, comments, tables, drawing anchors, row and
11
+ * column formats, the auto-filter, the freeze pane and the print area. Formulas are rewritten
12
+ * separately (they live on every sheet).
13
+ */
14
+ export declare function shiftSheetContent(sheet: Worksheet, shift: AxisShift, band?: Band): void;
15
+ //# sourceMappingURL=shift-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shift-sheet.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/shift-sheet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2C,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACN,KAAK,SAAS,EAMd,MAAM,iBAAiB,CAAC;AAEzB,iGAAiG;AACjG,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CA6CvF"}
@@ -0,0 +1,17 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { CellValue, Worksheet } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ export interface SortKey {
5
+ col: number;
6
+ descending?: boolean;
7
+ }
8
+ /**
9
+ * Compares two cell values as Excel's sort does. Blanks always sort last, whatever the direction;
10
+ * text compares case-insensitively.
11
+ */
12
+ export declare function compareCellValues(a: CellValue, b: CellValue, descending?: boolean): number;
13
+ /** Sorts rows of a range in place (no undo step). Exported for the auto-filter sort. */
14
+ export declare function sortRows(sheet: Worksheet, range: CellRange, keys: SortKey[], hasHeader: boolean): void;
15
+ /** Sorts the rows of `range` by `keys` (absolute column indices), stable, header kept in place. */
16
+ export declare function sortRange(ctx: EditContext, s: number, range: CellRange, keys: SortKey[], hasHeader: boolean): void;
17
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAIzD,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,UAAQ,GAAG,MAAM,CAaxF;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CACvB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,OAAO,GAChB,IAAI,CAiDN;AAsBD,mGAAmG;AACnG,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,OAAO,GAChB,IAAI,CAUN"}
@@ -0,0 +1,10 @@
1
+ import type { Worksheet } from '../model.js';
2
+ import { type EditContext } from './context.js';
3
+ import type { AxisShift } from './range-math.js';
4
+ /** Applies an axis shift to a sheet and every formula in the workbook (no undo step). */
5
+ export declare function applyAxisShift(ctx: EditContext, sheet: Worksheet, shift: AxisShift): void;
6
+ export declare const insertRows: (ctx: EditContext, s: number, at: number, count: number) => void;
7
+ export declare const deleteRows: (ctx: EditContext, s: number, at: number, count: number) => void;
8
+ export declare const insertColumns: (ctx: EditContext, s: number, at: number, count: number) => void;
9
+ export declare const deleteColumns: (ctx: EditContext, s: number, at: number, count: number) => void;
10
+ //# sourceMappingURL=structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/structure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAQ,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAUvD,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMzF;AA+CD,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC1C,CAAC;AAC3C,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IACzC,CAAC;AAC5C,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC7C,CAAC;AAC3C,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC5C,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { Table, Workbook, Worksheet } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ /** A table by index in `sheet.tables` or by name (case-insensitive). */
5
+ export type TableRef = number | string;
6
+ /** What `updateTable` may change. */
7
+ export type TablePatch = Partial<Omit<Table, 'id' | 'partName'>>;
8
+ export declare function tableIndex(sheet: Worksheet, ref: TableRef): number;
9
+ /** Why `name` cannot name a table in this workbook (ignoring `self`), or undefined. */
10
+ export declare function validateTableName(workbook: Workbook, name: string, self?: Table): string | undefined;
11
+ /** Renames a table and every structured reference to it (no undo step). */
12
+ export declare function renameTableIn(workbook: Workbook, table: Table, name: string): void;
13
+ /**
14
+ * Updates a table: style and stripe options, name (structured references follow), header and
15
+ * totals rows (cells are added or cleared like Excel), columns and range.
16
+ */
17
+ export declare function updateTable(ctx: EditContext, s: number, ref: TableRef, patch: TablePatch): void;
18
+ /** Resizes a table to `range` (Table Design > Resize Table). */
19
+ export declare function resizeTable(ctx: EditContext, s: number, ref: TableRef, range: CellRange): void;
20
+ /**
21
+ * Turns a table back into a plain range: its cells stay, structured references to it become
22
+ * absolute A1 references everywhere, and the table (with its auto-filter) goes.
23
+ */
24
+ export declare function convertTableToRange(ctx: EditContext, s: number, ref: TableRef): void;
25
+ //# sourceMappingURL=table-edits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-edits.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/table-edits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAIhF,OAAO,KAAK,EAAE,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAOtE,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAOlE;AAID,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,KAAK,GACV,MAAM,GAAG,SAAS,CAWpB;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYlF;AAwHD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAsC/F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU9F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAyCpF"}
@@ -0,0 +1,11 @@
1
+ import type { Table, Worksheet } from '../model.js';
2
+ /** Whether a row holds no values or formulas between two columns. */
3
+ export declare function rowIsEmpty(sheet: Worksheet, row: number, lo: number, hi: number): boolean;
4
+ /** Clears the contents of a row between two columns (formats stay). */
5
+ export declare function clearRow(sheet: Worksheet, row: number, lo: number, hi: number): void;
6
+ /**
7
+ * Fills the totals row from the columns' `totalsRowLabel` / `totalsRowFunction`. When no column
8
+ * has either yet, Excel's default applies: `Total` in the first column and a sum in the last.
9
+ */
10
+ export declare function applyTotalsRow(sheet: Worksheet, table: Table): void;
11
+ //# sourceMappingURL=table-rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-rows.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/table-rows.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIpD,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAWzF;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAOpF;AAeD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAmBnE"}
@@ -0,0 +1,11 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { Table } from '../model.js';
3
+ import { type EditContext } from './context.js';
4
+ /** Unique header names: blanks become `ColumnN`, repeats get a number suffix (`Name2`). */
5
+ export declare function uniqueHeaders(texts: string[]): string[];
6
+ /**
7
+ * Turns a range into a table (a single cell expands to its current region). Without a header
8
+ * row, cells are shifted down one row and a `Column1`, `Column2`, ... header is inserted.
9
+ */
10
+ export declare function createTable(ctx: EditContext, s: number, range: CellRange, hasHeader: boolean, styleName?: string): Table;
11
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAYtE,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiBvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,OAAO,EAClB,SAAS,SAAsB,GAC7B,KAAK,CAyDP"}
@@ -0,0 +1,15 @@
1
+ import type { Workbook } from '../model.js';
2
+ import type { EditContext } from './context.js';
3
+ import { type HistoryEntry } from './history.js';
4
+ import type { WorkbookChangeKind } from './types.js';
5
+ export interface TestContext extends EditContext {
6
+ readonly steps: {
7
+ label: string;
8
+ kind: WorkbookChangeKind;
9
+ entries: HistoryEntry[];
10
+ }[];
11
+ /** Restores the last step's snapshots. */
12
+ undo(): void;
13
+ }
14
+ export declare function testContext(workbook: Workbook): TestContext;
15
+ //# sourceMappingURL=test-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/test-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAgB,KAAK,YAAY,EAAmB,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,EAAE,CAAC;IACvF,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAyB3D"}
@@ -0,0 +1,66 @@
1
+ import type { CellRange } from '../address.js';
2
+ import type { CellStyle, CellValue, RichTextRun } from '../model.js';
3
+ /** One copied cell, self-contained so it can be pasted into another workbook. */
4
+ export interface ClipboardCell {
5
+ value: CellValue;
6
+ formula?: string;
7
+ /** The resolved format (not an index), so it survives a paste into another workbook. */
8
+ style?: CellStyle;
9
+ richText?: RichTextRun[];
10
+ /** Number format implied by pasted text (`15%`), applied when the target is `General`. */
11
+ numFmt?: string;
12
+ /** Display text as the grid shows it. */
13
+ text: string;
14
+ /** The formula uses pre-dynamic-array semantics (see `Cell.legacyFormula`). */
15
+ legacyFormula?: true;
16
+ /**
17
+ * A dynamic-array result whose anchor formula is part of the same copy: pasting formulas
18
+ * recreates it from the anchor, so only `values` pastes write it.
19
+ */
20
+ spilled?: true;
21
+ }
22
+ export interface ClipboardCells {
23
+ rows: number;
24
+ cols: number;
25
+ /** `data[r][c]`; `null` for an empty cell. */
26
+ data: (ClipboardCell | null)[][];
27
+ /** Merged areas, relative to the top-left of the copied block. */
28
+ merges: CellRange[];
29
+ /** Where the cells were copied from, when they came from a session. */
30
+ source?: {
31
+ sheet: number;
32
+ range: CellRange;
33
+ };
34
+ }
35
+ /** What `copy` returns: text for the system clipboard plus the cells for an internal paste. */
36
+ export interface ClipboardPayload {
37
+ tsv: string;
38
+ html: string;
39
+ cells: ClipboardCells;
40
+ /** Set by `cut`; the first paste clears the source and then resets this flag. */
41
+ cut?: boolean;
42
+ }
43
+ export interface FindQuery {
44
+ text: string;
45
+ /** Sheet to search; all sheets when absent. */
46
+ sheet?: number;
47
+ /** Limit the search to a range (only with `sheet`). */
48
+ range?: CellRange;
49
+ matchCase?: boolean;
50
+ /** The whole cell content must match. */
51
+ wholeCell?: boolean;
52
+ /** `formulas` searches what was typed (formula text, raw constants); `values` the display text. */
53
+ lookIn?: 'formulas' | 'values' | 'comments';
54
+ /** Excel wildcards: `*` any run, `?` one character, `~` escapes. Default true. */
55
+ wildcards?: boolean;
56
+ /** Search order; rows by default. */
57
+ order?: 'rows' | 'columns';
58
+ }
59
+ export interface FindMatch {
60
+ sheet: number;
61
+ row: number;
62
+ col: number;
63
+ /** The text that was searched in this cell. */
64
+ text: string;
65
+ }
66
+ //# sourceMappingURL=types-clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-clipboard.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/types-clipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;CAC7C;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,188 @@
1
+ import type { CellAddress, CellRange } from '../address.js';
2
+ import type { BorderEdge, CellStyle, CellValue, ChartObject, Color, ConditionalFormat, ImageObject, DataValidation, DefinedName, DrawingAnchor, FreezePane, Hyperlink, PageSetup, PrintOptions, SheetProtection, SheetState, SheetView, Table, Workbook } from '../model.js';
3
+ import type { FontView } from '../layout/types.js';
4
+ import type { StylePatch } from '../styles.js';
5
+ import type { CalcEngine } from './deps.js';
6
+ import type { ChartPatch } from './charts.js';
7
+ import type { TablePatch, TableRef } from './table-edits.js';
8
+ /** Border presets of the ribbon's border drop-down. */
9
+ export type BorderPreset = 'all' | 'outside' | 'thickOutside' | 'none' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'insideH' | 'insideV' | 'thickBottom' | 'doubleBottom' | 'topAndBottom';
10
+ /** What `clearRange` removes. */
11
+ export type ClearWhat = 'all' | 'contents' | 'formats' | 'comments' | 'hyperlinks';
12
+ export type PasteMode = 'all' | 'values' | 'formats' | 'formulas' | 'transpose';
13
+ export type MergeMode = 'merge' | 'center' | 'across';
14
+ export type { ClipboardCell, ClipboardCells, ClipboardPayload, FindMatch, FindQuery, } from './types-clipboard.js';
15
+ import type { ClipboardPayload, FindMatch, FindQuery } from './types-clipboard.js';
16
+ export type WorkbookChangeKind = 'cells' | 'format' | 'structure' | 'sheets' | 'annotations' | 'view' | 'names' | 'batch' | 'undo' | 'redo';
17
+ export interface WorkbookChange {
18
+ kind: WorkbookChangeKind;
19
+ /** Undo label of the edit. */
20
+ label: string;
21
+ /** The sheet the edit touched, when it touched one. */
22
+ sheet?: number;
23
+ ranges?: CellRange[];
24
+ /** Rows, columns or sheets moved: views must rebuild metrics, not only repaint cells. */
25
+ structural: boolean;
26
+ }
27
+ export interface ValidationFailure {
28
+ ok: false;
29
+ style: 'stop' | 'warning' | 'information';
30
+ title?: string;
31
+ message: string;
32
+ }
33
+ export type ValidationResult = {
34
+ ok: true;
35
+ } | ValidationFailure;
36
+ export interface EditSessionOptions {
37
+ /** Recalculate formulas after every edit (default true). */
38
+ recalc?: boolean;
39
+ /** Undo depth (default 100). */
40
+ historyLimit?: number;
41
+ /** Base of new sheet names (`Sheet` gives `Sheet2`, ...), for localized UIs. */
42
+ defaultSheetBase?: string;
43
+ /**
44
+ * Re-fit rows without a custom height after edits that change cell text or formats, as Excel
45
+ * grows and shrinks such rows (default true). The re-fit undoes together with the edit.
46
+ */
47
+ autoRowHeight?: boolean;
48
+ /** Text measurement for the row re-fit, in CSS px (default: an estimate from the font size). */
49
+ measureText?: (text: string, font: FontView) => number;
50
+ }
51
+ /** The editing API every UI drives. Each method is one undo step; `batch` groups several. */
52
+ export interface EditSession {
53
+ readonly workbook: Workbook;
54
+ readonly calc: CalcEngine;
55
+ setCellInput(sheet: number, row: number, col: number, text: string): void;
56
+ setCellValue(sheet: number, row: number, col: number, value: CellValue): void;
57
+ setRangeValues(sheet: number, at: CellAddress, values: CellValue[][]): void;
58
+ clearRange(sheet: number, range: CellRange, what: ClearWhat): void;
59
+ applyStyle(sheet: number, ranges: CellRange[], patch: StylePatch): void;
60
+ setBorders(sheet: number, range: CellRange, preset: BorderPreset, edge?: BorderEdge): void;
61
+ insertRows(sheet: number, at: number, count: number): void;
62
+ deleteRows(sheet: number, at: number, count: number): void;
63
+ insertColumns(sheet: number, at: number, count: number): void;
64
+ deleteColumns(sheet: number, at: number, count: number): void;
65
+ insertCellsShift(sheet: number, range: CellRange, direction: 'down' | 'right'): void;
66
+ deleteCellsShift(sheet: number, range: CellRange, direction: 'up' | 'left'): void;
67
+ setColumnWidth(sheet: number, cols: number[], width: number | 'auto', measure?: (text: string, style: CellStyle) => number): void;
68
+ setRowHeight(sheet: number, rows: number[], height: number | 'auto'): void;
69
+ setHidden(sheet: number, axis: 'row' | 'col', indices: number[], hidden: boolean): void;
70
+ merge(sheet: number, range: CellRange, mode: MergeMode): void;
71
+ unmerge(sheet: number, range: CellRange): void;
72
+ sort(sheet: number, range: CellRange, keys: {
73
+ col: number;
74
+ descending?: boolean;
75
+ }[], hasHeader: boolean): void;
76
+ fill(sheet: number, source: CellRange, target: CellRange): void;
77
+ copy(sheet: number, range: CellRange): ClipboardPayload;
78
+ cut(sheet: number, range: CellRange): ClipboardPayload;
79
+ paste(sheet: number, at: CellAddress, payload: ClipboardPayload | string, mode?: PasteMode): CellRange;
80
+ findAll(query: FindQuery): FindMatch[];
81
+ replaceAll(query: FindQuery, replacement: string): number;
82
+ /** Replaces the query in one matched cell; false when the cell no longer matches. */
83
+ replaceOne(query: FindQuery, replacement: string, at: FindMatch): boolean;
84
+ addSheet(name?: string, at?: number): number;
85
+ deleteSheet(index: number): void;
86
+ renameSheet(index: number, name: string): void;
87
+ moveSheet(from: number, to: number): void;
88
+ duplicateSheet(index: number): number;
89
+ setSheetState(index: number, state: SheetState): void;
90
+ setTabColor(index: number, color?: Color): void;
91
+ setFreeze(sheet: number, freeze: FreezePane | undefined): void;
92
+ setComment(sheet: number, at: CellAddress, text: string | undefined, author: string): void;
93
+ setHyperlink(sheet: number, range: CellRange, link: Omit<Hyperlink, 'range'> | undefined): void;
94
+ addConditionalFormat(sheet: number, format: ConditionalFormat): void;
95
+ clearConditionalFormats(sheet: number, range?: CellRange): void;
96
+ setDataValidation(sheet: number, validation: DataValidation | undefined, range: CellRange): void;
97
+ setAutoFilter(sheet: number, range: CellRange | undefined): void;
98
+ /** Filters an auto-filter column to display texts in `values` (`''` keeps blanks); undefined clears. */
99
+ filterColumn(sheet: number, col: number, values: string[] | undefined): void;
100
+ /** Sorts the auto-filter (or table) containing `col` by that column, keeping the header. */
101
+ sortByColumn(sheet: number, col: number, descending?: boolean): void;
102
+ createTable(sheet: number, range: CellRange, hasHeader: boolean, styleName?: string): Table;
103
+ setSheetView(sheet: number, patch: Partial<SheetView>): void;
104
+ setDefinedName(name: DefinedName): void;
105
+ deleteDefinedName(name: string, localSheet?: number): void;
106
+ /** Moves or resizes the picture, chart or shape at `index` of the sheet's drawings. */
107
+ setDrawingAnchor(sheet: number, index: number, anchor: DrawingAnchor): void;
108
+ /** Deletes the picture, chart or shape at `index` of the sheet's drawings. */
109
+ deleteDrawing(sheet: number, index: number): void;
110
+ /** Adds a chart drawn from the model; returns its index in the sheet's drawings. */
111
+ addChart(sheet: number, chart: Omit<ChartObject, 'kind'>): number;
112
+ /** Edits the chart at `index` of the sheet's drawings (a loaded chart part is patched on save). */
113
+ updateChart(sheet: number, index: number, patch: ChartPatch): void;
114
+ /** Inserts a picture (bytes stored as a new media part) and returns it. */
115
+ addImage(sheet: number, bytes: Uint8Array, contentType: string, anchor: DrawingAnchor, name?: string): ImageObject;
116
+ /** Replaces the conditional format at `index` (Rules Manager > Edit Rule). */
117
+ replaceConditionalFormat(sheet: number, index: number, format: ConditionalFormat): void;
118
+ /** Removes the conditional format at `index` (Rules Manager > Delete Rule). */
119
+ removeConditionalFormat(sheet: number, index: number): void;
120
+ /** Gives a rule a new priority (1 is evaluated first); every rule is renumbered 1..n. */
121
+ setConditionalRulePriority(sheet: number, formatIndex: number, ruleIndex: number, priority: number): void;
122
+ /** Moves a rule one step up or down in the evaluation order. */
123
+ moveConditionalRule(sheet: number, formatIndex: number, ruleIndex: number, direction: 'up' | 'down'): void;
124
+ /**
125
+ * Updates a table (by index in `sheet.tables` or by name): style options, name (structured
126
+ * references follow), header and totals rows, columns and range.
127
+ */
128
+ updateTable(sheet: number, table: TableRef, patch: TablePatch): void;
129
+ /** Resizes a table; its header row must stay on the same row. */
130
+ resizeTable(sheet: number, table: TableRef, range: CellRange): void;
131
+ /** Converts a table to a plain range; structured references become absolute A1 references. */
132
+ convertTableToRange(sheet: number, table: TableRef): void;
133
+ /** Applies a named cell style (built-in such as `Good`, or one the workbook defines). */
134
+ applyCellStyle(sheet: number, ranges: CellRange[], name: string): void;
135
+ /** Patches the page setup; `undefined` entries clear a setting. */
136
+ setPageSetup(sheet: number, patch: {
137
+ [K in keyof PageSetup]?: PageSetup[K] | undefined;
138
+ }): void;
139
+ /** Patches the print options (gridlines, headings, centring); false clears one. */
140
+ setPrintOptions(sheet: number, patch: Partial<PrintOptions>): void;
141
+ /**
142
+ * Protects a sheet (`undefined` unprotects). A non-empty `password` stores its legacy hash,
143
+ * `''` removes it; unprotecting with a wrong password throws.
144
+ */
145
+ setSheetProtection(sheet: number, protection: SheetProtection | undefined, password?: string): void;
146
+ /** Locks or unlocks the workbook structure, optionally with a password (checked on unlock). */
147
+ setWorkbookProtection(locked: boolean, password?: string): void;
148
+ /** Raises the outline level of rows `from`..`to` (inclusive). */
149
+ groupRows(sheet: number, from: number, to: number): void;
150
+ ungroupRows(sheet: number, from: number, to: number): void;
151
+ /** Raises the outline level of columns `from`..`to` (inclusive). */
152
+ groupColumns(sheet: number, from: number, to: number): void;
153
+ ungroupColumns(sheet: number, from: number, to: number): void;
154
+ /** The sheet's standard column width in characters; undefined restores Excel's default. */
155
+ setDefaultColumnWidth(sheet: number, width: number | undefined): void;
156
+ /** Removes rows whose `columns` (absolute; empty = all) repeat an earlier row's display text. */
157
+ removeDuplicates(sheet: number, range: CellRange, columns: number[], hasHeader: boolean): {
158
+ removed: number;
159
+ remaining: number;
160
+ };
161
+ /** Automatic or manual calculation (saved with the workbook). */
162
+ setCalcMode(mode: 'auto' | 'manual'): void;
163
+ /** `setCalcMode(enabled ? 'auto' : 'manual')`. */
164
+ setAutoRecalc(enabled: boolean): void;
165
+ /**
166
+ * Whether edits recalculate: false when the session was created with `recalc: false` (which
167
+ * always wins) or the workbook is in manual calculation mode.
168
+ */
169
+ autoRecalc(): boolean;
170
+ /** Recalculates every formula (F9); not an undo step. */
171
+ calculateNow(): void;
172
+ /**
173
+ * Recalculates the formulas of one sheet and their dependents (Shift+F9). After structural
174
+ * edits made in manual mode the whole workbook is recalculated instead.
175
+ */
176
+ calculateSheet(sheet: number): void;
177
+ /** Validates `value` against the cell's data validation, using this session's calc engine. */
178
+ validate(sheet: number, row: number, col: number, value: CellValue): ValidationResult;
179
+ batch(label: string, fn: () => void): void;
180
+ undo(): boolean;
181
+ redo(): boolean;
182
+ canUndo(): boolean;
183
+ canRedo(): boolean;
184
+ undoLabel(): string | undefined;
185
+ redoLabel(): string | undefined;
186
+ onChange(listener: (change: WorkbookChange) => void): () => void;
187
+ }
188
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { CellValue, DataValidation, Workbook } from '../model.js';
2
+ import type { ValidationResult } from './types.js';
3
+ export interface ValidationOptions {
4
+ /** Evaluates a validation formula at the cell (the session passes its calc engine). */
5
+ evaluate?: (formula: string, at: {
6
+ sheet: number;
7
+ row: number;
8
+ col: number;
9
+ }) => CellValue;
10
+ }
11
+ export declare const DEFAULT_VALIDATION_MESSAGE = "This value doesn't match the data validation restrictions defined for this cell.";
12
+ /** The validation rule covering a cell, if any. */
13
+ export declare function validationAt(workbook: Workbook, sheet: number, row: number, col: number): DataValidation | undefined;
14
+ /** The drop-down entries of a list validation on a cell, or undefined when it has none. */
15
+ export declare function listValidationOptions(workbook: Workbook, sheet: number, row: number, col: number, options?: ValidationOptions): string[] | undefined;
16
+ /**
17
+ * Checks a value against the data validation of a cell. Blank values pass unless `allowBlank`
18
+ * is explicitly false; rules whose error alert is turned off never reject.
19
+ */
20
+ export declare function validateCellInput(workbook: Workbook, sheet: number, row: number, col: number, value: CellValue, options?: ValidationOptions): ValidationResult;
21
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAuB,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IACjC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;CAC3F;AAED,eAAO,MAAM,0BAA0B,qFAC4C,CAAC;AAcpF,mDAAmD;AACnD,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,cAAc,GAAG,SAAS,CAI5B;AAkGD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC7B,MAAM,EAAE,GAAG,SAAS,CAStB;AAgCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,iBAAsB,GAC7B,gBAAgB,CAMlB"}
@@ -0,0 +1,12 @@
1
+ import type { DefinedName, FreezePane, SheetView } from '../model.js';
2
+ import { type EditContext } from './context.js';
3
+ /** Freezes the top `rows` and left `cols` (both zero, or undefined, unfreezes). */
4
+ export declare function setFreeze(ctx: EditContext, s: number, freeze: FreezePane | undefined): void;
5
+ /** Patches the sheet view (zoom, gridlines, headers, selection, ...). */
6
+ export declare function setSheetView(ctx: EditContext, s: number, patch: Partial<SheetView>): void;
7
+ /** Why a defined name is not acceptable, or undefined when it is. */
8
+ export declare function validateDefinedName(name: string): string | undefined;
9
+ /** Adds or replaces a defined name (matched by name, case-insensitively, and scope). */
10
+ export declare function setDefinedName(ctx: EditContext, name: DefinedName): void;
11
+ export declare function deleteDefinedName(ctx: EditContext, name: string, localSheet?: number): void;
12
+ //# sourceMappingURL=view.d.ts.map