@cj-tech-master/excelts 3.0.1 → 3.1.0-canary.20260102043356.6791d4e

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 (1122) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +100 -22
  3. package/README_zh.md +100 -22
  4. package/THIRD_PARTY_NOTICES.md +112 -0
  5. package/dist/LICENSE +2 -1
  6. package/dist/browser/excelts.esm.js +18802 -12770
  7. package/dist/browser/excelts.esm.js.map +1 -1
  8. package/dist/browser/excelts.esm.min.js +39 -25
  9. package/dist/browser/excelts.iife.js +18791 -12754
  10. package/dist/browser/excelts.iife.js.map +1 -1
  11. package/dist/browser/excelts.iife.min.js +39 -25
  12. package/dist/cjs/index.js +19 -21
  13. package/dist/cjs/modules/archive/byte-queue.js +129 -0
  14. package/dist/cjs/modules/archive/compress.base.js +186 -0
  15. package/dist/cjs/modules/archive/compress.browser.js +98 -0
  16. package/dist/cjs/modules/archive/compress.js +127 -0
  17. package/dist/cjs/modules/archive/crc32.base.js +56 -0
  18. package/dist/cjs/modules/archive/crc32.browser.js +39 -0
  19. package/dist/cjs/modules/archive/crc32.js +128 -0
  20. package/dist/cjs/modules/archive/defaults.js +6 -0
  21. package/dist/cjs/modules/archive/deflate-fallback.js +569 -0
  22. package/dist/cjs/modules/archive/extract.js +114 -0
  23. package/dist/cjs/modules/archive/index.base.js +28 -0
  24. package/dist/cjs/modules/archive/index.browser.js +47 -0
  25. package/dist/cjs/modules/archive/index.js +45 -0
  26. package/dist/cjs/modules/archive/parse.base.js +632 -0
  27. package/dist/cjs/modules/archive/parse.browser.js +570 -0
  28. package/dist/cjs/modules/archive/parse.js +103 -0
  29. package/dist/cjs/modules/archive/streaming-compress.base.js +12 -0
  30. package/dist/cjs/modules/archive/streaming-compress.browser.js +301 -0
  31. package/dist/cjs/modules/archive/streaming-compress.js +73 -0
  32. package/dist/cjs/modules/archive/streaming-zip.js +411 -0
  33. package/dist/cjs/modules/archive/utils/binary.js +75 -0
  34. package/dist/cjs/modules/archive/utils/bytes.js +106 -0
  35. package/dist/cjs/modules/archive/utils/parse-buffer.js +59 -0
  36. package/dist/cjs/modules/archive/utils/text.js +39 -0
  37. package/dist/cjs/modules/archive/utils/timestamps.js +56 -0
  38. package/dist/cjs/modules/archive/utils/zip-extra-fields.js +75 -0
  39. package/dist/cjs/modules/archive/utils/zip-extra.js +74 -0
  40. package/dist/cjs/modules/archive/zip-builder.js +297 -0
  41. package/dist/cjs/modules/archive/zip-constants.js +26 -0
  42. package/dist/cjs/modules/archive/zip-entry-info.js +7 -0
  43. package/dist/cjs/modules/archive/zip-entry-metadata.js +29 -0
  44. package/dist/cjs/modules/archive/zip-parser.js +336 -0
  45. package/dist/cjs/modules/archive/zip-records.js +90 -0
  46. package/dist/cjs/modules/csv/csv-core.js +730 -0
  47. package/dist/cjs/modules/csv/csv-number.js +24 -0
  48. package/dist/cjs/modules/csv/csv-stream.js +711 -0
  49. package/dist/cjs/modules/csv/csv.browser.js +276 -0
  50. package/dist/cjs/modules/csv/csv.js +37 -0
  51. package/dist/cjs/modules/excel/anchor.js +100 -0
  52. package/dist/cjs/modules/excel/cell.js +949 -0
  53. package/dist/cjs/modules/excel/column.js +361 -0
  54. package/dist/cjs/modules/excel/data-validations.js +46 -0
  55. package/dist/cjs/modules/excel/defined-names.js +217 -0
  56. package/dist/cjs/modules/excel/image.js +63 -0
  57. package/dist/cjs/modules/excel/note.js +64 -0
  58. package/dist/cjs/modules/excel/pivot-table.js +239 -0
  59. package/dist/cjs/modules/excel/range.js +283 -0
  60. package/dist/cjs/modules/excel/row.js +444 -0
  61. package/dist/cjs/modules/excel/stream/hyperlink-reader.js +87 -0
  62. package/dist/cjs/modules/excel/stream/sheet-comments-writer.js +104 -0
  63. package/dist/cjs/modules/excel/stream/sheet-rels-writer.js +94 -0
  64. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +447 -0
  65. package/dist/cjs/modules/excel/stream/workbook-reader.js +57 -0
  66. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +360 -0
  67. package/dist/cjs/modules/excel/stream/workbook-writer.js +58 -0
  68. package/dist/cjs/modules/excel/stream/worksheet-reader.js +370 -0
  69. package/dist/cjs/modules/excel/stream/worksheet-writer.js +616 -0
  70. package/dist/cjs/modules/excel/table.js +408 -0
  71. package/dist/cjs/modules/excel/utils/cell-format.js +819 -0
  72. package/dist/cjs/modules/excel/utils/cell-matrix.js +183 -0
  73. package/dist/cjs/modules/excel/utils/encryptor.browser.js +49 -0
  74. package/dist/cjs/modules/excel/utils/encryptor.js +41 -0
  75. package/dist/cjs/modules/excel/utils/ooxml-paths.js +260 -0
  76. package/dist/cjs/modules/excel/utils/parse-sax.js +1210 -0
  77. package/dist/cjs/modules/excel/utils/shared-formula.js +38 -0
  78. package/dist/cjs/modules/excel/utils/sheet-utils.js +693 -0
  79. package/dist/cjs/modules/excel/utils/stream-buf.js +456 -0
  80. package/dist/cjs/modules/excel/utils/string-buf.js +78 -0
  81. package/dist/cjs/modules/excel/utils/under-dash.js +175 -0
  82. package/dist/cjs/modules/excel/utils/xml-stream.js +182 -0
  83. package/dist/cjs/modules/excel/workbook.js +317 -0
  84. package/dist/cjs/modules/excel/worksheet.js +927 -0
  85. package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +138 -0
  86. package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +127 -0
  87. package/dist/cjs/modules/excel/xlsx/xform/book/sheet-xform.js +33 -0
  88. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +24 -0
  89. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +27 -0
  90. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-properties-xform.js +27 -0
  91. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-view-xform.js +49 -0
  92. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +237 -0
  93. package/dist/cjs/modules/excel/xlsx/xform/comment/comment-xform.js +79 -0
  94. package/dist/cjs/modules/excel/xlsx/xform/comment/comments-xform.js +75 -0
  95. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +37 -0
  96. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +33 -0
  97. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +58 -0
  98. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +85 -0
  99. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-notes-xform.js +99 -0
  100. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-shape-xform.js +86 -0
  101. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +63 -0
  102. package/dist/cjs/modules/excel/xlsx/xform/composite-xform.js +51 -0
  103. package/dist/cjs/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +27 -0
  104. package/dist/cjs/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +24 -0
  105. package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +86 -0
  106. package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +125 -0
  107. package/dist/cjs/modules/excel/xlsx/xform/core/core-xform.js +127 -0
  108. package/dist/cjs/modules/excel/xlsx/xform/core/relationship-xform.js +23 -0
  109. package/dist/cjs/modules/excel/xlsx/xform/core/relationships-xform.js +65 -0
  110. package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +47 -0
  111. package/dist/cjs/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +60 -0
  112. package/dist/cjs/modules/excel/xlsx/xform/drawing/blip-xform.js +43 -0
  113. package/dist/cjs/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +35 -0
  114. package/dist/cjs/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +62 -0
  115. package/dist/cjs/modules/excel/xlsx/xform/drawing/cell-position-xform.js +71 -0
  116. package/dist/cjs/modules/excel/xlsx/xform/drawing/drawing-xform.js +99 -0
  117. package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +40 -0
  118. package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-xform.js +37 -0
  119. package/dist/cjs/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +42 -0
  120. package/dist/cjs/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +59 -0
  121. package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +55 -0
  122. package/dist/cjs/modules/excel/xlsx/xform/drawing/pic-xform.js +67 -0
  123. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +54 -0
  124. package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +92 -0
  125. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +131 -0
  126. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field.js +81 -0
  127. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +182 -0
  128. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +237 -0
  129. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +627 -0
  130. package/dist/cjs/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +37 -0
  131. package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +463 -0
  132. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +262 -0
  133. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +25 -0
  134. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +38 -0
  135. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +40 -0
  136. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +77 -0
  137. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +42 -0
  138. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +70 -0
  139. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +22 -0
  140. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +40 -0
  141. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +25 -0
  142. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +83 -0
  143. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +38 -0
  144. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +51 -0
  145. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +43 -0
  146. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +72 -0
  147. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +22 -0
  148. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +63 -0
  149. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +22 -0
  150. package/dist/cjs/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +38 -0
  151. package/dist/cjs/modules/excel/xlsx/xform/sheet/col-xform.js +78 -0
  152. package/dist/cjs/modules/excel/xlsx/xform/sheet/data-validations-xform.js +272 -0
  153. package/dist/cjs/modules/excel/xlsx/xform/sheet/dimension-xform.js +26 -0
  154. package/dist/cjs/modules/excel/xlsx/xform/sheet/drawing-xform.js +30 -0
  155. package/dist/cjs/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +69 -0
  156. package/dist/cjs/modules/excel/xlsx/xform/sheet/header-footer-xform.js +127 -0
  157. package/dist/cjs/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +50 -0
  158. package/dist/cjs/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +24 -0
  159. package/dist/cjs/modules/excel/xlsx/xform/sheet/merges.js +53 -0
  160. package/dist/cjs/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +39 -0
  161. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +36 -0
  162. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-margins-xform.js +45 -0
  163. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +32 -0
  164. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +99 -0
  165. package/dist/cjs/modules/excel/xlsx/xform/sheet/picture-xform.js +30 -0
  166. package/dist/cjs/modules/excel/xlsx/xform/sheet/print-options-xform.js +44 -0
  167. package/dist/cjs/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +32 -0
  168. package/dist/cjs/modules/excel/xlsx/xform/sheet/row-xform.js +155 -0
  169. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +52 -0
  170. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +85 -0
  171. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +83 -0
  172. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +196 -0
  173. package/dist/cjs/modules/excel/xlsx/xform/sheet/table-part-xform.js +30 -0
  174. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +521 -0
  175. package/dist/cjs/modules/excel/xlsx/xform/simple/boolean-xform.js +27 -0
  176. package/dist/cjs/modules/excel/xlsx/xform/simple/date-xform.js +68 -0
  177. package/dist/cjs/modules/excel/xlsx/xform/simple/float-xform.js +50 -0
  178. package/dist/cjs/modules/excel/xlsx/xform/simple/integer-xform.js +55 -0
  179. package/dist/cjs/modules/excel/xlsx/xform/simple/string-xform.js +50 -0
  180. package/dist/cjs/modules/excel/xlsx/xform/static-xform.js +58 -0
  181. package/dist/cjs/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +89 -0
  182. package/dist/cjs/modules/excel/xlsx/xform/strings/rich-text-xform.js +80 -0
  183. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-string-xform.js +93 -0
  184. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-strings-xform.js +112 -0
  185. package/dist/cjs/modules/excel/xlsx/xform/strings/text-xform.js +39 -0
  186. package/dist/cjs/modules/excel/xlsx/xform/style/alignment-xform.js +155 -0
  187. package/dist/cjs/modules/excel/xlsx/xform/style/border-xform.js +191 -0
  188. package/dist/cjs/modules/excel/xlsx/xform/style/color-xform.js +64 -0
  189. package/dist/cjs/modules/excel/xlsx/xform/style/dxf-xform.js +95 -0
  190. package/dist/cjs/modules/excel/xlsx/xform/style/fill-xform.js +315 -0
  191. package/dist/cjs/modules/excel/xlsx/xform/style/font-xform.js +103 -0
  192. package/dist/cjs/modules/excel/xlsx/xform/style/numfmt-xform.js +53 -0
  193. package/dist/cjs/modules/excel/xlsx/xform/style/protection-xform.js +52 -0
  194. package/dist/cjs/modules/excel/xlsx/xform/style/style-xform.js +111 -0
  195. package/dist/cjs/modules/excel/xlsx/xform/style/styles-xform.js +487 -0
  196. package/dist/cjs/modules/excel/xlsx/xform/style/underline-xform.js +41 -0
  197. package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +73 -0
  198. package/dist/cjs/modules/excel/xlsx/xform/table/custom-filter-xform.js +34 -0
  199. package/dist/cjs/modules/excel/xlsx/xform/table/filter-column-xform.js +90 -0
  200. package/dist/cjs/modules/excel/xlsx/xform/table/filter-xform.js +32 -0
  201. package/dist/cjs/modules/excel/xlsx/xform/table/table-column-xform.js +44 -0
  202. package/dist/cjs/modules/excel/xlsx/xform/table/table-style-info-xform.js +47 -0
  203. package/dist/cjs/modules/excel/xlsx/xform/table/table-xform.js +129 -0
  204. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +1155 -0
  205. package/dist/cjs/modules/excel/xlsx/xlsx.js +245 -0
  206. package/dist/cjs/modules/stream/base-transform.js +164 -0
  207. package/dist/cjs/modules/stream/buffered-stream.js +283 -0
  208. package/dist/cjs/modules/stream/chunked-builder.js +170 -0
  209. package/dist/cjs/modules/stream/event-emitter.js +243 -0
  210. package/dist/cjs/modules/stream/index.browser.js +97 -0
  211. package/dist/cjs/modules/stream/index.js +124 -0
  212. package/dist/cjs/modules/stream/pull-stream.js +208 -0
  213. package/dist/cjs/modules/stream/shared.js +168 -0
  214. package/dist/cjs/modules/stream/streams.browser.js +3318 -0
  215. package/dist/cjs/modules/stream/streams.js +988 -0
  216. package/dist/cjs/modules/stream/types.js +8 -0
  217. package/dist/cjs/modules/stream/utils.js +96 -0
  218. package/dist/cjs/utils/browser.js +55 -0
  219. package/dist/cjs/utils/env.js +22 -0
  220. package/dist/cjs/utils/utils.base.js +139 -2
  221. package/dist/cjs/utils/utils.browser.js +6 -59
  222. package/dist/cjs/utils/utils.js +13 -89
  223. package/dist/cjs/utils/uuid.js +58 -0
  224. package/dist/esm/index.browser.js +26 -17
  225. package/dist/esm/index.js +18 -19
  226. package/dist/esm/modules/archive/byte-queue.js +125 -0
  227. package/dist/esm/modules/archive/compress.base.js +173 -0
  228. package/dist/esm/modules/archive/compress.browser.js +93 -0
  229. package/dist/esm/modules/archive/compress.js +86 -0
  230. package/dist/esm/modules/archive/crc32.base.js +51 -0
  231. package/dist/esm/modules/archive/crc32.browser.js +32 -0
  232. package/dist/esm/modules/archive/crc32.js +97 -0
  233. package/dist/esm/modules/archive/defaults.js +3 -0
  234. package/dist/esm/modules/archive/deflate-fallback.js +564 -0
  235. package/dist/esm/modules/archive/index.base.js +13 -0
  236. package/dist/esm/modules/archive/index.browser.js +17 -0
  237. package/dist/esm/modules/archive/index.js +15 -0
  238. package/dist/esm/modules/archive/parse.base.js +610 -0
  239. package/dist/esm/modules/archive/parse.browser.js +564 -0
  240. package/dist/esm/modules/archive/parse.js +94 -0
  241. package/dist/esm/modules/archive/streaming-compress.base.js +9 -0
  242. package/dist/esm/modules/archive/streaming-compress.browser.js +296 -0
  243. package/dist/esm/modules/archive/streaming-compress.js +68 -0
  244. package/dist/esm/modules/archive/streaming-zip.js +407 -0
  245. package/dist/esm/modules/archive/utils/binary.js +69 -0
  246. package/dist/esm/modules/archive/utils/bytes.js +101 -0
  247. package/dist/esm/modules/archive/utils/parse-buffer.js +55 -0
  248. package/dist/esm/modules/archive/utils/text.js +33 -0
  249. package/dist/esm/modules/archive/utils/timestamps.js +48 -0
  250. package/dist/esm/modules/archive/utils/zip-extra-fields.js +72 -0
  251. package/dist/esm/modules/archive/utils/zip-extra.js +68 -0
  252. package/dist/esm/modules/archive/zip-builder.js +292 -0
  253. package/dist/esm/modules/archive/zip-constants.js +23 -0
  254. package/dist/esm/modules/archive/zip-entry-info.js +6 -0
  255. package/dist/esm/modules/archive/zip-entry-metadata.js +24 -0
  256. package/dist/esm/modules/archive/zip-parser.js +332 -0
  257. package/dist/esm/modules/archive/zip-records.js +84 -0
  258. package/dist/esm/modules/csv/csv-core.js +723 -0
  259. package/dist/esm/modules/csv/csv-number.js +20 -0
  260. package/dist/esm/modules/csv/csv-stream.js +703 -0
  261. package/dist/esm/modules/csv/csv.browser.js +265 -0
  262. package/dist/esm/modules/csv/csv.js +29 -0
  263. package/dist/esm/modules/excel/anchor.js +97 -0
  264. package/dist/esm/modules/excel/cell.js +946 -0
  265. package/dist/esm/modules/excel/column.js +358 -0
  266. package/dist/esm/modules/excel/data-validations.js +43 -0
  267. package/dist/esm/modules/excel/defined-names.js +214 -0
  268. package/dist/esm/modules/excel/image.js +60 -0
  269. package/dist/esm/modules/excel/note.js +61 -0
  270. package/dist/esm/modules/excel/pivot-table.js +237 -0
  271. package/dist/esm/modules/excel/range.js +280 -0
  272. package/dist/esm/modules/excel/row.js +441 -0
  273. package/dist/esm/modules/excel/stream/hyperlink-reader.js +84 -0
  274. package/dist/esm/modules/excel/stream/sheet-comments-writer.js +101 -0
  275. package/dist/esm/modules/excel/stream/sheet-rels-writer.js +91 -0
  276. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +443 -0
  277. package/dist/esm/modules/excel/stream/workbook-reader.js +50 -0
  278. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +356 -0
  279. package/dist/esm/modules/excel/stream/workbook-writer.js +52 -0
  280. package/dist/esm/modules/excel/stream/worksheet-reader.js +367 -0
  281. package/dist/esm/modules/excel/stream/worksheet-writer.js +613 -0
  282. package/dist/esm/modules/excel/table.js +405 -0
  283. package/dist/esm/modules/excel/utils/cell-format.js +814 -0
  284. package/dist/esm/modules/excel/utils/encryptor.browser.js +46 -0
  285. package/dist/esm/modules/excel/utils/encryptor.js +35 -0
  286. package/dist/esm/modules/excel/utils/ooxml-paths.js +209 -0
  287. package/dist/esm/modules/excel/utils/parse-sax.js +1206 -0
  288. package/dist/esm/modules/excel/utils/sheet-utils.js +674 -0
  289. package/dist/esm/modules/excel/utils/stream-buf.js +453 -0
  290. package/dist/esm/modules/excel/utils/string-buf.js +75 -0
  291. package/dist/esm/modules/excel/utils/under-dash.js +166 -0
  292. package/dist/esm/modules/excel/utils/xml-stream.js +179 -0
  293. package/dist/esm/modules/excel/workbook.js +314 -0
  294. package/dist/esm/modules/excel/worksheet.js +924 -0
  295. package/dist/esm/modules/excel/xlsx/xform/base-xform.js +135 -0
  296. package/dist/esm/modules/excel/xlsx/xform/book/sheet-xform.js +30 -0
  297. package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +122 -0
  298. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +128 -0
  299. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field.js +78 -0
  300. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +234 -0
  301. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +624 -0
  302. package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +460 -0
  303. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +259 -0
  304. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +80 -0
  305. package/dist/esm/modules/excel/xlsx/xform/sheet/col-xform.js +75 -0
  306. package/dist/esm/modules/excel/xlsx/xform/sheet/data-validations-xform.js +269 -0
  307. package/dist/esm/modules/excel/xlsx/xform/sheet/merges.js +50 -0
  308. package/dist/esm/modules/excel/xlsx/xform/sheet/row-xform.js +152 -0
  309. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +518 -0
  310. package/dist/esm/modules/excel/xlsx/xform/static-xform.js +55 -0
  311. package/dist/esm/modules/excel/xlsx/xform/style/alignment-xform.js +152 -0
  312. package/dist/esm/modules/excel/xlsx/xform/style/border-xform.js +188 -0
  313. package/dist/esm/modules/excel/xlsx/xform/style/styles-xform.js +484 -0
  314. package/dist/esm/modules/excel/xlsx/xform/table/filter-column-xform.js +87 -0
  315. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +1152 -0
  316. package/dist/esm/modules/excel/xlsx/xlsx.js +239 -0
  317. package/dist/esm/modules/stream/base-transform.js +160 -0
  318. package/dist/esm/modules/stream/buffered-stream.js +277 -0
  319. package/dist/esm/modules/stream/chunked-builder.js +165 -0
  320. package/dist/esm/modules/stream/event-emitter.js +239 -0
  321. package/dist/esm/modules/stream/index.browser.js +25 -0
  322. package/dist/esm/modules/stream/index.js +52 -0
  323. package/dist/esm/modules/stream/pull-stream.js +204 -0
  324. package/dist/esm/modules/stream/shared.js +156 -0
  325. package/dist/esm/modules/stream/streams.browser.js +3267 -0
  326. package/dist/esm/modules/stream/streams.js +940 -0
  327. package/dist/esm/modules/stream/types.js +7 -0
  328. package/dist/esm/modules/stream/utils.js +85 -0
  329. package/dist/esm/utils/browser.js +49 -0
  330. package/dist/esm/utils/env.js +18 -0
  331. package/dist/esm/utils/utils.base.js +135 -2
  332. package/dist/esm/utils/utils.browser.js +1 -57
  333. package/dist/esm/utils/utils.js +8 -87
  334. package/dist/esm/utils/uuid.js +55 -0
  335. package/dist/types/index.browser.d.ts +21 -15
  336. package/dist/types/index.d.ts +23 -24
  337. package/dist/types/modules/archive/byte-queue.d.ts +18 -0
  338. package/dist/types/modules/archive/compress.base.d.ts +98 -0
  339. package/dist/types/modules/archive/compress.browser.d.ts +57 -0
  340. package/dist/types/modules/archive/compress.d.ts +44 -0
  341. package/dist/types/modules/archive/crc32.base.d.ts +25 -0
  342. package/dist/types/modules/archive/crc32.browser.d.ts +30 -0
  343. package/dist/types/modules/archive/crc32.d.ts +59 -0
  344. package/dist/types/modules/archive/defaults.d.ts +4 -0
  345. package/dist/types/modules/archive/extract.d.ts +94 -0
  346. package/dist/types/modules/archive/index.base.d.ts +11 -0
  347. package/dist/types/modules/archive/index.browser.d.ts +11 -0
  348. package/dist/types/modules/archive/index.d.ts +11 -0
  349. package/dist/types/modules/archive/parse.base.d.ts +198 -0
  350. package/dist/types/modules/archive/parse.browser.d.ts +22 -0
  351. package/dist/types/modules/archive/parse.d.ts +16 -0
  352. package/dist/types/modules/archive/streaming-compress.base.d.ts +36 -0
  353. package/dist/types/modules/archive/streaming-compress.browser.d.ts +26 -0
  354. package/dist/types/modules/archive/streaming-compress.d.ts +22 -0
  355. package/dist/types/modules/archive/streaming-zip.d.ts +120 -0
  356. package/dist/types/modules/archive/utils/binary.d.ts +24 -0
  357. package/dist/types/modules/archive/utils/bytes.d.ts +7 -0
  358. package/dist/types/modules/archive/utils/parse-buffer.d.ts +18 -0
  359. package/dist/types/modules/archive/utils/text.d.ts +20 -0
  360. package/dist/types/modules/archive/utils/timestamps.d.ts +28 -0
  361. package/dist/types/modules/archive/utils/zip-extra-fields.d.ts +19 -0
  362. package/dist/types/modules/archive/utils/zip-extra.d.ts +18 -0
  363. package/dist/types/modules/archive/zip-builder.d.ts +117 -0
  364. package/dist/types/modules/archive/zip-constants.d.ts +18 -0
  365. package/dist/types/modules/archive/zip-entry-info.d.ts +29 -0
  366. package/dist/types/modules/archive/zip-entry-metadata.d.ts +23 -0
  367. package/dist/types/modules/archive/zip-parser.d.ts +62 -0
  368. package/dist/types/modules/archive/zip-records.d.ts +43 -0
  369. package/dist/types/modules/csv/csv-core.d.ts +215 -0
  370. package/dist/types/modules/csv/csv-number.d.ts +3 -0
  371. package/dist/types/modules/csv/csv-stream.d.ts +121 -0
  372. package/dist/types/modules/csv/csv.browser.d.ts +60 -0
  373. package/dist/types/modules/csv/csv.d.ts +14 -0
  374. package/dist/types/modules/excel/anchor.d.ts +33 -0
  375. package/dist/types/modules/excel/cell.d.ts +138 -0
  376. package/dist/types/modules/excel/column.d.ts +122 -0
  377. package/dist/types/modules/excel/defined-names.d.ts +37 -0
  378. package/dist/types/modules/excel/image.d.ts +64 -0
  379. package/dist/types/modules/excel/pivot-table.d.ts +152 -0
  380. package/dist/types/modules/excel/range.d.ts +62 -0
  381. package/dist/types/modules/excel/row.d.ts +127 -0
  382. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +33 -0
  383. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +169 -0
  384. package/dist/types/modules/excel/stream/workbook-reader.d.ts +24 -0
  385. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +147 -0
  386. package/dist/types/modules/excel/stream/workbook-writer.d.ts +31 -0
  387. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +61 -0
  388. package/dist/types/modules/excel/stream/worksheet-writer.d.ts +140 -0
  389. package/dist/types/modules/excel/table.d.ts +81 -0
  390. package/dist/types/modules/excel/utils/col-cache.d.ts +36 -0
  391. package/dist/types/modules/excel/utils/encryptor.browser.d.ts +19 -0
  392. package/dist/types/modules/excel/utils/encryptor.d.ts +9 -0
  393. package/dist/types/modules/excel/utils/iterate-stream.d.ts +14 -0
  394. package/dist/types/modules/excel/utils/ooxml-paths.d.ts +64 -0
  395. package/dist/types/modules/excel/utils/sheet-utils.d.ts +190 -0
  396. package/dist/types/modules/excel/utils/stream-buf.d.ts +126 -0
  397. package/dist/types/modules/excel/utils/string-buf.d.ts +29 -0
  398. package/dist/types/modules/excel/workbook.d.ts +195 -0
  399. package/dist/types/modules/excel/worksheet.d.ts +333 -0
  400. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +33 -0
  401. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +17 -0
  402. package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +14 -0
  403. package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +11 -0
  404. package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +12 -0
  405. package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +11 -0
  406. package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +17 -0
  407. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +23 -0
  408. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +28 -0
  409. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +21 -0
  410. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +16 -0
  411. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +14 -0
  412. package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +27 -0
  413. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +35 -0
  414. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +24 -0
  415. package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +25 -0
  416. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +23 -0
  417. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +11 -0
  418. package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +8 -0
  419. package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +8 -0
  420. package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +26 -0
  421. package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +11 -0
  422. package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +42 -0
  423. package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +14 -0
  424. package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +14 -0
  425. package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +13 -0
  426. package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +16 -0
  427. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +14 -0
  428. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +9 -0
  429. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +18 -0
  430. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +24 -0
  431. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +24 -0
  432. package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +9 -0
  433. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +20 -0
  434. package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +11 -0
  435. package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +15 -0
  436. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +20 -0
  437. package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +22 -0
  438. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +20 -0
  439. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +32 -0
  440. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +42 -0
  441. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +60 -0
  442. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +73 -0
  443. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +119 -0
  444. package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +8 -0
  445. package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +17 -0
  446. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +41 -0
  447. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +8 -0
  448. package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +13 -0
  449. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +9 -0
  450. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +16 -0
  451. package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +13 -0
  452. package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +9 -0
  453. package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +9 -0
  454. package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +11 -0
  455. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +10 -0
  456. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +23 -0
  457. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +13 -0
  458. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +16 -0
  459. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +13 -0
  460. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +29 -0
  461. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +9 -0
  462. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +20 -0
  463. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +9 -0
  464. package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
  465. package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +22 -0
  466. package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +12 -0
  467. package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +10 -0
  468. package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +12 -0
  469. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +16 -0
  470. package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +20 -0
  471. package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +16 -0
  472. package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +9 -0
  473. package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +13 -0
  474. package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +14 -0
  475. package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +17 -0
  476. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +12 -0
  477. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +27 -0
  478. package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +12 -0
  479. package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +15 -0
  480. package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +10 -0
  481. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +37 -0
  482. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +16 -0
  483. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +19 -0
  484. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +31 -0
  485. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +32 -0
  486. package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +12 -0
  487. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +21 -0
  488. package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +15 -0
  489. package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +22 -0
  490. package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +18 -0
  491. package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +20 -0
  492. package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +18 -0
  493. package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +17 -0
  494. package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +20 -0
  495. package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +25 -0
  496. package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +17 -0
  497. package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +27 -0
  498. package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +10 -0
  499. package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +18 -0
  500. package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +49 -0
  501. package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +17 -0
  502. package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +23 -0
  503. package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +85 -0
  504. package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +35 -0
  505. package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +18 -0
  506. package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +13 -0
  507. package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +30 -0
  508. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +46 -0
  509. package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +14 -0
  510. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +21 -0
  511. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +15 -0
  512. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +24 -0
  513. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +14 -0
  514. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +21 -0
  515. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +18 -0
  516. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +33 -0
  517. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +208 -0
  518. package/dist/types/modules/excel/xlsx/xlsx.d.ts +24 -0
  519. package/dist/types/modules/stream/base-transform.d.ts +68 -0
  520. package/dist/types/modules/stream/buffered-stream.d.ts +94 -0
  521. package/dist/types/modules/stream/chunked-builder.d.ts +97 -0
  522. package/dist/types/modules/stream/event-emitter.d.ts +30 -0
  523. package/dist/types/modules/stream/index.browser.d.ts +22 -0
  524. package/dist/types/modules/stream/index.d.ts +49 -0
  525. package/dist/types/modules/stream/pull-stream.d.ts +67 -0
  526. package/dist/types/modules/stream/shared.d.ts +54 -0
  527. package/dist/types/modules/stream/streams.browser.d.ts +936 -0
  528. package/dist/types/modules/stream/streams.d.ts +282 -0
  529. package/dist/types/modules/stream/types.d.ts +238 -0
  530. package/dist/types/modules/stream/utils.d.ts +24 -0
  531. package/dist/types/utils/browser.d.ts +9 -0
  532. package/dist/types/utils/env.d.ts +14 -0
  533. package/dist/types/utils/utils.base.d.ts +21 -1
  534. package/dist/types/utils/utils.browser.d.ts +1 -24
  535. package/dist/types/utils/utils.d.ts +1 -24
  536. package/dist/types/utils/uuid.d.ts +11 -0
  537. package/package.json +16 -22
  538. package/dist/cjs/csv/csv-core.js +0 -701
  539. package/dist/cjs/csv/csv-stream.js +0 -646
  540. package/dist/cjs/csv/csv.base.js +0 -137
  541. package/dist/cjs/csv/csv.browser.js +0 -68
  542. package/dist/cjs/csv/csv.js +0 -249
  543. package/dist/cjs/doc/anchor.js +0 -100
  544. package/dist/cjs/doc/cell.js +0 -949
  545. package/dist/cjs/doc/column.js +0 -354
  546. package/dist/cjs/doc/data-validations.js +0 -46
  547. package/dist/cjs/doc/defined-names.js +0 -217
  548. package/dist/cjs/doc/image.js +0 -63
  549. package/dist/cjs/doc/modelcontainer.js +0 -16
  550. package/dist/cjs/doc/note.js +0 -64
  551. package/dist/cjs/doc/pivot-table.js +0 -239
  552. package/dist/cjs/doc/range.js +0 -283
  553. package/dist/cjs/doc/row.js +0 -421
  554. package/dist/cjs/doc/table.js +0 -408
  555. package/dist/cjs/doc/workbook.base.js +0 -211
  556. package/dist/cjs/doc/workbook.browser.js +0 -62
  557. package/dist/cjs/doc/workbook.js +0 -96
  558. package/dist/cjs/doc/worksheet.js +0 -931
  559. package/dist/cjs/local.js +0 -1
  560. package/dist/cjs/stream/xlsx/hyperlink-reader.js +0 -82
  561. package/dist/cjs/stream/xlsx/sheet-comments-writer.js +0 -103
  562. package/dist/cjs/stream/xlsx/sheet-rels-writer.js +0 -93
  563. package/dist/cjs/stream/xlsx/workbook-reader.js +0 -359
  564. package/dist/cjs/stream/xlsx/workbook-writer.js +0 -387
  565. package/dist/cjs/stream/xlsx/worksheet-reader.js +0 -351
  566. package/dist/cjs/stream/xlsx/worksheet-writer.js +0 -605
  567. package/dist/cjs/utils/browser-buffer.js +0 -75
  568. package/dist/cjs/utils/cell-format.js +0 -819
  569. package/dist/cjs/utils/cell-matrix.js +0 -183
  570. package/dist/cjs/utils/encryptor.browser.js +0 -240
  571. package/dist/cjs/utils/encryptor.js +0 -55
  572. package/dist/cjs/utils/parse-sax.js +0 -1209
  573. package/dist/cjs/utils/shared-formula.js +0 -38
  574. package/dist/cjs/utils/sheet-utils.js +0 -727
  575. package/dist/cjs/utils/stream-buf.browser.js +0 -355
  576. package/dist/cjs/utils/stream-buf.js +0 -347
  577. package/dist/cjs/utils/string-buf.js +0 -68
  578. package/dist/cjs/utils/under-dash.js +0 -180
  579. package/dist/cjs/utils/unzip/buffer-stream.js +0 -27
  580. package/dist/cjs/utils/unzip/extract.js +0 -114
  581. package/dist/cjs/utils/unzip/index.js +0 -45
  582. package/dist/cjs/utils/unzip/noop-stream.js +0 -20
  583. package/dist/cjs/utils/unzip/parse-buffer.js +0 -60
  584. package/dist/cjs/utils/unzip/parse-datetime.js +0 -23
  585. package/dist/cjs/utils/unzip/parse-extra-field.js +0 -52
  586. package/dist/cjs/utils/unzip/parse.js +0 -340
  587. package/dist/cjs/utils/unzip/pull-stream.js +0 -145
  588. package/dist/cjs/utils/unzip/zip-parser.js +0 -466
  589. package/dist/cjs/utils/xml-stream.js +0 -171
  590. package/dist/cjs/utils/zip/compress.base.js +0 -88
  591. package/dist/cjs/utils/zip/compress.browser.js +0 -127
  592. package/dist/cjs/utils/zip/compress.js +0 -81
  593. package/dist/cjs/utils/zip/crc32.browser.js +0 -88
  594. package/dist/cjs/utils/zip/crc32.js +0 -154
  595. package/dist/cjs/utils/zip/deflate-fallback.js +0 -575
  596. package/dist/cjs/utils/zip/index.js +0 -70
  597. package/dist/cjs/utils/zip/streaming-zip.js +0 -264
  598. package/dist/cjs/utils/zip/zip-builder.js +0 -378
  599. package/dist/cjs/utils/zip-stream.browser.js +0 -135
  600. package/dist/cjs/utils/zip-stream.js +0 -114
  601. package/dist/cjs/xlsx/xform/base-xform.js +0 -126
  602. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +0 -127
  603. package/dist/cjs/xlsx/xform/book/sheet-xform.js +0 -33
  604. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  605. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +0 -27
  606. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +0 -27
  607. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +0 -49
  608. package/dist/cjs/xlsx/xform/book/workbook-xform.js +0 -237
  609. package/dist/cjs/xlsx/xform/comment/comment-xform.js +0 -79
  610. package/dist/cjs/xlsx/xform/comment/comments-xform.js +0 -75
  611. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +0 -37
  612. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +0 -33
  613. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +0 -58
  614. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +0 -85
  615. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +0 -99
  616. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +0 -86
  617. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +0 -63
  618. package/dist/cjs/xlsx/xform/composite-xform.js +0 -51
  619. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +0 -27
  620. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +0 -24
  621. package/dist/cjs/xlsx/xform/core/app-xform.js +0 -86
  622. package/dist/cjs/xlsx/xform/core/content-types-xform.js +0 -131
  623. package/dist/cjs/xlsx/xform/core/core-xform.js +0 -127
  624. package/dist/cjs/xlsx/xform/core/relationship-xform.js +0 -23
  625. package/dist/cjs/xlsx/xform/core/relationships-xform.js +0 -65
  626. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  627. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +0 -60
  628. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +0 -43
  629. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  630. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  631. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +0 -71
  632. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +0 -99
  633. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  634. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +0 -37
  635. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +0 -42
  636. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  637. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -55
  638. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +0 -67
  639. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -54
  640. package/dist/cjs/xlsx/xform/list-xform.js +0 -92
  641. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +0 -131
  642. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +0 -81
  643. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +0 -182
  644. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +0 -237
  645. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +0 -627
  646. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +0 -37
  647. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +0 -463
  648. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -262
  649. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  650. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  651. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -40
  652. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  653. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  654. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -70
  655. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  656. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +0 -40
  657. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -25
  658. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -82
  659. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  660. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -51
  661. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  662. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -72
  663. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  664. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -63
  665. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  666. package/dist/cjs/xlsx/xform/sheet/col-breaks-xform.js +0 -38
  667. package/dist/cjs/xlsx/xform/sheet/col-xform.js +0 -78
  668. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +0 -285
  669. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +0 -26
  670. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +0 -30
  671. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  672. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +0 -127
  673. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  674. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +0 -24
  675. package/dist/cjs/xlsx/xform/sheet/merges.js +0 -53
  676. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +0 -39
  677. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +0 -36
  678. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +0 -45
  679. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  680. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +0 -99
  681. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +0 -30
  682. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +0 -44
  683. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +0 -32
  684. package/dist/cjs/xlsx/xform/sheet/row-xform.js +0 -155
  685. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -52
  686. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +0 -85
  687. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +0 -83
  688. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +0 -196
  689. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +0 -30
  690. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +0 -520
  691. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +0 -27
  692. package/dist/cjs/xlsx/xform/simple/date-xform.js +0 -68
  693. package/dist/cjs/xlsx/xform/simple/float-xform.js +0 -50
  694. package/dist/cjs/xlsx/xform/simple/integer-xform.js +0 -55
  695. package/dist/cjs/xlsx/xform/simple/string-xform.js +0 -50
  696. package/dist/cjs/xlsx/xform/static-xform.js +0 -58
  697. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +0 -89
  698. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +0 -80
  699. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +0 -93
  700. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +0 -112
  701. package/dist/cjs/xlsx/xform/strings/text-xform.js +0 -39
  702. package/dist/cjs/xlsx/xform/style/alignment-xform.js +0 -155
  703. package/dist/cjs/xlsx/xform/style/border-xform.js +0 -191
  704. package/dist/cjs/xlsx/xform/style/color-xform.js +0 -64
  705. package/dist/cjs/xlsx/xform/style/dxf-xform.js +0 -95
  706. package/dist/cjs/xlsx/xform/style/fill-xform.js +0 -315
  707. package/dist/cjs/xlsx/xform/style/font-xform.js +0 -103
  708. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +0 -53
  709. package/dist/cjs/xlsx/xform/style/protection-xform.js +0 -52
  710. package/dist/cjs/xlsx/xform/style/style-xform.js +0 -111
  711. package/dist/cjs/xlsx/xform/style/styles-xform.js +0 -487
  712. package/dist/cjs/xlsx/xform/style/underline-xform.js +0 -41
  713. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +0 -73
  714. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +0 -34
  715. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +0 -91
  716. package/dist/cjs/xlsx/xform/table/filter-xform.js +0 -32
  717. package/dist/cjs/xlsx/xform/table/table-column-xform.js +0 -44
  718. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +0 -47
  719. package/dist/cjs/xlsx/xform/table/table-xform.js +0 -129
  720. package/dist/cjs/xlsx/xlsx.base.js +0 -742
  721. package/dist/cjs/xlsx/xlsx.browser.js +0 -162
  722. package/dist/cjs/xlsx/xlsx.js +0 -220
  723. package/dist/esm/csv/csv-core.js +0 -694
  724. package/dist/esm/csv/csv-stream.js +0 -638
  725. package/dist/esm/csv/csv.base.js +0 -127
  726. package/dist/esm/csv/csv.browser.js +0 -65
  727. package/dist/esm/csv/csv.js +0 -209
  728. package/dist/esm/doc/anchor.js +0 -97
  729. package/dist/esm/doc/cell.js +0 -946
  730. package/dist/esm/doc/column.js +0 -351
  731. package/dist/esm/doc/data-validations.js +0 -43
  732. package/dist/esm/doc/defined-names.js +0 -214
  733. package/dist/esm/doc/image.js +0 -60
  734. package/dist/esm/doc/modelcontainer.js +0 -13
  735. package/dist/esm/doc/note.js +0 -61
  736. package/dist/esm/doc/pivot-table.js +0 -237
  737. package/dist/esm/doc/range.js +0 -280
  738. package/dist/esm/doc/row.js +0 -418
  739. package/dist/esm/doc/table.js +0 -405
  740. package/dist/esm/doc/workbook.base.js +0 -207
  741. package/dist/esm/doc/workbook.browser.js +0 -59
  742. package/dist/esm/doc/workbook.js +0 -93
  743. package/dist/esm/doc/worksheet.js +0 -928
  744. package/dist/esm/local.js +0 -1
  745. package/dist/esm/stream/xlsx/hyperlink-reader.js +0 -79
  746. package/dist/esm/stream/xlsx/sheet-comments-writer.js +0 -100
  747. package/dist/esm/stream/xlsx/sheet-rels-writer.js +0 -90
  748. package/dist/esm/stream/xlsx/workbook-reader.js +0 -352
  749. package/dist/esm/stream/xlsx/workbook-writer.js +0 -381
  750. package/dist/esm/stream/xlsx/worksheet-reader.js +0 -348
  751. package/dist/esm/stream/xlsx/worksheet-writer.js +0 -602
  752. package/dist/esm/utils/browser-buffer.js +0 -67
  753. package/dist/esm/utils/cell-format.js +0 -814
  754. package/dist/esm/utils/encryptor.browser.js +0 -237
  755. package/dist/esm/utils/encryptor.js +0 -49
  756. package/dist/esm/utils/parse-sax.js +0 -1205
  757. package/dist/esm/utils/sheet-utils.js +0 -707
  758. package/dist/esm/utils/stream-buf.browser.js +0 -352
  759. package/dist/esm/utils/stream-buf.js +0 -344
  760. package/dist/esm/utils/string-buf.js +0 -65
  761. package/dist/esm/utils/under-dash.js +0 -171
  762. package/dist/esm/utils/unzip/buffer-stream.js +0 -24
  763. package/dist/esm/utils/unzip/index.js +0 -29
  764. package/dist/esm/utils/unzip/noop-stream.js +0 -16
  765. package/dist/esm/utils/unzip/parse-buffer.js +0 -57
  766. package/dist/esm/utils/unzip/parse-datetime.js +0 -20
  767. package/dist/esm/utils/unzip/parse-extra-field.js +0 -49
  768. package/dist/esm/utils/unzip/parse.js +0 -332
  769. package/dist/esm/utils/unzip/pull-stream.js +0 -141
  770. package/dist/esm/utils/unzip/zip-parser.js +0 -459
  771. package/dist/esm/utils/xml-stream.js +0 -168
  772. package/dist/esm/utils/zip/compress.base.js +0 -83
  773. package/dist/esm/utils/zip/compress.browser.js +0 -121
  774. package/dist/esm/utils/zip/compress.js +0 -72
  775. package/dist/esm/utils/zip/crc32.browser.js +0 -82
  776. package/dist/esm/utils/zip/crc32.js +0 -116
  777. package/dist/esm/utils/zip/deflate-fallback.js +0 -570
  778. package/dist/esm/utils/zip/index.js +0 -55
  779. package/dist/esm/utils/zip/streaming-zip.js +0 -259
  780. package/dist/esm/utils/zip/zip-builder.js +0 -372
  781. package/dist/esm/utils/zip-stream.browser.js +0 -132
  782. package/dist/esm/utils/zip-stream.js +0 -109
  783. package/dist/esm/xlsx/xform/base-xform.js +0 -123
  784. package/dist/esm/xlsx/xform/book/sheet-xform.js +0 -30
  785. package/dist/esm/xlsx/xform/core/content-types-xform.js +0 -128
  786. package/dist/esm/xlsx/xform/pivot-table/cache-field-xform.js +0 -128
  787. package/dist/esm/xlsx/xform/pivot-table/cache-field.js +0 -78
  788. package/dist/esm/xlsx/xform/pivot-table/pivot-cache-records-xform.js +0 -234
  789. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +0 -624
  790. package/dist/esm/xlsx/xform/sheet/cell-xform.js +0 -460
  791. package/dist/esm/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -259
  792. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -79
  793. package/dist/esm/xlsx/xform/sheet/col-xform.js +0 -75
  794. package/dist/esm/xlsx/xform/sheet/data-validations-xform.js +0 -282
  795. package/dist/esm/xlsx/xform/sheet/merges.js +0 -50
  796. package/dist/esm/xlsx/xform/sheet/row-xform.js +0 -152
  797. package/dist/esm/xlsx/xform/sheet/worksheet-xform.js +0 -517
  798. package/dist/esm/xlsx/xform/static-xform.js +0 -55
  799. package/dist/esm/xlsx/xform/style/alignment-xform.js +0 -152
  800. package/dist/esm/xlsx/xform/style/border-xform.js +0 -188
  801. package/dist/esm/xlsx/xform/style/styles-xform.js +0 -484
  802. package/dist/esm/xlsx/xform/table/filter-column-xform.js +0 -88
  803. package/dist/esm/xlsx/xlsx.base.js +0 -739
  804. package/dist/esm/xlsx/xlsx.browser.js +0 -159
  805. package/dist/esm/xlsx/xlsx.js +0 -214
  806. package/dist/types/csv/csv-core.d.ts +0 -201
  807. package/dist/types/csv/csv-stream.d.ts +0 -114
  808. package/dist/types/csv/csv.base.d.ts +0 -62
  809. package/dist/types/csv/csv.browser.d.ts +0 -33
  810. package/dist/types/csv/csv.d.ts +0 -105
  811. package/dist/types/doc/anchor.d.ts +0 -33
  812. package/dist/types/doc/cell.d.ts +0 -139
  813. package/dist/types/doc/column.d.ts +0 -121
  814. package/dist/types/doc/defined-names.d.ts +0 -37
  815. package/dist/types/doc/image.d.ts +0 -64
  816. package/dist/types/doc/modelcontainer.d.ts +0 -8
  817. package/dist/types/doc/pivot-table.d.ts +0 -152
  818. package/dist/types/doc/range.d.ts +0 -62
  819. package/dist/types/doc/row.d.ts +0 -114
  820. package/dist/types/doc/table.d.ts +0 -81
  821. package/dist/types/doc/workbook.base.d.ts +0 -111
  822. package/dist/types/doc/workbook.browser.d.ts +0 -38
  823. package/dist/types/doc/workbook.d.ts +0 -79
  824. package/dist/types/doc/worksheet.d.ts +0 -333
  825. package/dist/types/local.d.ts +0 -0
  826. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +0 -27
  827. package/dist/types/stream/xlsx/workbook-reader.d.ts +0 -139
  828. package/dist/types/stream/xlsx/workbook-writer.d.ts +0 -139
  829. package/dist/types/stream/xlsx/worksheet-reader.d.ts +0 -55
  830. package/dist/types/stream/xlsx/worksheet-writer.d.ts +0 -139
  831. package/dist/types/utils/browser-buffer.d.ts +0 -28
  832. package/dist/types/utils/col-cache.d.ts +0 -36
  833. package/dist/types/utils/encryptor.browser.d.ts +0 -28
  834. package/dist/types/utils/encryptor.d.ts +0 -23
  835. package/dist/types/utils/iterate-stream.d.ts +0 -10
  836. package/dist/types/utils/sheet-utils.d.ts +0 -209
  837. package/dist/types/utils/stream-buf.browser.d.ts +0 -41
  838. package/dist/types/utils/stream-buf.d.ts +0 -2
  839. package/dist/types/utils/string-buf.d.ts +0 -20
  840. package/dist/types/utils/unzip/buffer-stream.d.ts +0 -9
  841. package/dist/types/utils/unzip/extract.d.ts +0 -94
  842. package/dist/types/utils/unzip/index.d.ts +0 -27
  843. package/dist/types/utils/unzip/noop-stream.d.ts +0 -13
  844. package/dist/types/utils/unzip/parse-buffer.d.ts +0 -24
  845. package/dist/types/utils/unzip/parse-datetime.d.ts +0 -12
  846. package/dist/types/utils/unzip/parse-extra-field.d.ts +0 -18
  847. package/dist/types/utils/unzip/parse.d.ts +0 -70
  848. package/dist/types/utils/unzip/pull-stream.d.ts +0 -24
  849. package/dist/types/utils/unzip/zip-parser.d.ts +0 -97
  850. package/dist/types/utils/zip/compress.base.d.ts +0 -45
  851. package/dist/types/utils/zip/compress.browser.d.ts +0 -63
  852. package/dist/types/utils/zip/compress.d.ts +0 -51
  853. package/dist/types/utils/zip/crc32.browser.d.ts +0 -52
  854. package/dist/types/utils/zip/crc32.d.ts +0 -55
  855. package/dist/types/utils/zip/index.d.ts +0 -52
  856. package/dist/types/utils/zip/streaming-zip.d.ts +0 -96
  857. package/dist/types/utils/zip/zip-builder.d.ts +0 -110
  858. package/dist/types/utils/zip-stream.browser.d.ts +0 -39
  859. package/dist/types/utils/zip-stream.d.ts +0 -33
  860. package/dist/types/xlsx/xform/base-xform.d.ts +0 -33
  861. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +0 -17
  862. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +0 -14
  863. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +0 -11
  864. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +0 -12
  865. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +0 -11
  866. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +0 -17
  867. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +0 -23
  868. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +0 -28
  869. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +0 -21
  870. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +0 -16
  871. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +0 -14
  872. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +0 -27
  873. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +0 -35
  874. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +0 -24
  875. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +0 -25
  876. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +0 -23
  877. package/dist/types/xlsx/xform/composite-xform.d.ts +0 -11
  878. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +0 -8
  879. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +0 -8
  880. package/dist/types/xlsx/xform/core/app-xform.d.ts +0 -26
  881. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +0 -11
  882. package/dist/types/xlsx/xform/core/core-xform.d.ts +0 -42
  883. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +0 -14
  884. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +0 -14
  885. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +0 -13
  886. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +0 -16
  887. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +0 -14
  888. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +0 -9
  889. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +0 -18
  890. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +0 -24
  891. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +0 -24
  892. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +0 -9
  893. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +0 -20
  894. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +0 -11
  895. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +0 -15
  896. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +0 -20
  897. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +0 -22
  898. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +0 -20
  899. package/dist/types/xlsx/xform/list-xform.d.ts +0 -32
  900. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +0 -42
  901. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +0 -60
  902. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +0 -73
  903. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +0 -119
  904. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +0 -8
  905. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +0 -17
  906. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +0 -41
  907. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +0 -8
  908. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +0 -13
  909. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +0 -9
  910. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +0 -16
  911. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +0 -13
  912. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +0 -9
  913. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +0 -9
  914. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +0 -11
  915. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +0 -10
  916. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +0 -23
  917. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +0 -13
  918. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +0 -16
  919. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +0 -13
  920. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +0 -29
  921. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +0 -9
  922. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +0 -20
  923. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +0 -9
  924. package/dist/types/xlsx/xform/sheet/col-breaks-xform.d.ts +0 -16
  925. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +0 -22
  926. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +0 -12
  927. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +0 -10
  928. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +0 -12
  929. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +0 -16
  930. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +0 -20
  931. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +0 -16
  932. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +0 -9
  933. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +0 -13
  934. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +0 -14
  935. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +0 -17
  936. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +0 -12
  937. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +0 -27
  938. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +0 -12
  939. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +0 -15
  940. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +0 -10
  941. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +0 -37
  942. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +0 -16
  943. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +0 -19
  944. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +0 -31
  945. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +0 -32
  946. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +0 -12
  947. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +0 -21
  948. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +0 -15
  949. package/dist/types/xlsx/xform/simple/date-xform.d.ts +0 -22
  950. package/dist/types/xlsx/xform/simple/float-xform.d.ts +0 -18
  951. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +0 -20
  952. package/dist/types/xlsx/xform/simple/string-xform.d.ts +0 -18
  953. package/dist/types/xlsx/xform/static-xform.d.ts +0 -17
  954. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +0 -20
  955. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +0 -25
  956. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +0 -17
  957. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +0 -27
  958. package/dist/types/xlsx/xform/strings/text-xform.d.ts +0 -10
  959. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +0 -18
  960. package/dist/types/xlsx/xform/style/border-xform.d.ts +0 -49
  961. package/dist/types/xlsx/xform/style/color-xform.d.ts +0 -17
  962. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +0 -23
  963. package/dist/types/xlsx/xform/style/fill-xform.d.ts +0 -85
  964. package/dist/types/xlsx/xform/style/font-xform.d.ts +0 -35
  965. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +0 -18
  966. package/dist/types/xlsx/xform/style/protection-xform.d.ts +0 -13
  967. package/dist/types/xlsx/xform/style/style-xform.d.ts +0 -30
  968. package/dist/types/xlsx/xform/style/styles-xform.d.ts +0 -46
  969. package/dist/types/xlsx/xform/style/underline-xform.d.ts +0 -14
  970. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +0 -21
  971. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +0 -15
  972. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +0 -24
  973. package/dist/types/xlsx/xform/table/filter-xform.d.ts +0 -14
  974. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +0 -21
  975. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +0 -18
  976. package/dist/types/xlsx/xform/table/table-xform.d.ts +0 -33
  977. package/dist/types/xlsx/xlsx.base.d.ts +0 -134
  978. package/dist/types/xlsx/xlsx.browser.d.ts +0 -31
  979. package/dist/types/xlsx/xlsx.d.ts +0 -26
  980. /package/dist/cjs/{doc → modules/excel}/enums.js +0 -0
  981. /package/dist/cjs/{types.js → modules/excel/types.js} +0 -0
  982. /package/dist/cjs/{utils → modules/excel/utils}/col-cache.js +0 -0
  983. /package/dist/cjs/{utils → modules/excel/utils}/copy-style.js +0 -0
  984. /package/dist/cjs/{utils → modules/excel/utils}/iterate-stream.js +0 -0
  985. /package/dist/cjs/{utils → modules/excel/utils}/shared-strings.js +0 -0
  986. /package/dist/cjs/{xlsx → modules/excel/xlsx}/defaultnumformats.js +0 -0
  987. /package/dist/cjs/{xlsx → modules/excel/xlsx}/rel-type.js +0 -0
  988. /package/dist/cjs/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.js +0 -0
  989. /package/dist/cjs/{xlsx → modules/excel/xlsx}/xml/theme1.js +0 -0
  990. /package/dist/esm/{utils/unzip → modules/archive}/extract.js +0 -0
  991. /package/dist/esm/{doc → modules/excel}/enums.js +0 -0
  992. /package/dist/esm/{types.js → modules/excel/types.js} +0 -0
  993. /package/dist/esm/{utils → modules/excel/utils}/cell-matrix.js +0 -0
  994. /package/dist/esm/{utils → modules/excel/utils}/col-cache.js +0 -0
  995. /package/dist/esm/{utils → modules/excel/utils}/copy-style.js +0 -0
  996. /package/dist/esm/{utils → modules/excel/utils}/iterate-stream.js +0 -0
  997. /package/dist/esm/{utils → modules/excel/utils}/shared-formula.js +0 -0
  998. /package/dist/esm/{utils → modules/excel/utils}/shared-strings.js +0 -0
  999. /package/dist/esm/{xlsx → modules/excel/xlsx}/defaultnumformats.js +0 -0
  1000. /package/dist/esm/{xlsx → modules/excel/xlsx}/rel-type.js +0 -0
  1001. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/defined-name-xform.js +0 -0
  1002. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/workbook-calc-properties-xform.js +0 -0
  1003. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/workbook-pivot-cache-xform.js +0 -0
  1004. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/workbook-properties-xform.js +0 -0
  1005. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/workbook-view-xform.js +0 -0
  1006. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/book/workbook-xform.js +0 -0
  1007. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/comment-xform.js +0 -0
  1008. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/comments-xform.js +0 -0
  1009. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/style/vml-position-xform.js +0 -0
  1010. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/style/vml-protection-xform.js +0 -0
  1011. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/vml-anchor-xform.js +0 -0
  1012. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/vml-client-data-xform.js +0 -0
  1013. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/vml-notes-xform.js +0 -0
  1014. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/vml-shape-xform.js +0 -0
  1015. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/comment/vml-textbox-xform.js +0 -0
  1016. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/composite-xform.js +0 -0
  1017. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/app-heading-pairs-xform.js +0 -0
  1018. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/app-titles-of-parts-xform.js +0 -0
  1019. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/app-xform.js +0 -0
  1020. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/core-xform.js +0 -0
  1021. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/relationship-xform.js +0 -0
  1022. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/core/relationships-xform.js +0 -0
  1023. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/base-cell-anchor-xform.js +0 -0
  1024. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/blip-fill-xform.js +0 -0
  1025. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/blip-xform.js +0 -0
  1026. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/c-nv-pic-pr-xform.js +0 -0
  1027. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/c-nv-pr-xform.js +0 -0
  1028. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/cell-position-xform.js +0 -0
  1029. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/drawing-xform.js +0 -0
  1030. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/ext-lst-xform.js +0 -0
  1031. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/ext-xform.js +0 -0
  1032. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/hlink-click-xform.js +0 -0
  1033. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/nv-pic-pr-xform.js +0 -0
  1034. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/one-cell-anchor-xform.js +0 -0
  1035. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/pic-xform.js +0 -0
  1036. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.js +0 -0
  1037. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/two-cell-anchor-xform.js +0 -0
  1038. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/list-xform.js +0 -0
  1039. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/pivot-table/pivot-cache-definition-xform.js +0 -0
  1040. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/auto-filter-xform.js +0 -0
  1041. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/cfvo-xform.js +0 -0
  1042. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/color-scale-xform.js +0 -0
  1043. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/conditional-formatting-xform.js +0 -0
  1044. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/conditional-formattings-xform.js +0 -0
  1045. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/databar-xform.js +0 -0
  1046. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/ext-lst-ref-xform.js +0 -0
  1047. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/formula-xform.js +0 -0
  1048. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf/icon-set-xform.js +0 -0
  1049. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -0
  1050. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -0
  1051. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -0
  1052. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -0
  1053. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/databar-ext-xform.js +0 -0
  1054. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/f-ext-xform.js +0 -0
  1055. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -0
  1056. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/cf-ext/sqref-ext-xform.js +0 -0
  1057. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/col-breaks-xform.js +0 -0
  1058. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/dimension-xform.js +0 -0
  1059. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/drawing-xform.js +0 -0
  1060. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/ext-lst-xform.js +0 -0
  1061. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/header-footer-xform.js +0 -0
  1062. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/hyperlink-xform.js +0 -0
  1063. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/merge-cell-xform.js +0 -0
  1064. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/outline-properties-xform.js +0 -0
  1065. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/page-breaks-xform.js +0 -0
  1066. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/page-margins-xform.js +0 -0
  1067. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/page-setup-properties-xform.js +0 -0
  1068. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/page-setup-xform.js +0 -0
  1069. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/picture-xform.js +0 -0
  1070. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/print-options-xform.js +0 -0
  1071. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/row-breaks-xform.js +0 -0
  1072. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/sheet-format-properties-xform.js +0 -0
  1073. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/sheet-properties-xform.js +0 -0
  1074. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/sheet-protection-xform.js +0 -0
  1075. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/sheet-view-xform.js +0 -0
  1076. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/sheet/table-part-xform.js +0 -0
  1077. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/simple/boolean-xform.js +0 -0
  1078. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/simple/date-xform.js +0 -0
  1079. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/simple/float-xform.js +0 -0
  1080. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/simple/integer-xform.js +0 -0
  1081. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/simple/string-xform.js +0 -0
  1082. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/strings/phonetic-text-xform.js +0 -0
  1083. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/strings/rich-text-xform.js +0 -0
  1084. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/strings/shared-string-xform.js +0 -0
  1085. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/strings/shared-strings-xform.js +0 -0
  1086. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/strings/text-xform.js +0 -0
  1087. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/color-xform.js +0 -0
  1088. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/dxf-xform.js +0 -0
  1089. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/fill-xform.js +0 -0
  1090. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/font-xform.js +0 -0
  1091. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/numfmt-xform.js +0 -0
  1092. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/protection-xform.js +0 -0
  1093. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/style-xform.js +0 -0
  1094. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/style/underline-xform.js +0 -0
  1095. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/auto-filter-xform.js +0 -0
  1096. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/custom-filter-xform.js +0 -0
  1097. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/filter-xform.js +0 -0
  1098. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/table-column-xform.js +0 -0
  1099. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/table-style-info-xform.js +0 -0
  1100. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/table/table-xform.js +0 -0
  1101. /package/dist/esm/{xlsx → modules/excel/xlsx}/xml/theme1.js +0 -0
  1102. /package/dist/types/{utils/zip → modules/archive}/deflate-fallback.d.ts +0 -0
  1103. /package/dist/types/{doc → modules/excel}/data-validations.d.ts +0 -0
  1104. /package/dist/types/{doc → modules/excel}/enums.d.ts +0 -0
  1105. /package/dist/types/{doc → modules/excel}/note.d.ts +0 -0
  1106. /package/dist/types/{stream/xlsx → modules/excel/stream}/sheet-comments-writer.d.ts +0 -0
  1107. /package/dist/types/{stream/xlsx → modules/excel/stream}/sheet-rels-writer.d.ts +0 -0
  1108. /package/dist/types/{types.d.ts → modules/excel/types.d.ts} +0 -0
  1109. /package/dist/types/{utils → modules/excel/utils}/cell-format.d.ts +0 -0
  1110. /package/dist/types/{utils → modules/excel/utils}/cell-matrix.d.ts +0 -0
  1111. /package/dist/types/{utils → modules/excel/utils}/copy-style.d.ts +0 -0
  1112. /package/dist/types/{utils → modules/excel/utils}/parse-sax.d.ts +0 -0
  1113. /package/dist/types/{utils → modules/excel/utils}/shared-formula.d.ts +0 -0
  1114. /package/dist/types/{utils → modules/excel/utils}/shared-strings.d.ts +0 -0
  1115. /package/dist/types/{utils → modules/excel/utils}/under-dash.d.ts +0 -0
  1116. /package/dist/types/{utils → modules/excel/utils}/xml-stream.d.ts +0 -0
  1117. /package/dist/types/{xlsx → modules/excel/xlsx}/defaultnumformats.d.ts +0 -0
  1118. /package/dist/types/{xlsx → modules/excel/xlsx}/rel-type.d.ts +0 -0
  1119. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.d.ts +0 -0
  1120. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/pivot-table/cache-field.d.ts +0 -0
  1121. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/sheet/merges.d.ts +0 -0
  1122. /package/dist/types/{xlsx → modules/excel/xlsx}/xml/theme1.d.ts +0 -0
@@ -0,0 +1,814 @@
1
+ // oxlint-disable no-control-regex
2
+ /**
3
+ * Excel Cell Format Parser
4
+ * A simplified implementation for formatting cell values according to Excel numFmt patterns
5
+ * Supports: General, percentages, decimals, thousands separators, dates, currencies,
6
+ * scientific notation, fractions, elapsed time, and more
7
+ */
8
+ import { excelToDate } from "../../../utils/utils.js";
9
+ // =============================================================================
10
+ // Built-in Format Table (Excel numFmtId to format string mapping)
11
+ // =============================================================================
12
+ const TABLE_FMT = {
13
+ 0: "General",
14
+ 1: "0",
15
+ 2: "0.00",
16
+ 3: "#,##0",
17
+ 4: "#,##0.00",
18
+ 9: "0%",
19
+ 10: "0.00%",
20
+ 11: "0.00E+00",
21
+ 12: "# ?/?",
22
+ 13: "# ??/??",
23
+ 14: "m/d/yy",
24
+ 15: "d-mmm-yy",
25
+ 16: "d-mmm",
26
+ 17: "mmm-yy",
27
+ 18: "h:mm AM/PM",
28
+ 19: "h:mm:ss AM/PM",
29
+ 20: "h:mm",
30
+ 21: "h:mm:ss",
31
+ 22: "m/d/yy h:mm",
32
+ 37: "#,##0 ;(#,##0)",
33
+ 38: "#,##0 ;[Red](#,##0)",
34
+ 39: "#,##0.00;(#,##0.00)",
35
+ 40: "#,##0.00;[Red](#,##0.00)",
36
+ 41: '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',
37
+ 42: '_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)',
38
+ 43: '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',
39
+ 44: '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)',
40
+ 45: "mm:ss",
41
+ 46: "[h]:mm:ss",
42
+ 47: "mmss.0",
43
+ 48: "##0.0E+0",
44
+ 49: "@"
45
+ };
46
+ /**
47
+ * Default mapping for numFmtId that should map to other formats
48
+ * Based on Excel's behavior for certain format IDs
49
+ */
50
+ const DEFAULT_MAP = {
51
+ // 5 -> 37 ... 8 -> 40
52
+ 5: 37,
53
+ 6: 38,
54
+ 7: 39,
55
+ 8: 40,
56
+ // 23-26 -> 0
57
+ 23: 0,
58
+ 24: 0,
59
+ 25: 0,
60
+ 26: 0,
61
+ // 27-31 -> 14
62
+ 27: 14,
63
+ 28: 14,
64
+ 29: 14,
65
+ 30: 14,
66
+ 31: 14,
67
+ // 50-58 -> 14
68
+ 50: 14,
69
+ 51: 14,
70
+ 52: 14,
71
+ 53: 14,
72
+ 54: 14,
73
+ 55: 14,
74
+ 56: 14,
75
+ 57: 14,
76
+ 58: 14,
77
+ // 59-62 -> 1-4
78
+ 59: 1,
79
+ 60: 2,
80
+ 61: 3,
81
+ 62: 4,
82
+ // 67-68 -> 9-10
83
+ 67: 9,
84
+ 68: 10,
85
+ // 72-75 -> 14-17
86
+ 72: 14,
87
+ 73: 15,
88
+ 74: 16,
89
+ 75: 17,
90
+ // 76-78 -> 20-22
91
+ 76: 20,
92
+ 77: 21,
93
+ 78: 22,
94
+ // 79-81 -> 45-47
95
+ 79: 45,
96
+ 80: 46,
97
+ 81: 47
98
+ };
99
+ /**
100
+ * Get format string from numFmtId
101
+ * Handles default mappings for certain format IDs
102
+ */
103
+ export function getFormat(numFmtId) {
104
+ // Direct lookup first
105
+ if (TABLE_FMT[numFmtId]) {
106
+ return TABLE_FMT[numFmtId];
107
+ }
108
+ // Check default map
109
+ if (DEFAULT_MAP[numFmtId] !== undefined) {
110
+ return TABLE_FMT[DEFAULT_MAP[numFmtId]] || "General";
111
+ }
112
+ return "General";
113
+ }
114
+ // =============================================================================
115
+ // Helper Functions
116
+ // =============================================================================
117
+ /**
118
+ * Pad number with leading zeros
119
+ */
120
+ function pad0(num, len) {
121
+ let s = Math.round(num).toString();
122
+ while (s.length < len) {
123
+ s = "0" + s;
124
+ }
125
+ return s;
126
+ }
127
+ /**
128
+ * Add thousand separators to a number string
129
+ */
130
+ function commaify(s) {
131
+ const w = 3;
132
+ if (s.length <= w) {
133
+ return s;
134
+ }
135
+ const j = s.length % w;
136
+ let o = s.substring(0, j);
137
+ for (let i = j; i < s.length; i += w) {
138
+ o += (o.length > 0 ? "," : "") + s.substring(i, i + w);
139
+ }
140
+ return o;
141
+ }
142
+ /**
143
+ * Round a number to specified decimal places
144
+ */
145
+ function roundTo(val, decimals) {
146
+ const factor = Math.pow(10, decimals);
147
+ return Math.round(val * factor) / factor;
148
+ }
149
+ /**
150
+ * Process _ (underscore) placeholder - adds space with width of next character
151
+ * Process * (asterisk) placeholder - repeats next character to fill width (simplified to single char)
152
+ */
153
+ function processPlaceholders(fmt) {
154
+ // Replace _X with a space (skip next character, add space)
155
+ let result = fmt.replace(/_./g, " ");
156
+ // Replace *X with empty string (fill character, simplified)
157
+ result = result.replace(/\*./g, "");
158
+ return result;
159
+ }
160
+ // =============================================================================
161
+ // Format Detection
162
+ // =============================================================================
163
+ /**
164
+ * Check if format is "General"
165
+ */
166
+ function isGeneral(fmt) {
167
+ return /^General$/i.test(fmt.trim());
168
+ }
169
+ /**
170
+ * Check if format is a date format
171
+ */
172
+ function isDateFormat(fmt) {
173
+ // Remove color codes and conditions
174
+ const cleaned = fmt.replace(/\[[^\]]*\]/g, "");
175
+ // Check for date/time tokens (but not if it's just a number format with brackets)
176
+ return /[ymdhs]/i.test(cleaned) && !/^[#0.,E%$\s()\-+]+$/i.test(cleaned);
177
+ }
178
+ // =============================================================================
179
+ // Date Formatting
180
+ // =============================================================================
181
+ const MONTHS_SHORT = [
182
+ "Jan",
183
+ "Feb",
184
+ "Mar",
185
+ "Apr",
186
+ "May",
187
+ "Jun",
188
+ "Jul",
189
+ "Aug",
190
+ "Sep",
191
+ "Oct",
192
+ "Nov",
193
+ "Dec"
194
+ ];
195
+ const MONTHS_LONG = [
196
+ "January",
197
+ "February",
198
+ "March",
199
+ "April",
200
+ "May",
201
+ "June",
202
+ "July",
203
+ "August",
204
+ "September",
205
+ "October",
206
+ "November",
207
+ "December"
208
+ ];
209
+ // Single letter month abbreviation (J, F, M, A, M, J, J, A, S, O, N, D)
210
+ const MONTHS_LETTER = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"];
211
+ const DAYS_SHORT = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
212
+ const DAYS_LONG = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
213
+ /**
214
+ * Format a date value using Excel date format
215
+ * @param serial Excel serial number (days since 1900-01-01)
216
+ * @param fmt Format string
217
+ */
218
+ function formatDate(serial, fmt) {
219
+ // Extract time components directly from serial number (timezone-agnostic)
220
+ const totalSeconds = Math.round(serial * 86400);
221
+ const timeOfDay = totalSeconds % 86400;
222
+ const hours = Math.floor(timeOfDay / 3600);
223
+ const minutes = Math.floor((timeOfDay % 3600) / 60);
224
+ const seconds = timeOfDay % 60;
225
+ // For date components, use excelToDate but only for date parts
226
+ const date = excelToDate(serial, false);
227
+ const year = date.getUTCFullYear();
228
+ const month = date.getUTCMonth(); // 0-indexed
229
+ const day = date.getUTCDate();
230
+ const dayOfWeek = date.getUTCDay();
231
+ // Calculate fractional seconds from serial
232
+ const fractionalSeconds = serial * 86400 - Math.floor(serial * 86400);
233
+ // Check for AM/PM
234
+ const hasAmPm = /AM\/PM|A\/P/i.test(fmt);
235
+ const isPm = hours >= 12;
236
+ // Standard 12-hour format: 0 and 12 both display as 12
237
+ const hours12 = hours % 12 || 12;
238
+ // Remove color codes like [Red], [Green], etc. but keep elapsed time brackets
239
+ let result = fmt.replace(/\[(Red|Green|Blue|Yellow|Magenta|Cyan|White|Black|Color\d+)\]/gi, "");
240
+ // Process _ and * placeholders
241
+ result = processPlaceholders(result);
242
+ // Handle fractional seconds (ss.0, ss.00, ss.000)
243
+ const fracSecMatch = result.match(/ss\.(0+)/i);
244
+ let fracSecStr = "";
245
+ if (fracSecMatch) {
246
+ const decPlaces = fracSecMatch[1].length;
247
+ const fracPart = Math.round(fractionalSeconds * Math.pow(10, decPlaces));
248
+ fracSecStr = fracPart.toString().padStart(decPlaces, "0");
249
+ result = result.replace(/ss\.0+/gi, "\x00SF\x00");
250
+ }
251
+ // Process tokens - order matters! Longer patterns first.
252
+ // Use placeholder tokens to avoid re-matching
253
+ // Important: Use unique markers that don't contain the original pattern letters
254
+ // Year
255
+ result = result.replace(/yyyy/gi, "\x00Y4\x00");
256
+ result = result.replace(/yy/gi, "\x00Y2\x00");
257
+ // Month names (before numeric month) - order matters: longer patterns first
258
+ result = result.replace(/mmmmm/gi, "\x00MN5\x00"); // Single letter month
259
+ result = result.replace(/mmmm/gi, "\x00MN4\x00");
260
+ result = result.replace(/mmm/gi, "\x00MN3\x00");
261
+ // Day names (must be before dd and d)
262
+ result = result.replace(/dddd/gi, "\x00DN4\x00");
263
+ result = result.replace(/ddd/gi, "\x00DN3\x00");
264
+ // Day numbers
265
+ result = result.replace(/dd/gi, "\x00D2\x00");
266
+ result = result.replace(/\bd\b/gi, "\x00D1\x00");
267
+ // Hours
268
+ result = result.replace(/hh/gi, "\x00H2\x00");
269
+ result = result.replace(/\bh\b/gi, "\x00H1\x00");
270
+ // Seconds (before mm to avoid confusion)
271
+ result = result.replace(/ss/gi, "\x00S2\x00");
272
+ result = result.replace(/\bs\b/gi, "\x00S1\x00");
273
+ // Minutes/Month mm - context dependent
274
+ // If near h or s, it's minutes; otherwise month
275
+ // For simplicity, check if we already have hour tokens nearby
276
+ const hasTimeContext = /\x00H[12]\x00.*mm|mm.*\x00S[12]\x00/i.test(result);
277
+ if (hasTimeContext) {
278
+ result = result.replace(/mm/gi, "\x00MI2\x00");
279
+ }
280
+ else {
281
+ result = result.replace(/mm/gi, "\x00M2\x00");
282
+ }
283
+ result = result.replace(/\bm\b/gi, "\x00M1\x00");
284
+ // AM/PM
285
+ result = result.replace(/AM\/PM/gi, "\x00AMPM\x00");
286
+ result = result.replace(/A\/P/gi, "\x00AP\x00");
287
+ // Now replace placeholders with actual values
288
+ const hourVal = hasAmPm ? hours12 : hours;
289
+ result = result
290
+ .replace(/\x00Y4\x00/g, year.toString())
291
+ .replace(/\x00Y2\x00/g, (year % 100).toString().padStart(2, "0"))
292
+ .replace(/\x00MN5\x00/g, MONTHS_LETTER[month])
293
+ .replace(/\x00MN4\x00/g, MONTHS_LONG[month])
294
+ .replace(/\x00MN3\x00/g, MONTHS_SHORT[month])
295
+ .replace(/\x00M2\x00/g, (month + 1).toString().padStart(2, "0"))
296
+ .replace(/\x00M1\x00/g, (month + 1).toString())
297
+ .replace(/\x00DN4\x00/g, DAYS_LONG[dayOfWeek])
298
+ .replace(/\x00DN3\x00/g, DAYS_SHORT[dayOfWeek])
299
+ .replace(/\x00D2\x00/g, day.toString().padStart(2, "0"))
300
+ .replace(/\x00D1\x00/g, day.toString())
301
+ .replace(/\x00H2\x00/g, hourVal.toString().padStart(2, "0"))
302
+ .replace(/\x00H1\x00/g, hourVal.toString())
303
+ .replace(/\x00MI2\x00/g, minutes.toString().padStart(2, "0"))
304
+ .replace(/\x00S2\x00/g, seconds.toString().padStart(2, "0"))
305
+ .replace(/\x00S1\x00/g, seconds.toString())
306
+ .replace(/\x00SF\x00/g, seconds.toString().padStart(2, "0") + "." + fracSecStr)
307
+ .replace(/\x00AMPM\x00/g, isPm ? "PM" : "AM")
308
+ .replace(/\x00AP\x00/g, isPm ? "P" : "A");
309
+ // Clean up escape characters
310
+ result = result.replace(/\\/g, "");
311
+ return result;
312
+ }
313
+ // =============================================================================
314
+ // Number Formatting
315
+ // =============================================================================
316
+ /**
317
+ * Format a number using "General" format
318
+ */
319
+ function formatGeneral(val) {
320
+ if (typeof val === "boolean") {
321
+ return val ? "TRUE" : "FALSE";
322
+ }
323
+ if (typeof val === "string") {
324
+ return val;
325
+ }
326
+ // Number formatting - up to 11 significant digits
327
+ if (Number.isInteger(val)) {
328
+ return val.toString();
329
+ }
330
+ // For decimals, show up to 11 significant figures
331
+ const str = val.toPrecision(11);
332
+ // Remove trailing zeros after decimal point
333
+ return str.replace(/\.?0+$/, "").replace(/\.?0+e/, "e");
334
+ }
335
+ /**
336
+ * Format a percentage value
337
+ * @param val The decimal value (e.g., 0.25 for 25%)
338
+ * @param fmt The format string containing %
339
+ */
340
+ function formatPercentage(val, fmt) {
341
+ // Count % signs
342
+ const percentCount = (fmt.match(/%/g) || []).length;
343
+ // Multiply value by 100 for each %
344
+ const scaledVal = val * Math.pow(100, percentCount);
345
+ // Remove % from format to process the number part
346
+ const numFmt = fmt.replace(/%/g, "");
347
+ // Format the number part
348
+ const numStr = formatNumberPattern(scaledVal, numFmt || "0");
349
+ // Add back the % signs
350
+ return numStr + "%".repeat(percentCount);
351
+ }
352
+ /**
353
+ * Format a number in scientific notation
354
+ * @param val The number to format
355
+ * @param fmt The format string (e.g., "0.00E+00")
356
+ */
357
+ function formatScientific(val, fmt) {
358
+ const sign = val < 0 ? "-" : "";
359
+ const absVal = Math.abs(val);
360
+ if (absVal === 0) {
361
+ // Handle zero
362
+ const decMatch = fmt.match(/\.([0#]+)E/i);
363
+ const decPlaces = decMatch ? decMatch[1].length : 2;
364
+ return "0." + "0".repeat(decPlaces) + "E+00";
365
+ }
366
+ // Find decimal places from format
367
+ const decMatch = fmt.match(/\.([0#]+)E/i);
368
+ const decPlaces = decMatch ? decMatch[1].length : 2;
369
+ // Check if format has explicit +
370
+ const hasPlus = fmt.includes("E+");
371
+ // Calculate exponent
372
+ const exp = Math.floor(Math.log10(absVal));
373
+ const mantissa = absVal / Math.pow(10, exp);
374
+ // Round mantissa to specified decimal places
375
+ const roundedMantissa = roundTo(mantissa, decPlaces);
376
+ // Format mantissa
377
+ const mantissaStr = roundedMantissa.toFixed(decPlaces);
378
+ // Format exponent
379
+ const expSign = exp >= 0 ? (hasPlus ? "+" : "") : "-";
380
+ const expStr = pad0(Math.abs(exp), 2);
381
+ return sign + mantissaStr + "E" + expSign + expStr;
382
+ }
383
+ /**
384
+ * Convert decimal to fraction using continued fraction algorithm
385
+ */
386
+ function toFraction(val, maxDenom) {
387
+ const sign = val < 0 ? -1 : 1;
388
+ let absVal = Math.abs(val);
389
+ const whole = Math.floor(absVal);
390
+ absVal -= whole;
391
+ if (absVal < 1e-10) {
392
+ return [sign * whole, 0, 1];
393
+ }
394
+ let p0 = 0, p1 = 1;
395
+ let q0 = 1, q1 = 0;
396
+ let a = Math.floor(absVal);
397
+ let p = a;
398
+ let q = 1;
399
+ while (q1 < maxDenom) {
400
+ a = Math.floor(absVal);
401
+ p = a * p1 + p0;
402
+ q = a * q1 + q0;
403
+ if (absVal - a < 1e-10) {
404
+ break;
405
+ }
406
+ absVal = 1 / (absVal - a);
407
+ p0 = p1;
408
+ p1 = p;
409
+ q0 = q1;
410
+ q1 = q;
411
+ }
412
+ if (q > maxDenom) {
413
+ q = q1;
414
+ p = p1;
415
+ }
416
+ return [sign * whole, sign * p, q];
417
+ }
418
+ /**
419
+ * Format a number as a fraction
420
+ * @param val The number to format
421
+ * @param fmt The format string (e.g., "# ?/?", "# ??/??")
422
+ */
423
+ function formatFraction(val, fmt) {
424
+ const sign = val < 0 ? "-" : "";
425
+ const absVal = Math.abs(val);
426
+ // Check for fixed denominator (e.g., "# ?/8")
427
+ const fixedDenomMatch = fmt.match(/\?+\s*\/\s*(\d+)/);
428
+ if (fixedDenomMatch) {
429
+ const denom = parseInt(fixedDenomMatch[1], 10);
430
+ const whole = Math.floor(absVal);
431
+ const frac = absVal - whole;
432
+ const numer = Math.round(frac * denom);
433
+ if (fmt.includes("#") || fmt.includes("0")) {
434
+ // Mixed fraction
435
+ if (numer === 0) {
436
+ return sign + whole.toString();
437
+ }
438
+ return sign + (whole > 0 ? whole + " " : "") + numer + "/" + denom;
439
+ }
440
+ // Simple fraction
441
+ return sign + (whole * denom + numer) + "/" + denom;
442
+ }
443
+ // Variable denominator - count ? to determine max digits
444
+ const denomMatch = fmt.match(/\/\s*(\?+)/);
445
+ const maxDigits = denomMatch ? denomMatch[1].length : 2;
446
+ const maxDenom = Math.pow(10, maxDigits) - 1;
447
+ const [whole, numer, denom] = toFraction(absVal, maxDenom);
448
+ // Format based on whether we want mixed or improper fraction
449
+ if (fmt.includes("#") && whole !== 0) {
450
+ if (numer === 0) {
451
+ return sign + Math.abs(whole).toString();
452
+ }
453
+ return sign + Math.abs(whole) + " " + Math.abs(numer) + "/" + denom;
454
+ }
455
+ if (numer === 0) {
456
+ return whole === 0 ? "0" : sign + Math.abs(whole).toString();
457
+ }
458
+ // Improper fraction
459
+ const totalNumer = Math.abs(whole) * denom + Math.abs(numer);
460
+ return sign + totalNumer + "/" + denom;
461
+ }
462
+ /**
463
+ * Format elapsed time (e.g., [h]:mm:ss for durations > 24 hours)
464
+ */
465
+ function formatElapsedTime(serial, fmt) {
466
+ // serial is in days, convert to components
467
+ const totalSeconds = Math.round(serial * 86400);
468
+ const totalMinutes = Math.floor(totalSeconds / 60);
469
+ const totalHours = Math.floor(totalMinutes / 60);
470
+ const seconds = totalSeconds % 60;
471
+ const minutes = totalMinutes % 60;
472
+ const hours = totalHours;
473
+ let result = fmt;
474
+ // Replace elapsed time tokens
475
+ if (/\[h+\]/i.test(result)) {
476
+ result = result.replace(/\[h+\]/gi, hours.toString());
477
+ }
478
+ if (/\[m+\]/i.test(result)) {
479
+ result = result.replace(/\[m+\]/gi, totalMinutes.toString());
480
+ }
481
+ if (/\[s+\]/i.test(result)) {
482
+ result = result.replace(/\[s+\]/gi, totalSeconds.toString());
483
+ }
484
+ // Replace regular time tokens
485
+ result = result.replace(/mm/gi, minutes.toString().padStart(2, "0"));
486
+ result = result.replace(/ss/gi, seconds.toString().padStart(2, "0"));
487
+ return result;
488
+ }
489
+ /**
490
+ * Format a number with the given pattern
491
+ * Handles patterns like "0", "00", "#,##0", "0-0", "000-0000" etc.
492
+ */
493
+ function formatNumberPattern(val, fmt) {
494
+ const absVal = Math.abs(val);
495
+ const sign = val < 0 ? "-" : "";
496
+ // Handle trailing commas (divide by 1000 for each)
497
+ let trailingCommas = 0;
498
+ let workFmt = fmt;
499
+ while (workFmt.endsWith(",")) {
500
+ trailingCommas++;
501
+ workFmt = workFmt.slice(0, -1);
502
+ }
503
+ const scaledVal = absVal / Math.pow(1000, trailingCommas);
504
+ // Check for decimal point
505
+ const decimalIdx = workFmt.indexOf(".");
506
+ let intFmt = workFmt;
507
+ let decFmt = "";
508
+ if (decimalIdx !== -1) {
509
+ intFmt = workFmt.substring(0, decimalIdx);
510
+ decFmt = workFmt.substring(decimalIdx + 1);
511
+ }
512
+ // Count decimal places needed
513
+ const decimalPlaces = decFmt.replace(/[^0#?]/g, "").length;
514
+ // Round the value
515
+ const roundedVal = roundTo(scaledVal, decimalPlaces);
516
+ // Split into integer and decimal parts
517
+ const [intPart, decPart = ""] = roundedVal.toString().split(".");
518
+ // Check if format has literal characters mixed with digit placeholders (like "0-0", "000-0000")
519
+ // This is used for phone numbers, SSN, etc.
520
+ const hasLiteralInFormat = /[0#?][^0#?,.\s][0#?]/.test(intFmt);
521
+ let formattedInt;
522
+ if (hasLiteralInFormat) {
523
+ // Handle pattern with literals like "0-0", "000-0000", "00-00-00"
524
+ // Count total digit placeholders
525
+ const digitPlaceholders = intFmt.replace(/[^0#?]/g, "").length;
526
+ // Pad the number to match the digit placeholder count
527
+ let digits = intPart;
528
+ if (digits.length < digitPlaceholders) {
529
+ digits = "0".repeat(digitPlaceholders - digits.length) + digits;
530
+ }
531
+ // Build result by replacing placeholders with digits
532
+ formattedInt = "";
533
+ let digitIndex = digits.length - digitPlaceholders; // start position in digits string
534
+ for (let i = 0; i < intFmt.length; i++) {
535
+ const char = intFmt[i];
536
+ if (char === "0" || char === "#" || char === "?") {
537
+ if (digitIndex < digits.length) {
538
+ formattedInt += digits[digitIndex];
539
+ digitIndex++;
540
+ }
541
+ }
542
+ else if (char !== ",") {
543
+ // Literal character (like -, /, space, etc.) - but not comma (thousand separator)
544
+ formattedInt += char;
545
+ }
546
+ }
547
+ }
548
+ else {
549
+ // Standard number formatting
550
+ formattedInt = intPart;
551
+ // Add thousand separators if format has them
552
+ if (intFmt.includes(",")) {
553
+ formattedInt = commaify(intPart);
554
+ }
555
+ // Pad integer with leading zeros if needed
556
+ const minIntDigits = (intFmt.match(/0/g) || []).length;
557
+ if (formattedInt.length < minIntDigits) {
558
+ formattedInt = "0".repeat(minIntDigits - formattedInt.length) + formattedInt;
559
+ }
560
+ }
561
+ // Format decimal part
562
+ let formattedDec = "";
563
+ if (decimalPlaces > 0) {
564
+ formattedDec = "." + (decPart + "0".repeat(decimalPlaces)).substring(0, decimalPlaces);
565
+ }
566
+ return sign + formattedInt + formattedDec;
567
+ }
568
+ // =============================================================================
569
+ // Main Format Function
570
+ // =============================================================================
571
+ /**
572
+ * Remove quoted literal text markers and return the literal characters
573
+ * Also handles backslash escape sequences
574
+ */
575
+ function processQuotedText(fmt) {
576
+ let result = "";
577
+ let i = 0;
578
+ while (i < fmt.length) {
579
+ if (fmt[i] === '"') {
580
+ // Find closing quote
581
+ i++;
582
+ while (i < fmt.length && fmt[i] !== '"') {
583
+ result += fmt[i];
584
+ i++;
585
+ }
586
+ i++; // skip closing quote
587
+ }
588
+ else if (fmt[i] === "\\" && i + 1 < fmt.length) {
589
+ // Backslash escapes the next character
590
+ i++;
591
+ result += fmt[i];
592
+ i++;
593
+ }
594
+ else {
595
+ result += fmt[i];
596
+ i++;
597
+ }
598
+ }
599
+ return result;
600
+ }
601
+ /**
602
+ * Check if a condition matches (e.g., [>100], [<=50])
603
+ */
604
+ function checkCondition(val, condition) {
605
+ const match = condition.match(/\[(=|>|<|>=|<=|<>)(-?\d+(?:\.\d*)?)\]/);
606
+ if (!match) {
607
+ return false;
608
+ }
609
+ const op = match[1];
610
+ const threshold = parseFloat(match[2]);
611
+ switch (op) {
612
+ case "=":
613
+ return val === threshold;
614
+ case ">":
615
+ return val > threshold;
616
+ case "<":
617
+ return val < threshold;
618
+ case ">=":
619
+ return val >= threshold;
620
+ case "<=":
621
+ return val <= threshold;
622
+ case "<>":
623
+ return val !== threshold;
624
+ default:
625
+ return false;
626
+ }
627
+ }
628
+ /**
629
+ * Parse format string and handle positive/negative/zero/text sections
630
+ * Excel format: positive;negative;zero;text
631
+ * Also handles conditional formats like [>100]
632
+ */
633
+ function chooseFormat(fmt, val) {
634
+ if (typeof val === "string") {
635
+ // For text, use the 4th section if available, or just return as-is
636
+ const sections = splitFormat(fmt);
637
+ if (sections.length >= 4 && sections[3]) {
638
+ // Process quoted text and replace @ with the value
639
+ const textFmt = processQuotedText(sections[3]);
640
+ return textFmt.replace(/@/g, val);
641
+ }
642
+ return val;
643
+ }
644
+ if (typeof val === "boolean") {
645
+ return val ? "TRUE" : "FALSE";
646
+ }
647
+ const sections = splitFormat(fmt);
648
+ // Check for conditional format in sections
649
+ const condRegex = /\[(=|>|<|>=|<=|<>)-?\d+(?:\.\d*)?\]/;
650
+ const hasCondition = (sections[0] && condRegex.test(sections[0])) || (sections[1] && condRegex.test(sections[1]));
651
+ if (hasCondition && sections.length >= 2) {
652
+ // Conditional format: check each section's condition
653
+ for (let i = 0; i < Math.min(sections.length, 2); i++) {
654
+ const condMatch = sections[i].match(/\[(=|>|<|>=|<=|<>)-?\d+(?:\.\d*)?\]/);
655
+ if (condMatch && checkCondition(val, condMatch[0])) {
656
+ return sections[i];
657
+ }
658
+ }
659
+ // No condition matched, use last section
660
+ return sections[sections.length > 2 ? 2 : 1];
661
+ }
662
+ if (sections.length === 1) {
663
+ return sections[0];
664
+ }
665
+ if (sections.length === 2) {
666
+ // positive/zero; negative
667
+ return val >= 0 ? sections[0] : sections[1];
668
+ }
669
+ // 3+ sections: positive; negative; zero
670
+ if (val > 0) {
671
+ return sections[0];
672
+ }
673
+ if (val < 0) {
674
+ return sections[1];
675
+ }
676
+ return sections[2] || sections[0];
677
+ }
678
+ /**
679
+ * Check if format section is for negative values (2nd section in multi-section format)
680
+ */
681
+ function isNegativeSection(fmt, selectedFmt) {
682
+ const sections = splitFormat(fmt);
683
+ return sections.length >= 2 && sections[1] === selectedFmt;
684
+ }
685
+ /**
686
+ * Split format string by semicolons, respecting quoted strings and brackets
687
+ */
688
+ function splitFormat(fmt) {
689
+ const sections = [];
690
+ let current = "";
691
+ let inQuote = false;
692
+ let inBracket = false;
693
+ for (let i = 0; i < fmt.length; i++) {
694
+ const char = fmt[i];
695
+ if (char === '"' && !inBracket) {
696
+ inQuote = !inQuote;
697
+ current += char;
698
+ }
699
+ else if (char === "[" && !inQuote) {
700
+ inBracket = true;
701
+ current += char;
702
+ }
703
+ else if (char === "]" && !inQuote) {
704
+ inBracket = false;
705
+ current += char;
706
+ }
707
+ else if (char === ";" && !inQuote && !inBracket) {
708
+ sections.push(current);
709
+ current = "";
710
+ }
711
+ else {
712
+ current += char;
713
+ }
714
+ }
715
+ sections.push(current);
716
+ return sections;
717
+ }
718
+ /**
719
+ * Main format function - formats a value according to Excel numFmt
720
+ * @param fmt The Excel number format string (e.g., "0.00%", "#,##0", "yyyy-mm-dd")
721
+ * @param val The value to format
722
+ */
723
+ export function format(fmt, val) {
724
+ // Handle null/undefined
725
+ if (val == null) {
726
+ return "";
727
+ }
728
+ // Handle General format
729
+ if (isGeneral(fmt)) {
730
+ return formatGeneral(val);
731
+ }
732
+ // Handle string values
733
+ if (typeof val === "string") {
734
+ return chooseFormat(fmt, val);
735
+ }
736
+ // Handle boolean values
737
+ if (typeof val === "boolean") {
738
+ return val ? "TRUE" : "FALSE";
739
+ }
740
+ // Now val is a number
741
+ let numVal = val;
742
+ // Choose the right format section based on value
743
+ const selectedFmt = chooseFormat(fmt, numVal);
744
+ // If negative section is selected, use absolute value (format handles display)
745
+ if (numVal < 0 && isNegativeSection(fmt, selectedFmt)) {
746
+ numVal = Math.abs(numVal);
747
+ }
748
+ // Remove color codes like [Red], [Green], [Blue], etc.
749
+ let cleanFmt = selectedFmt.replace(/\[(Red|Green|Blue|Yellow|Magenta|Cyan|White|Black|Color\d+)\]/gi, "");
750
+ // Remove condition codes like [>100], [<=50], etc.
751
+ cleanFmt = cleanFmt.replace(/\[(>|<|>=|<=|=|<>)-?\d+(\.\d+)?\]/g, "");
752
+ // Remove locale codes like [$-804], [$€-407], etc.
753
+ cleanFmt = cleanFmt.replace(/\[\$[^\]]*\]/g, "");
754
+ // Process _ and * placeholders
755
+ cleanFmt = processPlaceholders(cleanFmt);
756
+ // Process quoted text
757
+ cleanFmt = processQuotedText(cleanFmt);
758
+ // Check for elapsed time format [h]:mm:ss, [m]:ss, [s]
759
+ if (/\[[hms]+\]/i.test(cleanFmt)) {
760
+ return formatElapsedTime(numVal, cleanFmt);
761
+ }
762
+ // Check if this is a date format
763
+ if (isDateFormat(cleanFmt)) {
764
+ return formatDate(numVal, cleanFmt);
765
+ }
766
+ // Check for percentage
767
+ if (cleanFmt.includes("%")) {
768
+ return formatPercentage(numVal, cleanFmt);
769
+ }
770
+ // Check for scientific notation
771
+ if (/E[+-]?/i.test(cleanFmt)) {
772
+ return formatScientific(numVal, cleanFmt);
773
+ }
774
+ // Check for fraction format
775
+ if (/\?+\s*\/\s*[\d?]+/.test(cleanFmt)) {
776
+ return formatFraction(numVal, cleanFmt);
777
+ }
778
+ // Handle negative numbers in parentheses format
779
+ if (cleanFmt.includes("(") && cleanFmt.includes(")") && numVal < 0) {
780
+ const innerFmt = cleanFmt.replace(/\(|\)/g, "");
781
+ return "(" + formatNumberPattern(-numVal, innerFmt) + ")";
782
+ }
783
+ // Handle text placeholder @
784
+ if (cleanFmt === "@") {
785
+ return numVal.toString();
786
+ }
787
+ // Handle currency symbol and literal text prefix/suffix
788
+ let prefix = "";
789
+ let suffix = "";
790
+ // Extract currency/text prefix (includes $, ¥, €, etc. and quoted text)
791
+ const prefixMatch = cleanFmt.match(/^([^#0?.,]+)/);
792
+ if (prefixMatch) {
793
+ prefix = prefixMatch[1];
794
+ cleanFmt = cleanFmt.substring(prefixMatch[0].length);
795
+ }
796
+ // Extract suffix
797
+ const suffixMatch = cleanFmt.match(/([^#0?.,]+)$/);
798
+ if (suffixMatch && !suffixMatch[1].includes("%")) {
799
+ suffix = suffixMatch[1];
800
+ cleanFmt = cleanFmt.substring(0, cleanFmt.length - suffixMatch[0].length);
801
+ }
802
+ // Format the number
803
+ const formattedNum = formatNumberPattern(numVal, cleanFmt);
804
+ return prefix + formattedNum + suffix;
805
+ }
806
+ // =============================================================================
807
+ // Export
808
+ // =============================================================================
809
+ export const cellFormat = {
810
+ format,
811
+ getFormat,
812
+ isDateFormat,
813
+ isGeneral
814
+ };