@cj-tech-master/excelts 5.0.6 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/browser/index.browser.d.ts +1 -1
  2. package/dist/browser/index.d.ts +1 -1
  3. package/dist/browser/modules/archive/unzip/stream.base.js +19 -19
  4. package/dist/browser/modules/archive/unzip/stream.browser.js +3 -3
  5. package/dist/browser/modules/csv/csv-core.js +6 -3
  6. package/dist/browser/modules/csv/csv.browser.js +2 -2
  7. package/dist/browser/modules/csv/csv.js +1 -1
  8. package/dist/browser/modules/excel/anchor.js +4 -4
  9. package/dist/browser/modules/excel/cell.js +5 -5
  10. package/dist/browser/modules/excel/column.js +4 -4
  11. package/dist/browser/modules/excel/defined-names.js +1 -1
  12. package/dist/browser/modules/excel/form-control.js +1 -1
  13. package/dist/browser/modules/excel/pivot-table.d.ts +168 -17
  14. package/dist/browser/modules/excel/pivot-table.js +278 -70
  15. package/dist/browser/modules/excel/row.js +4 -4
  16. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +4 -4
  17. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +4 -4
  18. package/dist/browser/modules/excel/stream/worksheet-reader.js +1 -1
  19. package/dist/browser/modules/excel/stream/worksheet-writer.js +4 -4
  20. package/dist/browser/modules/excel/table.js +2 -2
  21. package/dist/browser/modules/excel/types.d.ts +0 -4
  22. package/dist/browser/modules/excel/utils/cell-format.js +3 -3
  23. package/dist/browser/modules/excel/utils/shared-formula.js +1 -1
  24. package/dist/browser/modules/excel/utils/stream-buf.js +2 -2
  25. package/dist/browser/modules/excel/utils/string-buf.js +1 -1
  26. package/dist/browser/modules/excel/workbook.d.ts +0 -2
  27. package/dist/browser/modules/excel/workbook.js +4 -5
  28. package/dist/browser/modules/excel/worksheet.js +9 -9
  29. package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
  30. package/dist/browser/modules/excel/xlsx/xform/base-xform.js +1 -1
  31. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
  32. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
  33. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
  34. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
  35. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
  36. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
  37. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
  38. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
  39. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
  40. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
  41. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
  42. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
  43. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  44. package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  45. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +1 -1
  46. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
  47. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  48. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
  49. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
  50. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
  51. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
  52. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
  53. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
  54. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
  55. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
  56. package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
  57. package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
  58. package/dist/browser/modules/excel/xlsx/xform/list-xform.js +3 -3
  59. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
  60. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
  61. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
  62. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
  63. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
  64. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
  65. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
  66. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
  67. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
  68. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
  69. package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
  70. package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
  71. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
  72. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
  73. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
  74. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
  75. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
  76. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
  77. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
  78. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
  79. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
  80. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
  81. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
  82. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
  83. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
  84. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
  85. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +1 -1
  86. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +5 -5
  87. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
  88. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
  89. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
  90. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
  91. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
  92. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
  93. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
  94. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
  95. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +88 -54
  96. package/dist/browser/utils/env.d.ts +0 -5
  97. package/dist/browser/utils/env.js +0 -7
  98. package/dist/browser/utils/utils.base.d.ts +8 -13
  99. package/dist/browser/utils/utils.base.js +40 -47
  100. package/dist/browser/utils/utils.browser.d.ts +1 -1
  101. package/dist/browser/utils/utils.browser.js +1 -1
  102. package/dist/browser/utils/utils.d.ts +1 -1
  103. package/dist/browser/utils/utils.js +1 -1
  104. package/dist/cjs/modules/archive/unzip/stream.base.js +19 -19
  105. package/dist/cjs/modules/archive/unzip/stream.browser.js +3 -3
  106. package/dist/cjs/modules/csv/csv-core.js +6 -3
  107. package/dist/cjs/modules/csv/csv.browser.js +2 -2
  108. package/dist/cjs/modules/csv/csv.js +1 -1
  109. package/dist/cjs/modules/excel/anchor.js +4 -4
  110. package/dist/cjs/modules/excel/cell.js +5 -5
  111. package/dist/cjs/modules/excel/column.js +4 -4
  112. package/dist/cjs/modules/excel/defined-names.js +1 -1
  113. package/dist/cjs/modules/excel/form-control.js +1 -1
  114. package/dist/cjs/modules/excel/pivot-table.js +280 -70
  115. package/dist/cjs/modules/excel/row.js +4 -4
  116. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +4 -4
  117. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +4 -4
  118. package/dist/cjs/modules/excel/stream/worksheet-reader.js +1 -1
  119. package/dist/cjs/modules/excel/stream/worksheet-writer.js +4 -4
  120. package/dist/cjs/modules/excel/table.js +2 -2
  121. package/dist/cjs/modules/excel/utils/cell-format.js +3 -3
  122. package/dist/cjs/modules/excel/utils/shared-formula.js +1 -1
  123. package/dist/cjs/modules/excel/utils/stream-buf.js +2 -2
  124. package/dist/cjs/modules/excel/utils/string-buf.js +1 -1
  125. package/dist/cjs/modules/excel/workbook.js +4 -5
  126. package/dist/cjs/modules/excel/worksheet.js +9 -9
  127. package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +1 -1
  128. package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
  129. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
  130. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
  131. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
  132. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
  133. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
  134. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  135. package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +1 -1
  136. package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
  137. package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  138. package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
  139. package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
  140. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
  141. package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +3 -3
  142. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +133 -51
  143. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field.js +245 -71
  144. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +212 -36
  145. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +142 -40
  146. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
  147. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +153 -0
  148. package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
  149. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
  150. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
  151. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
  152. package/dist/cjs/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
  153. package/dist/cjs/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
  154. package/dist/cjs/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
  155. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
  156. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
  157. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
  158. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
  159. package/dist/cjs/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
  160. package/dist/cjs/modules/excel/xlsx/xform/style/color-xform.js +1 -1
  161. package/dist/cjs/modules/excel/xlsx/xform/style/style-xform.js +5 -5
  162. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +88 -54
  163. package/dist/cjs/utils/env.js +0 -8
  164. package/dist/cjs/utils/utils.base.js +41 -54
  165. package/dist/cjs/utils/utils.browser.js +2 -7
  166. package/dist/cjs/utils/utils.js +2 -7
  167. package/dist/esm/modules/archive/unzip/stream.base.js +19 -19
  168. package/dist/esm/modules/archive/unzip/stream.browser.js +3 -3
  169. package/dist/esm/modules/csv/csv-core.js +6 -3
  170. package/dist/esm/modules/csv/csv.browser.js +2 -2
  171. package/dist/esm/modules/csv/csv.js +1 -1
  172. package/dist/esm/modules/excel/anchor.js +4 -4
  173. package/dist/esm/modules/excel/cell.js +5 -5
  174. package/dist/esm/modules/excel/column.js +4 -4
  175. package/dist/esm/modules/excel/defined-names.js +1 -1
  176. package/dist/esm/modules/excel/form-control.js +1 -1
  177. package/dist/esm/modules/excel/pivot-table.js +278 -70
  178. package/dist/esm/modules/excel/row.js +4 -4
  179. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +4 -4
  180. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +4 -4
  181. package/dist/esm/modules/excel/stream/worksheet-reader.js +1 -1
  182. package/dist/esm/modules/excel/stream/worksheet-writer.js +4 -4
  183. package/dist/esm/modules/excel/table.js +2 -2
  184. package/dist/esm/modules/excel/utils/cell-format.js +3 -3
  185. package/dist/esm/modules/excel/utils/shared-formula.js +1 -1
  186. package/dist/esm/modules/excel/utils/stream-buf.js +2 -2
  187. package/dist/esm/modules/excel/utils/string-buf.js +1 -1
  188. package/dist/esm/modules/excel/workbook.js +4 -5
  189. package/dist/esm/modules/excel/worksheet.js +9 -9
  190. package/dist/esm/modules/excel/xlsx/xform/base-xform.js +1 -1
  191. package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
  192. package/dist/esm/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
  193. package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
  194. package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
  195. package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
  196. package/dist/esm/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
  197. package/dist/esm/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  198. package/dist/esm/modules/excel/xlsx/xform/core/app-xform.js +1 -1
  199. package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
  200. package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  201. package/dist/esm/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
  202. package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
  203. package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
  204. package/dist/esm/modules/excel/xlsx/xform/list-xform.js +3 -3
  205. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
  206. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
  207. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
  208. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
  209. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
  210. package/dist/esm/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
  211. package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
  212. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
  213. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
  214. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
  215. package/dist/esm/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
  216. package/dist/esm/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
  217. package/dist/esm/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
  218. package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
  219. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
  220. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
  221. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
  222. package/dist/esm/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
  223. package/dist/esm/modules/excel/xlsx/xform/style/color-xform.js +1 -1
  224. package/dist/esm/modules/excel/xlsx/xform/style/style-xform.js +5 -5
  225. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +88 -54
  226. package/dist/esm/utils/env.js +0 -7
  227. package/dist/esm/utils/utils.base.js +40 -47
  228. package/dist/esm/utils/utils.browser.js +1 -1
  229. package/dist/esm/utils/utils.js +1 -1
  230. package/dist/iife/excelts.iife.js +1553 -718
  231. package/dist/iife/excelts.iife.js.map +1 -1
  232. package/dist/iife/excelts.iife.min.js +36 -105
  233. package/dist/types/index.browser.d.ts +1 -1
  234. package/dist/types/index.d.ts +1 -1
  235. package/dist/types/modules/excel/pivot-table.d.ts +168 -17
  236. package/dist/types/modules/excel/types.d.ts +0 -4
  237. package/dist/types/modules/excel/workbook.d.ts +0 -2
  238. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
  239. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
  240. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
  241. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
  242. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
  243. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
  244. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
  245. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  246. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
  247. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
  248. package/dist/types/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
  249. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
  250. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
  251. package/dist/types/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
  252. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
  253. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
  254. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
  255. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
  256. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
  257. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
  258. package/dist/types/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
  259. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
  260. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
  261. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
  262. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
  263. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
  264. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
  265. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
  266. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
  267. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
  268. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
  269. package/dist/types/utils/env.d.ts +0 -5
  270. package/dist/types/utils/utils.base.d.ts +8 -13
  271. package/dist/types/utils/utils.browser.d.ts +1 -1
  272. package/dist/types/utils/utils.d.ts +1 -1
  273. package/package.json +1 -1
@@ -1,46 +1,30 @@
1
1
  import { BaseXform } from "../base-xform.js";
2
- import { type CacheFieldModel } from "./cache-field-xform.js";
3
- import type { PivotTableSource } from "../../../pivot-table.js";
4
- /**
5
- * Model for parsed pivot cache definition
6
- */
7
- interface ParsedCacheDefinitionModel {
8
- sourceRef?: string;
9
- sourceSheet?: string;
10
- sourceTableName?: string;
11
- cacheFields: CacheFieldModel[];
12
- recordCount?: number;
13
- rId?: string;
14
- refreshOnLoad?: string;
15
- createdVersion?: string;
16
- refreshedVersion?: string;
17
- minRefreshableVersion?: string;
18
- isLoaded?: boolean;
19
- }
2
+ import type { CacheField as CacheFieldType, ParsedCacheDefinition, PivotTableSource } from "../../../pivot-table.js";
3
+ import { XmlStream } from "../../../utils/xml-stream.js";
20
4
  /**
21
5
  * Model for generating pivot cache definition (with live source)
22
6
  */
23
7
  interface CacheDefinitionModel {
24
8
  source: PivotTableSource;
25
- cacheFields: any[];
9
+ cacheFields: CacheFieldType[];
26
10
  }
27
- declare class PivotCacheDefinitionXform extends BaseXform {
28
- map: {
29
- [key: string]: any;
30
- };
31
- model: ParsedCacheDefinitionModel | null;
11
+ declare class PivotCacheDefinitionXform extends BaseXform<ParsedCacheDefinition | null> {
32
12
  private currentCacheField;
33
13
  private inCacheFields;
34
14
  private inCacheSource;
15
+ private extLstCollector;
16
+ private unknownCollector;
17
+ private unknownElementsXmlParts;
18
+ private cacheSourceChildCollector;
19
+ private cacheSourceXmlParts;
35
20
  constructor();
36
- prepare(_model: any): void;
37
21
  get tag(): string;
38
22
  reset(): void;
39
23
  /**
40
24
  * Render pivot cache definition XML.
41
25
  * Supports both newly created models (with PivotTableSource) and loaded models.
42
26
  */
43
- render(xmlStream: any, model: CacheDefinitionModel | ParsedCacheDefinitionModel): void;
27
+ render(xmlStream: XmlStream, model: CacheDefinitionModel | ParsedCacheDefinition): void;
44
28
  /**
45
29
  * Render newly created pivot cache definition
46
30
  */
@@ -52,10 +36,10 @@ declare class PivotCacheDefinitionXform extends BaseXform {
52
36
  parseOpen(node: any): boolean;
53
37
  parseText(text: string): void;
54
38
  parseClose(name: string): boolean;
55
- reconcile(_model: any, _options: any): void;
56
- static PIVOT_CACHE_DEFINITION_ATTRIBUTES: {
39
+ static renderCacheFieldsXml(cacheFields: CacheFieldType[]): string;
40
+ static readonly PIVOT_CACHE_DEFINITION_ATTRIBUTES: {
57
41
  xmlns: string;
58
42
  "xmlns:r": string;
59
43
  };
60
44
  }
61
- export { PivotCacheDefinitionXform, type ParsedCacheDefinitionModel };
45
+ export { PivotCacheDefinitionXform };
@@ -1,49 +1,23 @@
1
+ import { XmlStream } from "../../../utils/xml-stream.js";
1
2
  import { BaseXform } from "../base-xform.js";
2
- import type { PivotTableSource } from "../../../pivot-table.js";
3
+ import type { PivotTableSource, ParsedCacheRecords, CacheField } from "../../../pivot-table.js";
3
4
  /**
4
5
  * Model for generating pivot cache records (with live source)
5
6
  */
6
7
  interface CacheRecordsModel {
7
8
  source: PivotTableSource;
8
- cacheFields: any[];
9
+ cacheFields: CacheField[];
9
10
  }
10
- /**
11
- * Parsed record value - can be:
12
- * - { type: 'x', value: number } - Shared item index
13
- * - { type: 'n', value: number } - Numeric value
14
- * - { type: 's', value: string } - String value
15
- * - { type: 'b', value: boolean } - Boolean value
16
- * - { type: 'm' } - Missing/null value
17
- * - { type: 'd', value: Date } - Date value
18
- * - { type: 'e', value: string } - Error value
19
- */
20
- interface RecordValue {
21
- type: "x" | "n" | "s" | "b" | "m" | "d" | "e";
22
- value?: any;
23
- }
24
- /**
25
- * Parsed cache records model
26
- */
27
- interface ParsedCacheRecordsModel {
28
- records: RecordValue[][];
29
- count: number;
30
- isLoaded?: boolean;
31
- }
32
- declare class PivotCacheRecordsXform extends BaseXform {
33
- map: {
34
- [key: string]: any;
35
- };
36
- model: ParsedCacheRecordsModel | null;
11
+ declare class PivotCacheRecordsXform extends BaseXform<ParsedCacheRecords | null> {
37
12
  private currentRecord;
38
13
  constructor();
39
- prepare(_model: any): void;
40
14
  get tag(): string;
41
15
  reset(): void;
42
16
  /**
43
17
  * Render pivot cache records XML.
44
18
  * Supports both newly created models (with PivotTableSource) and loaded models.
45
19
  */
46
- render(xmlStream: any, model: CacheRecordsModel | ParsedCacheRecordsModel): void;
20
+ render(xmlStream: XmlStream, model: CacheRecordsModel | ParsedCacheRecords): void;
47
21
  /**
48
22
  * Render newly created pivot cache records
49
23
  */
@@ -61,8 +35,7 @@ declare class PivotCacheRecordsXform extends BaseXform {
61
35
  parseOpen(node: any): boolean;
62
36
  parseText(_text: string): void;
63
37
  parseClose(name: string): boolean;
64
- reconcile(_model: any, _options: any): void;
65
- static PIVOT_CACHE_RECORDS_ATTRIBUTES: {
38
+ static readonly PIVOT_CACHE_RECORDS_ATTRIBUTES: {
66
39
  xmlns: string;
67
40
  "xmlns:r": string;
68
41
  "xmlns:mc": string;
@@ -70,4 +43,4 @@ declare class PivotCacheRecordsXform extends BaseXform {
70
43
  "xmlns:xr": string;
71
44
  };
72
45
  }
73
- export { PivotCacheRecordsXform, type ParsedCacheRecordsModel };
46
+ export { PivotCacheRecordsXform };
@@ -1,37 +1,72 @@
1
+ import { XmlStream } from "../../../utils/xml-stream.js";
1
2
  import { BaseXform } from "../base-xform.js";
3
+ import type { CacheField, DataField, PivotTableSubtotal } from "../../../pivot-table.js";
2
4
  /**
3
5
  * Model for generating pivot table (with live source)
4
6
  */
5
- interface PivotTableModel {
7
+ interface PivotTableRenderModel {
6
8
  rows: number[];
7
9
  columns: number[];
8
10
  values: number[];
9
- metric: "sum" | "count";
10
- cacheFields: any[];
11
- cacheId: number;
11
+ pages?: number[];
12
+ metric: PivotTableSubtotal;
13
+ /** Per-value metric overrides (parallel to `values` array). Falls back to `metric`. */
14
+ valueMetrics: PivotTableSubtotal[];
15
+ cacheFields: CacheField[];
16
+ cacheId: string | number;
17
+ tableNumber: number;
12
18
  applyWidthHeightFormats: "0" | "1";
13
19
  }
20
+ /**
21
+ * A single <item> element inside a pivotField's <items> collection.
22
+ * Items can reference a shared item index (x attribute) or indicate a subtotal type (t attribute).
23
+ */
24
+ interface PivotFieldItem {
25
+ /** Shared item index (maps to cacheField sharedItems) */
26
+ x?: number;
27
+ /** Item type: "default" for subtotals, "sum", "count", "avg", "max", "min", "grand", etc. */
28
+ t?: string;
29
+ /** Hidden flag — "1" means item is filtered out */
30
+ h?: string;
31
+ /** Show details (hide details when "0") */
32
+ sd?: string;
33
+ /** Calculated item flag */
34
+ f?: string;
35
+ /** Missing flag */
36
+ m?: string;
37
+ /** Child items flag */
38
+ c?: string;
39
+ /** Drill across flag */
40
+ d?: string;
41
+ }
14
42
  /**
15
43
  * Parsed pivot field
16
44
  */
17
45
  interface ParsedPivotField {
18
46
  axis?: "axisRow" | "axisCol" | "axisPage" | "axisValues";
19
47
  dataField?: boolean;
20
- items?: number[];
48
+ items?: PivotFieldItem[];
21
49
  compact?: boolean;
22
50
  outline?: boolean;
23
51
  showAll?: boolean;
24
52
  defaultSubtotal?: boolean;
53
+ numFmtId?: number;
54
+ sortType?: string;
55
+ autoSortScopeXml?: string;
56
+ subtotalTop?: boolean;
57
+ insertBlankRow?: boolean;
58
+ multipleItemSelectionAllowed?: boolean;
59
+ /** Bag of additional attributes not individually modeled (for roundtrip preservation) */
60
+ extraAttrs?: Record<string, string>;
25
61
  }
26
62
  /**
27
- * Parsed data field
63
+ * Parsed page field (report filter)
28
64
  */
29
- interface ParsedDataField {
30
- name: string;
65
+ interface ParsedPageField {
31
66
  fld: number;
32
- baseField?: number;
33
- baseItem?: number;
34
- subtotal?: "sum" | "count" | "average" | "max" | "min" | "product" | "countNums" | "stdDev" | "stdDevP" | "var" | "varP";
67
+ item?: number;
68
+ hier?: number;
69
+ name?: string;
35
70
  }
36
71
  /**
37
72
  * Parsed pivot table model (loaded from file)
@@ -45,11 +80,14 @@ interface ParsedPivotTableModel {
45
80
  firstHeaderRow?: number;
46
81
  firstDataRow?: number;
47
82
  firstDataCol?: number;
83
+ rowPageCount?: number;
84
+ colPageCount?: number;
48
85
  };
49
86
  pivotFields: ParsedPivotField[];
50
87
  rowFields: number[];
51
88
  colFields: number[];
52
- dataFields: ParsedDataField[];
89
+ pageFields: ParsedPageField[];
90
+ dataFields: DataField[];
53
91
  applyNumberFormats?: string;
54
92
  applyBorderFormats?: string;
55
93
  applyFontFormats?: string;
@@ -58,30 +96,54 @@ interface ParsedPivotTableModel {
58
96
  applyWidthHeightFormats?: string;
59
97
  dataCaption?: string;
60
98
  styleName?: string;
99
+ /** Full pivotTableStyleInfo attributes (preserved on roundtrip) */
100
+ styleInfo?: {
101
+ name?: string;
102
+ showRowHeaders?: string;
103
+ showColHeaders?: string;
104
+ showRowStripes?: string;
105
+ showColStripes?: string;
106
+ showLastColumn?: string;
107
+ };
61
108
  updatedVersion?: string;
62
109
  minRefreshableVersion?: string;
63
110
  createdVersion?: string;
64
- useAutoFormatting?: boolean;
65
- itemPrintTitles?: boolean;
111
+ useAutoFormatting?: string;
112
+ itemPrintTitles?: string;
66
113
  indent?: number;
67
114
  compact?: boolean;
68
115
  compactData?: boolean;
69
- multipleFieldFilters?: boolean;
116
+ multipleFieldFilters?: string;
70
117
  outline?: boolean;
71
118
  outlineData?: boolean;
72
119
  chartFormat?: number;
120
+ colGrandTotals?: string;
121
+ rowGrandTotals?: string;
122
+ showError?: string;
123
+ errorCaption?: string;
124
+ showMissing?: string;
125
+ missingCaption?: string;
126
+ grandTotalCaption?: string;
73
127
  rowItems?: RowColItem[];
74
128
  colItems?: RowColItem[];
75
129
  hasColFields?: boolean;
130
+ hasRowItems?: boolean;
131
+ hasColItems?: boolean;
76
132
  chartFormats?: ChartFormatItem[];
133
+ extLstXml?: string;
134
+ formatsXml?: string;
135
+ conditionalFormatsXml?: string;
136
+ filtersXml?: string;
137
+ unknownElementsXml?: string;
77
138
  isLoaded?: boolean;
78
- extensions?: any[];
79
139
  }
80
140
  /**
81
141
  * Row or column item in pivot table
82
142
  */
83
143
  interface RowColItem {
84
144
  t?: string;
145
+ r?: number;
146
+ i?: number;
85
147
  x: Array<{
86
148
  v: number;
87
149
  }>;
@@ -95,27 +157,28 @@ interface ChartFormatItem {
95
157
  series?: boolean;
96
158
  pivotAreaXml?: string;
97
159
  }
98
- declare class PivotTableXform extends BaseXform {
99
- map: {
100
- [key: string]: any;
101
- };
102
- model: ParsedPivotTableModel | null;
160
+ declare class PivotTableXform extends BaseXform<ParsedPivotTableModel | null> {
103
161
  private state;
104
162
  private currentPivotField;
105
163
  private currentRowItem;
106
164
  private currentColItem;
107
165
  private currentChartFormat;
108
166
  private pivotAreaXmlBuffer;
109
- private pivotAreaDepth;
167
+ private autoSortScopeXmlBuffer;
168
+ private extLstCollector;
169
+ private formatsCollector;
170
+ private conditionalFormatsCollector;
171
+ private filtersCollector;
172
+ private unknownCollector;
173
+ private unknownElementsXmlParts;
110
174
  constructor();
111
- prepare(_model: any): void;
112
175
  get tag(): string;
113
176
  reset(): void;
114
177
  /**
115
178
  * Render pivot table XML.
116
179
  * Supports both newly created models and loaded models.
117
180
  */
118
- render(xmlStream: any, model: PivotTableModel | ParsedPivotTableModel): void;
181
+ render(xmlStream: XmlStream, model: PivotTableRenderModel | ParsedPivotTableModel): void;
119
182
  /**
120
183
  * Render newly created pivot table
121
184
  */
@@ -124,6 +187,15 @@ declare class PivotTableXform extends BaseXform {
124
187
  * Render loaded pivot table (preserving original structure)
125
188
  */
126
189
  private renderLoaded;
190
+ /**
191
+ * Build the root `<pivotTableDefinition>` attributes for a loaded (roundtrip) model.
192
+ * Extracted from renderLoaded to keep the render method focused on element structure.
193
+ */
194
+ private buildLoadedRootAttributes;
195
+ /**
196
+ * Render `<chartFormats>` with preserved pivotArea XML for pivot chart roundtrip.
197
+ */
198
+ private renderChartFormats;
127
199
  /**
128
200
  * Render a row or column item element
129
201
  */
@@ -133,11 +205,13 @@ declare class PivotTableXform extends BaseXform {
133
205
  */
134
206
  private renderPivotFieldLoaded;
135
207
  parseOpen(node: any): boolean;
136
- parseText(_text: string): void;
208
+ parseText(text: string): void;
209
+ /** Feed a close-tag to a collector; if it completes, store the result on the model. */
210
+ private tryCloseCollector;
137
211
  parseClose(name: string): boolean;
138
- reconcile(_model: any, _options: any): void;
139
- static PIVOT_TABLE_ATTRIBUTES: {
212
+ static readonly PIVOT_TABLE_ATTRIBUTES: {
140
213
  xmlns: string;
141
214
  };
215
+ static readonly EXTLST_XML: string;
142
216
  }
143
217
  export { PivotTableXform, type ParsedPivotTableModel };
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Reusable utility for collecting raw XML fragments during SAX parsing.
3
+ *
4
+ * Many pivot-table xforms need to capture entire sub-trees (extLst, formats,
5
+ * conditionalFormats, filters, fieldGroup, unknown elements, …) as raw strings
6
+ * for roundtrip preservation. The pattern — `active` flag, `depth` counter,
7
+ * `buffer` of string fragments, plus identical `feedOpen` / `feedClose` /
8
+ * `feedText` logic — was previously copy-pasted across multiple files.
9
+ *
10
+ * Usage:
11
+ * ```ts
12
+ * const collector = new RawXmlCollector("extLst");
13
+ * // In parseOpen, when you see <extLst>:
14
+ * collector.start(); // opens with <extLst>
15
+ * // For every child open tag while active:
16
+ * collector.feedOpen(name, attributes);
17
+ * // For every text node while active:
18
+ * collector.feedText(text);
19
+ * // For every close tag while active:
20
+ * if (collector.feedClose(name)) { ... } // returns true when root tag closed
21
+ * // Retrieve result:
22
+ * collector.result; // joined XML string
23
+ * ```
24
+ */
25
+ declare class RawXmlCollector {
26
+ /** Tag name that this collector captures (e.g. "extLst", "formats"). */
27
+ rootTag: string;
28
+ /** Whether the collector is currently capturing. */
29
+ active: boolean;
30
+ /** Nesting depth *within* the root element (0 = direct children). */
31
+ private depth;
32
+ /** String fragments being accumulated. */
33
+ private buffer;
34
+ /** Index of the last open-tag entry in the buffer (for self-closing collapse). */
35
+ private lastOpenIndex;
36
+ constructor(rootTag: string);
37
+ /**
38
+ * Begin collecting. Pushes the opening root tag (with optional attributes)
39
+ * and resets depth.
40
+ *
41
+ * @param attributes - Attributes on the root element (may be undefined/null).
42
+ */
43
+ start(attributes?: Record<string, unknown> | null): void;
44
+ /**
45
+ * Begin collecting with a dynamically determined root tag.
46
+ * Used for catch-all unknown element collectors where the tag name
47
+ * is not known at construction time.
48
+ */
49
+ startAs(rootTag: string, attributes?: Record<string, unknown> | null): void;
50
+ /**
51
+ * Reset the collector to its initial idle state.
52
+ */
53
+ reset(): void;
54
+ /**
55
+ * Feed an open-tag event. Must only be called while `active` is true.
56
+ */
57
+ feedOpen(name: string, attributes?: Record<string, unknown> | null): void;
58
+ /**
59
+ * Feed a text-node event. Must only be called while `active` is true.
60
+ */
61
+ feedText(text: string): void;
62
+ /**
63
+ * Feed a close-tag event.
64
+ *
65
+ * @returns `true` when the **root** close tag has been received (collector
66
+ * deactivates itself and the result is ready). `false` for any
67
+ * nested close tag.
68
+ */
69
+ feedClose(name: string): boolean;
70
+ /** The collected XML string. Only meaningful after `feedClose` returns true. */
71
+ get result(): string;
72
+ }
73
+ /**
74
+ * Serialize an attributes object to an XML attribute string.
75
+ * `null`, `undefined`, and empty objects produce an empty string.
76
+ */
77
+ declare function serializeAttributes(attributes?: Record<string, unknown> | null): string;
78
+ export { RawXmlCollector, serializeAttributes };
@@ -16,12 +16,11 @@ interface RowModel {
16
16
  style?: any;
17
17
  dyDescent?: number;
18
18
  }
19
- declare class RowXform extends BaseXform {
19
+ declare class RowXform extends BaseXform<RowModel> {
20
20
  private maxItems?;
21
21
  map: {
22
22
  [key: string]: any;
23
23
  };
24
- model: RowModel;
25
24
  parser: any;
26
25
  private numRowsSeen;
27
26
  private lastCellCol;
@@ -16,8 +16,7 @@ interface SheetViewModel {
16
16
  activePane?: string;
17
17
  activeCell?: string;
18
18
  }
19
- declare class SheetViewXform extends BaseXform {
20
- model: SheetViewModel;
19
+ declare class SheetViewXform extends BaseXform<SheetViewModel> {
21
20
  private sheetView;
22
21
  private pane;
23
22
  private selections;
@@ -4,12 +4,11 @@ interface AutoFilterModel {
4
4
  autoFilterRef: string;
5
5
  columns: any[];
6
6
  }
7
- declare class AutoFilterXform extends BaseXform {
7
+ declare class AutoFilterXform extends BaseXform<AutoFilterModel> {
8
8
  map: {
9
9
  [key: string]: FilterColumnXform;
10
10
  };
11
11
  parser: any;
12
- model: AutoFilterModel;
13
12
  constructor();
14
13
  get tag(): string;
15
14
  prepare(model: any): void;
@@ -3,8 +3,7 @@ interface CustomFilterModel {
3
3
  val: string;
4
4
  operator?: string;
5
5
  }
6
- declare class CustomFilterXform extends BaseXform {
7
- model: CustomFilterModel;
6
+ declare class CustomFilterXform extends BaseXform<CustomFilterModel> {
8
7
  constructor();
9
8
  get tag(): string;
10
9
  render(xmlStream: any, model: CustomFilterModel): void;
@@ -5,12 +5,11 @@ interface FilterColumnModel {
5
5
  filterButton: boolean;
6
6
  customFilters?: any[];
7
7
  }
8
- declare class FilterColumnXform extends BaseXform {
8
+ declare class FilterColumnXform extends BaseXform<FilterColumnModel> {
9
9
  map: {
10
10
  [key: string]: ListXform;
11
11
  };
12
12
  parser: any;
13
- model: FilterColumnModel;
14
13
  constructor();
15
14
  get tag(): string;
16
15
  prepare(model: FilterColumnModel, options: {
@@ -2,8 +2,7 @@ import { BaseXform } from "../base-xform.js";
2
2
  interface FilterModel {
3
3
  val: string;
4
4
  }
5
- declare class FilterXform extends BaseXform {
6
- model: FilterModel;
5
+ declare class FilterXform extends BaseXform<FilterModel> {
7
6
  constructor();
8
7
  get tag(): string;
9
8
  render(xmlStream: any, model: FilterModel): void;
@@ -6,8 +6,7 @@ interface TableColumnModel {
6
6
  totalsRowFunction?: string;
7
7
  dxfId?: string;
8
8
  }
9
- declare class TableColumnXform extends BaseXform {
10
- model: TableColumnModel;
9
+ declare class TableColumnXform extends BaseXform<TableColumnModel> {
11
10
  constructor();
12
11
  get tag(): string;
13
12
  prepare(model: TableColumnModel, options: {
@@ -6,8 +6,7 @@ interface TableStyleModel {
6
6
  showRowStripes: boolean;
7
7
  showColumnStripes: boolean;
8
8
  }
9
- declare class TableStyleInfoXform extends BaseXform {
10
- model: TableStyleModel;
9
+ declare class TableStyleInfoXform extends BaseXform<TableStyleModel> {
11
10
  constructor();
12
11
  get tag(): string;
13
12
  render(xmlStream: any, model: TableStyleModel): void;
@@ -12,12 +12,11 @@ interface TableModel {
12
12
  autoFilterRef?: string;
13
13
  style?: any;
14
14
  }
15
- declare class TableXform extends BaseXform {
15
+ declare class TableXform extends BaseXform<TableModel> {
16
16
  map: {
17
17
  [key: string]: any;
18
18
  };
19
19
  parser: any;
20
- model: TableModel;
21
20
  constructor();
22
21
  prepare(model: TableModel, options: any): void;
23
22
  get tag(): string;
@@ -8,6 +8,7 @@
8
8
  * - prepareModel: Prepare model for writing
9
9
  * - loadFromFiles: Load from pre-extracted ZIP data
10
10
  */
11
+ import type { PivotTableSubtotal } from "../pivot-table.js";
11
12
  import { type IEventEmitter } from "../../stream/index.js";
12
13
  import type { Workbook } from "../workbook.js";
13
14
  import type { ZipTimestampMode } from "../../archive/utils/timestamps.js";
@@ -195,7 +196,10 @@ declare class XLSX {
195
196
  protected _buildDefinitionToCacheIdMap(model: any): Map<string, number>;
196
197
  protected _determineMetric(dataFields: Array<{
197
198
  subtotal?: string;
198
- }>): "sum" | "count";
199
+ }>): PivotTableSubtotal;
200
+ protected _determineValueMetrics(dataFields: Array<{
201
+ subtotal?: string;
202
+ }>, defaultMetric: PivotTableSubtotal): PivotTableSubtotal[];
199
203
  _processWorksheetEntry(stream: IParseStream, model: any, sheetNo: number, options: XlsxOptions | undefined, path: string): Promise<void>;
200
204
  _processCommentEntry(stream: IParseStream, model: any, name: string): Promise<void>;
201
205
  _processTableEntry(stream: IParseStream, model: any, name: string): Promise<void>;
@@ -216,7 +220,6 @@ declare class XLSX {
216
220
  _processPivotTableEntry(stream: IParseStream, model: any, name: string): Promise<void>;
217
221
  _processPivotTableRelsEntry(stream: IParseStream, model: any, name: string): Promise<void>;
218
222
  _processPivotCacheDefinitionEntry(stream: IParseStream, model: any, name: string): Promise<void>;
219
- _processPivotCacheDefinitionRelsEntry(stream: IParseStream, model: any, name: string): Promise<void>;
220
223
  _processPivotCacheRecordsEntry(stream: IParseStream, model: any, name: string): Promise<void>;
221
224
  loadFromFiles(zipData: Record<string, Uint8Array>, options?: any): Promise<any>;
222
225
  /**
@@ -7,8 +7,3 @@
7
7
  * Returns true if process.versions.node exists
8
8
  */
9
9
  export declare function isNode(): boolean;
10
- /**
11
- * Check if running in browser environment
12
- * Returns true if window and document are defined
13
- */
14
- export declare function isBrowser(): boolean;
@@ -9,17 +9,14 @@
9
9
  */
10
10
  export declare function base64ToUint8Array(base64: string): Uint8Array;
11
11
  export declare function delay(ms: number): Promise<void>;
12
- export declare function nop(): void;
13
- export declare const inherits: <T extends new (...args: any[]) => any, S extends new (...args: any[]) => any>(cls: T, superCtor: S, statics?: any, prototype?: any) => void;
14
12
  export declare function dateToExcel(d: Date, date1904?: boolean): number;
15
13
  export declare function excelToDate(v: number, date1904?: boolean): Date;
16
- export declare function toIsoDateString(dt: Date): string;
17
- interface PathInfo {
18
- path: string;
19
- name: string;
20
- }
21
- export declare function parsePath(filepath: string): PathInfo;
22
- export declare function getRelsPath(filepath: string): string;
14
+ /**
15
+ * Parse an OOXML date string into a Date object.
16
+ * OOXML dates like "2024-01-15T00:00:00" lack a timezone suffix,
17
+ * which some JS engines parse as local time. Appending "Z" forces UTC.
18
+ */
19
+ export declare function parseOoxmlDate(raw: string): Date;
23
20
  export declare function xmlDecode(text: string): string;
24
21
  /**
25
22
  * Encode special characters for XML output
@@ -28,10 +25,9 @@ export declare function xmlDecode(text: string): string;
28
25
  export declare function xmlEncode(text: string): string;
29
26
  export declare function validInt(value: string | number): number;
30
27
  export declare function isDateFmt(fmt: string | null | undefined): boolean;
31
- export declare function parseBoolean(value: any): boolean;
28
+ export declare function parseBoolean(value: unknown): boolean;
32
29
  export declare function range(start: number, stop: number, step?: number): Generator<number>;
33
- export declare function toSortedArray(values: Iterable<any>): any[];
34
- export declare function objectFromProps<T = any>(props: string[], value?: T | null): Record<string, T | null>;
30
+ export declare function toSortedArray<T>(values: Iterable<T>): T[];
35
31
  /**
36
32
  * Convert a Buffer, ArrayBuffer, or Uint8Array to a UTF-8 string
37
33
  * Works in both Node.js and browser environments
@@ -46,4 +42,3 @@ export declare function uint8ArrayToBase64(bytes: Uint8Array): string;
46
42
  * Convert string to UTF-16LE Uint8Array (used for Excel password hashing)
47
43
  */
48
44
  export declare function stringToUtf16Le(str: string): Uint8Array;
49
- export {};
@@ -2,5 +2,5 @@
2
2
  * Browser utility functions
3
3
  * Re-exports shared utilities and adds browser-specific implementations
4
4
  */
5
- export { delay, nop, inherits, dateToExcel, excelToDate, toIsoDateString, parsePath, getRelsPath, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, objectFromProps, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
5
+ export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
6
6
  export declare function fileExists(_path: string): Promise<boolean>;
@@ -2,5 +2,5 @@
2
2
  * Node.js utility functions
3
3
  * Re-exports shared utilities and adds Node.js-specific implementations
4
4
  */
5
- export { delay, nop, inherits, dateToExcel, excelToDate, toIsoDateString, parsePath, getRelsPath, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, objectFromProps, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
5
+ export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
6
6
  export declare function fileExists(path: string): Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cj-tech-master/excelts",
3
- "version": "5.0.6",
3
+ "version": "5.1.0",
4
4
  "description": "TypeScript Excel Workbook Manager - Read and Write xlsx and csv Files.",
5
5
  "type": "module",
6
6
  "publishConfig": {