@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
@@ -15,7 +15,7 @@ export { DataValidations } from "./modules/excel/data-validations.js";
15
15
  export { FormCheckbox } from "./modules/excel/form-control.js";
16
16
  export * from "./modules/excel/enums.js";
17
17
  export * from "./modules/excel/types.js";
18
- export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
18
+ export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
19
19
  export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "./modules/excel/form-control.js";
20
20
  import { WorkbookWriter } from "./modules/excel/stream/workbook-writer.browser.js";
21
21
  import { WorkbookReader } from "./modules/excel/stream/workbook-reader.browser.js";
@@ -15,7 +15,7 @@ export { WorksheetWriter } from "./modules/excel/stream/worksheet-writer.js";
15
15
  export { WorksheetReader } from "./modules/excel/stream/worksheet-reader.js";
16
16
  export * from "./modules/excel/enums.js";
17
17
  export * from "./modules/excel/types.js";
18
- export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
18
+ export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
19
19
  export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "./modules/excel/form-control.js";
20
20
  export type { WorkbookReaderOptions, ParseEvent, SharedStringEvent, WorksheetReadyEvent, HyperlinksEvent } from "./modules/excel/stream/workbook-reader.js";
21
21
  export type { WorksheetReaderOptions, WorksheetEvent, RowEvent, HyperlinkEvent, WorksheetHyperlink } from "./modules/excel/stream/worksheet-reader.js";
@@ -6,21 +6,50 @@ import type { Table } from "./table.js";
6
6
  export interface PivotTableSource {
7
7
  /** Name of the worksheet containing the source data (used in pivotCacheDefinition) */
8
8
  name: string;
9
+ /**
10
+ * Name of the source Table (e.g., "SalesData").
11
+ * When present, pivotCacheDefinition uses `<worksheetSource name="..."/>` instead of ref+sheet.
12
+ */
13
+ tableName?: string;
9
14
  /** Get row values by 1-indexed row number */
10
15
  getRow(rowNumber: number): {
11
- values: any[];
16
+ values: unknown[];
12
17
  };
13
18
  /** Get column values by 1-indexed column number */
14
19
  getColumn(columnNumber: number): {
15
- values: any[];
20
+ values: unknown[];
16
21
  };
17
22
  /** Get all sheet values as a sparse 2D array */
18
- getSheetValues(): any[][];
23
+ getSheetValues(): unknown[][];
19
24
  /** Dimensions with short range reference (e.g., "A1:E10") */
20
25
  dimensions: {
21
26
  shortRange: string;
22
27
  };
23
28
  }
29
+ /**
30
+ * A value field specification with optional per-field metric override.
31
+ * Use this instead of a plain string when you need different aggregation
32
+ * metrics for individual value fields.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * values: [
37
+ * { name: "Sales", metric: "sum" },
38
+ * { name: "Quantity", metric: "count" },
39
+ * { name: "Price", metric: "average" },
40
+ * ]
41
+ * ```
42
+ */
43
+ export interface PivotTableValue {
44
+ /** Column name to aggregate */
45
+ name: string;
46
+ /**
47
+ * Aggregation metric for this specific value field.
48
+ * Overrides the table-wide `metric` when specified.
49
+ * @default inherited from PivotTableModel.metric (which defaults to 'sum')
50
+ */
51
+ metric?: PivotTableSubtotal;
52
+ }
24
53
  /**
25
54
  * Model for creating a new pivot table.
26
55
  * Pass this to worksheet.addPivotTable() to create a pivot table.
@@ -42,18 +71,45 @@ export interface PivotTableModel {
42
71
  /**
43
72
  * Column names to use as column fields in the pivot table.
44
73
  * If omitted or empty, Excel will use "Values" as the column field.
74
+ * When multiple values are specified alongside columns, the synthetic
75
+ * "∑Values" pseudo-field is appended to the column axis automatically.
45
76
  * @default []
46
77
  */
47
78
  columns?: string[];
48
- /** Column names to aggregate as values in the pivot table */
49
- values: string[];
50
79
  /**
51
- * Aggregation metric for the pivot table values.
52
- * - 'sum': Sum of values (default)
53
- * - 'count': Count of values
80
+ * Column names (or value field specifications) to aggregate in the pivot table.
81
+ * Each entry can be a plain string (column name) or a {@link PivotTableValue}
82
+ * object with a per-field metric override.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * // Simple: all values use the table-wide metric
87
+ * values: ["Sales", "Quantity"]
88
+ *
89
+ * // Per-value metrics
90
+ * values: [
91
+ * { name: "Sales", metric: "sum" },
92
+ * { name: "Quantity", metric: "count" },
93
+ * { name: "Price", metric: "average" },
94
+ * ]
95
+ *
96
+ * // Mixed: plain strings inherit table-wide metric
97
+ * values: ["Sales", { name: "Quantity", metric: "count" }]
98
+ * ```
99
+ */
100
+ values: (string | PivotTableValue)[];
101
+ /**
102
+ * Column names to use as page fields (report filters) in the pivot table.
103
+ * Page fields appear as dropdown filters above the pivot table.
104
+ * @default []
105
+ */
106
+ pages?: string[];
107
+ /**
108
+ * Default aggregation metric for all value fields.
109
+ * Individual value fields can override this via {@link PivotTableValue.metric}.
54
110
  * @default 'sum'
55
111
  */
56
- metric?: "sum" | "count";
112
+ metric?: PivotTableSubtotal;
57
113
  /**
58
114
  * Controls whether pivot table style overrides worksheet column widths.
59
115
  * - '0': Preserve worksheet column widths (useful for custom sizing)
@@ -62,6 +118,19 @@ export interface PivotTableModel {
62
118
  */
63
119
  applyWidthHeightFormats?: "0" | "1";
64
120
  }
121
+ /** Allowed element types within CacheField.sharedItems */
122
+ export type SharedItemValue = string | number | boolean | Date | PivotErrorValue | null;
123
+ /**
124
+ * Wrapper for OOXML error values in sharedItems (e.g. `<e v="REF!"/>`).
125
+ * Distinguishes error strings from regular strings so they roundtrip as `<e>` not `<s>`.
126
+ */
127
+ export declare class PivotErrorValue {
128
+ /** The error code without the leading '#' (e.g. "REF!", "VALUE!", "N/A") */
129
+ readonly code: string;
130
+ constructor(code: string);
131
+ /** Returns the display form with '#' prefix, e.g. "#REF!" */
132
+ toString(): string;
133
+ }
65
134
  /**
66
135
  * Represents a cache field in a pivot table.
67
136
  * Cache fields store unique values from source columns for row/column grouping.
@@ -70,14 +139,42 @@ export interface CacheField {
70
139
  /** Name of the field (column header from source) */
71
140
  name: string;
72
141
  /** Unique values for row/column fields, null for value fields */
73
- sharedItems: any[] | null;
142
+ sharedItems: SharedItemValue[] | null;
143
+ /** Whether the field contains numeric values (raw attribute string for roundtrip: "0" or "1") */
144
+ containsNumber?: string;
145
+ /** Whether the field contains only integer values (raw attribute string for roundtrip: "0" or "1") */
146
+ containsInteger?: string;
74
147
  /** Minimum value for numeric fields */
75
148
  minValue?: number;
76
149
  /** Maximum value for numeric fields */
77
150
  maxValue?: number;
151
+ /** Number format ID (preserved on roundtrip, defaults to "0") */
152
+ numFmtId?: string;
153
+ /** Original containsSemiMixedTypes attribute from loaded file */
154
+ containsSemiMixedTypes?: string;
155
+ /** Original containsNonDate attribute from loaded file */
156
+ containsNonDate?: string;
157
+ /** Original containsString attribute from loaded file */
158
+ containsString?: string;
159
+ /** Original containsBlank attribute from loaded file */
160
+ containsBlank?: string;
161
+ /** Original containsDate attribute from loaded file */
162
+ containsDate?: string;
163
+ /** Original containsMixedTypes attribute from loaded file */
164
+ containsMixedTypes?: string;
165
+ /** Flag indicating this cache field was loaded from file */
166
+ isLoaded?: boolean;
167
+ /** Preserved <fieldGroup> raw XML for roundtrip (loaded models only) */
168
+ fieldGroupXml?: string;
169
+ /** Bag of additional cacheField attributes not individually modeled (for roundtrip preservation) */
170
+ extraAttrs?: Record<string, string>;
78
171
  }
79
172
  /** Aggregation function types for pivot table data fields */
80
173
  export type PivotTableSubtotal = "sum" | "count" | "average" | "max" | "min" | "product" | "countNums" | "stdDev" | "stdDevP" | "var" | "varP";
174
+ /** Map from PivotTableSubtotal to its Excel display name prefix */
175
+ export declare const METRIC_DISPLAY_NAMES: Readonly<Record<PivotTableSubtotal, string>>;
176
+ /** Set of all valid PivotTableSubtotal values (for runtime validation) */
177
+ export declare const VALID_SUBTOTALS: ReadonlySet<string>;
81
178
  /**
82
179
  * Data field configuration for pivot table aggregation.
83
180
  * Defines how values are aggregated in the pivot table.
@@ -93,6 +190,8 @@ export interface DataField {
93
190
  baseItem?: number;
94
191
  /** Aggregation function (default: 'sum') */
95
192
  subtotal?: PivotTableSubtotal;
193
+ /** Number format ID (preserved on roundtrip for currency/date formatting) */
194
+ numFmtId?: number;
96
195
  }
97
196
  /**
98
197
  * Internal pivot table representation used by the library.
@@ -107,8 +206,12 @@ export interface PivotTable {
107
206
  columns: number[];
108
207
  /** Field indices for value fields */
109
208
  values: number[];
110
- /** Aggregation metric */
111
- metric: "sum" | "count";
209
+ /** Field indices for page fields (report filters) */
210
+ pages?: number[];
211
+ /** Default aggregation metric */
212
+ metric: PivotTableSubtotal;
213
+ /** Per-value metric overrides (parallel to `values` array). Falls back to `metric`. */
214
+ valueMetrics: PivotTableSubtotal[];
112
215
  /** Cache fields with shared items */
113
216
  cacheFields: CacheField[];
114
217
  /** Cache ID for linking to pivot cache */
@@ -117,6 +220,8 @@ export interface PivotTable {
117
220
  applyWidthHeightFormats: "0" | "1";
118
221
  /** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
119
222
  tableNumber: number;
223
+ /** Workbook relationship ID, assigned during write by addWorkbookRels() */
224
+ rId?: string;
120
225
  /** Flag indicating this pivot table was loaded from file (not newly created) */
121
226
  isLoaded?: boolean;
122
227
  /** Data fields for loaded pivot tables */
@@ -132,21 +237,67 @@ export interface PivotTable {
132
237
  export interface ParsedCacheDefinition {
133
238
  sourceRef?: string;
134
239
  sourceSheet?: string;
240
+ /** Source table name (name style - references a named Table) */
241
+ sourceTableName?: string;
242
+ /** Cache source type (default "worksheet") */
243
+ cacheSourceType?: string;
135
244
  cacheFields: CacheField[];
136
245
  recordCount?: number;
137
246
  rId?: string;
247
+ /** Additional attributes to preserve */
248
+ refreshOnLoad?: string;
249
+ createdVersion?: string;
250
+ refreshedVersion?: string;
251
+ minRefreshableVersion?: string;
138
252
  isLoaded?: boolean;
253
+ backgroundQuery?: string;
254
+ supportSubquery?: string;
255
+ supportAdvancedDrill?: string;
256
+ /** Bag of additional root attributes not individually modeled (for roundtrip) */
257
+ extraRootAttrs?: Record<string, string>;
258
+ /** worksheetSource r:id attribute (for external connections) */
259
+ worksheetSourceRId?: string;
260
+ extLstXml?: string;
261
+ /** Preserved unknown child elements XML for roundtrip (e.g. calculatedItems, cacheHierarchies) */
262
+ unknownElementsXml?: string;
263
+ /** Preserved raw XML for non-worksheetSource children inside <cacheSource> (e.g. <consolidation>) */
264
+ cacheSourceXml?: string;
139
265
  }
266
+ /** Allowed element types within cache record values */
267
+ export type RecordValue = {
268
+ type: "x";
269
+ value: number;
270
+ } | {
271
+ type: "n";
272
+ value: number;
273
+ } | {
274
+ type: "s";
275
+ value: string;
276
+ } | {
277
+ type: "b";
278
+ value: boolean;
279
+ } | {
280
+ type: "m";
281
+ } | {
282
+ type: "d";
283
+ value: Date;
284
+ } | {
285
+ type: "e";
286
+ value: string;
287
+ };
140
288
  /**
141
289
  * Parsed cache records from loaded pivot table files.
142
290
  */
143
291
  export interface ParsedCacheRecords {
144
- records: Array<Array<{
145
- type: string;
146
- value?: any;
147
- }>>;
292
+ records: RecordValue[][];
148
293
  count: number;
149
294
  isLoaded?: boolean;
295
+ /** Extra root attributes beyond xmlns/xmlns:r/count (for roundtrip preservation) */
296
+ extraRootAttrs?: Record<string, string>;
150
297
  }
151
- declare function makePivotTable(worksheet: any, model: PivotTableModel): PivotTable;
298
+ declare function makePivotTable(worksheet: {
299
+ workbook: {
300
+ pivotTables: PivotTable[];
301
+ };
302
+ }, model: PivotTableModel): PivotTable;
152
303
  export { makePivotTable };
@@ -454,10 +454,6 @@ export interface ConditionalFormattingOptions {
454
454
  ref: string;
455
455
  rules: ConditionalFormattingRule[];
456
456
  }
457
- export interface ConditionalFormattingOptions {
458
- ref: string;
459
- rules: ConditionalFormattingRule[];
460
- }
461
457
  export interface TableStyleProperties {
462
458
  theme?: string;
463
459
  showFirstColumn?: boolean;
@@ -52,8 +52,6 @@ export interface WorkbookModel {
52
52
  themes?: unknown;
53
53
  media: WorkbookMedia[];
54
54
  pivotTables: PivotTable[];
55
- /** Loaded pivot tables from file - used during reconciliation */
56
- loadedPivotTables?: any[];
57
55
  calcProperties: Partial<CalculationProperties>;
58
56
  /** Passthrough files (charts, etc.) preserved for round-trip */
59
57
  passthrough?: Record<string, Uint8Array>;
@@ -3,11 +3,11 @@ interface ParseEvent {
3
3
  eventType: string;
4
4
  value: any;
5
5
  }
6
- declare class BaseXform {
6
+ declare class BaseXform<TModel = any> {
7
7
  map?: {
8
8
  [key: string]: any;
9
9
  };
10
- model?: any;
10
+ model?: TModel;
11
11
  prepare(_model?: any, _options?: any): void;
12
12
  render(_xmlStream?: XmlStream, _model?: any): void;
13
13
  parseOpen(_node: any): void;
@@ -16,10 +16,10 @@ declare class BaseXform {
16
16
  reconcile(_model: any, _options?: any): void;
17
17
  reset(): void;
18
18
  mergeModel(obj: any): void;
19
- parse(saxParser: AsyncIterable<ParseEvent[]>): Promise<any>;
20
- parseStream(stream: any): Promise<any>;
19
+ parse(saxParser: AsyncIterable<ParseEvent[]>): Promise<TModel | undefined>;
20
+ parseStream(stream: any): Promise<TModel | undefined>;
21
21
  get xml(): string;
22
- toXml(model: any): string;
22
+ toXml(model?: any): string;
23
23
  static toAttribute(value: any, dflt?: any, always?: boolean): string | undefined;
24
24
  static toStringAttribute(value: any, dflt?: any, always?: boolean): string | undefined;
25
25
  static toStringValue(attr: any, dflt?: any): any;
@@ -13,8 +13,7 @@ interface CommentModel {
13
13
  ref: string;
14
14
  authorId?: number;
15
15
  }
16
- declare class CommentXform extends BaseXform {
17
- model: CommentModel;
16
+ declare class CommentXform extends BaseXform<CommentModel> {
18
17
  parser: any;
19
18
  private _richTextXform?;
20
19
  constructor(model?: CommentModel);
@@ -3,12 +3,11 @@ import { CommentXform } from "./comment-xform.js";
3
3
  interface CommentsModel {
4
4
  comments: any[];
5
5
  }
6
- declare class CommentsXform extends BaseXform {
6
+ declare class CommentsXform extends BaseXform<CommentsModel> {
7
7
  map: {
8
8
  [key: string]: CommentXform;
9
9
  };
10
10
  parser: any;
11
- model: CommentsModel;
12
11
  constructor();
13
12
  render(xmlStream: any, model?: CommentsModel): void;
14
13
  parseOpen(node: any): boolean;
@@ -1,9 +1,8 @@
1
1
  import { BaseXform } from "../../base-xform.js";
2
- declare class VmlPositionXform extends BaseXform {
2
+ declare class VmlPositionXform extends BaseXform<{
3
+ [key: string]: boolean;
4
+ }> {
3
5
  private _model;
4
- model: {
5
- [key: string]: boolean;
6
- };
7
6
  constructor(model?: {
8
7
  tag?: string;
9
8
  });
@@ -18,12 +18,11 @@ interface RenderModel {
18
18
  col: number;
19
19
  };
20
20
  }
21
- declare class VmlClientDataXform extends BaseXform {
21
+ declare class VmlClientDataXform extends BaseXform<ClientDataModel> {
22
22
  map: {
23
23
  [key: string]: any;
24
24
  };
25
25
  parser: any;
26
- model: ClientDataModel;
27
26
  constructor();
28
27
  get tag(): string;
29
28
  render(xmlStream: any, model: RenderModel): void;
@@ -2,12 +2,11 @@ import { BaseXform } from "../base-xform.js";
2
2
  interface VmlNotesModel {
3
3
  comments: any[];
4
4
  }
5
- declare class VmlNotesXform extends BaseXform {
5
+ declare class VmlNotesXform extends BaseXform<VmlNotesModel> {
6
6
  map: {
7
7
  [key: string]: any;
8
8
  };
9
9
  parser: any;
10
- model: VmlNotesModel;
11
10
  constructor();
12
11
  get tag(): string;
13
12
  render(xmlStream: any, model?: VmlNotesModel): void;
@@ -9,8 +9,7 @@ interface TextboxModel {
9
9
  note?: NoteModel;
10
10
  inset?: number[];
11
11
  }
12
- declare class VmlTextboxXform extends BaseXform {
13
- model: TextboxModel;
12
+ declare class VmlTextboxXform extends BaseXform<TextboxModel> {
14
13
  constructor();
15
14
  get tag(): string;
16
15
  conversionUnit(value: string | number, multiple: number, unit: string): string;
@@ -1,5 +1,5 @@
1
1
  import { BaseXform } from "./base-xform.js";
2
- declare class CompositeXform extends BaseXform {
2
+ declare class CompositeXform<TModel = any> extends BaseXform<TModel> {
3
3
  parser?: any;
4
4
  createNewModel(_node?: any): any;
5
5
  parseOpen(node: any): boolean;
@@ -2,8 +2,7 @@ import { BaseXform } from "../base-xform.js";
2
2
  interface BlipModel {
3
3
  rId: string;
4
4
  }
5
- declare class BlipXform extends BaseXform {
6
- model: BlipModel;
5
+ declare class BlipXform extends BaseXform<BlipModel> {
7
6
  constructor();
8
7
  get tag(): string;
9
8
  render(xmlStream: any, model: BlipModel): void;
@@ -6,13 +6,12 @@ interface PositionModel {
6
6
  nativeRow: number;
7
7
  nativeRowOff: number;
8
8
  }
9
- declare class CellPositionXform extends BaseXform {
9
+ declare class CellPositionXform extends BaseXform<PositionModel> {
10
10
  private tag;
11
11
  map: {
12
12
  [key: string]: IntegerXform;
13
13
  };
14
14
  parser: any;
15
- model: PositionModel;
16
15
  constructor(options: {
17
16
  tag: string;
18
17
  });
@@ -6,8 +6,7 @@ import type { FormCheckboxModel } from "../../../form-control.js";
6
6
  * Each form control (checkbox, button, etc.) has an associated ctrlProp file
7
7
  * that stores its properties like objectType, checked state, and linked cell.
8
8
  */
9
- declare class CtrlPropXform extends BaseXform {
10
- model: FormCheckboxModel;
9
+ declare class CtrlPropXform extends BaseXform<FormCheckboxModel> {
11
10
  private _checkedToXmlValue;
12
11
  get tag(): string;
13
12
  render(xmlStream: any, model?: FormCheckboxModel): void;
@@ -2,12 +2,11 @@ import { BaseXform } from "../base-xform.js";
2
2
  interface DrawingModel {
3
3
  anchors: any[];
4
4
  }
5
- declare class DrawingXform extends BaseXform {
5
+ declare class DrawingXform extends BaseXform<DrawingModel> {
6
6
  map: {
7
7
  [key: string]: any;
8
8
  };
9
9
  parser: any;
10
- model: DrawingModel;
11
10
  constructor();
12
11
  prepare(model: DrawingModel): void;
13
12
  get tag(): string;
@@ -3,12 +3,11 @@ interface ExtModel {
3
3
  width: number;
4
4
  height: number;
5
5
  }
6
- declare class ExtXform extends BaseXform {
6
+ declare class ExtXform extends BaseXform<ExtModel> {
7
7
  private tag;
8
8
  map: {
9
9
  [key: string]: any;
10
10
  };
11
- model: ExtModel;
12
11
  constructor(options: {
13
12
  tag: string;
14
13
  });
@@ -15,12 +15,11 @@ interface VmlDrawingModel {
15
15
  /** Form control checkboxes */
16
16
  formControls?: FormCheckboxModel[];
17
17
  }
18
- declare class VmlDrawingXform extends BaseXform {
18
+ declare class VmlDrawingXform extends BaseXform<VmlDrawingModel> {
19
19
  map: {
20
20
  [key: string]: any;
21
21
  };
22
22
  parser: any;
23
- model: VmlDrawingModel;
24
23
  constructor();
25
24
  get tag(): string;
26
25
  /**
@@ -9,7 +9,7 @@ interface ListXformOptions {
9
9
  childXform: any;
10
10
  maxItems?: number;
11
11
  }
12
- declare class ListXform extends BaseXform {
12
+ declare class ListXform<TChild = any> extends BaseXform<TChild[]> {
13
13
  protected tag: string;
14
14
  protected always: boolean;
15
15
  protected count?: boolean;
@@ -19,7 +19,6 @@ declare class ListXform extends BaseXform {
19
19
  protected childXform: any;
20
20
  protected maxItems?: number;
21
21
  parser: any;
22
- model: any[];
23
22
  constructor(options: ListXformOptions);
24
23
  prepare(model: any[], options: any): void;
25
24
  render(xmlStream: any, model?: any[]): void;
@@ -1,15 +1,5 @@
1
1
  import { BaseXform } from "../base-xform.js";
2
- /**
3
- * Parsed cache field model containing name and shared items (if any)
4
- */
5
- interface CacheFieldModel {
6
- name: string;
7
- sharedItems: any[] | null;
8
- containsNumber?: boolean;
9
- containsInteger?: boolean;
10
- minValue?: number;
11
- maxValue?: number;
12
- }
2
+ import type { CacheField } from "../../../pivot-table.js";
13
3
  /**
14
4
  * Xform for parsing individual <cacheField> elements within a pivot cache definition.
15
5
  *
@@ -29,14 +19,14 @@ interface CacheFieldModel {
29
19
  * </cacheField>
30
20
  * ```
31
21
  */
32
- declare class CacheFieldXform extends BaseXform {
33
- model: CacheFieldModel | null;
22
+ declare class CacheFieldXform extends BaseXform<CacheField | null> {
34
23
  private inSharedItems;
24
+ private fieldGroupCollector;
35
25
  constructor();
36
26
  get tag(): string;
37
27
  reset(): void;
38
28
  parseOpen(node: any): boolean;
39
- parseText(_text: string): void;
29
+ parseText(text: string): void;
40
30
  parseClose(name: string): boolean;
41
31
  }
42
- export { CacheFieldXform, type CacheFieldModel };
32
+ export { CacheFieldXform };
@@ -1,15 +1,14 @@
1
- interface CacheFieldConfig {
2
- name: string;
3
- sharedItems: any[] | null;
4
- minValue?: number;
5
- maxValue?: number;
6
- }
7
- declare class CacheField {
8
- private name;
9
- private sharedItems;
10
- private minValue?;
11
- private maxValue?;
12
- constructor({ name, sharedItems, minValue, maxValue }: CacheFieldConfig);
13
- render(): string;
14
- }
15
- export { CacheField };
1
+ import type { CacheField as CacheFieldType } from "../../../pivot-table.js";
2
+ /**
3
+ * Format a Date for OOXML pivot cache output.
4
+ * Excel expects `"2024-01-15T00:00:00"` — no milliseconds, no trailing "Z".
5
+ */
6
+ declare function formatDateForExcel(date: Date): string;
7
+ /**
8
+ * Render a single `<cacheField>` element as an XML string.
9
+ *
10
+ * This is a pure data-in → string-out transformation with no state or lifecycle,
11
+ * so it is a plain function rather than a class.
12
+ */
13
+ declare function renderCacheField(cf: CacheFieldType): string;
14
+ export { renderCacheField, formatDateForExcel };