@rowsncolumns/toolkit 24.4.1

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 (456) hide show
  1. package/LICENSE.md +100 -0
  2. package/Readme.md +27 -0
  3. package/dist/cjs/autofilter-condition.d.ts +43 -0
  4. package/dist/cjs/autofilter-condition.d.ts.map +1 -0
  5. package/dist/cjs/autofilter-condition.js +155 -0
  6. package/dist/cjs/csv-export.d.ts +49 -0
  7. package/dist/cjs/csv-export.d.ts.map +1 -0
  8. package/dist/cjs/csv-export.js +142 -0
  9. package/dist/cjs/csv-import-worker.d.ts +16 -0
  10. package/dist/cjs/csv-import-worker.d.ts.map +1 -0
  11. package/dist/cjs/csv-import-worker.js +60 -0
  12. package/dist/cjs/csv-import.d.ts +38 -0
  13. package/dist/cjs/csv-import.d.ts.map +1 -0
  14. package/dist/cjs/csv-import.js +166 -0
  15. package/dist/cjs/csv-parser/helpers.d.ts +14 -0
  16. package/dist/cjs/csv-parser/helpers.d.ts.map +1 -0
  17. package/dist/cjs/csv-parser/helpers.js +145 -0
  18. package/dist/cjs/csv-parser/types.d.ts +66 -0
  19. package/dist/cjs/csv-parser/types.d.ts.map +1 -0
  20. package/dist/cjs/csv-parser/types.js +14 -0
  21. package/dist/cjs/csv-parser/worker.d.ts +2 -0
  22. package/dist/cjs/csv-parser/worker.d.ts.map +1 -0
  23. package/dist/cjs/csv-parser/worker.js +200 -0
  24. package/dist/cjs/excel-export.d.ts +11 -0
  25. package/dist/cjs/excel-export.d.ts.map +1 -0
  26. package/dist/cjs/excel-export.js +22 -0
  27. package/dist/cjs/excel-import-session.d.ts +51 -0
  28. package/dist/cjs/excel-import-session.d.ts.map +1 -0
  29. package/dist/cjs/excel-import-session.js +307 -0
  30. package/dist/cjs/excel-import-worker.d.ts +7 -0
  31. package/dist/cjs/excel-import-worker.d.ts.map +1 -0
  32. package/dist/cjs/excel-import-worker.js +119 -0
  33. package/dist/cjs/excel-parser/builtin-numfmts.d.ts +24 -0
  34. package/dist/cjs/excel-parser/builtin-numfmts.d.ts.map +1 -0
  35. package/dist/cjs/excel-parser/builtin-numfmts.js +63 -0
  36. package/dist/cjs/excel-parser/cfb-decryptor.d.ts +53 -0
  37. package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -0
  38. package/dist/cjs/excel-parser/cfb-decryptor.js +553 -0
  39. package/dist/cjs/excel-parser/cfb-encryptor.d.ts +23 -0
  40. package/dist/cjs/excel-parser/cfb-encryptor.d.ts.map +1 -0
  41. package/dist/cjs/excel-parser/cfb-encryptor.js +200 -0
  42. package/dist/cjs/excel-parser/dv-cell-stamp.d.ts +29 -0
  43. package/dist/cjs/excel-parser/dv-cell-stamp.d.ts.map +1 -0
  44. package/dist/cjs/excel-parser/dv-cell-stamp.js +239 -0
  45. package/dist/cjs/excel-parser/helpers.d.ts +28 -0
  46. package/dist/cjs/excel-parser/helpers.d.ts.map +1 -0
  47. package/dist/cjs/excel-parser/helpers.js +188 -0
  48. package/dist/cjs/excel-parser/interface.d.ts +179 -0
  49. package/dist/cjs/excel-parser/interface.d.ts.map +1 -0
  50. package/dist/cjs/excel-parser/interface.js +1 -0
  51. package/dist/cjs/excel-parser/plugins/base/index.d.ts +31 -0
  52. package/dist/cjs/excel-parser/plugins/base/index.d.ts.map +1 -0
  53. package/dist/cjs/excel-parser/plugins/base/index.js +101 -0
  54. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
  55. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
  56. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.js +488 -0
  57. package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts +15 -0
  58. package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
  59. package/dist/cjs/excel-parser/plugins/ods/data-validations.js +353 -0
  60. package/dist/cjs/excel-parser/plugins/ods/formula.d.ts +8 -0
  61. package/dist/cjs/excel-parser/plugins/ods/formula.d.ts.map +1 -0
  62. package/dist/cjs/excel-parser/plugins/ods/formula.js +82 -0
  63. package/dist/cjs/excel-parser/plugins/ods/index.d.ts +122 -0
  64. package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -0
  65. package/dist/cjs/excel-parser/plugins/ods/index.js +3642 -0
  66. package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts +25 -0
  67. package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
  68. package/dist/cjs/excel-parser/plugins/ods/sparklines.js +221 -0
  69. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +60 -0
  70. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -0
  71. package/dist/cjs/excel-parser/plugins/ods/styles.js +808 -0
  72. package/dist/cjs/excel-parser/plugins/ods/types.d.ts +7 -0
  73. package/dist/cjs/excel-parser/plugins/ods/types.d.ts.map +1 -0
  74. package/dist/cjs/excel-parser/plugins/ods/types.js +1 -0
  75. package/dist/cjs/excel-parser/plugins/xls/index.d.ts +5 -0
  76. package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -0
  77. package/dist/cjs/excel-parser/plugins/xls/index.js +19 -0
  78. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
  79. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
  80. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.js +49 -0
  81. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +117 -0
  82. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
  83. package/dist/cjs/excel-parser/plugins/xlsb/index.js +2972 -0
  84. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
  85. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
  86. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.js +527 -0
  87. package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts +5 -0
  88. package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
  89. package/dist/cjs/excel-parser/plugins/xlsm/index.js +10 -0
  90. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +60 -0
  91. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
  92. package/dist/cjs/excel-parser/plugins/xlsx/charts.js +2178 -0
  93. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
  94. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
  95. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.js +620 -0
  96. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
  97. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
  98. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.js +515 -0
  99. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
  100. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
  101. package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +941 -0
  102. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +320 -0
  103. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
  104. package/dist/cjs/excel-parser/plugins/xlsx/index.js +6056 -0
  105. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
  106. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
  107. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.js +3 -0
  108. package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
  109. package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
  110. package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +342 -0
  111. package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
  112. package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
  113. package/dist/cjs/excel-parser/plugins/xlsx/relationships.js +26 -0
  114. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
  115. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
  116. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +59 -0
  117. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +44 -0
  118. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
  119. package/dist/cjs/excel-parser/plugins/xlsx/styles.js +1377 -0
  120. package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts +50 -0
  121. package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
  122. package/dist/cjs/excel-parser/plugins/xlsx/theme.js +150 -0
  123. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
  124. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
  125. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.js +141 -0
  126. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
  127. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
  128. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.js +407 -0
  129. package/dist/cjs/excel-parser/registry.d.ts +5 -0
  130. package/dist/cjs/excel-parser/registry.d.ts.map +1 -0
  131. package/dist/cjs/excel-parser/registry.js +21 -0
  132. package/dist/cjs/excel-parser/style-registry.d.ts +51 -0
  133. package/dist/cjs/excel-parser/style-registry.d.ts.map +1 -0
  134. package/dist/cjs/excel-parser/style-registry.js +175 -0
  135. package/dist/cjs/excel-parser/theme-default.d.ts +3 -0
  136. package/dist/cjs/excel-parser/theme-default.d.ts.map +1 -0
  137. package/dist/cjs/excel-parser/theme-default.js +19 -0
  138. package/dist/cjs/excel-parser/types.d.ts +365 -0
  139. package/dist/cjs/excel-parser/types.d.ts.map +1 -0
  140. package/dist/cjs/excel-parser/types.js +59 -0
  141. package/dist/cjs/excel-parser/utils.d.ts +6 -0
  142. package/dist/cjs/excel-parser/utils.d.ts.map +1 -0
  143. package/dist/cjs/excel-parser/utils.js +30 -0
  144. package/dist/cjs/excel-parser/workbook.d.ts +51 -0
  145. package/dist/cjs/excel-parser/workbook.d.ts.map +1 -0
  146. package/dist/cjs/excel-parser/workbook.js +317 -0
  147. package/dist/cjs/excel-parser/worker.d.ts +2 -0
  148. package/dist/cjs/excel-parser/worker.d.ts.map +1 -0
  149. package/dist/cjs/excel-parser/worker.js +1149 -0
  150. package/dist/cjs/excel-parser/zip-parser-streaming.d.ts +13 -0
  151. package/dist/cjs/excel-parser/zip-parser-streaming.d.ts.map +1 -0
  152. package/dist/cjs/excel-parser/zip-parser-streaming.js +200 -0
  153. package/dist/cjs/excel-parser/zip-parser.d.ts +11 -0
  154. package/dist/cjs/excel-parser/zip-parser.d.ts.map +1 -0
  155. package/dist/cjs/excel-parser/zip-parser.js +49 -0
  156. package/dist/cjs/exporter/invalid-data-validation.d.ts +19 -0
  157. package/dist/cjs/exporter/invalid-data-validation.d.ts.map +1 -0
  158. package/dist/cjs/exporter/invalid-data-validation.js +39 -0
  159. package/dist/cjs/exporter/ods/ods-export.d.ts +26 -0
  160. package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -0
  161. package/dist/cjs/exporter/ods/ods-export.js +3714 -0
  162. package/dist/cjs/exporter/ods/sparkline-builder.d.ts +33 -0
  163. package/dist/cjs/exporter/ods/sparkline-builder.d.ts.map +1 -0
  164. package/dist/cjs/exporter/ods/sparkline-builder.js +221 -0
  165. package/dist/cjs/exporter/xlsx/chart-builder.d.ts +3 -0
  166. package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -0
  167. package/dist/cjs/exporter/xlsx/chart-builder.js +1901 -0
  168. package/dist/cjs/exporter/xlsx/chart-templates.d.ts +1781 -0
  169. package/dist/cjs/exporter/xlsx/chart-templates.d.ts.map +1 -0
  170. package/dist/cjs/exporter/xlsx/chart-templates.js +1798 -0
  171. package/dist/cjs/exporter/xlsx/future-functions.d.ts +10 -0
  172. package/dist/cjs/exporter/xlsx/future-functions.d.ts.map +1 -0
  173. package/dist/cjs/exporter/xlsx/future-functions.js +264 -0
  174. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +58 -0
  175. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -0
  176. package/dist/cjs/exporter/xlsx/pivot-builder.js +277 -0
  177. package/dist/cjs/exporter/xlsx/power-query-builder.d.ts +26 -0
  178. package/dist/cjs/exporter/xlsx/power-query-builder.d.ts.map +1 -0
  179. package/dist/cjs/exporter/xlsx/power-query-builder.js +306 -0
  180. package/dist/cjs/exporter/xlsx/slicer-builder.d.ts +11 -0
  181. package/dist/cjs/exporter/xlsx/slicer-builder.d.ts.map +1 -0
  182. package/dist/cjs/exporter/xlsx/slicer-builder.js +87 -0
  183. package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts +61 -0
  184. package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
  185. package/dist/cjs/exporter/xlsx/sparkline-builder.js +489 -0
  186. package/dist/cjs/exporter/xlsx/style-builder.d.ts +93 -0
  187. package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -0
  188. package/dist/cjs/exporter/xlsx/style-builder.js +813 -0
  189. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
  190. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
  191. package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +189 -0
  192. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +121 -0
  193. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -0
  194. package/dist/cjs/exporter/xlsx/xlsx-export.js +4596 -0
  195. package/dist/cjs/helpers/theme-xml-generator.d.ts +8 -0
  196. package/dist/cjs/helpers/theme-xml-generator.d.ts.map +1 -0
  197. package/dist/cjs/helpers/theme-xml-generator.js +33 -0
  198. package/dist/cjs/helpers.d.ts +34 -0
  199. package/dist/cjs/helpers.d.ts.map +1 -0
  200. package/dist/cjs/helpers.js +189 -0
  201. package/dist/cjs/index.d.ts +16 -0
  202. package/dist/cjs/index.d.ts.map +1 -0
  203. package/dist/cjs/index.js +15 -0
  204. package/dist/cjs/indexed-colors.d.ts +2 -0
  205. package/dist/cjs/indexed-colors.d.ts.map +1 -0
  206. package/dist/cjs/indexed-colors.js +75 -0
  207. package/dist/cjs/ods-export.d.ts +24 -0
  208. package/dist/cjs/ods-export.d.ts.map +1 -0
  209. package/dist/cjs/ods-export.js +23 -0
  210. package/dist/cjs/parse.d.ts +24 -0
  211. package/dist/cjs/parse.d.ts.map +1 -0
  212. package/dist/cjs/parse.js +68 -0
  213. package/dist/cjs/power-query.d.ts +41 -0
  214. package/dist/cjs/power-query.d.ts.map +1 -0
  215. package/dist/cjs/power-query.js +22 -0
  216. package/dist/cjs/server.d.ts +9 -0
  217. package/dist/cjs/server.d.ts.map +1 -0
  218. package/dist/cjs/server.js +8 -0
  219. package/dist/cjs/theme1.d.ts +3 -0
  220. package/dist/cjs/theme1.d.ts.map +1 -0
  221. package/dist/cjs/theme1.js +2 -0
  222. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  223. package/dist/cjs/types.d.ts +14 -0
  224. package/dist/cjs/types.d.ts.map +1 -0
  225. package/dist/cjs/types.js +14 -0
  226. package/dist/cjs/vitest.config.d.ts +3 -0
  227. package/dist/cjs/vitest.config.d.ts.map +1 -0
  228. package/dist/cjs/vitest.config.js +16 -0
  229. package/dist/esm/autofilter-condition.d.ts +43 -0
  230. package/dist/esm/autofilter-condition.d.ts.map +1 -0
  231. package/dist/esm/autofilter-condition.js +145 -0
  232. package/dist/esm/csv-export.d.ts +49 -0
  233. package/dist/esm/csv-export.d.ts.map +1 -0
  234. package/dist/esm/csv-export.js +126 -0
  235. package/dist/esm/csv-import-worker.d.ts +16 -0
  236. package/dist/esm/csv-import-worker.d.ts.map +1 -0
  237. package/dist/esm/csv-import-worker.js +60 -0
  238. package/dist/esm/csv-import.d.ts +38 -0
  239. package/dist/esm/csv-import.d.ts.map +1 -0
  240. package/dist/esm/csv-import.js +132 -0
  241. package/dist/esm/csv-parser/helpers.d.ts +14 -0
  242. package/dist/esm/csv-parser/helpers.d.ts.map +1 -0
  243. package/dist/esm/csv-parser/helpers.js +0 -0
  244. package/dist/esm/csv-parser/types.d.ts +66 -0
  245. package/dist/esm/csv-parser/types.d.ts.map +1 -0
  246. package/dist/esm/csv-parser/types.js +14 -0
  247. package/dist/esm/csv-parser/worker.d.ts +2 -0
  248. package/dist/esm/csv-parser/worker.d.ts.map +1 -0
  249. package/dist/esm/csv-parser/worker.js +154 -0
  250. package/dist/esm/excel-export.d.ts +11 -0
  251. package/dist/esm/excel-export.d.ts.map +1 -0
  252. package/dist/esm/excel-export.js +13 -0
  253. package/dist/esm/excel-import-session.d.ts +51 -0
  254. package/dist/esm/excel-import-session.d.ts.map +1 -0
  255. package/dist/esm/excel-import-session.js +255 -0
  256. package/dist/esm/excel-import-worker.d.ts +7 -0
  257. package/dist/esm/excel-import-worker.d.ts.map +1 -0
  258. package/dist/esm/excel-import-worker.js +116 -0
  259. package/dist/esm/excel-parser/builtin-numfmts.d.ts +24 -0
  260. package/dist/esm/excel-parser/builtin-numfmts.d.ts.map +1 -0
  261. package/dist/esm/excel-parser/builtin-numfmts.js +59 -0
  262. package/dist/esm/excel-parser/cfb-decryptor.d.ts +53 -0
  263. package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -0
  264. package/dist/esm/excel-parser/cfb-decryptor.js +493 -0
  265. package/dist/esm/excel-parser/cfb-encryptor.d.ts +23 -0
  266. package/dist/esm/excel-parser/cfb-encryptor.d.ts.map +1 -0
  267. package/dist/esm/excel-parser/cfb-encryptor.js +181 -0
  268. package/dist/esm/excel-parser/dv-cell-stamp.d.ts +29 -0
  269. package/dist/esm/excel-parser/dv-cell-stamp.d.ts.map +1 -0
  270. package/dist/esm/excel-parser/dv-cell-stamp.js +155 -0
  271. package/dist/esm/excel-parser/helpers.d.ts +28 -0
  272. package/dist/esm/excel-parser/helpers.d.ts.map +1 -0
  273. package/dist/esm/excel-parser/helpers.js +160 -0
  274. package/dist/esm/excel-parser/interface.d.ts +179 -0
  275. package/dist/esm/excel-parser/interface.d.ts.map +1 -0
  276. package/dist/esm/excel-parser/interface.js +1 -0
  277. package/dist/esm/excel-parser/plugins/base/index.d.ts +31 -0
  278. package/dist/esm/excel-parser/plugins/base/index.d.ts.map +1 -0
  279. package/dist/esm/excel-parser/plugins/base/index.js +64 -0
  280. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
  281. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
  282. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.js +405 -0
  283. package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts +15 -0
  284. package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
  285. package/dist/esm/excel-parser/plugins/ods/data-validations.js +331 -0
  286. package/dist/esm/excel-parser/plugins/ods/formula.d.ts +8 -0
  287. package/dist/esm/excel-parser/plugins/ods/formula.d.ts.map +1 -0
  288. package/dist/esm/excel-parser/plugins/ods/formula.js +82 -0
  289. package/dist/esm/excel-parser/plugins/ods/index.d.ts +122 -0
  290. package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -0
  291. package/dist/esm/excel-parser/plugins/ods/index.js +2896 -0
  292. package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts +25 -0
  293. package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
  294. package/dist/esm/excel-parser/plugins/ods/sparklines.js +188 -0
  295. package/dist/esm/excel-parser/plugins/ods/styles.d.ts +60 -0
  296. package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -0
  297. package/dist/esm/excel-parser/plugins/ods/styles.js +732 -0
  298. package/dist/esm/excel-parser/plugins/ods/types.d.ts +7 -0
  299. package/dist/esm/excel-parser/plugins/ods/types.d.ts.map +1 -0
  300. package/dist/esm/excel-parser/plugins/ods/types.js +1 -0
  301. package/dist/esm/excel-parser/plugins/xls/index.d.ts +5 -0
  302. package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -0
  303. package/dist/esm/excel-parser/plugins/xls/index.js +7 -0
  304. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
  305. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
  306. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.js +48 -0
  307. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +117 -0
  308. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
  309. package/dist/esm/excel-parser/plugins/xlsb/index.js +2339 -0
  310. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
  311. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
  312. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.js +522 -0
  313. package/dist/esm/excel-parser/plugins/xlsm/index.d.ts +5 -0
  314. package/dist/esm/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
  315. package/dist/esm/excel-parser/plugins/xlsm/index.js +6 -0
  316. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +60 -0
  317. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
  318. package/dist/esm/excel-parser/plugins/xlsx/charts.js +2036 -0
  319. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
  320. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
  321. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.js +621 -0
  322. package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
  323. package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
  324. package/dist/esm/excel-parser/plugins/xlsx/data-validations.js +493 -0
  325. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
  326. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
  327. package/dist/esm/excel-parser/plugins/xlsx/drawing.js +905 -0
  328. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +320 -0
  329. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
  330. package/dist/esm/excel-parser/plugins/xlsx/index.js +4654 -0
  331. package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
  332. package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
  333. package/dist/esm/excel-parser/plugins/xlsx/numfmt.js +3 -0
  334. package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
  335. package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
  336. package/dist/esm/excel-parser/plugins/xlsx/pivots.js +254 -0
  337. package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
  338. package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
  339. package/dist/esm/excel-parser/plugins/xlsx/relationships.js +13 -0
  340. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
  341. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
  342. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +64 -0
  343. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +44 -0
  344. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
  345. package/dist/esm/excel-parser/plugins/xlsx/styles.js +1365 -0
  346. package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts +50 -0
  347. package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
  348. package/dist/esm/excel-parser/plugins/xlsx/theme.js +127 -0
  349. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
  350. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
  351. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.js +103 -0
  352. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
  353. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
  354. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.js +399 -0
  355. package/dist/esm/excel-parser/registry.d.ts +5 -0
  356. package/dist/esm/excel-parser/registry.d.ts.map +1 -0
  357. package/dist/esm/excel-parser/registry.js +20 -0
  358. package/dist/esm/excel-parser/style-registry.d.ts +51 -0
  359. package/dist/esm/excel-parser/style-registry.d.ts.map +1 -0
  360. package/dist/esm/excel-parser/style-registry.js +163 -0
  361. package/dist/esm/excel-parser/theme-default.d.ts +3 -0
  362. package/dist/esm/excel-parser/theme-default.d.ts.map +1 -0
  363. package/dist/esm/excel-parser/theme-default.js +19 -0
  364. package/dist/esm/excel-parser/types.d.ts +365 -0
  365. package/dist/esm/excel-parser/types.d.ts.map +1 -0
  366. package/dist/esm/excel-parser/types.js +59 -0
  367. package/dist/esm/excel-parser/utils.d.ts +6 -0
  368. package/dist/esm/excel-parser/utils.d.ts.map +1 -0
  369. package/dist/esm/excel-parser/utils.js +25 -0
  370. package/dist/esm/excel-parser/workbook.d.ts +51 -0
  371. package/dist/esm/excel-parser/workbook.d.ts.map +1 -0
  372. package/dist/esm/excel-parser/workbook.js +192 -0
  373. package/dist/esm/excel-parser/worker.d.ts +2 -0
  374. package/dist/esm/excel-parser/worker.d.ts.map +1 -0
  375. package/dist/esm/excel-parser/worker.js +862 -0
  376. package/dist/esm/excel-parser/zip-parser-streaming.d.ts +13 -0
  377. package/dist/esm/excel-parser/zip-parser-streaming.d.ts.map +1 -0
  378. package/dist/esm/excel-parser/zip-parser-streaming.js +119 -0
  379. package/dist/esm/excel-parser/zip-parser.d.ts +11 -0
  380. package/dist/esm/excel-parser/zip-parser.d.ts.map +1 -0
  381. package/dist/esm/excel-parser/zip-parser.js +43 -0
  382. package/dist/esm/exporter/invalid-data-validation.d.ts +19 -0
  383. package/dist/esm/exporter/invalid-data-validation.d.ts.map +1 -0
  384. package/dist/esm/exporter/invalid-data-validation.js +37 -0
  385. package/dist/esm/exporter/ods/ods-export.d.ts +26 -0
  386. package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -0
  387. package/dist/esm/exporter/ods/ods-export.js +3238 -0
  388. package/dist/esm/exporter/ods/sparkline-builder.d.ts +33 -0
  389. package/dist/esm/exporter/ods/sparkline-builder.d.ts.map +1 -0
  390. package/dist/esm/exporter/ods/sparkline-builder.js +165 -0
  391. package/dist/esm/exporter/xlsx/chart-builder.d.ts +3 -0
  392. package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -0
  393. package/dist/esm/exporter/xlsx/chart-builder.js +1805 -0
  394. package/dist/esm/exporter/xlsx/chart-templates.d.ts +1781 -0
  395. package/dist/esm/exporter/xlsx/chart-templates.d.ts.map +1 -0
  396. package/dist/esm/exporter/xlsx/chart-templates.js +1798 -0
  397. package/dist/esm/exporter/xlsx/future-functions.d.ts +10 -0
  398. package/dist/esm/exporter/xlsx/future-functions.d.ts.map +1 -0
  399. package/dist/esm/exporter/xlsx/future-functions.js +264 -0
  400. package/dist/esm/exporter/xlsx/pivot-builder.d.ts +58 -0
  401. package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -0
  402. package/dist/esm/exporter/xlsx/pivot-builder.js +230 -0
  403. package/dist/esm/exporter/xlsx/power-query-builder.d.ts +26 -0
  404. package/dist/esm/exporter/xlsx/power-query-builder.d.ts.map +1 -0
  405. package/dist/esm/exporter/xlsx/power-query-builder.js +257 -0
  406. package/dist/esm/exporter/xlsx/slicer-builder.d.ts +11 -0
  407. package/dist/esm/exporter/xlsx/slicer-builder.d.ts.map +1 -0
  408. package/dist/esm/exporter/xlsx/slicer-builder.js +84 -0
  409. package/dist/esm/exporter/xlsx/sparkline-builder.d.ts +61 -0
  410. package/dist/esm/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
  411. package/dist/esm/exporter/xlsx/sparkline-builder.js +437 -0
  412. package/dist/esm/exporter/xlsx/style-builder.d.ts +93 -0
  413. package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -0
  414. package/dist/esm/exporter/xlsx/style-builder.js +795 -0
  415. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
  416. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
  417. package/dist/esm/exporter/xlsx/threaded-comments-builder.js +175 -0
  418. package/dist/esm/exporter/xlsx/xlsx-export.d.ts +121 -0
  419. package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -0
  420. package/dist/esm/exporter/xlsx/xlsx-export.js +4062 -0
  421. package/dist/esm/helpers/theme-xml-generator.d.ts +8 -0
  422. package/dist/esm/helpers/theme-xml-generator.d.ts.map +1 -0
  423. package/dist/esm/helpers/theme-xml-generator.js +33 -0
  424. package/dist/esm/helpers.d.ts +34 -0
  425. package/dist/esm/helpers.d.ts.map +1 -0
  426. package/dist/esm/helpers.js +182 -0
  427. package/dist/esm/index.d.ts +16 -0
  428. package/dist/esm/index.d.ts.map +1 -0
  429. package/dist/esm/index.js +15 -0
  430. package/dist/esm/indexed-colors.d.ts +2 -0
  431. package/dist/esm/indexed-colors.d.ts.map +1 -0
  432. package/dist/esm/indexed-colors.js +75 -0
  433. package/dist/esm/ods-export.d.ts +24 -0
  434. package/dist/esm/ods-export.d.ts.map +1 -0
  435. package/dist/esm/ods-export.js +12 -0
  436. package/dist/esm/parse.d.ts +24 -0
  437. package/dist/esm/parse.d.ts.map +1 -0
  438. package/dist/esm/parse.js +55 -0
  439. package/dist/esm/power-query.d.ts +41 -0
  440. package/dist/esm/power-query.d.ts.map +1 -0
  441. package/dist/esm/power-query.js +19 -0
  442. package/dist/esm/server.d.ts +9 -0
  443. package/dist/esm/server.d.ts.map +1 -0
  444. package/dist/esm/server.js +8 -0
  445. package/dist/esm/theme1.d.ts +3 -0
  446. package/dist/esm/theme1.d.ts.map +1 -0
  447. package/dist/esm/theme1.js +2 -0
  448. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  449. package/dist/esm/types.d.ts +14 -0
  450. package/dist/esm/types.d.ts.map +1 -0
  451. package/dist/esm/types.js +14 -0
  452. package/dist/esm/vitest.config.d.ts +3 -0
  453. package/dist/esm/vitest.config.d.ts.map +1 -0
  454. package/dist/esm/vitest.config.js +16 -0
  455. package/package.json +62 -0
  456. package/xlsx.d.ts +52 -0
@@ -0,0 +1,50 @@
1
+ import type { SpreadsheetTheme, ThemeColors } from "@rowsncolumns/spreadsheet";
2
+ /**
3
+ * Fonts extracted from a workbook theme's `<a:fontScheme>`.
4
+ *
5
+ * `primaryFontFamily` is the body (minor) typeface — the font Excel uses
6
+ * for regular cells — and `headingFontFamily` is the heading (major)
7
+ * typeface. Both are always populated (falling back to the Office
8
+ * defaults, Calibri body / Cambria headings). `majorFontFamily` /
9
+ * `minorFontFamily` carry the RAW typefaces and stay `undefined` when the
10
+ * theme doesn't declare them, so scheme-font resolution can distinguish
11
+ * "theme says X" from "no theme — leave unresolved".
12
+ */
13
+ export type ExtractedThemeFonts = {
14
+ name: string;
15
+ primaryFontFamily: string;
16
+ headingFontFamily: string;
17
+ majorFontFamily?: string;
18
+ minorFontFamily?: string;
19
+ };
20
+ /**
21
+ * Extract theme fonts from theme XML
22
+ * @param themeXml Parsed theme XML content
23
+ * @returns Font information
24
+ */
25
+ export declare function extractThemeFonts(themeXml: any): ExtractedThemeFonts;
26
+ /**
27
+ * Function to extract theme colors from Excel theme XML file
28
+ * @param themeXml Parsed theme XML content
29
+ * @returns An object containing the theme colors
30
+ */
31
+ export declare function extractThemeColors(themeXml: any, defaultTheme: SpreadsheetTheme): Record<string, string> | {
32
+ hyperlink: string;
33
+ text1: string;
34
+ text2: string;
35
+ background1: string;
36
+ background2: string;
37
+ accent1: string;
38
+ accent2: string;
39
+ accent3: string;
40
+ accent4: string;
41
+ accent5: string;
42
+ accent6: string;
43
+ };
44
+ /**
45
+ * Generate dark theme colors based on light theme colors
46
+ * @param themeColors Light theme colors
47
+ * @returns Dark theme color variants
48
+ */
49
+ export declare function generateDarkThemeColors(themeColors: Record<ThemeColors, string>): Partial<Record<ThemeColors, string>>;
50
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI/E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,mBAAmB,CAyBpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,gBAAgB;;;;;;;;;;;;EA4E/B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAuBtC"}
@@ -0,0 +1,150 @@
1
+ import { __assign, __read, __values } from "tslib";
2
+ import { lightenColor } from "@rowsncolumns/utils";
3
+ import { get } from "lodash-es";
4
+ /**
5
+ * Extract theme fonts from theme XML
6
+ * @param themeXml Parsed theme XML content
7
+ * @returns Font information
8
+ */
9
+ export function extractThemeFonts(themeXml) {
10
+ var _a;
11
+ var fontScheme = get(themeXml, "a:theme.a:themeElements.a:fontScheme");
12
+ if (!fontScheme) {
13
+ return {
14
+ name: "",
15
+ primaryFontFamily: "Calibri",
16
+ headingFontFamily: "Cambria",
17
+ };
18
+ }
19
+ // Get font scheme name
20
+ var name = ((_a = fontScheme.a$) === null || _a === void 0 ? void 0 : _a.name) || "";
21
+ var majorFontFamily = get(fontScheme, "a:majorFont.a:latin.a$.typeface") || undefined;
22
+ var minorFontFamily = get(fontScheme, "a:minorFont.a:latin.a$.typeface") || undefined;
23
+ return {
24
+ name: name,
25
+ primaryFontFamily: minorFontFamily || majorFontFamily || "Calibri",
26
+ headingFontFamily: majorFontFamily || minorFontFamily || "Cambria",
27
+ majorFontFamily: majorFontFamily,
28
+ minorFontFamily: minorFontFamily,
29
+ };
30
+ }
31
+ /**
32
+ * Function to extract theme colors from Excel theme XML file
33
+ * @param themeXml Parsed theme XML content
34
+ * @returns An object containing the theme colors
35
+ */
36
+ export function extractThemeColors(themeXml, defaultTheme) {
37
+ var e_1, _a, e_2, _b;
38
+ // Initialize color scheme objects
39
+ var themeColors = {};
40
+ var colorScheme = get(themeXml, "a:theme.a:themeElements.a:clrScheme");
41
+ if (!colorScheme) {
42
+ console.warn("Could not find color scheme in theme file");
43
+ return themeColors;
44
+ }
45
+ // Map of Excel theme elements to color names
46
+ var colorElementMap = {
47
+ dk1: "text1",
48
+ lt1: "background1",
49
+ dk2: "text2",
50
+ lt2: "background2",
51
+ accent1: "accent1",
52
+ accent2: "accent2",
53
+ accent3: "accent3",
54
+ accent4: "accent4",
55
+ accent5: "accent5",
56
+ accent6: "accent6",
57
+ hlink: "hyperlink",
58
+ folHlink: "followedHyperlink",
59
+ };
60
+ try {
61
+ // Process each color element
62
+ for (var _c = __values(Object.entries(colorElementMap)), _d = _c.next(); !_d.done; _d = _c.next()) {
63
+ var _e = __read(_d.value, 2), excelElement = _e[0], themeColor = _e[1];
64
+ var colorElement = colorScheme["a:".concat(excelElement)];
65
+ if (!colorElement)
66
+ continue;
67
+ // Check different color types (srgbClr, sysClr, etc.)
68
+ if (colorElement["a:srgbClr"]) {
69
+ // RGB color value
70
+ themeColors[themeColor] = "#".concat(colorElement["a:srgbClr"].a$.val);
71
+ }
72
+ else if (colorElement["a:sysClr"]) {
73
+ // System color value
74
+ themeColors[themeColor] = "#".concat(colorElement["a:sysClr"].a$.lastClr || colorElement["a:sysClr"].a$.val);
75
+ }
76
+ else if (colorElement["a:scrgbClr"]) {
77
+ // SCRGB color (percentage RGB)
78
+ var r = Math.round((parseInt(colorElement["a:scrgbClr"].a$.r, 10) * 255) / 100)
79
+ .toString(16)
80
+ .padStart(2, "0");
81
+ var g = Math.round((parseInt(colorElement["a:scrgbClr"].a$.g, 10) * 255) / 100)
82
+ .toString(16)
83
+ .padStart(2, "0");
84
+ var b = Math.round((parseInt(colorElement["a:scrgbClr"].a$.b, 10) * 255) / 100)
85
+ .toString(16)
86
+ .padStart(2, "0");
87
+ themeColors[themeColor] = "#".concat(r).concat(g).concat(b);
88
+ }
89
+ else if (colorElement["a:prstClr"]) {
90
+ // Preset color
91
+ themeColors[themeColor] = "#000000"; // Default to black for preset colors without additional processing
92
+ }
93
+ }
94
+ }
95
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
96
+ finally {
97
+ try {
98
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
99
+ }
100
+ finally { if (e_1) throw e_1.error; }
101
+ }
102
+ // Ensure all required colors are present, use defaults for missing colors
103
+ var newThemeColors = __assign({}, defaultTheme.themeColors);
104
+ try {
105
+ // Override defaults with extracted colors
106
+ for (var _f = __values(Object.entries(themeColors)), _g = _f.next(); !_g.done; _g = _f.next()) {
107
+ var _h = __read(_g.value, 2), key = _h[0], value = _h[1];
108
+ if (key in themeColors) {
109
+ newThemeColors[key] = value;
110
+ }
111
+ }
112
+ }
113
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
114
+ finally {
115
+ try {
116
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
117
+ }
118
+ finally { if (e_2) throw e_2.error; }
119
+ }
120
+ return newThemeColors;
121
+ }
122
+ /**
123
+ * Generate dark theme colors based on light theme colors
124
+ * @param themeColors Light theme colors
125
+ * @returns Dark theme color variants
126
+ */
127
+ export function generateDarkThemeColors(themeColors) {
128
+ var darkThemeColors = {};
129
+ // Invert background and text colors
130
+ if (themeColors.background1)
131
+ darkThemeColors.background1 = themeColors.text1;
132
+ if (themeColors.text1)
133
+ darkThemeColors.text1 = themeColors.background1;
134
+ if (themeColors.background2)
135
+ darkThemeColors.background2 = themeColors.text2;
136
+ if (themeColors.text2)
137
+ darkThemeColors.text2 = themeColors.background2;
138
+ // Lighten accent colors by 15% for dark mode
139
+ for (var i = 1; i <= 6; i++) {
140
+ var accentKey = "accent".concat(i);
141
+ if (themeColors[accentKey]) {
142
+ darkThemeColors[accentKey] = lightenColor(0.15, themeColors[accentKey]);
143
+ }
144
+ }
145
+ // Lighten hyperlink color
146
+ if (themeColors.hyperlink) {
147
+ darkThemeColors.hyperlink = lightenColor(0.2, themeColors.hyperlink);
148
+ }
149
+ return darkThemeColors;
150
+ }
@@ -0,0 +1,47 @@
1
+ import type { CommentThread } from "@rowsncolumns/common-types";
2
+ /**
3
+ * Import-side counterpart of `exporter/xlsx/threaded-comments-builder.ts`.
4
+ *
5
+ * Modern threaded comments (Excel's "Comments" sidebar) live in three
6
+ * coordinated parts:
7
+ *
8
+ * 1. `xl/threadedComments/threadedComment{N}.xml` — per-sheet ordered
9
+ * messages. The first message of a thread is the root; replies carry
10
+ * `parentId` = the root's id.
11
+ * 2. `xl/persons/person.xml` — workbook-level author list, referenced by
12
+ * each message's `personId`.
13
+ * 3. A down-level legacy mirror in `xl/comments{N}.xml` whose author is
14
+ * the sentinel `tc={rootGuid}` and whose text starts with the
15
+ * "[Threaded comment]" boilerplate. Importers that understand the
16
+ * threaded part must skip the mirror or every thread doubles up as a
17
+ * plain note.
18
+ *
19
+ * These helpers are pure functions over fast-xml-parser output in the
20
+ * plugin's `XMLOptions2` shape (attributes grouped under `a$`, text nodes
21
+ * under `t$`).
22
+ */
23
+ /** personId GUID → author identity from `xl/persons/person.xml`. */
24
+ export type ParsedPersons = Map<string, {
25
+ displayName: string;
26
+ userId: string;
27
+ }>;
28
+ export type SheetThreadedComments = {
29
+ threads: CommentThread[];
30
+ /** Root cell address (e.g. "A1") → id of the thread anchored there. */
31
+ threadIdByAddress: Map<string, string>;
32
+ };
33
+ export declare const EMPTY_SHEET_THREADED_COMMENTS: SheetThreadedComments;
34
+ /** Parse `xl/persons/person.xml` (already run through fast-xml-parser). */
35
+ export declare const parsePersons: (parsed: any) => ParsedPersons;
36
+ /**
37
+ * Parse one sheet's `xl/threadedComments/threadedComment{N}.xml` part into
38
+ * the exporter's model: workbook-level {@link CommentThread}s plus the cell
39
+ * anchor of each thread's root (cells reference threads via
40
+ * `commentThreadId`, so placement rides on the cell — never on the thread).
41
+ *
42
+ * Messages keep document order (Excel writes roots before their replies).
43
+ * A reply whose `parentId` doesn't resolve is promoted to its own thread
44
+ * rather than dropped.
45
+ */
46
+ export declare const parseThreadedComments: (parsed: any, persons: ParsedPersons) => SheetThreadedComments;
47
+ //# sourceMappingURL=threaded-comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threaded-comments.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/threaded-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,uEAAuE;IACvE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,qBAG3C,CAAC;AA6BF,2EAA2E;AAC3E,eAAO,MAAM,YAAY,GAAI,QAAQ,GAAG,KAAG,aAe1C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,GAAG,EACX,SAAS,aAAa,KACrB,qBAsDF,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { __values } from "tslib";
2
+ import { get } from "lodash-es";
3
+ export var EMPTY_SHEET_THREADED_COMMENTS = {
4
+ threads: [],
5
+ threadIdByAddress: new Map(),
6
+ };
7
+ var toArray = function (value) {
8
+ return Array.isArray(value) ? value : value == null ? [] : [value];
9
+ };
10
+ var pick = function (source, paths) {
11
+ var e_1, _a;
12
+ try {
13
+ for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {
14
+ var path = paths_1_1.value;
15
+ var value = get(source, path);
16
+ if (value !== undefined) {
17
+ return value;
18
+ }
19
+ }
20
+ }
21
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
22
+ finally {
23
+ try {
24
+ if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);
25
+ }
26
+ finally { if (e_1) throw e_1.error; }
27
+ }
28
+ return undefined;
29
+ };
30
+ /** Flatten a parsed element's text content (`"x"`, `{ t$: "x" }`, …). */
31
+ var textOf = function (node) {
32
+ if (typeof node === "string") {
33
+ return node;
34
+ }
35
+ if (node && typeof node === "object") {
36
+ var inner = pick(node, ["t$", "_", "#text"]);
37
+ if (typeof inner === "string") {
38
+ return inner;
39
+ }
40
+ }
41
+ return "";
42
+ };
43
+ /** Parse `xl/persons/person.xml` (already run through fast-xml-parser). */
44
+ export var parsePersons = function (parsed) {
45
+ var e_2, _a;
46
+ var _b, _c;
47
+ var persons = new Map();
48
+ var list = toArray(pick(parsed, ["personList.person", "x:personList.x:person"]));
49
+ try {
50
+ for (var list_1 = __values(list), list_1_1 = list_1.next(); !list_1_1.done; list_1_1 = list_1.next()) {
51
+ var person = list_1_1.value;
52
+ var attrs = person === null || person === void 0 ? void 0 : person.a$;
53
+ var id = attrs === null || attrs === void 0 ? void 0 : attrs.id;
54
+ if (!id)
55
+ continue;
56
+ persons.set(String(id), {
57
+ displayName: String((_b = attrs.displayName) !== null && _b !== void 0 ? _b : "").trim() || "Unknown",
58
+ userId: String((_c = attrs.userId) !== null && _c !== void 0 ? _c : "").trim(),
59
+ });
60
+ }
61
+ }
62
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
63
+ finally {
64
+ try {
65
+ if (list_1_1 && !list_1_1.done && (_a = list_1.return)) _a.call(list_1);
66
+ }
67
+ finally { if (e_2) throw e_2.error; }
68
+ }
69
+ return persons;
70
+ };
71
+ /**
72
+ * Parse one sheet's `xl/threadedComments/threadedComment{N}.xml` part into
73
+ * the exporter's model: workbook-level {@link CommentThread}s plus the cell
74
+ * anchor of each thread's root (cells reference threads via
75
+ * `commentThreadId`, so placement rides on the cell — never on the thread).
76
+ *
77
+ * Messages keep document order (Excel writes roots before their replies).
78
+ * A reply whose `parentId` doesn't resolve is promoted to its own thread
79
+ * rather than dropped.
80
+ */
81
+ export var parseThreadedComments = function (parsed, persons) {
82
+ var e_3, _a;
83
+ var _b, _c;
84
+ var entries = toArray(pick(parsed, [
85
+ "ThreadedComments.threadedComment",
86
+ "x:ThreadedComments.x:threadedComment",
87
+ ]));
88
+ if (entries.length === 0) {
89
+ return EMPTY_SHEET_THREADED_COMMENTS;
90
+ }
91
+ var threads = [];
92
+ var threadById = new Map();
93
+ var threadIdByAddress = new Map();
94
+ var fallbackId = 0;
95
+ try {
96
+ for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
97
+ var entry = entries_1_1.value;
98
+ var attrs = entry === null || entry === void 0 ? void 0 : entry.a$;
99
+ if (!attrs)
100
+ continue;
101
+ var id = attrs.id ? String(attrs.id) : "imported-tc-".concat(fallbackId++);
102
+ var person = attrs.personId
103
+ ? persons.get(String(attrs.personId))
104
+ : undefined;
105
+ var message = {
106
+ id: id,
107
+ text: textOf(pick(entry, ["text", "x:text"])),
108
+ authorId: (_b = person === null || person === void 0 ? void 0 : person.userId) !== null && _b !== void 0 ? _b : "",
109
+ authorName: (_c = person === null || person === void 0 ? void 0 : person.displayName) !== null && _c !== void 0 ? _c : "Unknown",
110
+ };
111
+ if (attrs.dT) {
112
+ message.createdAtISO = String(attrs.dT);
113
+ }
114
+ var parentId = attrs.parentId ? String(attrs.parentId) : undefined;
115
+ var parent_1 = parentId ? threadById.get(parentId) : undefined;
116
+ if (parent_1) {
117
+ parent_1.messages.push(message);
118
+ continue;
119
+ }
120
+ // Root message — or an orphaned reply promoted to a root so it isn't lost.
121
+ var thread = { id: id, messages: [message] };
122
+ if (attrs.done === "1" || attrs.done === "true") {
123
+ thread.resolved = true;
124
+ }
125
+ threads.push(thread);
126
+ threadById.set(id, thread);
127
+ var ref = attrs.ref ? String(attrs.ref) : undefined;
128
+ if (ref && !threadIdByAddress.has(ref)) {
129
+ threadIdByAddress.set(ref, id);
130
+ }
131
+ }
132
+ }
133
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
134
+ finally {
135
+ try {
136
+ if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
137
+ }
138
+ finally { if (e_3) throw e_3.error; }
139
+ }
140
+ return { threads: threads, threadIdByAddress: threadIdByAddress };
141
+ };
@@ -0,0 +1,44 @@
1
+ import type { ErrorValue, ExtendedValue, NumberFormatType } from "@rowsncolumns/spreadsheet";
2
+ export type ValueType = keyof ExtendedValue;
3
+ export declare const pattern_percent = "0%";
4
+ export declare const pattern_percent_decimal = "0.00%";
5
+ export declare const pattern_currency = "\"$\"#,##0";
6
+ export declare const pattern_currency_decimal = "\"$\"#,##0.00";
7
+ export declare const date_pattern = "mm/dd/yyyy";
8
+ export declare const time_pattern_base = "hh:mm:ss";
9
+ export declare const time_pattern = "hh:mm:ss AM/PM";
10
+ export declare const time_pattern_short = "h:mm AM/PM";
11
+ export interface DateParts {
12
+ year: number;
13
+ month: number;
14
+ day: number;
15
+ hour?: number;
16
+ minute?: number;
17
+ second?: number;
18
+ }
19
+ export interface ValidDateResult {
20
+ format: string;
21
+ parts: DateParts;
22
+ }
23
+ export declare const isCurrency: (value: string | number | boolean | Date | undefined) => boolean;
24
+ export declare const isBoolean: (value: any) => boolean;
25
+ export declare const isPercentage: (value: string | number | boolean | Date | undefined) => boolean;
26
+ export declare const cleanNumberValue: (value: string | number | boolean | Date | undefined | null) => string;
27
+ export declare const convertToNumber: (text: string | number | boolean | Date | undefined) => number;
28
+ export declare const createNumberValue: (value: string | number | boolean | Date | undefined, numFormatType: NumberFormatType | undefined, locale: string | undefined) => number | undefined;
29
+ export declare const createDateValueFromNumber: (value: string | number | boolean | Date | undefined | ErrorValue) => string | boolean | Date | ErrorValue | undefined;
30
+ export declare const isNumber: (value: any) => value is number;
31
+ export declare const getDecimalPlaces: (value: string) => number;
32
+ export declare const detectDecimalPattern: (value: string | number | boolean | Date | undefined, defaultPattern?: string) => string;
33
+ export declare const changeDecimals: (pattern?: string | undefined, changeBy?: number, delta?: boolean) => string;
34
+ export declare const validateDate: (value: string | number | boolean | Date | undefined, locale: string | undefined) => ValidDateResult | undefined;
35
+ export declare const validateDateTime: (value: string | number | boolean | Date | undefined) => ValidDateResult | undefined;
36
+ export declare const detectDateFormatPattern: (value: string | number | boolean | Date | undefined, locale: string | undefined) => string | undefined;
37
+ export declare const detectDateTimeFormatPattern: (value: string | number | boolean | Date | undefined) => string | undefined;
38
+ export declare const detectNumberFormatType: (value: any, locale: string | undefined) => NumberFormatType | undefined;
39
+ export declare const detectNumberFormatPattern: (value: string | number | boolean | Date | undefined, numberValue: number | undefined, type: NumberFormatType | undefined, locale: string | undefined) => string | undefined;
40
+ export declare const detectValueType: (value: any, locale: string | undefined) => ValueType;
41
+ export declare const detectValueTypeAndPattern: (value: string | number | boolean | Date | undefined, locale: string | undefined) => [formatValue: keyof ExtendedValue, numFormatType?: NumberFormatType, numberValue?: number, pattern?: string];
42
+ export declare const isValidDate: (value: any, locale: string | undefined) => boolean;
43
+ export declare const isValidDateTime: (value: any) => boolean;
44
+ //# sourceMappingURL=value-type-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-type-detection.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/value-type-detection.ts"],"names":[],"mappings":"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"}