ooxml-core 1.19.2 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/README.md +47 -1
  2. package/dist/{PptxHandler-6TNIQ7S5.cjs → PptxHandler-DNSXWTQV.cjs} +3 -3
  3. package/dist/{PptxHandler-2V4PQL6O.mjs → PptxHandler-FSKKPZZC.mjs} +3 -3
  4. package/dist/PptxHandler-H7MEWJJJ.mjs +4 -0
  5. package/dist/{PresentationBuilder-G7MPEGXJ.mjs → PresentationBuilder-7TSENZTX.mjs} +2 -2
  6. package/dist/{PresentationBuilder-RM52LCVN.cjs → PresentationBuilder-A5NI35VN.cjs} +5 -5
  7. package/dist/{PresentationBuilder-HQ6C7L4V.mjs → PresentationBuilder-RIJWQSEU.mjs} +3 -3
  8. package/dist/automation/docx-forms.d.ts +26 -0
  9. package/dist/automation/docx-forms.d.ts.map +1 -0
  10. package/dist/automation/index.cjs +6280 -2506
  11. package/dist/automation/index.d.ts +1 -0
  12. package/dist/automation/index.d.ts.map +1 -1
  13. package/dist/automation/index.mjs +6277 -2507
  14. package/dist/automation/xlsx-read.d.ts +56 -0
  15. package/dist/automation/xlsx-read.d.ts.map +1 -0
  16. package/dist/automation/xlsx.d.ts +105 -4
  17. package/dist/automation/xlsx.d.ts.map +1 -1
  18. package/dist/chart/axis-range.d.ts.map +1 -1
  19. package/dist/chart/bubble-radius.d.ts +0 -5
  20. package/dist/chart/bubble-radius.d.ts.map +1 -1
  21. package/dist/chart/extent.d.ts +9 -0
  22. package/dist/chart/extent.d.ts.map +1 -0
  23. package/dist/chart/histogram-binning.d.ts.map +1 -1
  24. package/dist/chart/index.cjs +56 -18
  25. package/dist/chart/index.mjs +56 -18
  26. package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -1
  27. package/dist/chart/render/chart-svg-legend.d.ts.map +1 -1
  28. package/dist/chart/render/chart-view-ex.d.ts.map +1 -1
  29. package/dist/chart/render/chart-view.d.ts.map +1 -1
  30. package/dist/chart/trendline-fit.d.ts.map +1 -1
  31. package/dist/{chunk-NYTR4UZ5.cjs → chunk-4LZIUJI3.cjs} +52 -12
  32. package/dist/{chunk-SLNQNVQM.mjs → chunk-4QPOJCJG.mjs} +45 -8
  33. package/dist/{chunk-XTSHZGSM.mjs → chunk-6IIMI5RS.mjs} +52 -12
  34. package/dist/{chunk-TJPUAUWL.mjs → chunk-BA7Z6ATM.mjs} +9 -195
  35. package/dist/{chunk-JUABSM7C.mjs → chunk-DLFMCZZT.mjs} +1 -1
  36. package/dist/{chunk-M4XLF4R7.mjs → chunk-GBKBR4CX.mjs} +20 -8
  37. package/dist/{chunk-R5FIHHGB.cjs → chunk-HL3FBJ6X.cjs} +1648 -1205
  38. package/dist/{chunk-ZJ2OKIJN.mjs → chunk-LF5E5ZOH.mjs} +642 -199
  39. package/dist/{chunk-4FTUAD2B.mjs → chunk-Q5PKBQXH.mjs} +766 -202
  40. package/dist/{chunk-M6GDBVQ7.mjs → chunk-VQF6HQEE.mjs} +1 -1
  41. package/dist/collab/embedding.d.ts +103 -0
  42. package/dist/collab/embedding.d.ts.map +1 -0
  43. package/dist/collab/index.cjs +450 -342
  44. package/dist/collab/index.d.ts +1 -0
  45. package/dist/collab/index.d.ts.map +1 -1
  46. package/dist/collab/index.mjs +443 -343
  47. package/dist/color/theme-palette.d.ts +5 -1
  48. package/dist/color/theme-palette.d.ts.map +1 -1
  49. package/dist/crypto/index.cjs +27 -2
  50. package/dist/crypto/index.mjs +27 -2
  51. package/dist/diagram/index.cjs +31 -3
  52. package/dist/diagram/index.mjs +31 -3
  53. package/dist/docx/block-parser.d.ts.map +1 -1
  54. package/dist/docx/cell-blocks.d.ts +7 -1
  55. package/dist/docx/cell-blocks.d.ts.map +1 -1
  56. package/dist/docx/content-control-edit.d.ts +14 -0
  57. package/dist/docx/content-control-edit.d.ts.map +1 -1
  58. package/dist/docx/content-control-model.d.ts +8 -0
  59. package/dist/docx/content-control-model.d.ts.map +1 -1
  60. package/dist/docx/content-control-values.d.ts +20 -0
  61. package/dist/docx/content-control-values.d.ts.map +1 -0
  62. package/dist/docx/content-control.d.ts +7 -1
  63. package/dist/docx/content-control.d.ts.map +1 -1
  64. package/dist/docx/element-order.d.ts +10 -5
  65. package/dist/docx/element-order.d.ts.map +1 -1
  66. package/dist/docx/embedded.cjs +3861 -1379
  67. package/dist/docx/embedded.mjs +3861 -1379
  68. package/dist/docx/field-instruction.d.ts +22 -0
  69. package/dist/docx/field-instruction.d.ts.map +1 -0
  70. package/dist/docx/form-field-model.d.ts +48 -0
  71. package/dist/docx/form-field-model.d.ts.map +1 -0
  72. package/dist/docx/form-fields.d.ts +31 -0
  73. package/dist/docx/form-fields.d.ts.map +1 -0
  74. package/dist/docx/form-fill-fields.d.ts +61 -0
  75. package/dist/docx/form-fill-fields.d.ts.map +1 -0
  76. package/dist/docx/form-fill-labels.d.ts +8 -0
  77. package/dist/docx/form-fill-labels.d.ts.map +1 -0
  78. package/dist/docx/form-fill-sites.d.ts +59 -0
  79. package/dist/docx/form-fill-sites.d.ts.map +1 -0
  80. package/dist/docx/form-fill-values.d.ts +28 -0
  81. package/dist/docx/form-fill-values.d.ts.map +1 -0
  82. package/dist/docx/form-fill-write.d.ts +26 -0
  83. package/dist/docx/form-fill-write.d.ts.map +1 -0
  84. package/dist/docx/glossary.d.ts +15 -0
  85. package/dist/docx/glossary.d.ts.map +1 -0
  86. package/dist/docx/index.cjs +5929 -3153
  87. package/dist/docx/index.d.ts +7 -0
  88. package/dist/docx/index.d.ts.map +1 -1
  89. package/dist/docx/index.mjs +5913 -3154
  90. package/dist/docx/inline-annotations.d.ts +21 -0
  91. package/dist/docx/inline-annotations.d.ts.map +1 -0
  92. package/dist/docx/inline-container-markers.d.ts +14 -0
  93. package/dist/docx/inline-container-markers.d.ts.map +1 -0
  94. package/dist/docx/inline-containers.d.ts +54 -0
  95. package/dist/docx/inline-containers.d.ts.map +1 -0
  96. package/dist/docx/inline-form-field-bookmarks.d.ts +15 -0
  97. package/dist/docx/inline-form-field-bookmarks.d.ts.map +1 -0
  98. package/dist/docx/inline-marker-positions.d.ts +15 -0
  99. package/dist/docx/inline-marker-positions.d.ts.map +1 -0
  100. package/dist/docx/inline-markers.d.ts +63 -0
  101. package/dist/docx/inline-markers.d.ts.map +1 -0
  102. package/dist/docx/inline-slots.d.ts +24 -0
  103. package/dist/docx/inline-slots.d.ts.map +1 -0
  104. package/dist/docx/layout/adapter.d.ts.map +1 -1
  105. package/dist/docx/layout/index.cjs +1176 -563
  106. package/dist/docx/layout/index.d.ts +2 -1
  107. package/dist/docx/layout/index.d.ts.map +1 -1
  108. package/dist/docx/layout/index.mjs +1175 -564
  109. package/dist/docx/layout/input.d.ts +5 -1
  110. package/dist/docx/layout/input.d.ts.map +1 -1
  111. package/dist/docx/layout/page-style-refs.d.ts +21 -0
  112. package/dist/docx/layout/page-style-refs.d.ts.map +1 -0
  113. package/dist/docx/layout/paragraph-fragments.d.ts.map +1 -1
  114. package/dist/docx/layout/result.d.ts +1 -0
  115. package/dist/docx/layout/result.d.ts.map +1 -1
  116. package/dist/docx/layout/tab-stops.d.ts +8 -1
  117. package/dist/docx/layout/tab-stops.d.ts.map +1 -1
  118. package/dist/docx/load/index.cjs +3969 -1487
  119. package/dist/docx/load/index.mjs +3969 -1487
  120. package/dist/docx/model-run.d.ts +24 -2
  121. package/dist/docx/model-run.d.ts.map +1 -1
  122. package/dist/docx/model.d.ts +5 -0
  123. package/dist/docx/model.d.ts.map +1 -1
  124. package/dist/docx/numbering-format.d.ts.map +1 -1
  125. package/dist/docx/parse-warnings.d.ts.map +1 -1
  126. package/dist/docx/parse.d.ts.map +1 -1
  127. package/dist/docx/run-segmentation.d.ts +11 -0
  128. package/dist/docx/run-segmentation.d.ts.map +1 -0
  129. package/dist/docx/save.d.ts.map +1 -1
  130. package/dist/docx/section-model.d.ts +5 -0
  131. package/dist/docx/section-model.d.ts.map +1 -1
  132. package/dist/docx/sections.d.ts +4 -2
  133. package/dist/docx/sections.d.ts.map +1 -1
  134. package/dist/docx/settings.d.ts +9 -0
  135. package/dist/docx/settings.d.ts.map +1 -1
  136. package/dist/docx/special-characters.d.ts +34 -0
  137. package/dist/docx/special-characters.d.ts.map +1 -0
  138. package/dist/docx/style-ref-fields.d.ts +40 -0
  139. package/dist/docx/style-ref-fields.d.ts.map +1 -0
  140. package/dist/docx/style-ref.d.ts +85 -0
  141. package/dist/docx/style-ref.d.ts.map +1 -0
  142. package/dist/docx/table-model.d.ts +2 -2
  143. package/dist/docx/table-model.d.ts.map +1 -1
  144. package/dist/docx/ui/break-note-schema.d.ts.map +1 -1
  145. package/dist/docx/ui/content-control-commands.d.ts +20 -8
  146. package/dist/docx/ui/content-control-commands.d.ts.map +1 -1
  147. package/dist/docx/ui/content-control-guard.d.ts +4 -1
  148. package/dist/docx/ui/content-control-guard.d.ts.map +1 -1
  149. package/dist/docx/ui/content-control-paste.d.ts +23 -0
  150. package/dist/docx/ui/content-control-paste.d.ts.map +1 -0
  151. package/dist/docx/ui/content-control-rows.d.ts +15 -0
  152. package/dist/docx/ui/content-control-rows.d.ts.map +1 -0
  153. package/dist/docx/ui/content-control-sources.d.ts +12 -0
  154. package/dist/docx/ui/content-control-sources.d.ts.map +1 -0
  155. package/dist/docx/ui/content-control-spans.d.ts +29 -6
  156. package/dist/docx/ui/content-control-spans.d.ts.map +1 -1
  157. package/dist/docx/ui/content-control-temporary.d.ts +10 -0
  158. package/dist/docx/ui/content-control-temporary.d.ts.map +1 -0
  159. package/dist/docx/ui/form-field-commands.d.ts +41 -0
  160. package/dist/docx/ui/form-field-commands.d.ts.map +1 -0
  161. package/dist/docx/ui/form-field-guard.d.ts +24 -0
  162. package/dist/docx/ui/form-field-guard.d.ts.map +1 -0
  163. package/dist/docx/ui/form-text-blank.d.ts +18 -0
  164. package/dist/docx/ui/form-text-blank.d.ts.map +1 -0
  165. package/dist/docx/ui/index.cjs +9276 -7132
  166. package/dist/docx/ui/index.d.ts +5 -0
  167. package/dist/docx/ui/index.d.ts.map +1 -1
  168. package/dist/docx/ui/index.mjs +9259 -7137
  169. package/dist/docx/ui/positional-tab-input.d.ts +7 -0
  170. package/dist/docx/ui/positional-tab-input.d.ts.map +1 -0
  171. package/dist/docx/ui/run-compare.d.ts.map +1 -1
  172. package/dist/docx/ui/run-extra-mark.d.ts +1 -1
  173. package/dist/docx/ui/run-extra-mark.d.ts.map +1 -1
  174. package/dist/docx/ui/schema-marks.d.ts +1 -1
  175. package/dist/docx/ui/schema-marks.d.ts.map +1 -1
  176. package/dist/docx/ui/symbol-font.d.ts +4 -0
  177. package/dist/docx/ui/symbol-font.d.ts.map +1 -0
  178. package/dist/docx/ui/yjs-collaboration.d.ts +12 -1
  179. package/dist/docx/ui/yjs-collaboration.d.ts.map +1 -1
  180. package/dist/docx/write-block-placement.d.ts +7 -0
  181. package/dist/docx/write-block-placement.d.ts.map +1 -1
  182. package/dist/docx/write-content-control.d.ts +6 -0
  183. package/dist/docx/write-content-control.d.ts.map +1 -1
  184. package/dist/docx/write-header-footer.d.ts +6 -2
  185. package/dist/docx/write-header-footer.d.ts.map +1 -1
  186. package/dist/docx/write-inline.d.ts +12 -16
  187. package/dist/docx/write-inline.d.ts.map +1 -1
  188. package/dist/docx/write-paragraph.d.ts.map +1 -1
  189. package/dist/docx/write-revisions.d.ts.map +1 -1
  190. package/dist/docx/write-run.d.ts.map +1 -1
  191. package/dist/docx/write-section-properties.d.ts +5 -0
  192. package/dist/docx/write-section-properties.d.ts.map +1 -0
  193. package/dist/docx/write-sections.d.ts.map +1 -1
  194. package/dist/docx/write-table-controls.d.ts +15 -0
  195. package/dist/docx/write-table-controls.d.ts.map +1 -0
  196. package/dist/docx/write-table-properties.d.ts.map +1 -1
  197. package/dist/docx/write-table.d.ts.map +1 -1
  198. package/dist/docx/write.d.ts.map +1 -1
  199. package/dist/docx/xml.d.ts +6 -0
  200. package/dist/docx/xml.d.ts.map +1 -1
  201. package/dist/drawingml/index.cjs +31 -3
  202. package/dist/drawingml/index.mjs +31 -3
  203. package/dist/index.cjs +102 -26
  204. package/dist/index.mjs +102 -26
  205. package/dist/math/index.cjs +27 -2
  206. package/dist/math/index.mjs +27 -2
  207. package/dist/opc/index.cjs +51 -11
  208. package/dist/opc/index.mjs +51 -11
  209. package/dist/opc/zip-folders.d.ts +11 -0
  210. package/dist/opc/zip-folders.d.ts.map +1 -0
  211. package/dist/opc/zip-limits.d.ts +9 -0
  212. package/dist/opc/zip-limits.d.ts.map +1 -1
  213. package/dist/pptx/automation/index.cjs +995 -462
  214. package/dist/pptx/automation/index.d.ts +2 -2
  215. package/dist/pptx/automation/index.mjs +6 -6
  216. package/dist/pptx/chunks/{index-Bqm-jFG-.d.ts → index-CPhsd7Df.d.ts} +7580 -7507
  217. package/dist/pptx/chunks/index-CPhsd7Df.d.ts.map +1 -0
  218. package/dist/pptx/chunks/{index-B9x557hr.d.ts → index-Q5mM8kIR.d.ts} +2 -2
  219. package/dist/pptx/chunks/{index-B9x557hr.d.ts.map → index-Q5mM8kIR.d.ts.map} +1 -1
  220. package/dist/pptx/cli/index.cjs +770 -238
  221. package/dist/pptx/cli/index.mjs +5 -5
  222. package/dist/pptx/converter/index.cjs +12 -3
  223. package/dist/pptx/converter/index.d.ts +1 -1
  224. package/dist/pptx/converter/index.mjs +3 -3
  225. package/dist/pptx/editor/render/find-replace.cjs +14 -14
  226. package/dist/pptx/editor/render/find-replace.d.ts +1 -1
  227. package/dist/pptx/editor/render/find-replace.mjs +1 -1
  228. package/dist/pptx/editor/render/slide-operations.cjs +8 -8
  229. package/dist/pptx/editor/render/slide-operations.mjs +2 -2
  230. package/dist/pptx/index.cjs +1099 -628
  231. package/dist/pptx/index.d.ts +3 -3
  232. package/dist/pptx/index.mjs +6 -6
  233. package/dist/pptx/signature-node/index.cjs +20 -8
  234. package/dist/pptx/signature-node/index.mjs +2 -2
  235. package/dist/teams/index.cjs +105 -70
  236. package/dist/teams/index.mjs +105 -70
  237. package/dist/text/text-diff.d.ts +15 -0
  238. package/dist/text/text-diff.d.ts.map +1 -0
  239. package/dist/visio/index.cjs +220 -46
  240. package/dist/visio/index.mjs +220 -46
  241. package/dist/visio/ui/contract.d.ts +8 -2
  242. package/dist/visio/ui/contract.d.ts.map +1 -1
  243. package/dist/visio/ui/index.cjs +227 -50
  244. package/dist/visio/ui/index.mjs +227 -50
  245. package/dist/xlsx/collab/index.cjs +8 -3
  246. package/dist/xlsx/collab/index.mjs +8 -3
  247. package/dist/xlsx/compare/cells.d.ts +22 -0
  248. package/dist/xlsx/compare/cells.d.ts.map +1 -0
  249. package/dist/xlsx/compare/compare.d.ts +12 -0
  250. package/dist/xlsx/compare/compare.d.ts.map +1 -0
  251. package/dist/xlsx/compare/conditional.d.ts +7 -0
  252. package/dist/xlsx/compare/conditional.d.ts.map +1 -0
  253. package/dist/xlsx/compare/format-key.d.ts +34 -0
  254. package/dist/xlsx/compare/format-key.d.ts.map +1 -0
  255. package/dist/xlsx/compare/group.d.ts +8 -0
  256. package/dist/xlsx/compare/group.d.ts.map +1 -0
  257. package/dist/xlsx/compare/index.d.ts +5 -0
  258. package/dist/xlsx/compare/index.d.ts.map +1 -0
  259. package/dist/xlsx/compare/rich-text.d.ts +7 -0
  260. package/dist/xlsx/compare/rich-text.d.ts.map +1 -0
  261. package/dist/xlsx/compare/sheets.d.ts +22 -0
  262. package/dist/xlsx/compare/sheets.d.ts.map +1 -0
  263. package/dist/xlsx/compare/structure.d.ts +11 -0
  264. package/dist/xlsx/compare/structure.d.ts.map +1 -0
  265. package/dist/xlsx/compare/text.d.ts +8 -0
  266. package/dist/xlsx/compare/text.d.ts.map +1 -0
  267. package/dist/xlsx/compare/types.d.ts +173 -0
  268. package/dist/xlsx/compare/types.d.ts.map +1 -0
  269. package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
  270. package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -1
  271. package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -1
  272. package/dist/xlsx/edit/clipboard.d.ts.map +1 -1
  273. package/dist/xlsx/edit/clone-cell.d.ts +9 -0
  274. package/dist/xlsx/edit/clone-cell.d.ts.map +1 -0
  275. package/dist/xlsx/edit/dimensions.d.ts.map +1 -1
  276. package/dist/xlsx/edit/history-rows.d.ts +7 -0
  277. package/dist/xlsx/edit/history-rows.d.ts.map +1 -0
  278. package/dist/xlsx/edit/history.d.ts +19 -4
  279. package/dist/xlsx/edit/history.d.ts.map +1 -1
  280. package/dist/xlsx/edit/outline.d.ts.map +1 -1
  281. package/dist/xlsx/edit/row-autofit.d.ts.map +1 -1
  282. package/dist/xlsx/edit/timelines.d.ts.map +1 -1
  283. package/dist/xlsx/formula/change-areas.d.ts +9 -0
  284. package/dist/xlsx/formula/change-areas.d.ts.map +1 -0
  285. package/dist/xlsx/formula/engine-prepare.d.ts +8 -0
  286. package/dist/xlsx/formula/engine-prepare.d.ts.map +1 -1
  287. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  288. package/dist/xlsx/formula/spill.d.ts +5 -1
  289. package/dist/xlsx/formula/spill.d.ts.map +1 -1
  290. package/dist/xlsx/index.cjs +2551 -1208
  291. package/dist/xlsx/index.d.ts +1 -0
  292. package/dist/xlsx/index.d.ts.map +1 -1
  293. package/dist/xlsx/index.mjs +2544 -1209
  294. package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
  295. package/dist/xlsx/layout/navigate.d.ts.map +1 -1
  296. package/dist/xlsx/layout/style-view.d.ts +5 -0
  297. package/dist/xlsx/layout/style-view.d.ts.map +1 -1
  298. package/dist/xlsx/load/csv-dates.d.ts +22 -0
  299. package/dist/xlsx/load/csv-dates.d.ts.map +1 -0
  300. package/dist/xlsx/load/csv-import.d.ts +64 -0
  301. package/dist/xlsx/load/csv-import.d.ts.map +1 -0
  302. package/dist/xlsx/load/csv-separators.d.ts +13 -0
  303. package/dist/xlsx/load/csv-separators.d.ts.map +1 -0
  304. package/dist/xlsx/load/csv-traits.d.ts +20 -0
  305. package/dist/xlsx/load/csv-traits.d.ts.map +1 -0
  306. package/dist/xlsx/load/csv.d.ts +8 -4
  307. package/dist/xlsx/load/csv.d.ts.map +1 -1
  308. package/dist/xlsx/load/detect.d.ts +13 -0
  309. package/dist/xlsx/load/detect.d.ts.map +1 -1
  310. package/dist/xlsx/load/errors.d.ts +1 -0
  311. package/dist/xlsx/load/errors.d.ts.map +1 -1
  312. package/dist/xlsx/load/index.cjs +598 -98
  313. package/dist/xlsx/load/index.d.ts +3 -1
  314. package/dist/xlsx/load/index.d.ts.map +1 -1
  315. package/dist/xlsx/load/index.mjs +597 -99
  316. package/dist/xlsx/numfmt/format.d.ts +8 -0
  317. package/dist/xlsx/numfmt/format.d.ts.map +1 -1
  318. package/dist/xlsx/numfmt/input-date.d.ts +2 -0
  319. package/dist/xlsx/numfmt/input-date.d.ts.map +1 -1
  320. package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -1
  321. package/dist/xlsx/pivot/groups.d.ts.map +1 -1
  322. package/dist/xlsx/read/index.d.ts +2 -1
  323. package/dist/xlsx/read/index.d.ts.map +1 -1
  324. package/dist/xlsx/read/limits.d.ts +50 -0
  325. package/dist/xlsx/read/limits.d.ts.map +1 -0
  326. package/dist/xlsx/read/load.d.ts +11 -1
  327. package/dist/xlsx/read/load.d.ts.map +1 -1
  328. package/dist/xlsx/read/package.d.ts +5 -23
  329. package/dist/xlsx/read/package.d.ts.map +1 -1
  330. package/dist/xlsx/read/shared-strings.d.ts +2 -2
  331. package/dist/xlsx/read/shared-strings.d.ts.map +1 -1
  332. package/dist/xlsx/read/sheet-data-source.d.ts.map +1 -1
  333. package/dist/xlsx/read/worksheet.d.ts +2 -0
  334. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  335. package/dist/xlsx/stable-key.d.ts +3 -0
  336. package/dist/xlsx/stable-key.d.ts.map +1 -0
  337. package/dist/xlsx/styles.d.ts.map +1 -1
  338. package/dist/xlsx/ui/index.cjs +795 -388
  339. package/dist/xlsx/ui/index.d.ts +1 -0
  340. package/dist/xlsx/ui/index.d.ts.map +1 -1
  341. package/dist/xlsx/ui/index.mjs +795 -389
  342. package/dist/xlsx/ui/selection-format.d.ts +13 -0
  343. package/dist/xlsx/ui/selection-format.d.ts.map +1 -0
  344. package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
  345. package/dist/xml/index.cjs +57 -3
  346. package/dist/xml/index.mjs +57 -4
  347. package/dist/xml/lite.d.ts.map +1 -1
  348. package/dist/xml/xml.d.ts +11 -1
  349. package/dist/xml/xml.d.ts.map +1 -1
  350. package/package.json +1 -1
  351. package/dist/PptxHandler-HSPKEP5E.mjs +0 -4
  352. package/dist/pptx/chunks/index-Bqm-jFG-.d.ts.map +0 -1
@@ -3,11 +3,13 @@ import JSZip from 'jszip';
3
3
 
4
4
  // visio/ui/contract.ts
5
5
  var propertyKeys = [
6
+ "canEdit",
6
7
  "document",
7
8
  "pageIndex",
8
9
  "zoom",
9
10
  "showToolbar",
10
- "ribbonAddIns"
11
+ "ribbonAddIns",
12
+ "collaboration"
11
13
  ];
12
14
  var eventKeys = [
13
15
  "document-load",
@@ -17,7 +19,8 @@ var eventKeys = [
17
19
  "zoom-change",
18
20
  "shape-select",
19
21
  "selection-change",
20
- "office-ribbon-add-in"
22
+ "office-ribbon-add-in",
23
+ "collaboration-change"
21
24
  ];
22
25
 
23
26
  // visio/ui/demo-document.ts
@@ -1089,6 +1092,19 @@ var DEFAULT_XML_LIMITS = {
1089
1092
  maxDepth: 512,
1090
1093
  maxNodes: 5e6
1091
1094
  };
1095
+ var XmlLimitError = class extends Error {
1096
+ code = "xml-limit";
1097
+ /** The limit that was exceeded. */
1098
+ limit;
1099
+ /** Its value: the largest depth or element count allowed. */
1100
+ maximum;
1101
+ constructor(message, limit2, maximum) {
1102
+ super(message);
1103
+ this.name = "XmlLimitError";
1104
+ this.limit = limit2;
1105
+ this.maximum = maximum;
1106
+ }
1107
+ };
1092
1108
  var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
1093
1109
  var MARKUP_SKIPS = [
1094
1110
  ["<!--", "-->"],
@@ -1122,11 +1138,22 @@ function checkXmlLimits(xml, label2, limits = {}) {
1122
1138
  continue;
1123
1139
  }
1124
1140
  nodes++;
1125
- if (nodes > maxNodes) throw new Error(`${label2} XML exceeds the limit of ${maxNodes} elements`);
1141
+ if (nodes > maxNodes)
1142
+ throw new XmlLimitError(
1143
+ `${label2} XML exceeds the limit of ${maxNodes} elements`,
1144
+ "maxNodes",
1145
+ maxNodes
1146
+ );
1126
1147
  if (!selfClosing && ++depth > maxDepth)
1127
- throw new Error(`${label2} XML exceeds the nesting depth limit of ${maxDepth}`);
1148
+ throw new XmlLimitError(
1149
+ `${label2} XML exceeds the nesting depth limit of ${maxDepth}`,
1150
+ "maxDepth",
1151
+ maxDepth
1152
+ );
1128
1153
  }
1129
1154
  }
1155
+ var CRLF_DECLARATION = /^<\?xml[^>]*\?>\r\n/;
1156
+ var crlfDeclarations = /* @__PURE__ */ new WeakSet();
1130
1157
  function parseXml(xml, options2 = {}) {
1131
1158
  const label2 = options2.label ?? "OOXML";
1132
1159
  if (/<!DOCTYPE|<!ENTITY/i.test(xml))
@@ -1148,9 +1175,13 @@ function parseXml(xml, options2 = {}) {
1148
1175
  }
1149
1176
  if (parseError || !parsed.documentElement)
1150
1177
  throw new Error(`Invalid ${label2} XML: ${parseError || "missing root element"}`);
1178
+ if (CRLF_DECLARATION.test(xml)) crlfDeclarations.add(parsed);
1151
1179
  return parsed;
1152
1180
  }
1153
- var buildXml = (node3) => new XMLSerializer().serializeToString(node3);
1181
+ var buildXml = (node3) => {
1182
+ const xml = new XMLSerializer().serializeToString(node3);
1183
+ return crlfDeclarations.has(node3) ? xml.replace(/^(<\?xml[^>]*\?>)\n/, "$1\r\n") : xml;
1184
+ };
1154
1185
  var isElement = (node3) => node3.nodeType === 1;
1155
1186
  var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
1156
1187
  function named(element2, local, ns, lenient = true) {
@@ -1249,6 +1280,12 @@ function parseLiteFragment(xml, container, namespaces) {
1249
1280
  }
1250
1281
  if (lt < 0) break;
1251
1282
  const next = source.charCodeAt(lt + 1);
1283
+ if (next === 33) {
1284
+ const after = skipCommentOrCdata(source, lt, top);
1285
+ if (after < 0) return void 0;
1286
+ pos = after;
1287
+ continue;
1288
+ }
1252
1289
  if (next === 47) {
1253
1290
  const gt = source.indexOf(">", lt);
1254
1291
  if (gt < 0 || stack.length < 2 || source.slice(lt + 2, gt).trimEnd() !== top.tagName)
@@ -1269,6 +1306,25 @@ function parseLiteFragment(xml, container, namespaces) {
1269
1306
  }
1270
1307
  return stack.length === 1 ? root2 : void 0;
1271
1308
  }
1309
+ var DECLARATIONS = /<!DOCTYPE|<!ENTITY/i;
1310
+ function skipCommentOrCdata(source, lt, parent) {
1311
+ if (source.startsWith("<!--", lt)) {
1312
+ const end = source.indexOf("-->", lt + 4);
1313
+ if (end < 0) return -1;
1314
+ const body = source.slice(lt + 4, end);
1315
+ if (body.includes("--") || body.endsWith("-") || DECLARATIONS.test(body)) return -1;
1316
+ return end + 3;
1317
+ }
1318
+ if (source.startsWith("<![CDATA[", lt)) {
1319
+ const end = source.indexOf("]]>", lt + 9);
1320
+ if (end < 0) return -1;
1321
+ const text8 = source.slice(lt + 9, end);
1322
+ if (DECLARATIONS.test(text8)) return -1;
1323
+ parent.childNodes.push(text8);
1324
+ return end + 3;
1325
+ }
1326
+ return -1;
1327
+ }
1272
1328
  function startTag(source, from, namespaces) {
1273
1329
  const n = source.length;
1274
1330
  let i = from;
@@ -10703,9 +10759,9 @@ function createWorksheet(name3, sheetId5) {
10703
10759
  };
10704
10760
  }
10705
10761
 
10706
- // xlsx/styles.ts
10707
- function styleKey(style2) {
10708
- return JSON.stringify(sortKeys(style2));
10762
+ // xlsx/stable-key.ts
10763
+ function stableKey(value3) {
10764
+ return JSON.stringify(sortKeys(value3));
10709
10765
  }
10710
10766
  function sortKeys(value3) {
10711
10767
  if (Array.isArray(value3)) return value3.map(sortKeys);
@@ -10719,6 +10775,11 @@ function sortKeys(value3) {
10719
10775
  }
10720
10776
  return value3;
10721
10777
  }
10778
+
10779
+ // xlsx/styles.ts
10780
+ function styleKey(style2) {
10781
+ return stableKey(style2);
10782
+ }
10722
10783
  function styleAt(workbook, styleId) {
10723
10784
  const style2 = workbook.styles[styleId ?? 0] ?? workbook.styles[0];
10724
10785
  if (!style2) throw new Error("Workbook has no default cell style");
@@ -13328,10 +13389,13 @@ var DEFAULT_ZIP_LIMITS = {
13328
13389
  var ZipLimitError = class extends Error {
13329
13390
  code = "ZIP_BOMB";
13330
13391
  limit;
13392
+ /** The check that failed (absent when the error was built without one). */
13393
+ kind;
13331
13394
  constructor(message, details) {
13332
13395
  super(message);
13333
13396
  this.name = "ZipLimitError";
13334
13397
  this.limit = details.limit;
13398
+ this.kind = details.kind;
13335
13399
  }
13336
13400
  };
13337
13401
  var mib = (bytes) => Math.round(bytes / 1048576);
@@ -13354,7 +13418,7 @@ function resolveLimits(limits) {
13354
13418
  maxEntryBytes: limits.maxEntryBytes ?? DEFAULT_ZIP_LIMITS.maxEntryBytes,
13355
13419
  maxTotalBytes: limits.maxTotalBytes ?? DEFAULT_ZIP_LIMITS.maxTotalBytes,
13356
13420
  label: limits.label ?? "ZIP",
13357
- fail: (message, limit2) => create2 ? create2(message, { limit: limit2 }) : new ZipLimitError(message, { limit: limit2 })
13421
+ fail: (message, limit2, kind) => create2 ? create2(message, { limit: limit2, kind }) : new ZipLimitError(message, { limit: limit2, kind })
13358
13422
  };
13359
13423
  }
13360
13424
  function inflateEntryGuarded(entry3, alreadyRead, limits) {
@@ -13377,13 +13441,18 @@ function inflateEntryGuarded(entry3, alreadyRead, limits) {
13377
13441
  size3 += chunk.byteLength;
13378
13442
  if (size3 > declared || size3 > r.maxEntryBytes)
13379
13443
  return abort(
13380
- r.fail(`${r.label} part ${entry3.name} inflates past its declared size`, r.maxEntryBytes)
13444
+ r.fail(
13445
+ `${r.label} part ${entry3.name} inflates past its declared size`,
13446
+ r.maxEntryBytes,
13447
+ size3 > declared ? "declaredSize" : "maxEntryBytes"
13448
+ )
13381
13449
  );
13382
13450
  if (alreadyRead + size3 > r.maxTotalBytes)
13383
13451
  return abort(
13384
13452
  r.fail(
13385
13453
  `${r.label} package exceeds the ${mib(r.maxTotalBytes)} MiB uncompressed content limit`,
13386
- r.maxTotalBytes
13454
+ r.maxTotalBytes,
13455
+ "maxTotalBytes"
13387
13456
  )
13388
13457
  );
13389
13458
  chunks.push(chunk);
@@ -13416,26 +13485,29 @@ function guardZip(zip, limits = {}) {
13416
13485
  if (entries.length > r.maxEntries)
13417
13486
  throw r.fail(
13418
13487
  `${r.label} package exceeds the ${r.maxEntries.toLocaleString("en-US")} part limit`,
13419
- r.maxEntries
13488
+ r.maxEntries,
13489
+ "maxEntries"
13420
13490
  );
13421
13491
  let declared = 0;
13422
13492
  for (const entry3 of entries) {
13423
13493
  const original = entry3.unsafeOriginalName;
13424
13494
  if (!isSafePartName(entry3.name) || original !== void 0 && !isSafePartName(original))
13425
- throw r.fail(`${r.label} package has an unsafe part name`, r.maxEntries);
13495
+ throw r.fail(`${r.label} package has an unsafe part name`, r.maxEntries, "partName");
13426
13496
  if (entry3.dir) continue;
13427
13497
  const size3 = declaredEntrySize(entry3);
13428
13498
  if (size3 > r.maxEntryBytes)
13429
13499
  throw r.fail(
13430
13500
  `${r.label} part ${entry3.name} exceeds the uncompressed part size limit`,
13431
- r.maxEntryBytes
13501
+ r.maxEntryBytes,
13502
+ "maxEntryBytes"
13432
13503
  );
13433
13504
  declared += size3;
13434
13505
  }
13435
13506
  if (declared > r.maxTotalBytes)
13436
13507
  throw r.fail(
13437
13508
  `${r.label} package exceeds the ${mib(r.maxTotalBytes)} MiB uncompressed content limit`,
13438
- r.maxTotalBytes
13509
+ r.maxTotalBytes,
13510
+ "maxTotalBytes"
13439
13511
  );
13440
13512
  const produced = /* @__PURE__ */ new Map();
13441
13513
  let total = 0;
@@ -15304,10 +15376,69 @@ function mergeComments(legacy, threaded) {
15304
15376
  (a2, b) => a2.address.row - b.address.row || a2.address.col - b.address.col
15305
15377
  );
15306
15378
  }
15307
- var MAX_INPUT_BYTES = 50 * 1024 * 1024;
15308
- var MAX_PARTS = 1e4;
15309
- var MAX_UNCOMPRESSED_BYTES = 300 * 1024 * 1024;
15310
- var MAX_PART_BYTES = 200 * 1024 * 1024;
15379
+
15380
+ // xlsx/read/limits.ts
15381
+ var DEFAULT_XLSX_LOAD_LIMITS = {
15382
+ maxInputBytes: 50 * 1024 * 1024,
15383
+ maxParts: 1e4,
15384
+ maxPartBytes: 200 * 1024 * 1024,
15385
+ maxTotalBytes: 300 * 1024 * 1024,
15386
+ maxXmlElements: 5e6
15387
+ };
15388
+ var WorkbookTooLargeError = class extends Error {
15389
+ code = "workbook-too-large";
15390
+ /** The limit that was exceeded, as named in {@link XlsxLoadLimits}. */
15391
+ limit;
15392
+ /** The value of that limit when the load failed. */
15393
+ maximum;
15394
+ constructor(message, limit2, maximum, options2) {
15395
+ super(message, options2);
15396
+ this.name = "WorkbookTooLargeError";
15397
+ this.limit = limit2;
15398
+ this.maximum = maximum;
15399
+ }
15400
+ };
15401
+ function resolveLoadLimits(limits = {}) {
15402
+ const resolved = { ...DEFAULT_XLSX_LOAD_LIMITS };
15403
+ for (const name3 of Object.keys(resolved)) {
15404
+ const value3 = limits[name3];
15405
+ if (value3 === void 0) continue;
15406
+ if (!Number.isFinite(value3) || value3 <= 0)
15407
+ throw new RangeError(`limits.${name3} must be a positive finite number`);
15408
+ resolved[name3] = value3;
15409
+ }
15410
+ return resolved;
15411
+ }
15412
+ var ZIP_LIMIT_NAMES = {
15413
+ maxInputBytes: "maxInputBytes",
15414
+ maxEntries: "maxParts",
15415
+ maxEntryBytes: "maxPartBytes",
15416
+ maxTotalBytes: "maxTotalBytes"
15417
+ };
15418
+ function zipLimitsFor(limits) {
15419
+ return {
15420
+ maxInputBytes: limits.maxInputBytes,
15421
+ maxEntries: limits.maxParts,
15422
+ maxEntryBytes: limits.maxPartBytes,
15423
+ maxTotalBytes: limits.maxTotalBytes,
15424
+ label: "XLSX",
15425
+ createError: (message, { limit: limit2, kind }) => {
15426
+ const name3 = ZIP_LIMIT_NAMES[kind];
15427
+ return name3 ? new WorkbookTooLargeError(message, name3, limit2) : new ZipLimitError(message, { limit: limit2, kind });
15428
+ }
15429
+ };
15430
+ }
15431
+ function parseDataXml(xml, label2, maxXmlElements = DEFAULT_XLSX_LOAD_LIMITS.maxXmlElements) {
15432
+ try {
15433
+ return parseXml(xml, { label: label2, limits: { maxNodes: maxXmlElements } });
15434
+ } catch (error) {
15435
+ if (error instanceof XmlLimitError && error.limit === "maxNodes")
15436
+ throw new WorkbookTooLargeError(error.message, "maxXmlElements", error.maximum, {
15437
+ cause: error
15438
+ });
15439
+ throw error;
15440
+ }
15441
+ }
15311
15442
  var CONTENT_TYPES = {
15312
15443
  workbook: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
15313
15444
  workbookMacro: "application/vnd.ms-excel.sheet.macroEnabled.main+xml",
@@ -15378,16 +15509,15 @@ var SourceIndex = class {
15378
15509
  };
15379
15510
  var mib2 = (bytes) => Math.round(bytes / 1048576);
15380
15511
  async function readZipParts(input, limits = {}) {
15381
- const maxInput = limits.maxInputBytes ?? MAX_INPUT_BYTES;
15382
- const zipLimits = {
15383
- maxEntries: limits.maxParts ?? MAX_PARTS,
15384
- maxEntryBytes: limits.maxPartBytes ?? MAX_PART_BYTES,
15385
- maxTotalBytes: limits.maxTotalBytes ?? MAX_UNCOMPRESSED_BYTES,
15386
- label: "XLSX"
15387
- };
15512
+ const resolved = resolveLoadLimits(limits);
15513
+ const maxInput = resolved.maxInputBytes;
15388
15514
  const bytes = input instanceof Uint8Array ? input : new Uint8Array(input);
15389
15515
  if (bytes.byteLength > maxInput)
15390
- throw new Error(`XLSX package exceeds the ${mib2(maxInput)} MiB compressed input limit`);
15516
+ throw new WorkbookTooLargeError(
15517
+ `XLSX package exceeds the ${mib2(maxInput)} MiB compressed input limit`,
15518
+ "maxInputBytes",
15519
+ maxInput
15520
+ );
15391
15521
  let loaded;
15392
15522
  try {
15393
15523
  loaded = await JSZip.loadAsync(bytes);
@@ -15397,7 +15527,7 @@ async function readZipParts(input, limits = {}) {
15397
15527
  { cause: error }
15398
15528
  );
15399
15529
  }
15400
- const zip = guardZip(loaded, zipLimits);
15530
+ const zip = guardZip(loaded, zipLimitsFor(resolved));
15401
15531
  const parts = /* @__PURE__ */ new Map();
15402
15532
  for (const entry3 of Object.values(zip.files)) {
15403
15533
  if (entry3.dir) continue;
@@ -15604,9 +15734,9 @@ function parseRichString(element2, palette) {
15604
15734
  const text8 = parsed.map((run) => run.text).join("");
15605
15735
  return { text: text8, runs: parsed };
15606
15736
  }
15607
- function parseSharedStrings(xml, palette) {
15737
+ function parseSharedStrings(xml, palette, maxXmlElements) {
15608
15738
  if (!xml) return [];
15609
- const root2 = parseXml(xml, { label: "XLSX shared strings" }).documentElement;
15739
+ const root2 = parseDataXml(xml, "XLSX shared strings", maxXmlElements).documentElement;
15610
15740
  return xChildren(root2, "si").map((si) => parseRichString(si, palette));
15611
15741
  }
15612
15742
 
@@ -20475,21 +20605,50 @@ function rootNamespaces(xml) {
20475
20605
  for (const match of (root2[2] ?? "").matchAll(DECLARATION2)) out[match[1] ?? ""] = match[3] ?? "";
20476
20606
  return out;
20477
20607
  }
20608
+ var SPECIAL = /<[!?]/g;
20609
+ var SECTIONS = [
20610
+ ["<!--", "-->"],
20611
+ ["<![CDATA[", "]]>"],
20612
+ ["<?", "?>"]
20613
+ ];
20614
+ function blankComments(xml) {
20615
+ if (!xml.includes("<!--") && !xml.includes("<![CDATA[")) return xml;
20616
+ const pieces = [];
20617
+ let copied = 0;
20618
+ SPECIAL.lastIndex = 0;
20619
+ for (let match = SPECIAL.exec(xml); match; match = SPECIAL.exec(xml)) {
20620
+ const at2 = match.index;
20621
+ const section3 = SECTIONS.find(([open2]) => xml.startsWith(open2, at2));
20622
+ if (!section3) return void 0;
20623
+ const [open, close4] = section3;
20624
+ const end = xml.indexOf(close4, at2 + open.length);
20625
+ if (end < 0) return void 0;
20626
+ const after = end + close4.length;
20627
+ if (open !== "<?") {
20628
+ pieces.push(xml.slice(copied, at2), " ".repeat(after - at2));
20629
+ copied = after;
20630
+ }
20631
+ SPECIAL.lastIndex = after;
20632
+ }
20633
+ pieces.push(xml.slice(copied));
20634
+ return pieces.join("");
20635
+ }
20478
20636
  function splitSheetData(xml) {
20479
- if (xml.includes("<!--") || xml.includes("<![CDATA[")) return void 0;
20480
- const namespaces = rootNamespaces(xml);
20481
- const open = OPEN.exec(xml);
20637
+ const plain4 = blankComments(xml);
20638
+ if (plain4 === void 0) return void 0;
20639
+ const namespaces = rootNamespaces(plain4);
20640
+ const open = OPEN.exec(plain4);
20482
20641
  if (!namespaces || !open) return void 0;
20483
20642
  const prefix2 = (open[1] ?? "").slice(0, -1);
20484
20643
  const ns = namespaces[prefix2];
20485
20644
  if (prefix2 && ns === void 0) return void 0;
20486
20645
  const tagName2 = `${open[1] ?? ""}sheetData`;
20487
- const openEnd = xml.indexOf(">", open.index);
20646
+ const openEnd = plain4.indexOf(">", open.index);
20488
20647
  if (openEnd < 0) return void 0;
20489
- const attributes = xml.slice(open.index + tagName2.length + 1, openEnd);
20648
+ const attributes = plain4.slice(open.index + tagName2.length + 1, openEnd);
20490
20649
  if (attributes.trimEnd().endsWith("/") || attributes.includes("xmlns")) return void 0;
20491
- const close4 = xml.indexOf(`</${tagName2}`, openEnd);
20492
- if (close4 < 0 || OPEN.test(xml.slice(openEnd))) return void 0;
20650
+ const close4 = plain4.indexOf(`</${tagName2}`, openEnd);
20651
+ if (close4 < 0 || OPEN.test(plain4.slice(openEnd))) return void 0;
20493
20652
  const container = new LiteElement(tagName2, "sheetData", ns || null);
20494
20653
  const data = parseLiteFragment(xml.slice(openEnd + 1, close4), container, namespaces);
20495
20654
  if (!data) return void 0;
@@ -20689,7 +20848,11 @@ function parseWorksheet(ctx, partName, name3, sheetId5) {
20689
20848
  return sheet;
20690
20849
  }
20691
20850
  const split = splitSheetData(xml);
20692
- const root2 = parseXml(split?.xml ?? xml, { label: "XLSX worksheet" }).documentElement;
20851
+ const root2 = parseDataXml(
20852
+ split?.xml ?? xml,
20853
+ "XLSX worksheet",
20854
+ ctx.maxXmlElements
20855
+ ).documentElement;
20693
20856
  const byName = /* @__PURE__ */ new Map();
20694
20857
  const cfBlocks = [];
20695
20858
  for (const node3 of elements(root2)) {
@@ -20763,8 +20926,9 @@ function liftPrintAreas(workbook) {
20763
20926
  return false;
20764
20927
  });
20765
20928
  }
20766
- async function loadXlsx(input) {
20767
- const parts = await readZipParts(input);
20929
+ async function loadXlsx(input, options2 = {}) {
20930
+ const limits = resolveLoadLimits(options2.limits);
20931
+ const parts = await readZipParts(input, limits);
20768
20932
  const source = new SourceIndex(parts);
20769
20933
  const workbookPart = source.workbookPart();
20770
20934
  if (!workbookPart) throw new Error("XLSX package has no workbook part (xl/workbook.xml)");
@@ -20785,7 +20949,8 @@ async function loadXlsx(input) {
20785
20949
  source,
20786
20950
  sharedStrings: parseSharedStrings(
20787
20951
  stringsPart ? source.text(stringsPart) : void 0,
20788
- styles.palette
20952
+ styles.palette,
20953
+ limits.maxXmlElements
20789
20954
  ),
20790
20955
  xfMap: styles.xfMap,
20791
20956
  date1904: book.date1904,
@@ -20793,7 +20958,8 @@ async function loadXlsx(input) {
20793
20958
  dxfs: styles.dxfs,
20794
20959
  persons: parsePersons(personsPart ? source.text(personsPart) : void 0),
20795
20960
  dynamicCells: parseDynamicArrayMetadata(metadataPart ? source.text(metadataPart) : void 0),
20796
- warn
20961
+ warn,
20962
+ maxXmlElements: limits.maxXmlElements
20797
20963
  };
20798
20964
  const rels = source.rels(workbookPart);
20799
20965
  const sheets = book.sheets.map((entry3) => {
@@ -21276,14 +21442,24 @@ function formatAxisValue(value3, percent = false) {
21276
21442
  return `${v < 0 ? "-" : ""}${grouped}${frac ? `.${frac}` : ""}`;
21277
21443
  }
21278
21444
 
21445
+ // chart/extent.ts
21446
+ function extentOf(values) {
21447
+ let min = Infinity;
21448
+ let max = -Infinity;
21449
+ for (const value3 of values) {
21450
+ min = Math.min(min, value3);
21451
+ max = Math.max(max, value3);
21452
+ }
21453
+ return { min, max };
21454
+ }
21455
+
21279
21456
  // chart/axis-range.ts
21280
21457
  function computeLogValueRange(series, logBase) {
21281
21458
  const allValues = series.flatMap((item) => item.values).filter((value3) => value3 !== null && Number.isFinite(value3) && value3 > 0);
21282
21459
  if (allValues.length === 0) {
21283
21460
  return { min: 1, max: logBase, span: 1, logScale: true, logBase };
21284
21461
  }
21285
- const dataMin = Math.min(...allValues);
21286
- const dataMax = Math.max(...allValues);
21462
+ const { min: dataMin, max: dataMax } = extentOf(allValues);
21287
21463
  const logMin = Math.floor(Math.log(dataMin) / Math.log(logBase));
21288
21464
  const logMax = Math.ceil(Math.log(dataMax) / Math.log(logBase));
21289
21465
  const min = logBase ** logMin;
@@ -22011,8 +22187,7 @@ function computeHistogramBins(values, options2, format5 = String) {
22011
22187
  });
22012
22188
  }
22013
22189
  if (regular.length > 0) {
22014
- const min = Math.min(...regular.map((item) => item.value));
22015
- const max = Math.max(...regular.map((item) => item.value));
22190
+ const { min, max } = extentOf(regular.map((item) => item.value));
22016
22191
  const requestedSize = options2.binSize && options2.binSize > 0 ? options2.binSize : void 0;
22017
22192
  const requestedCount = options2.binCount && options2.binCount > 0 ? options2.binCount : void 0;
22018
22193
  const start = requestedSize ? Math.floor(min / requestedSize) * requestedSize : min;
@@ -22140,8 +22315,9 @@ function waterfallView(chart, model, ctx) {
22140
22315
  colors: { increase: role(0), decrease: role(1), total: role(2) }
22141
22316
  };
22142
22317
  const ends = steps.flatMap((step3) => [step3.startValue, step3.endValue]);
22318
+ const range2 = extentOf(ends);
22143
22319
  model.valueAxis = {
22144
- ...ends.length ? niceScale(Math.min(...ends), Math.max(...ends)) : niceScale(0, 1),
22320
+ ...ends.length ? niceScale(range2.min, range2.max) : niceScale(0, 1),
22145
22321
  percent: false
22146
22322
  };
22147
22323
  const labels = model.categories;
@@ -22257,7 +22433,8 @@ function chartSummaryView(chart, theme2, options2 = {}) {
22257
22433
  s.xValues = s.values.map((_, k) => numeric4 ? toNumber(cats[k] ?? null) : k + 1);
22258
22434
  });
22259
22435
  const xs = series.flatMap((s) => s.xValues ?? []).filter((x) => x !== null);
22260
- model.xAxis = xs.length ? niceScale(Math.min(...xs), Math.max(...xs)) : niceScale(0, 1);
22436
+ const range2 = extentOf(xs);
22437
+ model.xAxis = xs.length ? niceScale(range2.min, range2.max) : niceScale(0, 1);
22261
22438
  }
22262
22439
  if (type === "stock") model.stock = stockView(chart.stock, ctx);
22263
22440
  if (type === "bubble") bubbleView(chart, model, ctx.evaluateRef);
@@ -39914,7 +40091,7 @@ function assertTextFields(text8) {
39914
40091
  }
39915
40092
 
39916
40093
  // visio/ui/scene-validation.ts
39917
- var MAX_INPUT_BYTES2 = 32 * 1024 * 1024;
40094
+ var MAX_INPUT_BYTES = 32 * 1024 * 1024;
39918
40095
  var MAX_DIMENSION = 1e4;
39919
40096
  var MAX_SHAPES = 25e3;
39920
40097
  function finite4(value3, label2, min = -MAX_DIMENSION, max = MAX_DIMENSION) {
@@ -44948,4 +45125,4 @@ async function createSampleVsdx() {
44948
45125
  return (await editVsdx(pages.bytes, PAGES.flatMap(shapeEdits))).bytes;
44949
45126
  }
44950
45127
 
44951
- export { DocumentHistory, EDIT_HISTORY_LIMITS, EMPTY_EDIT_STATE, EMPTY_SELECTION, EMPTY_TEXT_SEARCH, FOREIGN_VECTOR_SCENE_LIMITS, ForeignVectorBudget, MAX_INPUT_BYTES2 as MAX_INPUT_BYTES, TEXT_SEARCH_LIMITS, VISIO_AUTO_CONNECT_DIRECTIONS, VISIO_AUTO_CONNECT_GAP, VISIO_AUTO_CONNECT_REACH, VISIO_BULLET_STYLES, VISIO_CHART_OBJECT_SIZE, VISIO_DATA_GRAPHIC_FILL_ROW, VISIO_DATA_GRAPHIC_ICONS, VISIO_DATA_GRAPHIC_ROW, VISIO_DIAGRAM_RULE_SETS, VISIO_FIELD_CATEGORIES, VISIO_FORMAT_PAINTER_LIMITS, VISIO_GRID_DENSITY_CHOICES, IDENTITY_AFFINE as VISIO_IDENTITY_TRANSFORM, VISIO_LAYOUT_LABELS, VISIO_LAYOUT_STYLES, VISIO_PAGE_SIZE_PRESETS, VISIO_PAPER_SIZES, VISIO_PASTE_TEXT_LIMIT, VISIO_PATH_CLOSE_DISTANCE, VISIO_PATH_TOLERANCE, VISIO_PICTURE_DPI, VISIO_RESIZE_HANDLES, VISIO_RULER_DENSITY_CHOICES, VISIO_SELECT_TYPES, VISIO_SELECT_TYPE_LABELS, VISIO_SUBPROCESS_SHAPE, VISIO_TEXT_BLOCK_HANDLES, VISIO_TEXT_LANGUAGES, VISIO_TEXT_REPLACE_LIMITS, VisioTextDraftError, assertShapeDetails, assertViewableDocument, checkVisioDiagram, clampHistoryEntries, compatibilityNotes, compatibilityText, composeAffine as composeVisioTransform, copySnapshotScene, createSampleVsdx, demoDocument, editErrorMessage, eventKeys, excelSerialToIso, hasVisibleShapeContent, indexDocumentText, inspectForeignVectorResource, isEditCancellation, isVisioPathTool, normalizeVisioHyperlinkAddress, propertyKeys, sameSelection, searchDocumentText, selectionKey, snapshotEdits, snapshotSelection, textSearchStatus, validateSearchQuery, visioAddConnectionPointCommand, visioArrangeCommands, visioAutoAlignCommands, visioAutoConnectArrows, visioAutoConnectNeighbor, visioAutoConnectPlacement, visioAutoConnectPlan, visioAutoConnectShape, visioAutoConnectSidePoint, visioBoxCreationCommand, visioCalloutCommand, visioChangeCaseCommand, visioChangeCaseShape, visioChangeMasterCommand, visioChangeMasterTargets, visioChangeShapeCommand, visioChangeShapeRefusal, visioChartObjectInsertCommand, visioClipboardShape, visioColorRules, visioConnectableShape, visioConnectorCreationCommand, visioConnectorEdges, visioConnectorEndHandles, visioConnectorMovePreviews, visioConnectorPreviewPath, visioConnectorRouteOf, visioContainerCommand, visioCopyableShape, visioDataGraphicEdits, visioDataGraphicFields, visioDataGraphicMarker, visioDataGraphicParts, visioDataTable, visioDrawBounds, visioDrawIsLargeEnough, visioDrawPlan, visioDrawingPoint, visioDuplicateCommand, visioFileMasterDropCommand, visioFillPatternTransform, visioFitToDrawingEdits, visioFollowTarget, visioFontFamilies, visioFormatPainterEdits, visioFormatPainterSnapshot, visioFormatTargetShape, visioFormattingShape, visioGlowKey, visioGlueableShape, visioGradientInstances, visioGridSteps, visioGroupCommand, visioGuideCreateCommand, visioGuideMoveCommand, visioKeepAutoSize, visioLayerAssignCommand, visioLayerAssignCommands, visioLayerAssignState, visioLegendEdits, visioLineCreationCommand, visioLineDashLengths, visioLocalFormattingShape, visioLocalRotationShape, visioMarqueeBox, visioMarqueeSelection, visioMasterDropCommand, visioMasterDropRefusal, visioMasterDropSize, visioMasterPreviewBox, visioMatchingPaperSize, visioMovableGroup, visioMoveCommands, visioMovePreviewTransform, visioMoveTargets, visioMovementShape, visioNearestConnectionPoint, visioNewLayerNames, visioNewPageId, visioNextShapeId, visioNudgeCommands, visioOrderingShape, visioOrientationEdits, visioPageBreaks, visioPageConnectionPoints, visioPageDecorationState, visioPageDragDelta, visioPageEditToDrawing, visioPageGuides, visioPageInsertCommand, visioPageMasters, visioPageOrientationCommand, visioPageSizeCommand, visioPageSizePresetCommand, visioPageSizePresetEdits, visioPageSizeState, visioPaperSize, visioParseRange, visioPasteCommand, visioPasteTextCommand, visioPasteTextValue, visioPathDrawPlan, visioPathPreview, visioPictureInsertCommand, visioPrintTile, visioQuarterTurnCommand, visioReLayoutCommands, visioReflectionKey, visioRemoveDataGraphicEdits, visioRenderedGradientStopCount, visioRenderedGradientStops, visioResizeDrag, visioResizeFrame, visioResizeShape, visioRotationPreviewTransform, visioRotationShape, visioRulerDensityFactor, visioRulerGridEdits, visioRulerGridValues, visioSceneToLocal, visioSelectByType, visioSelectionIsOnPage, visioShadowPreset, visioShapeDataNumber, visioShapeDataRow, visioShapeDataText, visioShapeEffectValues, visioShapeFormattingState, visioShapeLocalPoint, visioShapePageBox, visioShapeReport, visioShapeReportCsv, visioShapeReportTable, visioShapeReportText, visioShapeSelectType, visioShapeSnapBox, visioSizePositionCommand, visioSizePositionState, visioSnapMoveDelta, visioStencilDropCommand, visioStencilInstanceShape, visioStencilShape, visioStencilSubShape, visioStraightLineHandles, visioStrokeGradient, visioStyleFormattingShape, visioSubprocessCommand, visioSvgStrokeStyle, visioTextAppendEdit, visioTextBlockDrag, visioTextBlockEdit, visioTextBlockFrame, visioTextBlockMatrix, visioTextBlockShape, visioTextDialogPatch, visioTextDialogValues, visioTextDraftEdit, visioTextFontStepCommand, visioTextFormattingState, visioTextIndentCommand, visioTextOccurrenceSelection, visioTextReplaceCommands, visioTextReplaceFindNext, visioTextReplaceOccurrences, visioTextReplacePlan, visioTextShape, visioTextSource, visioUngroupCommand, visioWithCalloutLeaders, visioWithContainerMembers, visioWithDataGraphics, visioWorkbookGrid };
45128
+ export { DocumentHistory, EDIT_HISTORY_LIMITS, EMPTY_EDIT_STATE, EMPTY_SELECTION, EMPTY_TEXT_SEARCH, FOREIGN_VECTOR_SCENE_LIMITS, ForeignVectorBudget, MAX_INPUT_BYTES, TEXT_SEARCH_LIMITS, VISIO_AUTO_CONNECT_DIRECTIONS, VISIO_AUTO_CONNECT_GAP, VISIO_AUTO_CONNECT_REACH, VISIO_BULLET_STYLES, VISIO_CHART_OBJECT_SIZE, VISIO_DATA_GRAPHIC_FILL_ROW, VISIO_DATA_GRAPHIC_ICONS, VISIO_DATA_GRAPHIC_ROW, VISIO_DIAGRAM_RULE_SETS, VISIO_FIELD_CATEGORIES, VISIO_FORMAT_PAINTER_LIMITS, VISIO_GRID_DENSITY_CHOICES, IDENTITY_AFFINE as VISIO_IDENTITY_TRANSFORM, VISIO_LAYOUT_LABELS, VISIO_LAYOUT_STYLES, VISIO_PAGE_SIZE_PRESETS, VISIO_PAPER_SIZES, VISIO_PASTE_TEXT_LIMIT, VISIO_PATH_CLOSE_DISTANCE, VISIO_PATH_TOLERANCE, VISIO_PICTURE_DPI, VISIO_RESIZE_HANDLES, VISIO_RULER_DENSITY_CHOICES, VISIO_SELECT_TYPES, VISIO_SELECT_TYPE_LABELS, VISIO_SUBPROCESS_SHAPE, VISIO_TEXT_BLOCK_HANDLES, VISIO_TEXT_LANGUAGES, VISIO_TEXT_REPLACE_LIMITS, VisioTextDraftError, assertShapeDetails, assertViewableDocument, checkVisioDiagram, clampHistoryEntries, compatibilityNotes, compatibilityText, composeAffine as composeVisioTransform, copySnapshotScene, createSampleVsdx, demoDocument, editErrorMessage, eventKeys, excelSerialToIso, hasVisibleShapeContent, indexDocumentText, inspectForeignVectorResource, isEditCancellation, isVisioPathTool, normalizeVisioHyperlinkAddress, propertyKeys, sameSelection, searchDocumentText, selectionKey, snapshotEdits, snapshotSelection, textSearchStatus, validateSearchQuery, visioAddConnectionPointCommand, visioArrangeCommands, visioAutoAlignCommands, visioAutoConnectArrows, visioAutoConnectNeighbor, visioAutoConnectPlacement, visioAutoConnectPlan, visioAutoConnectShape, visioAutoConnectSidePoint, visioBoxCreationCommand, visioCalloutCommand, visioChangeCaseCommand, visioChangeCaseShape, visioChangeMasterCommand, visioChangeMasterTargets, visioChangeShapeCommand, visioChangeShapeRefusal, visioChartObjectInsertCommand, visioClipboardShape, visioColorRules, visioConnectableShape, visioConnectorCreationCommand, visioConnectorEdges, visioConnectorEndHandles, visioConnectorMovePreviews, visioConnectorPreviewPath, visioConnectorRouteOf, visioContainerCommand, visioCopyableShape, visioDataGraphicEdits, visioDataGraphicFields, visioDataGraphicMarker, visioDataGraphicParts, visioDataTable, visioDrawBounds, visioDrawIsLargeEnough, visioDrawPlan, visioDrawingPoint, visioDuplicateCommand, visioFileMasterDropCommand, visioFillPatternTransform, visioFitToDrawingEdits, visioFollowTarget, visioFontFamilies, visioFormatPainterEdits, visioFormatPainterSnapshot, visioFormatTargetShape, visioFormattingShape, visioGlowKey, visioGlueableShape, visioGradientInstances, visioGridSteps, visioGroupCommand, visioGuideCreateCommand, visioGuideMoveCommand, visioKeepAutoSize, visioLayerAssignCommand, visioLayerAssignCommands, visioLayerAssignState, visioLegendEdits, visioLineCreationCommand, visioLineDashLengths, visioLocalFormattingShape, visioLocalRotationShape, visioMarqueeBox, visioMarqueeSelection, visioMasterDropCommand, visioMasterDropRefusal, visioMasterDropSize, visioMasterPreviewBox, visioMatchingPaperSize, visioMovableGroup, visioMoveCommands, visioMovePreviewTransform, visioMoveTargets, visioMovementShape, visioNearestConnectionPoint, visioNewLayerNames, visioNewPageId, visioNextShapeId, visioNudgeCommands, visioOrderingShape, visioOrientationEdits, visioPageBreaks, visioPageConnectionPoints, visioPageDecorationState, visioPageDragDelta, visioPageEditToDrawing, visioPageGuides, visioPageInsertCommand, visioPageMasters, visioPageOrientationCommand, visioPageSizeCommand, visioPageSizePresetCommand, visioPageSizePresetEdits, visioPageSizeState, visioPaperSize, visioParseRange, visioPasteCommand, visioPasteTextCommand, visioPasteTextValue, visioPathDrawPlan, visioPathPreview, visioPictureInsertCommand, visioPrintTile, visioQuarterTurnCommand, visioReLayoutCommands, visioReflectionKey, visioRemoveDataGraphicEdits, visioRenderedGradientStopCount, visioRenderedGradientStops, visioResizeDrag, visioResizeFrame, visioResizeShape, visioRotationPreviewTransform, visioRotationShape, visioRulerDensityFactor, visioRulerGridEdits, visioRulerGridValues, visioSceneToLocal, visioSelectByType, visioSelectionIsOnPage, visioShadowPreset, visioShapeDataNumber, visioShapeDataRow, visioShapeDataText, visioShapeEffectValues, visioShapeFormattingState, visioShapeLocalPoint, visioShapePageBox, visioShapeReport, visioShapeReportCsv, visioShapeReportTable, visioShapeReportText, visioShapeSelectType, visioShapeSnapBox, visioSizePositionCommand, visioSizePositionState, visioSnapMoveDelta, visioStencilDropCommand, visioStencilInstanceShape, visioStencilShape, visioStencilSubShape, visioStraightLineHandles, visioStrokeGradient, visioStyleFormattingShape, visioSubprocessCommand, visioSvgStrokeStyle, visioTextAppendEdit, visioTextBlockDrag, visioTextBlockEdit, visioTextBlockFrame, visioTextBlockMatrix, visioTextBlockShape, visioTextDialogPatch, visioTextDialogValues, visioTextDraftEdit, visioTextFontStepCommand, visioTextFormattingState, visioTextIndentCommand, visioTextOccurrenceSelection, visioTextReplaceCommands, visioTextReplaceFindNext, visioTextReplaceOccurrences, visioTextReplacePlan, visioTextShape, visioTextSource, visioUngroupCommand, visioWithCalloutLeaders, visioWithContainerMembers, visioWithDataGraphics, visioWorkbookGrid };
@@ -653,9 +653,9 @@ function reorder(current) {
653
653
  return out;
654
654
  }
655
655
 
656
- // xlsx/styles.ts
657
- function styleKey(style) {
658
- return JSON.stringify(sortKeys(style));
656
+ // xlsx/stable-key.ts
657
+ function stableKey(value) {
658
+ return JSON.stringify(sortKeys(value));
659
659
  }
660
660
  function sortKeys(value) {
661
661
  if (Array.isArray(value)) return value.map(sortKeys);
@@ -669,6 +669,11 @@ function sortKeys(value) {
669
669
  }
670
670
  return value;
671
671
  }
672
+
673
+ // xlsx/styles.ts
674
+ function styleKey(style) {
675
+ return stableKey(style);
676
+ }
672
677
  function internStyle(workbook, style) {
673
678
  const key = styleKey(style);
674
679
  const cache = styleCache(workbook);
@@ -631,9 +631,9 @@ function reorder(current) {
631
631
  return out;
632
632
  }
633
633
 
634
- // xlsx/styles.ts
635
- function styleKey(style) {
636
- return JSON.stringify(sortKeys(style));
634
+ // xlsx/stable-key.ts
635
+ function stableKey(value) {
636
+ return JSON.stringify(sortKeys(value));
637
637
  }
638
638
  function sortKeys(value) {
639
639
  if (Array.isArray(value)) return value.map(sortKeys);
@@ -647,6 +647,11 @@ function sortKeys(value) {
647
647
  }
648
648
  return value;
649
649
  }
650
+
651
+ // xlsx/styles.ts
652
+ function styleKey(style) {
653
+ return stableKey(style);
654
+ }
650
655
  function internStyle(workbook, style) {
651
656
  const key = styleKey(style);
652
657
  const cache = styleCache(workbook);
@@ -0,0 +1,22 @@
1
+ import { type Workbook, type Worksheet } from '../model.js';
2
+ import { FormatIndex } from './format-key.js';
3
+ import type { CellDifference, CompareCategory } from './types.js';
4
+ /** Counts reported differences against `maxDifferences`. */
5
+ export declare class Budget {
6
+ private readonly max;
7
+ count: number;
8
+ truncated: boolean;
9
+ constructor(max: number);
10
+ /** Takes room for one difference; false (and `truncated`) once the cap is reached. */
11
+ take(): boolean;
12
+ /** The leading items that fit. */
13
+ admit<T>(items: T[]): T[];
14
+ }
15
+ export interface CellCompareContext {
16
+ categories: ReadonlySet<CompareCategory>;
17
+ formats: FormatIndex;
18
+ budget: Budget;
19
+ }
20
+ /** Differences between two sheets matched by address. */
21
+ export declare function compareSheetCells(ctx: CellCompareContext, beforeBook: Workbook, beforeSheet: Worksheet, afterBook: Workbook, afterSheet: Worksheet): CellDifference[];
22
+ //# sourceMappingURL=cells.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/cells.ts"],"names":[],"mappings":"AASA,OAAO,EAA0C,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACjG,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAY,eAAe,EAAmB,MAAM,SAAS,CAAC;AAE1F,4DAA4D;AAC5D,qBAAa,MAAM;IAGN,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,KAAK,SAAK;IACV,SAAS,UAAS;IAClB,YAA6B,GAAG,EAAE,MAAM,EAAI;IAE5C,sFAAsF;IACtF,IAAI,IAAI,OAAO,CAOd;IAED,kCAAkC;IAClC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CASxB;CACD;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CACf;AAgGD,yDAAyD;AACzD,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,QAAQ,EACpB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,SAAS,GACnB,cAAc,EAAE,CAsElB"}
@@ -0,0 +1,12 @@
1
+ import type { Workbook } from '../model.js';
2
+ import { type CompareOptions, type WorkbookComparison } from './types.js';
3
+ /**
4
+ * What changed from `before` to `after`: sheets, defined names, the structure of each sheet pair
5
+ * and its cells in Spreadsheet Compare's categories (entered values, formulas, calculated values
6
+ * and effective formats). Cells are matched by address, so an inserted row reports every cell
7
+ * below it. Neither workbook is modified. Each stored cell of the two workbooks is visited once
8
+ * (row and column numbers are sorted per sheet and row; no dense grid is built); the result lists
9
+ * `notCompared` parts so a report can say what it did not check.
10
+ */
11
+ export declare function compareWorkbooks(before: Workbook, after: Workbook, options?: CompareOptions): WorkbookComparison;
12
+ //# sourceMappingURL=compare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAGN,KAAK,cAAc,EAEnB,KAAK,kBAAkB,EACvB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,cAAmB,GAC1B,kBAAkB,CAsCpB"}
@@ -0,0 +1,7 @@
1
+ import type { ConditionalFormat } from '../model.js';
2
+ import type { SheetDifference } from './types.js';
3
+ /** Rule settings that are off unless a file turns them on. */
4
+ export declare const OFF_BY_DEFAULT: string[];
5
+ /** Conditional format rules removed, added and reordered between two sheets. */
6
+ export declare function conditionalFormatDifferences(before: readonly ConditionalFormat[], after: readonly ConditionalFormat[]): SheetDifference[];
7
+ //# sourceMappingURL=conditional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/conditional.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,iBAAiB,EAAmB,MAAM,UAAU,CAAC;AAIlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C,8DAA8D;AAC9D,eAAO,MAAM,cAAc,UAO1B,CAAC;AA6GF,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GACjC,eAAe,EAAE,CAWnB"}