@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,8 @@
1
+ import type { SpreadsheetTheme } from "@rowsncolumns/spreadsheet";
2
+ /**
3
+ * Generates Excel theme XML from SpreadsheetTheme
4
+ * @param theme - The spreadsheet theme object
5
+ * @returns XML string for Excel theme
6
+ */
7
+ export declare function generateThemeXml(theme: SpreadsheetTheme): string;
8
+ //# sourceMappingURL=theme-xml-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-xml-generator.d.ts","sourceRoot":"","sources":["../../../helpers/theme-xml-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAWlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAqBhE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Converts a hex color to RGB format without the # prefix
3
+ * @param hexColor - Hex color string (e.g., "#5B9BD5")
4
+ * @returns RGB color string without # (e.g., "5B9BD5")
5
+ */
6
+ function hexToRgb(hexColor) {
7
+ return hexColor.replace("#", "").toUpperCase();
8
+ }
9
+ /**
10
+ * Generates Excel theme XML from SpreadsheetTheme
11
+ * @param theme - The spreadsheet theme object
12
+ * @returns XML string for Excel theme
13
+ */
14
+ export function generateThemeXml(theme) {
15
+ var name = theme.name, primaryFontFamily = theme.primaryFontFamily, themeColors = theme.themeColors;
16
+ // Heading (major) typeface. Themes imported before headingFontFamily
17
+ // existed carry only primaryFontFamily — write it to both slots, the
18
+ // prior behavior.
19
+ var headingFontFamily = theme.headingFontFamily || primaryFontFamily;
20
+ // Map theme colors to Excel color scheme elements
21
+ var text1 = hexToRgb(themeColors.text1 || "#000000");
22
+ var background1 = hexToRgb(themeColors.background1 || "#FFFFFF");
23
+ var text2 = hexToRgb(themeColors.text2 || "#44546A");
24
+ var background2 = hexToRgb(themeColors.background2 || "#E7E6E6");
25
+ var accent1 = hexToRgb(themeColors.accent1 || "#5B9BD5");
26
+ var accent2 = hexToRgb(themeColors.accent2 || "#ED7D31");
27
+ var accent3 = hexToRgb(themeColors.accent3 || "#A5A5A5");
28
+ var accent4 = hexToRgb(themeColors.accent4 || "#FFC000");
29
+ var accent5 = hexToRgb(themeColors.accent5 || "#4472C4");
30
+ var accent6 = hexToRgb(themeColors.accent6 || "#70AD47");
31
+ var hyperlink = hexToRgb(themeColors.hyperlink || "#0563C1");
32
+ return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" name=\"".concat(name, "\"><a:themeElements><a:clrScheme name=\"").concat(name, "\"><a:dk1><a:srgbClr val=\"").concat(text1, "\"/></a:dk1><a:lt1><a:srgbClr val=\"").concat(background1, "\"/></a:lt1><a:dk2><a:srgbClr val=\"").concat(text2, "\"/></a:dk2><a:lt2><a:srgbClr val=\"").concat(background2, "\"/></a:lt2><a:accent1><a:srgbClr val=\"").concat(accent1, "\"/></a:accent1><a:accent2><a:srgbClr val=\"").concat(accent2, "\"/></a:accent2><a:accent3><a:srgbClr val=\"").concat(accent3, "\"/></a:accent3><a:accent4><a:srgbClr val=\"").concat(accent4, "\"/></a:accent4><a:accent5><a:srgbClr val=\"").concat(accent5, "\"/></a:accent5><a:accent6><a:srgbClr val=\"").concat(accent6, "\"/></a:accent6><a:hlink><a:srgbClr val=\"").concat(hyperlink, "\"/></a:hlink><a:folHlink><a:srgbClr val=\"").concat(hyperlink, "\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"").concat(name, "\"><a:majorFont><a:latin typeface=\"").concat(headingFontFamily, "\"/><a:ea typeface=\"").concat(headingFontFamily, "\"/><a:cs typeface=\"").concat(headingFontFamily, "\"/></a:majorFont><a:minorFont><a:latin typeface=\"").concat(primaryFontFamily, "\"/><a:ea typeface=\"").concat(primaryFontFamily, "\"/><a:cs typeface=\"").concat(primaryFontFamily, "\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"").concat(name, "\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"110000\"/><a:satMod val=\"105000\"/><a:tint val=\"67000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"103000\"/><a:tint val=\"73000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"109000\"/><a:tint val=\"81000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:satMod val=\"103000\"/><a:lumMod val=\"102000\"/><a:tint val=\"94000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:satMod val=\"110000\"/><a:lumMod val=\"100000\"/><a:shade val=\"100000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"99000\"/><a:satMod val=\"120000\"/><a:shade val=\"78000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"6350\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"12700\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"19050\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"57150\" dist=\"19050\" dir=\"5400000\" algn=\"ctr\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"63000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:solidFill><a:schemeClr val=\"phClr\"><a:tint val=\"95000\"/><a:satMod val=\"170000\"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"93000\"/><a:satMod val=\"150000\"/><a:shade val=\"98000\"/><a:lumMod val=\"102000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:tint val=\"98000\"/><a:satMod val=\"130000\"/><a:shade val=\"90000\"/><a:lumMod val=\"103000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"63000\"/><a:satMod val=\"120000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements></a:theme>");
33
+ }
@@ -0,0 +1,34 @@
1
+ import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
2
+ export declare const formulaToRelativeReference: (formula: string | undefined, sourceCell: CellInterface, destinationCell: CellInterface, options?: {
3
+ exclusionRange?: GridRange;
4
+ ignoreCircular?: boolean;
5
+ }) => string | undefined;
6
+ export declare const imageUrlToBase64: (imageUrl: string) => Promise<string | undefined>;
7
+ export declare const createDownloadableFile: (filename: string, urlOrBlob: Blob | string) => string | Blob | undefined;
8
+ export declare const toArrayBuffer: (data: ArrayBuffer | Uint8Array) => ArrayBuffer;
9
+ export declare const charsToPixel: (chars: number) => number;
10
+ export declare const pixelToCharacters: (px: number) => number;
11
+ export declare const columnCharsToPixel: (chars: number) => number;
12
+ export declare const columnPixelToChars: (pixel: number) => number;
13
+ /**
14
+ * Get range from address reference with minimal processing
15
+ */
16
+ export declare function getRangeFromAddressRef(addressRef: string | undefined): {
17
+ startRowIndex: number;
18
+ startColumnIndex: number;
19
+ endRowIndex: number;
20
+ endColumnIndex: number;
21
+ } | undefined;
22
+ /**
23
+ * Checks if a File object is an Excel file
24
+ * @param file - The File object to check
25
+ * @returns boolean - true if the file is an Excel file, false otherwise
26
+ */
27
+ export declare function isExcelFile(file: File): boolean;
28
+ /**
29
+ * Checks if a File object is a CSV file
30
+ * @param file - The File object to check
31
+ * @returns boolean - true if the file is a CSV file, false otherwise
32
+ */
33
+ export declare function isCSVFile(file: File): boolean;
34
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA+B3E,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,GAAG,SAAS,EAC3B,YAAY,aAAa,EACzB,iBAAiB,aAAa,EAC9B,UAAU;IACR,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,KACA,MAAM,GAAG,SA8BX,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAiB5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,WAAW,IAAI,GAAG,MAAM,8BAazB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,WAAW,GAAG,UAAU,KAAG,WAO9D,CAAC;AAIF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAAiC,CAAC;AAC5E,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,WAA+B,CAAC;AAoB5E,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,WACrB,CAAC;AAE5B,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,WAClB,CAAC;AAE/B;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;;;;;cAwBpE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAsB/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAe7C"}
@@ -0,0 +1,189 @@
1
+ import { __awaiter, __generator, __read } from "tslib";
2
+ import { addressToCell, canUseDOM } from "@rowsncolumns/utils";
3
+ // ---- Formula helpers ----
4
+ import { alpha2number, number2Alpha } from "@rowsncolumns/utils";
5
+ var CELL_ADDR_RE = /(?:'[^']+'!?|[^'!\s]+!?)?(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/g;
6
+ var parseAddr = function (addr) {
7
+ var m = /^(\$?)([A-Z]+)(\$?)(\d+)$/.exec(addr);
8
+ if (!m)
9
+ return null;
10
+ var _a = __read(m, 5), absCol = _a[1], colAlpha = _a[2], absRow = _a[3], rowStr = _a[4];
11
+ return {
12
+ col: alpha2number(colAlpha),
13
+ row: parseInt(rowStr, 10),
14
+ absCol: absCol === "$",
15
+ absRow: absRow === "$",
16
+ };
17
+ };
18
+ var formatAddr = function (row, col, absCol, absRow) {
19
+ var colAlpha = number2Alpha(Math.max(0, col - 1));
20
+ var rowNum = Math.max(1, row);
21
+ return "".concat(absCol ? "$" : "").concat(colAlpha).concat(absRow ? "$" : "").concat(rowNum);
22
+ };
23
+ export var formulaToRelativeReference = function (formula, sourceCell, destinationCell, options) {
24
+ if (!formula)
25
+ return formula;
26
+ if (sourceCell.rowIndex === destinationCell.rowIndex &&
27
+ sourceCell.columnIndex === destinationCell.columnIndex) {
28
+ return formula;
29
+ }
30
+ var dRow = destinationCell.rowIndex - sourceCell.rowIndex;
31
+ var dCol = destinationCell.columnIndex - sourceCell.columnIndex;
32
+ return formula.replace(CELL_ADDR_RE, function (match, left, right) {
33
+ // Only adjust the A1 parts, keep any sheet prefixes as-is
34
+ var adjustOne = function (addr) {
35
+ var p = parseAddr(addr);
36
+ if (!p)
37
+ return addr;
38
+ var newRow = p.absRow ? p.row : p.row + dRow;
39
+ var newCol = p.absCol ? p.col : p.col + dCol;
40
+ return formatAddr(newRow, newCol, p.absCol, p.absRow);
41
+ };
42
+ if (right) {
43
+ // Range A1:B2
44
+ var leftAdjusted = adjustOne(left);
45
+ var rightAdjusted = adjustOne(right);
46
+ return match.replace(left, leftAdjusted).replace(right, rightAdjusted);
47
+ }
48
+ var singleAdjusted = adjustOne(left);
49
+ return match.replace(left, singleAdjusted);
50
+ });
51
+ };
52
+ export var imageUrlToBase64 = function (imageUrl) { return __awaiter(void 0, void 0, void 0, function () {
53
+ return __generator(this, function (_a) {
54
+ return [2 /*return*/, new Promise(function (resolve, reject) {
55
+ var xhr = new XMLHttpRequest();
56
+ xhr.onload = function () {
57
+ var reader = new FileReader();
58
+ reader.onloadend = function () {
59
+ resolve(reader.result);
60
+ };
61
+ reader.readAsDataURL(xhr.response);
62
+ };
63
+ xhr.onerror = function () {
64
+ reject();
65
+ };
66
+ xhr.open("GET", imageUrl);
67
+ xhr.responseType = "blob";
68
+ xhr.send();
69
+ })];
70
+ });
71
+ }); };
72
+ export var createDownloadableFile = function (filename, urlOrBlob) {
73
+ if (!canUseDOM) {
74
+ return urlOrBlob;
75
+ }
76
+ var url = urlOrBlob instanceof Blob
77
+ ? window.URL.createObjectURL(urlOrBlob)
78
+ : urlOrBlob;
79
+ var anchor = document.createElement("a");
80
+ anchor.href = url;
81
+ anchor.download = filename;
82
+ anchor.dispatchEvent(new MouseEvent("click"));
83
+ };
84
+ export var toArrayBuffer = function (data) {
85
+ if (data instanceof Uint8Array) {
86
+ var bytes = new Uint8Array(data.byteLength);
87
+ bytes.set(data);
88
+ return bytes.buffer;
89
+ }
90
+ return data;
91
+ };
92
+ // 10 = 65 pixels
93
+ export var charsToPixel = function (chars) { return Math.ceil((96 / 72) * chars); };
94
+ export var pixelToCharacters = function (px) { return Math.floor((72 / 96) * px); };
95
+ // 33.25 (excels) = 265 (google sheets)
96
+ // export const dimensionToPixel = (chWidth: number) =>
97
+ // Math.ceil((265 / 33.25) * chWidth);
98
+ // export const pixelToDimension = (chWidth: number) =>
99
+ // Math.ceil((33.25 / 265) * chWidth);
100
+ // // const dimensionToPixel = (chWidth: number) => (72 / 30) * chWidth;
101
+ // Excel column-width / pixel conversion. Excel's rendered column box
102
+ // includes a 5-pixel padding around the MDW (max-digit-width, 7 px for
103
+ // Calibri 11), so the default width 8.43 renders at 64 px (8.43 × 7 + 5).
104
+ // We keep the +5 padding form so a round-trip pixels → width → pixels is
105
+ // an identity for the values Excel itself produces.
106
+ //
107
+ // pixels = floor(widthChars × 7 + 5)
108
+ // widthChars = (pixels − 5) / 7
109
+ //
110
+ // The "pure" ECMA-376 §18.3.1.13 formula omits the 5px padding and gives
111
+ // 59 for default-width columns instead of Excel's actual 64.
112
+ export var columnCharsToPixel = function (chars) {
113
+ return Math.floor(chars * 7 + 5);
114
+ };
115
+ export var columnPixelToChars = function (pixel) {
116
+ return Math.max(0, (pixel - 5) / 7);
117
+ };
118
+ /**
119
+ * Get range from address reference with minimal processing
120
+ */
121
+ export function getRangeFromAddressRef(addressRef) {
122
+ if (!addressRef)
123
+ return undefined;
124
+ try {
125
+ var cleanAddress = addressRef.replace(/\$/gi, "");
126
+ var _a = __read(cleanAddress.split(":"), 2), from = _a[0], to = _a[1];
127
+ var topBound = addressToCell(from);
128
+ if (!topBound)
129
+ return undefined;
130
+ // If no "to" part exists (single cell), use the same cell for both start and end
131
+ var bottomBound = to ? addressToCell(to) : topBound;
132
+ if (!bottomBound)
133
+ return undefined;
134
+ return {
135
+ startRowIndex: topBound.rowIndex,
136
+ startColumnIndex: topBound.columnIndex,
137
+ endRowIndex: bottomBound.rowIndex,
138
+ endColumnIndex: bottomBound.columnIndex,
139
+ };
140
+ }
141
+ catch (err) {
142
+ console.warn("Error parsing address reference:", err);
143
+ return undefined;
144
+ }
145
+ }
146
+ /**
147
+ * Checks if a File object is an Excel file
148
+ * @param file - The File object to check
149
+ * @returns boolean - true if the file is an Excel file, false otherwise
150
+ */
151
+ export function isExcelFile(file) {
152
+ var excelMimeTypes = [
153
+ "application/vnd.ms-excel", // .xls
154
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // .xlsx
155
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12", // .xlsb
156
+ "application/vnd.ms-excel.sheet.macroenabled.12", // .xlsm
157
+ "application/vnd.ms-excel.template.macroenabled.12", // .xltm
158
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template", // .xltx
159
+ "application/vnd.oasis.opendocument.spreadsheet", // ods
160
+ ];
161
+ var excelExtensions = [".xls", ".xlsx", ".xlsb", ".xlsm", ".xltx", ".xltm"];
162
+ var fileType = file.type.toLowerCase();
163
+ // Check MIME type first
164
+ if (excelMimeTypes.includes(fileType)) {
165
+ return true;
166
+ }
167
+ // Fallback to file extension check (in case MIME type is not set correctly)
168
+ var fileName = file.name.toLowerCase();
169
+ return excelExtensions.some(function (ext) { return fileName.endsWith(ext); });
170
+ }
171
+ /**
172
+ * Checks if a File object is a CSV file
173
+ * @param file - The File object to check
174
+ * @returns boolean - true if the file is a CSV file, false otherwise
175
+ */
176
+ export function isCSVFile(file) {
177
+ var csvMimeTypes = [
178
+ "text/csv",
179
+ "application/csv",
180
+ "text/comma-separated-values",
181
+ ];
182
+ // Check MIME type first
183
+ if (csvMimeTypes.includes(file.type)) {
184
+ return true;
185
+ }
186
+ // Fallback to file extension check
187
+ var fileName = file.name.toLowerCase();
188
+ return fileName.endsWith(".csv");
189
+ }
@@ -0,0 +1,16 @@
1
+ export { createRowDataFromCSVFile, createRowDataFromCSVString, createCellDataArrayFromCSVString, parseCSV, } from "./csv-import";
2
+ export { createCSVFromSheetData, exportToCSV } from "./csv-export";
3
+ export { createRowDataFromFile, readImageFileAsDataUri, getImageDimensionsFromUrl, SUPPORTED_FILE_TYPES, } from "./parse";
4
+ export { exportToExcel } from "./excel-export";
5
+ export { createExcelFile } from "./exporter/xlsx/xlsx-export";
6
+ export { createODSFile, exportToODS } from "./ods-export";
7
+ export { createDownloadableFile, isCSVFile, isExcelFile } from "./helpers";
8
+ export { createExcelImportWorker } from "./excel-import-worker";
9
+ export { createExcelImportSession, type ExcelImportSession, type ExcelSessionLoadSheetOptions, type ExcelSessionOpenResult, type ExcelSessionOpenSuccess, type ExcelSessionPasswordRequired, type ExcelSessionSheetChunk, type ExcelSessionSheetComplete, } from "./excel-import-session";
10
+ export { createCSVImportWorker } from "./csv-import-worker";
11
+ export { RequestType, ResponseType, type WorkerRequest, type WorkerResponse, type ExternalLink, type SheetCatalogEntry, } from "./excel-parser/types";
12
+ export { CsvRequestType, CsvResponseType, type CsvWorkerRequest, type CsvWorkerResponse, } from "./csv-parser/types";
13
+ export { readExcelFile } from "./excel-parser/helpers";
14
+ export { WorkBook } from "./excel-parser/workbook";
15
+ export { hasPowerQueryParts, type PowerQueryCustomXmlItem, type PowerQueryParts, type PowerQueryTable, type PowerQueryTableColumn, } from "./power-query";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ export { createRowDataFromCSVFile, createRowDataFromCSVString, createCellDataArrayFromCSVString, parseCSV, } from "./csv-import";
2
+ export { createCSVFromSheetData, exportToCSV } from "./csv-export";
3
+ export { createRowDataFromFile, readImageFileAsDataUri, getImageDimensionsFromUrl, SUPPORTED_FILE_TYPES, } from "./parse";
4
+ export { exportToExcel } from "./excel-export";
5
+ export { createExcelFile } from "./exporter/xlsx/xlsx-export";
6
+ export { createODSFile, exportToODS } from "./ods-export";
7
+ export { createDownloadableFile, isCSVFile, isExcelFile } from "./helpers";
8
+ export { createExcelImportWorker } from "./excel-import-worker";
9
+ export { createExcelImportSession, } from "./excel-import-session";
10
+ export { createCSVImportWorker } from "./csv-import-worker";
11
+ export { RequestType, ResponseType, } from "./excel-parser/types";
12
+ export { CsvRequestType, CsvResponseType, } from "./csv-parser/types";
13
+ export { readExcelFile } from "./excel-parser/helpers";
14
+ export { WorkBook } from "./excel-parser/workbook";
15
+ export { hasPowerQueryParts, } from "./power-query";
@@ -0,0 +1,2 @@
1
+ export declare const IndexedColors: readonly string[];
2
+ //# sourceMappingURL=indexed-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexed-colors.d.ts","sourceRoot":"","sources":["../../indexed-colors.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,mBAyExB,CAAC"}
@@ -0,0 +1,75 @@
1
+ // Excel indexed colors mapping used for legacy color references
2
+ export var IndexedColors = Object.freeze([
3
+ // 0-7
4
+ "#000000",
5
+ "#FFFFFF",
6
+ "#FF0000",
7
+ "#00FF00",
8
+ "#0000FF",
9
+ "#FFFF00",
10
+ "#FF00FF",
11
+ "#00FFFF",
12
+ // 8-15
13
+ "#000000",
14
+ "#FFFFFF",
15
+ "#FF0000",
16
+ "#00FF00",
17
+ "#0000FF",
18
+ "#FFFF00",
19
+ "#FF00FF",
20
+ "#00FFFF",
21
+ // 16-23
22
+ "#800000",
23
+ "#008000",
24
+ "#000080",
25
+ "#808000",
26
+ "#800080",
27
+ "#008080",
28
+ "#C0C0C0",
29
+ "#808080",
30
+ // 24-31
31
+ "#9999FF",
32
+ "#993366",
33
+ "#FFFFCC",
34
+ "#CCFFFF",
35
+ "#660066",
36
+ "#FF8080",
37
+ "#0066CC",
38
+ "#CCCCFF",
39
+ // 32-39
40
+ "#000080",
41
+ "#FF00FF",
42
+ "#FFFF00",
43
+ "#00FFFF",
44
+ "#800080",
45
+ "#800000",
46
+ "#008080",
47
+ "#0000FF",
48
+ // 40-47
49
+ "#00CCFF",
50
+ "#CCFFFF",
51
+ "#CCFFCC",
52
+ "#FFFF99",
53
+ "#99CCFF",
54
+ "#FF99CC",
55
+ "#CC99FF",
56
+ "#FFCC99",
57
+ // 48-55
58
+ "#3366FF",
59
+ "#33CCCC",
60
+ "#99CC00",
61
+ "#FFCC00",
62
+ "#FF9900",
63
+ "#FF6600",
64
+ "#666699",
65
+ "#969696",
66
+ // 56-63
67
+ "#003366",
68
+ "#339966",
69
+ "#003300",
70
+ "#333300",
71
+ "#993300",
72
+ "#993366",
73
+ "#333399",
74
+ "#333333",
75
+ ]);
@@ -0,0 +1,24 @@
1
+ import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, NamedRange, Sheet, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
2
+ import type { Citation, IterativeCalculationOptions } from "@rowsncolumns/common-types";
3
+ import type { CellXfs, SharedStrings } from "@rowsncolumns/spreadsheet-state";
4
+ import { type SheetData } from "@rowsncolumns/common-types";
5
+ export type ExportOdsProps<S extends Sheet, T extends CellData, C extends Citation> = {
6
+ sheets: S[];
7
+ sheetData: SheetData<T>;
8
+ sharedStrings?: SharedStrings;
9
+ tables?: TableView[];
10
+ conditionalFormats?: ConditionalFormatRule[];
11
+ dataValidations?: DataValidationRuleRecord[];
12
+ cellXfs?: CellXfs | null;
13
+ theme?: SpreadsheetTheme;
14
+ embeds?: EmbeddedObject[];
15
+ charts?: EmbeddedChart[];
16
+ namedRanges?: NamedRange[];
17
+ iterativeCalculationOptions?: IterativeCalculationOptions;
18
+ citations?: Citation[];
19
+ };
20
+ export declare const createODSFile: <S extends Sheet, T extends CellData, C extends Citation>(props: ExportOdsProps<S, T, C>) => Promise<ArrayBuffer>;
21
+ export declare const exportToODS: <S extends Sheet, T extends CellData, C extends Citation>({ filename, ...rest }: ExportOdsProps<S, T, C> & {
22
+ filename: string;
23
+ }) => Promise<string | Blob | undefined>;
24
+ //# sourceMappingURL=ods-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,QAAQ,EACR,2BAA2B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAK5D,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,IAChB;IACF,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,EAElB,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yBAG/B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,EAClB,uBAGC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,uCAMhD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { __awaiter, __generator, __rest } from "tslib";
2
+ import { createODSFile as createOdsExport } from "./exporter/ods/ods-export";
3
+ import { createDownloadableFile, toArrayBuffer } from "./helpers";
4
+ export var createODSFile = function (props) { return __awaiter(void 0, void 0, void 0, function () {
5
+ return __generator(this, function (_a) {
6
+ return [2 /*return*/, createOdsExport(props)];
7
+ });
8
+ }); };
9
+ export var exportToODS = function (_a) { return __awaiter(void 0, void 0, void 0, function () {
10
+ var buffer, blob;
11
+ var filename = _a.filename, rest = __rest(_a, ["filename"]);
12
+ return __generator(this, function (_b) {
13
+ switch (_b.label) {
14
+ case 0: return [4 /*yield*/, createOdsExport(rest)];
15
+ case 1:
16
+ buffer = _b.sent();
17
+ blob = new Blob([toArrayBuffer(buffer)], {
18
+ type: "application/vnd.oasis.opendocument.spreadsheet",
19
+ });
20
+ return [2 /*return*/, createDownloadableFile("".concat(filename, ".ods"), blob)];
21
+ }
22
+ });
23
+ }); };
@@ -0,0 +1,24 @@
1
+ import type { CellData } from "@rowsncolumns/spreadsheet";
2
+ export declare enum SUPPORTED_FILE_TYPES {
3
+ CSV = "text/csv",
4
+ CSV_TAB_SEPARATED = "text/tab-separated-values",
5
+ XLS = "application/vnd.ms-excel",
6
+ EXCEL = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
7
+ XLSB = "application/vnd.ms-excel.sheet.binary.macroenabled.12",
8
+ XLSM = "application/vnd.ms-excel.sheet.macroenabled.12",
9
+ ODS = "application/vnd.oasis.opendocument.spreadsheet"
10
+ }
11
+ /**
12
+ * Parse CSV file object
13
+ * @param file
14
+ * @returns
15
+ */
16
+ export declare const createRowDataFromFile: <T extends CellData>(file: File, locale: string) => Promise<import("@rowsncolumns/common-types").RowData<T>[]>;
17
+ /**
18
+ * Read file as data URI
19
+ * @param file
20
+ * @returns
21
+ */
22
+ export declare const readImageFileAsDataUri: (file: File) => Promise<[uri: string, width: number, height: number]>;
23
+ export declare const getImageDimensionsFromUrl: (url: string) => Promise<[width: number, height: number] | undefined>;
24
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAI1D,oBAAY,oBAAoB;IAC9B,GAAG,aAAa;IAChB,iBAAiB,8BAA8B;IAC/C,GAAG,6BAA6B;IAChC,KAAK,sEAAsE;IAC3E,IAAI,0DAA0D;IAC9D,IAAI,mDAAmD;IACvD,GAAG,mDAAmD;CACvD;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,SAAS,QAAQ,EAC5D,MAAM,IAAI,EACV,QAAQ,MAAM,+DAWf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAU,MAAM,IAAI,0DAmBtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,KAAK,MAAM,KACV,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAQrD,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { createRowDataFromCSVFile } from "./csv-import";
3
+ export var SUPPORTED_FILE_TYPES;
4
+ (function (SUPPORTED_FILE_TYPES) {
5
+ SUPPORTED_FILE_TYPES["CSV"] = "text/csv";
6
+ SUPPORTED_FILE_TYPES["CSV_TAB_SEPARATED"] = "text/tab-separated-values";
7
+ SUPPORTED_FILE_TYPES["XLS"] = "application/vnd.ms-excel";
8
+ SUPPORTED_FILE_TYPES["EXCEL"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
9
+ SUPPORTED_FILE_TYPES["XLSB"] = "application/vnd.ms-excel.sheet.binary.macroenabled.12";
10
+ SUPPORTED_FILE_TYPES["XLSM"] = "application/vnd.ms-excel.sheet.macroenabled.12";
11
+ SUPPORTED_FILE_TYPES["ODS"] = "application/vnd.oasis.opendocument.spreadsheet";
12
+ })(SUPPORTED_FILE_TYPES || (SUPPORTED_FILE_TYPES = {}));
13
+ /**
14
+ * Parse CSV file object
15
+ * @param file
16
+ * @returns
17
+ */
18
+ export var createRowDataFromFile = function (file, locale) { return __awaiter(void 0, void 0, void 0, function () {
19
+ var type;
20
+ return __generator(this, function (_a) {
21
+ type = file.type;
22
+ switch (type) {
23
+ case SUPPORTED_FILE_TYPES.CSV:
24
+ case SUPPORTED_FILE_TYPES.CSV_TAB_SEPARATED:
25
+ return [2 /*return*/, createRowDataFromCSVFile(file, true, locale)];
26
+ default:
27
+ throw "File type is not support";
28
+ }
29
+ return [2 /*return*/];
30
+ });
31
+ }); };
32
+ /**
33
+ * Read file as data URI
34
+ * @param file
35
+ * @returns
36
+ */
37
+ export var readImageFileAsDataUri = function (file) { return __awaiter(void 0, void 0, void 0, function () {
38
+ var resolver, sheetPromise, reader;
39
+ return __generator(this, function (_a) {
40
+ sheetPromise = new Promise(function (resolve) { return (resolver = resolve); });
41
+ reader = new FileReader();
42
+ reader.onload = function () { return __awaiter(void 0, void 0, void 0, function () {
43
+ var image;
44
+ return __generator(this, function (_a) {
45
+ image = new Image();
46
+ image.onload = function () {
47
+ resolver([reader.result, image.width, image.height]);
48
+ };
49
+ image.src = reader.result;
50
+ return [2 /*return*/];
51
+ });
52
+ }); };
53
+ /* Start reading the file */
54
+ reader.readAsDataURL(file);
55
+ return [2 /*return*/, sheetPromise];
56
+ });
57
+ }); };
58
+ export var getImageDimensionsFromUrl = function (url) { return __awaiter(void 0, void 0, void 0, function () {
59
+ return __generator(this, function (_a) {
60
+ return [2 /*return*/, new Promise(function (resolve, reject) {
61
+ var img = new Image();
62
+ img.onload = function () { return resolve([img.naturalWidth, img.naturalHeight]); };
63
+ img.onerror = function (err) { return reject(err); };
64
+ img.crossOrigin = "anonymous";
65
+ img.src = url;
66
+ })];
67
+ });
68
+ }); };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Power Query preservation envelope — the workbook's Get & Transform machinery, preserved as
3
+ * verbatim part XML so a round-tripped file keeps its queries. The JS mirror of the Rust engine's
4
+ * `LoadDocument.powerQuery` wire shape (`rnc-import`'s `queries` module / `rnc-export`'s
5
+ * `inject_power_query`), so an envelope read by either importer can be re-emitted by either
6
+ * exporter.
7
+ *
8
+ * Excel persists Power Query across three part families, none of which the engine evaluates:
9
+ * - `customXml/item{N}.xml` — the `<DataMashup>` blob ([MS-QDEFF]: the M source for every query +
10
+ * its load metadata), paired with `customXml/itemProps{N}.xml`, related from `xl/workbook.xml`.
11
+ * - `xl/connections.xml` — one `<connection>` per loaded query (`Provider=Microsoft.Mashup.OleDb.1`).
12
+ * - `xl/queryTables/queryTable{N}.xml` — binds a connection to the ListObject it fills; related FROM
13
+ * the table part, whose `<tableColumn>`s carry `queryTableFieldId`s.
14
+ */
15
+ /** A preserved DataMashup `customXml` item + its `itemProps` part (verbatim XML). */
16
+ export type PowerQueryCustomXmlItem = {
17
+ itemXml: string;
18
+ propsXml?: string;
19
+ };
20
+ /** One `<tableColumn>` of the original query table (original `id` + `queryTableFieldId`). */
21
+ export type PowerQueryTableColumn = {
22
+ name: string;
23
+ /** The original `<tableColumn id=…>` — the queryTable part's `tableColumnId`s reference these. */
24
+ id: string;
25
+ queryTableFieldId?: string;
26
+ };
27
+ /** A preserved `queryTable` part plus its original table linkage (title match key + column ids). */
28
+ export type PowerQueryTable = {
29
+ tableTitle: string;
30
+ partXml: string;
31
+ columns: PowerQueryTableColumn[];
32
+ };
33
+ /** The whole preservation envelope. Every field optional — absent families were absent on import. */
34
+ export type PowerQueryParts = {
35
+ customXmlParts?: PowerQueryCustomXmlItem[];
36
+ connectionsXml?: string;
37
+ queryTables?: PowerQueryTable[];
38
+ };
39
+ /** Whether the envelope carries anything worth emitting. */
40
+ export declare const hasPowerQueryParts: (parts: PowerQueryParts | undefined | null) => parts is PowerQueryParts;
41
+ //# sourceMappingURL=power-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"power-query.d.ts","sourceRoot":"","sources":["../../power-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qFAAqF;AACrF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AAEF,qGAAqG;AACrG,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,eAAe,GAAG,SAAS,GAAG,IAAI,KACxC,KAAK,IAAI,eAMT,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Power Query preservation envelope — the workbook's Get & Transform machinery, preserved as
3
+ * verbatim part XML so a round-tripped file keeps its queries. The JS mirror of the Rust engine's
4
+ * `LoadDocument.powerQuery` wire shape (`rnc-import`'s `queries` module / `rnc-export`'s
5
+ * `inject_power_query`), so an envelope read by either importer can be re-emitted by either
6
+ * exporter.
7
+ *
8
+ * Excel persists Power Query across three part families, none of which the engine evaluates:
9
+ * - `customXml/item{N}.xml` — the `<DataMashup>` blob ([MS-QDEFF]: the M source for every query +
10
+ * its load metadata), paired with `customXml/itemProps{N}.xml`, related from `xl/workbook.xml`.
11
+ * - `xl/connections.xml` — one `<connection>` per loaded query (`Provider=Microsoft.Mashup.OleDb.1`).
12
+ * - `xl/queryTables/queryTable{N}.xml` — binds a connection to the ListObject it fills; related FROM
13
+ * the table part, whose `<tableColumn>`s carry `queryTableFieldId`s.
14
+ */
15
+ /** Whether the envelope carries anything worth emitting. */
16
+ export var hasPowerQueryParts = function (parts) {
17
+ var _a, _b, _c, _d;
18
+ return Boolean(parts &&
19
+ (((_b = (_a = parts.customXmlParts) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0 ||
20
+ parts.connectionsXml ||
21
+ ((_d = (_c = parts.queryTables) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0));
22
+ };
@@ -0,0 +1,9 @@
1
+ export { detectValueTypeAndPattern } from "./excel-parser/plugins/xlsx/value-type-detection";
2
+ export { WorkBook } from "./excel-parser/workbook";
3
+ export { readExcelFile } from "./excel-parser/helpers";
4
+ export { buildCellData } from "./csv-parser/helpers";
5
+ export { RequestType, ResponseType, type WorkerRequest, type WorkerResponse, } from "./excel-parser/types";
6
+ export { createCSVFromSheetData } from "./csv-export";
7
+ export { createODSFile } from "./ods-export";
8
+ export { createExcelFile } from "./exporter/xlsx/xlsx-export";
9
+ //# sourceMappingURL=server.d.ts.map