@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,808 @@
1
+ import { __assign, __values } from "tslib";
2
+ import { get } from "lodash-es";
3
+ var OdsStyles = /** @class */ (function () {
4
+ function OdsStyles() {
5
+ this.cellStyles = new Map();
6
+ this.automaticCellStyles = new Map();
7
+ this.rowStyles = new Map();
8
+ this.automaticRowStyles = new Map();
9
+ this.columnStyles = new Map();
10
+ this.automaticColumnStyles = new Map();
11
+ this.textStyles = new Map();
12
+ this.automaticTextStyles = new Map();
13
+ this.tableStyles = new Map();
14
+ this.automaticTableStyles = new Map();
15
+ this.numberFormats = new Map();
16
+ this.chartStyles = new Map();
17
+ }
18
+ OdsStyles.prototype.reset = function () {
19
+ this.cellStyles.clear();
20
+ this.automaticCellStyles.clear();
21
+ this.rowStyles.clear();
22
+ this.automaticRowStyles.clear();
23
+ this.columnStyles.clear();
24
+ this.automaticColumnStyles.clear();
25
+ this.textStyles.clear();
26
+ this.automaticTextStyles.clear();
27
+ this.tableStyles.clear();
28
+ this.automaticTableStyles.clear();
29
+ this.numberFormats.clear();
30
+ this.chartStyles.clear();
31
+ };
32
+ OdsStyles.prototype.parseStylesXml = function (stylesXml) {
33
+ if (!stylesXml)
34
+ return;
35
+ var documentStyles = get(stylesXml, "office:document-styles") ||
36
+ get(stylesXml, "document-styles");
37
+ if (!documentStyles)
38
+ return;
39
+ var namedStyles = get(documentStyles, "office:styles.style:style") ||
40
+ get(documentStyles, "styles.style:style");
41
+ this.processStyles(namedStyles, false);
42
+ var automaticStyles = get(documentStyles, "office:automatic-styles.style:style") ||
43
+ get(documentStyles, "automatic-styles.style:style");
44
+ this.processStyles(automaticStyles, false);
45
+ this.processNumberStyles(documentStyles, get(documentStyles, "office:styles") || get(documentStyles, "styles"), get(documentStyles, "office:automatic-styles") ||
46
+ get(documentStyles, "automatic-styles"));
47
+ };
48
+ OdsStyles.prototype.parseContentXml = function (contentXml) {
49
+ if (!contentXml)
50
+ return;
51
+ var autoStyles = get(contentXml, "office:document-content.office:automatic-styles.style:style") || get(contentXml, "document-content.automatic-styles.style");
52
+ this.processStyles(autoStyles, true);
53
+ var autoStylesContainer = get(contentXml, "office:document-content.office:automatic-styles") ||
54
+ get(contentXml, "document-content.automatic-styles");
55
+ this.processNumberStyles(contentXml, autoStylesContainer);
56
+ };
57
+ OdsStyles.prototype.processStyles = function (styles, isAutomatic) {
58
+ var e_1, _a;
59
+ if (!styles)
60
+ return;
61
+ var styleArray = Array.isArray(styles) ? styles : [styles];
62
+ try {
63
+ for (var styleArray_1 = __values(styleArray), styleArray_1_1 = styleArray_1.next(); !styleArray_1_1.done; styleArray_1_1 = styleArray_1.next()) {
64
+ var style = styleArray_1_1.value;
65
+ var name_1 = style["@_style:name"] || style["@_name"];
66
+ if (!name_1)
67
+ continue;
68
+ var family = style["@_style:family"] || style["@_family"];
69
+ if (family === "table-row") {
70
+ var props = this.convertRowStyle(style);
71
+ if (props) {
72
+ (isAutomatic ? this.automaticRowStyles : this.rowStyles).set(name_1, props);
73
+ }
74
+ continue;
75
+ }
76
+ if (family === "table-column") {
77
+ var props = this.convertColumnStyle(style);
78
+ if (props) {
79
+ (isAutomatic ? this.automaticColumnStyles : this.columnStyles).set(name_1, props);
80
+ }
81
+ continue;
82
+ }
83
+ if (family === "table") {
84
+ var format = this.normalizeCellFormat(this.convertToCellFormat(style));
85
+ if (format) {
86
+ (isAutomatic ? this.automaticTableStyles : this.tableStyles).set(name_1, format);
87
+ }
88
+ continue;
89
+ }
90
+ if (family === "text") {
91
+ var format = this.normalizeCellFormat(this.convertToCellFormat(style));
92
+ (isAutomatic ? this.automaticTextStyles : this.textStyles).set(name_1, format);
93
+ continue;
94
+ }
95
+ if (family === "table-cell") {
96
+ var displayName = style["@_style:display-name"] || style["@_display-name"];
97
+ var key = displayName || name_1;
98
+ if (!key) {
99
+ continue;
100
+ }
101
+ var targetMap = isAutomatic
102
+ ? this.automaticCellStyles
103
+ : this.cellStyles;
104
+ targetMap.set(key, style);
105
+ if (displayName && name_1 && name_1 !== key && !targetMap.has(name_1)) {
106
+ targetMap.set(name_1, style);
107
+ }
108
+ continue;
109
+ }
110
+ if (typeof family === "string" &&
111
+ (family.startsWith("chart") || family === "graphic")) {
112
+ var color = this.convertChartStyle(style);
113
+ if (color) {
114
+ var displayName = style["@_style:display-name"] || style["@_display-name"];
115
+ var key = displayName || name_1;
116
+ if (key) {
117
+ this.chartStyles.set(key, color);
118
+ if (displayName && name_1 && name_1 !== key) {
119
+ this.chartStyles.set(name_1, color);
120
+ }
121
+ }
122
+ }
123
+ continue;
124
+ }
125
+ }
126
+ }
127
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
128
+ finally {
129
+ try {
130
+ if (styleArray_1_1 && !styleArray_1_1.done && (_a = styleArray_1.return)) _a.call(styleArray_1);
131
+ }
132
+ finally { if (e_1) throw e_1.error; }
133
+ }
134
+ };
135
+ OdsStyles.prototype.processNumberStyles = function () {
136
+ var e_2, _a, e_3, _b;
137
+ var _c, _d;
138
+ var containers = [];
139
+ for (var _i = 0; _i < arguments.length; _i++) {
140
+ containers[_i] = arguments[_i];
141
+ }
142
+ var definitions = [
143
+ { key: "number:number-style", kind: "number" },
144
+ { key: "number:currency-style", kind: "currency" },
145
+ { key: "number:percentage-style", kind: "percentage" },
146
+ { key: "number:date-style", kind: "date" },
147
+ { key: "number:time-style", kind: "time" },
148
+ { key: "number:date-time-style", kind: "date-time" },
149
+ { key: "number:scientific-number-style", kind: "scientific" },
150
+ ];
151
+ try {
152
+ for (var containers_1 = __values(containers), containers_1_1 = containers_1.next(); !containers_1_1.done; containers_1_1 = containers_1.next()) {
153
+ var container = containers_1_1.value;
154
+ if (!container)
155
+ continue;
156
+ try {
157
+ for (var definitions_1 = (e_3 = void 0, __values(definitions)), definitions_1_1 = definitions_1.next(); !definitions_1_1.done; definitions_1_1 = definitions_1.next()) {
158
+ var _e = definitions_1_1.value, key = _e.key, kind = _e.kind;
159
+ var nodes = (_d = (_c = (container && container[key])) !== null && _c !== void 0 ? _c : get(container, key)) !== null && _d !== void 0 ? _d : get(container, key.replace("number:", ""));
160
+ this.processNumberStyleNodes(nodes, kind);
161
+ }
162
+ }
163
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
164
+ finally {
165
+ try {
166
+ if (definitions_1_1 && !definitions_1_1.done && (_b = definitions_1.return)) _b.call(definitions_1);
167
+ }
168
+ finally { if (e_3) throw e_3.error; }
169
+ }
170
+ }
171
+ }
172
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
173
+ finally {
174
+ try {
175
+ if (containers_1_1 && !containers_1_1.done && (_a = containers_1.return)) _a.call(containers_1);
176
+ }
177
+ finally { if (e_2) throw e_2.error; }
178
+ }
179
+ };
180
+ OdsStyles.prototype.processNumberStyleNodes = function (nodes, kind) {
181
+ var e_4, _a;
182
+ if (!nodes)
183
+ return;
184
+ var arr = Array.isArray(nodes) ? nodes : [nodes];
185
+ try {
186
+ for (var arr_1 = __values(arr), arr_1_1 = arr_1.next(); !arr_1_1.done; arr_1_1 = arr_1.next()) {
187
+ var node = arr_1_1.value;
188
+ if (!node)
189
+ continue;
190
+ var name_2 = node["@_style:name"] || node["@_name"];
191
+ if (!name_2)
192
+ continue;
193
+ var numberFormat = this.convertNumberStyleNode(node, kind);
194
+ if (numberFormat) {
195
+ this.numberFormats.set(name_2, numberFormat);
196
+ }
197
+ }
198
+ }
199
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
200
+ finally {
201
+ try {
202
+ if (arr_1_1 && !arr_1_1.done && (_a = arr_1.return)) _a.call(arr_1);
203
+ }
204
+ finally { if (e_4) throw e_4.error; }
205
+ }
206
+ };
207
+ OdsStyles.prototype.getStyle = function (styleName) {
208
+ var style = this.automaticCellStyles.get(styleName) || this.cellStyles.get(styleName);
209
+ if (!style)
210
+ return undefined;
211
+ return this.convertToCellFormat(style);
212
+ };
213
+ OdsStyles.prototype.getRowStyle = function (styleName) {
214
+ return (this.automaticRowStyles.get(styleName) || this.rowStyles.get(styleName));
215
+ };
216
+ OdsStyles.prototype.getColumnStyle = function (styleName) {
217
+ return (this.automaticColumnStyles.get(styleName) ||
218
+ this.columnStyles.get(styleName));
219
+ };
220
+ OdsStyles.prototype.getChartStyleColor = function (styleName) {
221
+ if (!styleName)
222
+ return undefined;
223
+ return this.chartStyles.get(styleName);
224
+ };
225
+ OdsStyles.prototype.getTableCellFormat = function (styleName) {
226
+ return (this.automaticTableStyles.get(styleName) ||
227
+ this.tableStyles.get(styleName));
228
+ };
229
+ OdsStyles.prototype.getTextFormat = function (styleName) {
230
+ var _a;
231
+ if (!styleName)
232
+ return undefined;
233
+ var format = this.automaticTextStyles.get(styleName) || this.textStyles.get(styleName);
234
+ return (_a = format === null || format === void 0 ? void 0 : format.textFormat) !== null && _a !== void 0 ? _a : undefined;
235
+ };
236
+ OdsStyles.prototype.convertToCellFormat = function (style) {
237
+ var e_5, _a, e_6, _b;
238
+ var _c;
239
+ var cellFormat = {};
240
+ var textPropsNode = style["style:text-properties"] || style["text-properties"];
241
+ var textProps = this.getAttributes(textPropsNode);
242
+ if (textProps) {
243
+ var textFormat = {};
244
+ var fontWeight = textProps["@_fo:font-weight"] || textProps["@_font-weight"];
245
+ if (fontWeight) {
246
+ var weight = parseInt(fontWeight, 10);
247
+ if (fontWeight === "bold" || (!isNaN(weight) && weight >= 700)) {
248
+ textFormat.bold = true;
249
+ }
250
+ }
251
+ var fontStyle = textProps["@_fo:font-style"] || textProps["@_font-style"];
252
+ if (fontStyle === "italic") {
253
+ textFormat.italic = true;
254
+ }
255
+ var underline = textProps["@_style:text-underline-style"] ||
256
+ textProps["@_text-underline-style"];
257
+ if (underline && underline !== "none") {
258
+ textFormat.underline = true;
259
+ }
260
+ var color = textProps["@_fo:color"] || textProps["@_color"];
261
+ if (color) {
262
+ textFormat.color = this.parseColor(color);
263
+ }
264
+ var strike = textProps["@_style:text-line-through-style"] ||
265
+ textProps["@_text-line-through-style"];
266
+ if (strike && strike !== "none") {
267
+ textFormat.strikethrough = true;
268
+ }
269
+ var fontSize = textProps["@_fo:font-size"] || textProps["@_font-size"];
270
+ if (fontSize) {
271
+ textFormat.fontSize = parseFloat(fontSize);
272
+ }
273
+ var fontFamily = textProps["@_style:font-name"] ||
274
+ textProps["@_style:font-name-asian"] ||
275
+ textProps["@_font-name"];
276
+ if (fontFamily) {
277
+ textFormat.fontFamily = fontFamily;
278
+ }
279
+ // ODS encodes super/subscript as `style:text-position="super 58%"` or
280
+ // `style:text-position="sub 58%"`. We only model the kind, not the
281
+ // percentage — the renderer applies a fixed 58% scale.
282
+ var textPosition = textProps["@_style:text-position"] || textProps["@_text-position"];
283
+ if (textPosition) {
284
+ var token = (_c = String(textPosition).trim().split(/\s+/)[0]) === null || _c === void 0 ? void 0 : _c.toLowerCase();
285
+ if (token === "super") {
286
+ textFormat.baselineOffset = "superscript";
287
+ }
288
+ else if (token === "sub") {
289
+ textFormat.baselineOffset = "subscript";
290
+ }
291
+ }
292
+ if (Object.keys(textFormat).length > 0) {
293
+ cellFormat.textFormat = textFormat;
294
+ }
295
+ }
296
+ var cellPropsNode = style["style:table-cell-properties"] || style["table-cell-properties"];
297
+ var cellProps = this.getAttributes(cellPropsNode);
298
+ if (cellProps) {
299
+ var bgColor = cellProps["@_fo:background-color"] ||
300
+ cellProps["@_background-color"] ||
301
+ cellProps["@_draw:fill-color"];
302
+ if (bgColor && bgColor !== "transparent") {
303
+ cellFormat.backgroundColor = this.parseColor(bgColor);
304
+ }
305
+ var borderValue = cellProps["@_fo:border"] || cellProps["@_border"];
306
+ if (borderValue && borderValue !== "none") {
307
+ var borders = this.createBorders(borderValue);
308
+ if (borders) {
309
+ cellFormat.borders = borders;
310
+ }
311
+ }
312
+ var sideMap = [
313
+ {
314
+ key: "top",
315
+ value: cellProps["@_fo:border-top"] ||
316
+ cellProps["@_border-top"] ||
317
+ cellProps["@_style:border-top"],
318
+ },
319
+ {
320
+ key: "bottom",
321
+ value: cellProps["@_fo:border-bottom"] ||
322
+ cellProps["@_border-bottom"] ||
323
+ cellProps["@_style:border-bottom"],
324
+ },
325
+ {
326
+ key: "left",
327
+ value: cellProps["@_fo:border-left"] ||
328
+ cellProps["@_border-left"] ||
329
+ cellProps["@_style:border-left"],
330
+ },
331
+ {
332
+ key: "right",
333
+ value: cellProps["@_fo:border-right"] ||
334
+ cellProps["@_border-right"] ||
335
+ cellProps["@_style:border-right"],
336
+ },
337
+ ];
338
+ try {
339
+ for (var sideMap_1 = __values(sideMap), sideMap_1_1 = sideMap_1.next(); !sideMap_1_1.done; sideMap_1_1 = sideMap_1.next()) {
340
+ var _d = sideMap_1_1.value, key = _d.key, value = _d.value;
341
+ if (!value || value === "none")
342
+ continue;
343
+ var parsedBorder = this.parseBorder(value);
344
+ if (!parsedBorder)
345
+ continue;
346
+ if (!cellFormat.borders) {
347
+ cellFormat.borders = {};
348
+ }
349
+ cellFormat.borders[key] = parsedBorder;
350
+ }
351
+ }
352
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
353
+ finally {
354
+ try {
355
+ if (sideMap_1_1 && !sideMap_1_1.done && (_a = sideMap_1.return)) _a.call(sideMap_1);
356
+ }
357
+ finally { if (e_5) throw e_5.error; }
358
+ }
359
+ // ODS diagonals: `style:diagonal-bl-tr` = bottom-left → top-right
360
+ // (= our diagonalUp). `style:diagonal-tl-br` = top-left → bottom-right
361
+ // (= our diagonalDown).
362
+ var diagonalMap = [
363
+ {
364
+ key: "diagonalUp",
365
+ value: cellProps["@_style:diagonal-bl-tr"] ||
366
+ cellProps["@_diagonal-bl-tr"],
367
+ },
368
+ {
369
+ key: "diagonalDown",
370
+ value: cellProps["@_style:diagonal-tl-br"] ||
371
+ cellProps["@_diagonal-tl-br"],
372
+ },
373
+ ];
374
+ try {
375
+ for (var diagonalMap_1 = __values(diagonalMap), diagonalMap_1_1 = diagonalMap_1.next(); !diagonalMap_1_1.done; diagonalMap_1_1 = diagonalMap_1.next()) {
376
+ var _e = diagonalMap_1_1.value, key = _e.key, value = _e.value;
377
+ if (!value || value === "none")
378
+ continue;
379
+ var parsedBorder = this.parseBorder(value);
380
+ if (!parsedBorder)
381
+ continue;
382
+ if (!cellFormat.borders) {
383
+ cellFormat.borders = {};
384
+ }
385
+ cellFormat.borders[key] = parsedBorder;
386
+ }
387
+ }
388
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
389
+ finally {
390
+ try {
391
+ if (diagonalMap_1_1 && !diagonalMap_1_1.done && (_b = diagonalMap_1.return)) _b.call(diagonalMap_1);
392
+ }
393
+ finally { if (e_6) throw e_6.error; }
394
+ }
395
+ var verticalAlign = cellProps["@_style:vertical-align"] ||
396
+ cellProps["@_vertical-align"] ||
397
+ cellProps["@_fo:vertical-align"];
398
+ if (verticalAlign) {
399
+ cellFormat.verticalAlignment =
400
+ verticalAlign === "middle"
401
+ ? "middle"
402
+ : verticalAlign === "bottom"
403
+ ? "bottom"
404
+ : "top";
405
+ }
406
+ var cellTextAlign = cellProps["@_style:text-align"] ||
407
+ cellProps["@_text-align"] ||
408
+ cellProps["@_fo:text-align"];
409
+ var cellTextAlignSource = cellProps["@_style:text-align-source"] ||
410
+ cellProps["@_text-align-source"];
411
+ if (cellTextAlign) {
412
+ cellFormat.horizontalAlignment =
413
+ cellTextAlign === "center"
414
+ ? "center"
415
+ : cellTextAlign === "end" || cellTextAlign === "right"
416
+ ? "right"
417
+ : "left";
418
+ }
419
+ else if (!cellFormat.horizontalAlignment &&
420
+ cellTextAlignSource === "value-type") {
421
+ cellFormat.__alignValueType = true;
422
+ }
423
+ var wrapOption = cellProps["@_fo:wrap-option"] || cellProps["@_wrap-option"];
424
+ if (wrapOption === "wrap") {
425
+ cellFormat.wrapStrategy = "wrap";
426
+ }
427
+ var rotationAngle = cellProps["@_style:rotation-angle"] || cellProps["@_rotation-angle"];
428
+ if (rotationAngle !== undefined) {
429
+ var rotation = parseFloat(rotationAngle);
430
+ if (!isNaN(rotation)) {
431
+ cellFormat.textRotation = rotation;
432
+ }
433
+ }
434
+ }
435
+ var paraPropsNode = style["style:paragraph-properties"] || style["paragraph-properties"];
436
+ var paraProps = this.getAttributes(paraPropsNode);
437
+ if (paraProps) {
438
+ var textAlign = paraProps["@_fo:text-align"] ||
439
+ paraProps["@_text-align"] ||
440
+ paraProps["@_style:text-align"];
441
+ var textAlignSource = paraProps["@_style:text-align-source"] ||
442
+ paraProps["@_text-align-source"];
443
+ if (textAlign) {
444
+ cellFormat.horizontalAlignment =
445
+ textAlign === "center"
446
+ ? "center"
447
+ : textAlign === "end" || textAlign === "right"
448
+ ? "right"
449
+ : "left";
450
+ }
451
+ else if (textAlignSource === "value-type") {
452
+ cellFormat.__alignValueType = true;
453
+ }
454
+ }
455
+ var dataStyleName = style["@_style:data-style-name"] || style["@_data-style-name"];
456
+ if (dataStyleName) {
457
+ var numberFormat = this.numberFormats.get(dataStyleName);
458
+ if (numberFormat) {
459
+ cellFormat.numberFormat = __assign({}, numberFormat);
460
+ }
461
+ }
462
+ return cellFormat;
463
+ };
464
+ OdsStyles.prototype.normalizeCellFormat = function (format) {
465
+ return Object.keys(format).length ? format : undefined;
466
+ };
467
+ OdsStyles.prototype.convertRowStyle = function (style) {
468
+ var rowPropsNode = style["style:table-row-properties"] || style["table-row-properties"];
469
+ var rowProps = this.getAttributes(rowPropsNode);
470
+ var heightValue = rowProps
471
+ ? rowProps["@_style:row-height"] ||
472
+ rowProps["@_style:min-row-height"] ||
473
+ rowProps["@_fo:min-height"] ||
474
+ rowProps["@_row-height"]
475
+ : undefined;
476
+ var visibility = rowProps
477
+ ? rowProps["@_style:visibility"] ||
478
+ rowProps["@_visibility"] ||
479
+ rowProps["@_fo:visibility"]
480
+ : undefined;
481
+ var height = this.convertLengthToPixels(heightValue);
482
+ var hidden = visibility === "collapse" ||
483
+ visibility === "hidden" ||
484
+ visibility === "none";
485
+ var format = this.normalizeCellFormat(this.convertToCellFormat(style));
486
+ if (height === undefined && !hidden && !format) {
487
+ return undefined;
488
+ }
489
+ return {
490
+ height: height,
491
+ hidden: hidden,
492
+ format: format,
493
+ };
494
+ };
495
+ OdsStyles.prototype.convertColumnStyle = function (style) {
496
+ var columnPropsNode = style["style:table-column-properties"] ||
497
+ style["table-column-properties"];
498
+ var columnProps = this.getAttributes(columnPropsNode);
499
+ var widthValue = columnProps
500
+ ? columnProps["@_style:column-width"] ||
501
+ columnProps["@_column-width"] ||
502
+ columnProps["@_fo:width"]
503
+ : undefined;
504
+ var visibility = columnProps
505
+ ? columnProps["@_style:visibility"] ||
506
+ columnProps["@_visibility"] ||
507
+ columnProps["@_fo:visibility"]
508
+ : undefined;
509
+ var width = this.convertLengthToPixels(widthValue);
510
+ var hidden = visibility === "collapse" ||
511
+ visibility === "hidden" ||
512
+ visibility === "none";
513
+ var format = this.normalizeCellFormat(this.convertToCellFormat(style));
514
+ if (width === undefined && !hidden && !format) {
515
+ return undefined;
516
+ }
517
+ return {
518
+ width: width,
519
+ hidden: hidden,
520
+ format: format,
521
+ };
522
+ };
523
+ OdsStyles.prototype.convertChartStyle = function (style) {
524
+ var graphicProps = style["style:graphic-properties"] || style["graphic-properties"];
525
+ var chartProps = style["style:chart-properties"] || style["chart:chart-properties"];
526
+ var dataPointProps = style["chart:data-point-properties"] || style["data-point-properties"];
527
+ return (this.extractChartColor(graphicProps) ||
528
+ this.extractChartColor(chartProps) ||
529
+ this.extractChartColor(dataPointProps));
530
+ };
531
+ OdsStyles.prototype.extractChartColor = function (node) {
532
+ var attrs = this.getNodeAttributes(node);
533
+ if (!attrs)
534
+ return undefined;
535
+ var rawValue = attrs["@_draw:fill-color"] ||
536
+ attrs["@_svg:fill-color"] ||
537
+ attrs["@_chart:color"] ||
538
+ attrs["@_fo:background-color"] ||
539
+ attrs["@_style:background-color"] ||
540
+ attrs["@_loext:fill-color"];
541
+ if (!rawValue || typeof rawValue !== "string") {
542
+ return undefined;
543
+ }
544
+ var normalized = rawValue.trim().toLowerCase();
545
+ if (!normalized || normalized === "none" || normalized === "transparent") {
546
+ return undefined;
547
+ }
548
+ return this.parseColor(rawValue);
549
+ };
550
+ OdsStyles.prototype.convertNumberStyleNode = function (node, kind) {
551
+ switch (kind) {
552
+ case "number": {
553
+ return {
554
+ type: "NUMBER",
555
+ pattern: this.buildNumberPattern(node),
556
+ };
557
+ }
558
+ case "currency": {
559
+ var symbolNode = this.first(this.toArray(node["number:currency-symbol"]));
560
+ var symbol = this.extractText(symbolNode) || "¤";
561
+ var position = (symbolNode === null || symbolNode === void 0 ? void 0 : symbolNode["@_number:position"]) ||
562
+ (symbolNode === null || symbolNode === void 0 ? void 0 : symbolNode["@_style:position"]) ||
563
+ (symbolNode === null || symbolNode === void 0 ? void 0 : symbolNode["@_position"]);
564
+ var usePrefix = position !== "after";
565
+ var pattern = this.buildNumberPattern(node, {
566
+ prefix: usePrefix ? "".concat(symbol, " ") : undefined,
567
+ suffix: !usePrefix ? " ".concat(symbol) : undefined,
568
+ defaultFractionDigits: 2,
569
+ });
570
+ return {
571
+ type: "CURRENCY",
572
+ pattern: pattern,
573
+ };
574
+ }
575
+ case "percentage": {
576
+ return {
577
+ type: "PERCENT",
578
+ pattern: this.buildNumberPattern(node, { percent: true }),
579
+ };
580
+ }
581
+ case "scientific": {
582
+ return {
583
+ type: "SCIENTIFIC",
584
+ pattern: "0.00E+00",
585
+ };
586
+ }
587
+ case "date":
588
+ case "time":
589
+ case "date-time": {
590
+ var dateTime = this.buildDateTimePattern(node, kind);
591
+ if (!dateTime)
592
+ return undefined;
593
+ return dateTime;
594
+ }
595
+ default:
596
+ return undefined;
597
+ }
598
+ };
599
+ OdsStyles.prototype.buildNumberPattern = function (node, options) {
600
+ var _a;
601
+ var numberNode = this.first(this.toArray(node["number:number"]));
602
+ var decimalsRaw = (numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_number:decimal-places"]) ||
603
+ (numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_decimal-places"]) ||
604
+ ((options === null || options === void 0 ? void 0 : options.defaultFractionDigits) !== undefined
605
+ ? String(options.defaultFractionDigits)
606
+ : "0");
607
+ var decimals = parseInt(decimalsRaw !== null && decimalsRaw !== void 0 ? decimalsRaw : "0", 10);
608
+ if (isNaN(decimals)) {
609
+ decimals = (_a = options === null || options === void 0 ? void 0 : options.defaultFractionDigits) !== null && _a !== void 0 ? _a : 0;
610
+ }
611
+ var groupingAttr = (numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_number:grouping"]) || (numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_grouping"]) || "true";
612
+ var grouping = groupingAttr !== "false";
613
+ var minIntegerDigits = Math.max(parseInt((numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_number:min-integer-digits"]) ||
614
+ (numberNode === null || numberNode === void 0 ? void 0 : numberNode["@_min-integer-digits"]) ||
615
+ "1", 10) || 1, 1);
616
+ var integerPattern = grouping ? "#,##0" : "0".repeat(minIntegerDigits);
617
+ if (!integerPattern) {
618
+ integerPattern = "0";
619
+ }
620
+ var decimalPattern = decimals > 0 ? ".".concat("0".repeat(decimals)) : "";
621
+ var pattern = "".concat(integerPattern).concat(decimalPattern);
622
+ if (options === null || options === void 0 ? void 0 : options.percent) {
623
+ pattern = "".concat(pattern, "%");
624
+ }
625
+ if (options === null || options === void 0 ? void 0 : options.prefix) {
626
+ pattern = "".concat(options.prefix).concat(pattern);
627
+ }
628
+ if (options === null || options === void 0 ? void 0 : options.suffix) {
629
+ pattern = "".concat(pattern).concat(options.suffix);
630
+ }
631
+ return pattern || "0";
632
+ };
633
+ OdsStyles.prototype.buildDateTimePattern = function (node, kind) {
634
+ var dateParts = [];
635
+ if (node["number:year"]) {
636
+ dateParts.push("yyyy");
637
+ }
638
+ if (node["number:month"]) {
639
+ dateParts.push("mm");
640
+ }
641
+ if (node["number:day"]) {
642
+ dateParts.push("dd");
643
+ }
644
+ var timeParts = [];
645
+ if (node["number:hours"]) {
646
+ timeParts.push("hh");
647
+ }
648
+ if (node["number:minutes"]) {
649
+ timeParts.push("mm");
650
+ }
651
+ if (node["number:seconds"]) {
652
+ timeParts.push("ss");
653
+ }
654
+ var hasAmPm = Boolean(node["number:am-pm"]);
655
+ if (timeParts.length && hasAmPm) {
656
+ timeParts.push("AM/PM");
657
+ }
658
+ var parts = [];
659
+ if (dateParts.length) {
660
+ parts.push(dateParts.join("-"));
661
+ }
662
+ if (timeParts.length) {
663
+ var timePattern = timeParts.length > 1 && timeParts[timeParts.length - 1] === "AM/PM"
664
+ ? "".concat(timeParts.slice(0, -1).join(":"), " ").concat(timeParts[timeParts.length - 1])
665
+ : timeParts.join(":");
666
+ parts.push(timePattern);
667
+ }
668
+ var hasDate = dateParts.length > 0;
669
+ var hasTime = timeParts.length > 0;
670
+ var type = kind === "time" ? "TIME" : kind === "date-time" ? "DATE_TIME" : "DATE";
671
+ if (hasDate && hasTime) {
672
+ type = "DATE_TIME";
673
+ }
674
+ else if (hasTime && !hasDate) {
675
+ type = "TIME";
676
+ }
677
+ else {
678
+ type = "DATE";
679
+ }
680
+ var pattern = parts.join(" ").trim();
681
+ return {
682
+ type: type,
683
+ pattern: pattern || undefined,
684
+ };
685
+ };
686
+ OdsStyles.prototype.toArray = function (value) {
687
+ if (!value)
688
+ return [];
689
+ return Array.isArray(value) ? value : [value];
690
+ };
691
+ OdsStyles.prototype.first = function (value) {
692
+ return value && value.length ? value[0] : undefined;
693
+ };
694
+ OdsStyles.prototype.extractText = function (node) {
695
+ if (!node)
696
+ return undefined;
697
+ if (typeof node === "string")
698
+ return node;
699
+ if (Array.isArray(node)) {
700
+ return this.extractText(node[0]);
701
+ }
702
+ return node["#text"] || node["@_text"] || node._ || undefined;
703
+ };
704
+ OdsStyles.prototype.getAttributes = function (node) {
705
+ if (!node)
706
+ return undefined;
707
+ if (Array.isArray(node)) {
708
+ return node.length ? this.getAttributes(node[0]) : undefined;
709
+ }
710
+ return node[":@"] || node;
711
+ };
712
+ OdsStyles.prototype.createBorders = function (borderValue) {
713
+ var border = this.parseBorder(borderValue);
714
+ if (!border)
715
+ return undefined;
716
+ return {
717
+ top: border,
718
+ bottom: border,
719
+ left: border,
720
+ right: border,
721
+ };
722
+ };
723
+ OdsStyles.prototype.parseBorder = function (borderValue) {
724
+ var parts = borderValue.trim().split(/\s+/);
725
+ if (!parts.length)
726
+ return undefined;
727
+ var widthToken = parts.find(function (part) { return /\d/.test(part); });
728
+ var width = widthToken
729
+ ? parseFloat(widthToken.replace("pt", ""))
730
+ : undefined;
731
+ var styleToken = parts.find(function (part) {
732
+ return ["solid", "dotted", "dashed", "double"].includes(part.toLowerCase());
733
+ });
734
+ var colorToken = parts.find(function (part) { return part.startsWith("#"); });
735
+ var borderStyle = this.mapBorderStyle(styleToken, width);
736
+ if (!borderStyle)
737
+ return undefined;
738
+ return {
739
+ style: borderStyle,
740
+ width: this.mapBorderWidth(width),
741
+ color: colorToken ? this.parseColor(colorToken) : undefined,
742
+ };
743
+ };
744
+ OdsStyles.prototype.getNodeAttributes = function (node) {
745
+ if (!node)
746
+ return undefined;
747
+ if (Array.isArray(node)) {
748
+ return node.length ? this.getNodeAttributes(node[0]) : undefined;
749
+ }
750
+ return node[":@"] || node;
751
+ };
752
+ OdsStyles.prototype.parseColor = function (colorString) {
753
+ if (!colorString)
754
+ return "#000000";
755
+ if (colorString.startsWith("#")) {
756
+ return colorString.toUpperCase();
757
+ }
758
+ return colorString;
759
+ };
760
+ OdsStyles.prototype.mapBorderStyle = function (odsStyle, width) {
761
+ if (!odsStyle)
762
+ return undefined;
763
+ var normalized = odsStyle.toLowerCase();
764
+ if (normalized === "dotted")
765
+ return "dotted";
766
+ if (normalized === "dashed")
767
+ return "dashed";
768
+ if (normalized === "double")
769
+ return "double";
770
+ if (normalized === "solid") {
771
+ if (width && width >= 2)
772
+ return "solid_thick";
773
+ if (width && width >= 1)
774
+ return "solid_medium";
775
+ return "solid";
776
+ }
777
+ return "solid";
778
+ };
779
+ OdsStyles.prototype.mapBorderWidth = function (width) {
780
+ if (!width || isNaN(width))
781
+ return 1;
782
+ // Convert from pt to pixels approximately (1pt ≈ 1.333px)
783
+ return Math.max(1, Math.round(width * 1.333));
784
+ };
785
+ OdsStyles.prototype.convertLengthToPixels = function (length) {
786
+ if (!length)
787
+ return undefined;
788
+ var trimmed = length.trim();
789
+ var match = trimmed.match(/^(-?\d*\.?\d+)(cm|mm|in|inch|pt|px)$/i);
790
+ if (!match)
791
+ return undefined;
792
+ var value = parseFloat(match[1]);
793
+ var unit = match[2].toLowerCase();
794
+ if (unit === "px")
795
+ return value;
796
+ if (unit === "pt")
797
+ return value * (96 / 72);
798
+ if (unit === "cm")
799
+ return value * 37.7952755906;
800
+ if (unit === "mm")
801
+ return value * 3.77952755906;
802
+ if (unit === "in" || unit === "inch")
803
+ return value * 96;
804
+ return undefined;
805
+ };
806
+ return OdsStyles;
807
+ }());
808
+ export { OdsStyles };