@trebco/treb 37.0.0 → 37.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/build/package.json +119 -0
  2. package/build/treb-base-types/src/api_types.d.ts +11 -0
  3. package/build/treb-base-types/src/api_types.js +22 -0
  4. package/build/treb-base-types/src/api_types.js.map +1 -0
  5. package/build/treb-base-types/src/area-utils.d.ts +9 -0
  6. package/build/treb-base-types/src/area-utils.js +50 -0
  7. package/build/treb-base-types/src/area-utils.js.map +1 -0
  8. package/build/treb-base-types/src/area.d.ts +182 -0
  9. package/build/treb-base-types/src/area.js +715 -0
  10. package/build/treb-base-types/src/area.js.map +1 -0
  11. package/build/treb-base-types/src/basic_types.d.ts +20 -0
  12. package/build/treb-base-types/src/basic_types.js +22 -0
  13. package/build/treb-base-types/src/basic_types.js.map +1 -0
  14. package/build/treb-base-types/src/cell.d.ts +167 -0
  15. package/build/treb-base-types/src/cell.js +432 -0
  16. package/build/treb-base-types/src/cell.js.map +1 -0
  17. package/build/treb-base-types/src/cells.d.ts +251 -0
  18. package/build/treb-base-types/src/cells.js +1136 -0
  19. package/build/treb-base-types/src/cells.js.map +1 -0
  20. package/build/treb-base-types/src/color.d.ts +35 -0
  21. package/build/treb-base-types/src/color.js +162 -0
  22. package/build/treb-base-types/src/color.js.map +1 -0
  23. package/build/treb-base-types/src/dom-utilities.d.ts +70 -0
  24. package/build/treb-base-types/src/dom-utilities.js +144 -0
  25. package/build/treb-base-types/src/dom-utilities.js.map +1 -0
  26. package/build/treb-base-types/src/evaluate-options.d.ts +35 -0
  27. package/build/treb-base-types/src/evaluate-options.js +22 -0
  28. package/build/treb-base-types/src/evaluate-options.js.map +1 -0
  29. package/build/treb-base-types/src/font-stack.d.ts +37 -0
  30. package/build/treb-base-types/src/font-stack.js +93 -0
  31. package/build/treb-base-types/src/font-stack.js.map +1 -0
  32. package/build/treb-base-types/src/gradient.d.ts +18 -0
  33. package/build/treb-base-types/src/gradient.js +86 -0
  34. package/build/treb-base-types/src/gradient.js.map +1 -0
  35. package/build/treb-base-types/src/import.d.ts +48 -0
  36. package/build/treb-base-types/src/import.js +22 -0
  37. package/build/treb-base-types/src/import.js.map +1 -0
  38. package/build/treb-base-types/src/index-standalone.d.ts +6 -0
  39. package/build/treb-base-types/src/index-standalone.js +27 -0
  40. package/build/treb-base-types/src/index-standalone.js.map +1 -0
  41. package/build/treb-base-types/src/index.d.ts +22 -0
  42. package/build/treb-base-types/src/index.js +45 -0
  43. package/build/treb-base-types/src/index.js.map +1 -0
  44. package/build/treb-base-types/src/layout.d.ts +22 -0
  45. package/build/treb-base-types/src/layout.js +22 -0
  46. package/build/treb-base-types/src/layout.js.map +1 -0
  47. package/build/treb-base-types/src/localization.d.ts +37 -0
  48. package/build/treb-base-types/src/localization.js +157 -0
  49. package/build/treb-base-types/src/localization.js.map +1 -0
  50. package/build/treb-base-types/src/rectangle.d.ts +51 -0
  51. package/build/treb-base-types/src/rectangle.js +123 -0
  52. package/build/treb-base-types/src/rectangle.js.map +1 -0
  53. package/build/treb-base-types/src/render_text.d.ts +34 -0
  54. package/build/treb-base-types/src/render_text.js +22 -0
  55. package/build/treb-base-types/src/render_text.js.map +1 -0
  56. package/build/treb-base-types/src/style.d.ts +214 -0
  57. package/build/treb-base-types/src/style.js +373 -0
  58. package/build/treb-base-types/src/style.js.map +1 -0
  59. package/build/treb-base-types/src/table.d.ts +58 -0
  60. package/build/treb-base-types/src/table.js +27 -0
  61. package/build/treb-base-types/src/table.js.map +1 -0
  62. package/build/treb-base-types/src/text_part.d.ts +26 -0
  63. package/build/treb-base-types/src/text_part.js +47 -0
  64. package/build/treb-base-types/src/text_part.js.map +1 -0
  65. package/build/treb-base-types/src/theme.d.ts +120 -0
  66. package/build/treb-base-types/src/theme.js +460 -0
  67. package/build/treb-base-types/src/theme.js.map +1 -0
  68. package/build/treb-base-types/src/union.d.ts +73 -0
  69. package/build/treb-base-types/src/union.js +61 -0
  70. package/build/treb-base-types/src/union.js.map +1 -0
  71. package/build/treb-base-types/src/value-type.d.ts +86 -0
  72. package/build/treb-base-types/src/value-type.js +168 -0
  73. package/build/treb-base-types/src/value-type.js.map +1 -0
  74. package/build/treb-base-types/src/worker-proxy.d.ts +95 -0
  75. package/build/treb-base-types/src/worker-proxy.js +221 -0
  76. package/build/treb-base-types/src/worker-proxy.js.map +1 -0
  77. package/build/treb-calculator/src/calculator.d.ts +249 -0
  78. package/build/treb-calculator/src/calculator.js +2755 -0
  79. package/build/treb-calculator/src/calculator.js.map +1 -0
  80. package/build/treb-calculator/src/complex-math.d.ts +75 -0
  81. package/build/treb-calculator/src/complex-math.js +559 -0
  82. package/build/treb-calculator/src/complex-math.js.map +1 -0
  83. package/build/treb-calculator/src/dag/array-vertex.d.ts +71 -0
  84. package/build/treb-calculator/src/dag/array-vertex.js +156 -0
  85. package/build/treb-calculator/src/dag/array-vertex.js.map +1 -0
  86. package/build/treb-calculator/src/dag/calculation_leaf_vertex.d.ts +48 -0
  87. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js +84 -0
  88. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js.map +1 -0
  89. package/build/treb-calculator/src/dag/graph.d.ts +134 -0
  90. package/build/treb-calculator/src/dag/graph.js +842 -0
  91. package/build/treb-calculator/src/dag/graph.js.map +1 -0
  92. package/build/treb-calculator/src/dag/spreadsheet_vertex.d.ts +58 -0
  93. package/build/treb-calculator/src/dag/spreadsheet_vertex.js +232 -0
  94. package/build/treb-calculator/src/dag/spreadsheet_vertex.js.map +1 -0
  95. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.d.ts +20 -0
  96. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js +25 -0
  97. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js.map +1 -0
  98. package/build/treb-calculator/src/dag/state_leaf_vertex.d.ts +43 -0
  99. package/build/treb-calculator/src/dag/state_leaf_vertex.js +81 -0
  100. package/build/treb-calculator/src/dag/state_leaf_vertex.js.map +1 -0
  101. package/build/treb-calculator/src/dag/vertex.d.ts +71 -0
  102. package/build/treb-calculator/src/dag/vertex.js +274 -0
  103. package/build/treb-calculator/src/dag/vertex.js.map +1 -0
  104. package/build/treb-calculator/src/descriptors.d.ts +189 -0
  105. package/build/treb-calculator/src/descriptors.js +22 -0
  106. package/build/treb-calculator/src/descriptors.js.map +1 -0
  107. package/build/treb-calculator/src/expression-calculator.d.ts +127 -0
  108. package/build/treb-calculator/src/expression-calculator.js +1033 -0
  109. package/build/treb-calculator/src/expression-calculator.js.map +1 -0
  110. package/build/treb-calculator/src/function-error.d.ts +35 -0
  111. package/build/treb-calculator/src/function-error.js +85 -0
  112. package/build/treb-calculator/src/function-error.js.map +1 -0
  113. package/build/treb-calculator/src/function-library.d.ts +22 -0
  114. package/build/treb-calculator/src/function-library.js +96 -0
  115. package/build/treb-calculator/src/function-library.js.map +1 -0
  116. package/build/treb-calculator/src/functions/base-functions.d.ts +7 -0
  117. package/build/treb-calculator/src/functions/base-functions.js +2611 -0
  118. package/build/treb-calculator/src/functions/base-functions.js.map +1 -0
  119. package/build/treb-calculator/src/functions/beta.d.ts +17 -0
  120. package/build/treb-calculator/src/functions/beta.js +201 -0
  121. package/build/treb-calculator/src/functions/beta.js.map +1 -0
  122. package/build/treb-calculator/src/functions/checkbox.d.ts +3 -0
  123. package/build/treb-calculator/src/functions/checkbox.js +128 -0
  124. package/build/treb-calculator/src/functions/checkbox.js.map +1 -0
  125. package/build/treb-calculator/src/functions/complex-functions.d.ts +2 -0
  126. package/build/treb-calculator/src/functions/complex-functions.js +217 -0
  127. package/build/treb-calculator/src/functions/complex-functions.js.map +1 -0
  128. package/build/treb-calculator/src/functions/date-utils.d.ts +3 -0
  129. package/build/treb-calculator/src/functions/date-utils.js +59 -0
  130. package/build/treb-calculator/src/functions/date-utils.js.map +1 -0
  131. package/build/treb-calculator/src/functions/finance-functions.d.ts +2 -0
  132. package/build/treb-calculator/src/functions/finance-functions.js +547 -0
  133. package/build/treb-calculator/src/functions/finance-functions.js.map +1 -0
  134. package/build/treb-calculator/src/functions/fp.d.ts +2 -0
  135. package/build/treb-calculator/src/functions/fp.js +463 -0
  136. package/build/treb-calculator/src/functions/fp.js.map +1 -0
  137. package/build/treb-calculator/src/functions/function-utilities.d.ts +2 -0
  138. package/build/treb-calculator/src/functions/function-utilities.js +36 -0
  139. package/build/treb-calculator/src/functions/function-utilities.js.map +1 -0
  140. package/build/treb-calculator/src/functions/gamma.d.ts +20 -0
  141. package/build/treb-calculator/src/functions/gamma.js +142 -0
  142. package/build/treb-calculator/src/functions/gamma.js.map +1 -0
  143. package/build/treb-calculator/src/functions/information-functions.d.ts +2 -0
  144. package/build/treb-calculator/src/functions/information-functions.js +71 -0
  145. package/build/treb-calculator/src/functions/information-functions.js.map +1 -0
  146. package/build/treb-calculator/src/functions/lambda-functions.d.ts +2 -0
  147. package/build/treb-calculator/src/functions/lambda-functions.js +85 -0
  148. package/build/treb-calculator/src/functions/lambda-functions.js.map +1 -0
  149. package/build/treb-calculator/src/functions/matrix-functions.d.ts +2 -0
  150. package/build/treb-calculator/src/functions/matrix-functions.js +144 -0
  151. package/build/treb-calculator/src/functions/matrix-functions.js.map +1 -0
  152. package/build/treb-calculator/src/functions/normal.d.ts +2 -0
  153. package/build/treb-calculator/src/functions/normal.js +32 -0
  154. package/build/treb-calculator/src/functions/normal.js.map +1 -0
  155. package/build/treb-calculator/src/functions/regex-functions.d.ts +2 -0
  156. package/build/treb-calculator/src/functions/regex-functions.js +188 -0
  157. package/build/treb-calculator/src/functions/regex-functions.js.map +1 -0
  158. package/build/treb-calculator/src/functions/sparkline.d.ts +37 -0
  159. package/build/treb-calculator/src/functions/sparkline.js +264 -0
  160. package/build/treb-calculator/src/functions/sparkline.js.map +1 -0
  161. package/build/treb-calculator/src/functions/statistics-functions.d.ts +6 -0
  162. package/build/treb-calculator/src/functions/statistics-functions.js +989 -0
  163. package/build/treb-calculator/src/functions/statistics-functions.js.map +1 -0
  164. package/build/treb-calculator/src/functions/students-t.d.ts +3 -0
  165. package/build/treb-calculator/src/functions/students-t.js +64 -0
  166. package/build/treb-calculator/src/functions/students-t.js.map +1 -0
  167. package/build/treb-calculator/src/functions/text-functions.d.ts +3 -0
  168. package/build/treb-calculator/src/functions/text-functions.js +320 -0
  169. package/build/treb-calculator/src/functions/text-functions.js.map +1 -0
  170. package/build/treb-calculator/src/index.d.ts +2 -0
  171. package/build/treb-calculator/src/index.js +22 -0
  172. package/build/treb-calculator/src/index.js.map +1 -0
  173. package/build/treb-calculator/src/notifier-types.d.ts +26 -0
  174. package/build/treb-calculator/src/notifier-types.js +22 -0
  175. package/build/treb-calculator/src/notifier-types.js.map +1 -0
  176. package/build/treb-calculator/src/primitives.d.ts +15 -0
  177. package/build/treb-calculator/src/primitives.js +398 -0
  178. package/build/treb-calculator/src/primitives.js.map +1 -0
  179. package/build/treb-calculator/src/utilities.d.ts +68 -0
  180. package/build/treb-calculator/src/utilities.js +324 -0
  181. package/build/treb-calculator/src/utilities.js.map +1 -0
  182. package/build/treb-charts/src/chart-functions.d.ts +8 -0
  183. package/build/treb-charts/src/chart-functions.js +209 -0
  184. package/build/treb-charts/src/chart-functions.js.map +1 -0
  185. package/build/treb-charts/src/chart-types.d.ts +233 -0
  186. package/build/treb-charts/src/chart-types.js +57 -0
  187. package/build/treb-charts/src/chart-types.js.map +1 -0
  188. package/build/treb-charts/src/chart-utils.d.ts +106 -0
  189. package/build/treb-charts/src/chart-utils.js +1060 -0
  190. package/build/treb-charts/src/chart-utils.js.map +1 -0
  191. package/build/treb-charts/src/chart.d.ts +23 -0
  192. package/build/treb-charts/src/chart.js +94 -0
  193. package/build/treb-charts/src/chart.js.map +1 -0
  194. package/build/treb-charts/src/default-chart-renderer.d.ts +16 -0
  195. package/build/treb-charts/src/default-chart-renderer.js +533 -0
  196. package/build/treb-charts/src/default-chart-renderer.js.map +1 -0
  197. package/build/treb-charts/src/index.d.ts +5 -0
  198. package/build/treb-charts/src/index.js +24 -0
  199. package/build/treb-charts/src/index.js.map +1 -0
  200. package/build/treb-charts/src/main.d.ts +1 -0
  201. package/build/treb-charts/src/main.js +34 -0
  202. package/build/treb-charts/src/main.js.map +1 -0
  203. package/build/treb-charts/src/quicksort.d.ts +1 -0
  204. package/build/treb-charts/src/quicksort.js +49 -0
  205. package/build/treb-charts/src/quicksort.js.map +1 -0
  206. package/build/treb-charts/src/rectangle.d.ts +18 -0
  207. package/build/treb-charts/src/rectangle.js +41 -0
  208. package/build/treb-charts/src/rectangle.js.map +1 -0
  209. package/build/treb-charts/src/renderer-type.d.ts +24 -0
  210. package/build/treb-charts/src/renderer-type.js +22 -0
  211. package/build/treb-charts/src/renderer-type.js.map +1 -0
  212. package/build/treb-charts/src/renderer.d.ts +127 -0
  213. package/build/treb-charts/src/renderer.js +1518 -0
  214. package/build/treb-charts/src/renderer.js.map +1 -0
  215. package/build/treb-charts/src/util.d.ts +18 -0
  216. package/build/treb-charts/src/util.js +71 -0
  217. package/build/treb-charts/src/util.js.map +1 -0
  218. package/build/treb-data-model/src/annotation.d.ts +167 -0
  219. package/build/treb-data-model/src/annotation.js +120 -0
  220. package/build/treb-data-model/src/annotation.js.map +1 -0
  221. package/build/treb-data-model/src/conditional_format.d.ts +155 -0
  222. package/build/treb-data-model/src/conditional_format.js +62 -0
  223. package/build/treb-data-model/src/conditional_format.js.map +1 -0
  224. package/build/treb-data-model/src/data-validation.d.ts +28 -0
  225. package/build/treb-data-model/src/data-validation.js +22 -0
  226. package/build/treb-data-model/src/data-validation.js.map +1 -0
  227. package/build/treb-data-model/src/data_model.d.ts +173 -0
  228. package/build/treb-data-model/src/data_model.js +637 -0
  229. package/build/treb-data-model/src/data_model.js.map +1 -0
  230. package/build/treb-data-model/src/index.d.ts +13 -0
  231. package/build/treb-data-model/src/index.js +28 -0
  232. package/build/treb-data-model/src/index.js.map +1 -0
  233. package/build/treb-data-model/src/language-model.d.ts +22 -0
  234. package/build/treb-data-model/src/language-model.js +22 -0
  235. package/build/treb-data-model/src/language-model.js.map +1 -0
  236. package/build/treb-data-model/src/named.d.ts +124 -0
  237. package/build/treb-data-model/src/named.js +372 -0
  238. package/build/treb-data-model/src/named.js.map +1 -0
  239. package/build/treb-data-model/src/serialize_options.d.ts +49 -0
  240. package/build/treb-data-model/src/serialize_options.js +22 -0
  241. package/build/treb-data-model/src/serialize_options.js.map +1 -0
  242. package/build/treb-data-model/src/sheet.d.ts +499 -0
  243. package/build/treb-data-model/src/sheet.js +2904 -0
  244. package/build/treb-data-model/src/sheet.js.map +1 -0
  245. package/build/treb-data-model/src/sheet_collection.d.ts +58 -0
  246. package/build/treb-data-model/src/sheet_collection.js +112 -0
  247. package/build/treb-data-model/src/sheet_collection.js.map +1 -0
  248. package/build/treb-data-model/src/sheet_selection.d.ts +42 -0
  249. package/build/treb-data-model/src/sheet_selection.js +39 -0
  250. package/build/treb-data-model/src/sheet_selection.js.map +1 -0
  251. package/build/treb-data-model/src/sheet_types.d.ts +104 -0
  252. package/build/treb-data-model/src/sheet_types.js +22 -0
  253. package/build/treb-data-model/src/sheet_types.js.map +1 -0
  254. package/build/treb-data-model/src/types.d.ts +59 -0
  255. package/build/treb-data-model/src/types.js +22 -0
  256. package/build/treb-data-model/src/types.js.map +1 -0
  257. package/build/treb-embed/src/custom-element/spreadsheet-constructor.d.ts +75 -0
  258. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js +1144 -0
  259. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js.map +1 -0
  260. package/build/treb-embed/src/custom-element/treb-global.d.ts +36 -0
  261. package/build/treb-embed/src/custom-element/treb-global.js +64 -0
  262. package/build/treb-embed/src/custom-element/treb-global.js.map +1 -0
  263. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.d.ts +1 -0
  264. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js +61 -0
  265. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js.map +1 -0
  266. package/build/treb-embed/src/embedded-spreadsheet.d.ts +1358 -0
  267. package/build/treb-embed/src/embedded-spreadsheet.js +5205 -0
  268. package/build/treb-embed/src/embedded-spreadsheet.js.map +1 -0
  269. package/build/treb-embed/src/index.d.ts +12 -0
  270. package/build/treb-embed/src/index.js +34 -0
  271. package/build/treb-embed/src/index.js.map +1 -0
  272. package/build/treb-embed/src/options.d.ts +266 -0
  273. package/build/treb-embed/src/options.js +56 -0
  274. package/build/treb-embed/src/options.js.map +1 -0
  275. package/build/treb-embed/src/plugin.d.ts +9 -0
  276. package/build/treb-embed/src/plugin.js +22 -0
  277. package/build/treb-embed/src/plugin.js.map +1 -0
  278. package/build/treb-embed/src/progress-dialog.d.ts +49 -0
  279. package/build/treb-embed/src/progress-dialog.js +178 -0
  280. package/build/treb-embed/src/progress-dialog.js.map +1 -0
  281. package/build/treb-embed/src/selection-state.d.ts +15 -0
  282. package/build/treb-embed/src/selection-state.js +22 -0
  283. package/build/treb-embed/src/selection-state.js.map +1 -0
  284. package/build/treb-embed/src/spinner.d.ts +8 -0
  285. package/build/treb-embed/src/spinner.js +40 -0
  286. package/build/treb-embed/src/spinner.js.map +1 -0
  287. package/build/treb-embed/src/toolbar-message.d.ts +72 -0
  288. package/build/treb-embed/src/toolbar-message.js +22 -0
  289. package/build/treb-embed/src/toolbar-message.js.map +1 -0
  290. package/build/treb-embed/src/types.d.ts +185 -0
  291. package/build/treb-embed/src/types.js +45 -0
  292. package/build/treb-embed/src/types.js.map +1 -0
  293. package/build/treb-embed/tsconfig.tsbuildinfo +1 -0
  294. package/build/treb-export/src/address-type.d.ts +34 -0
  295. package/build/treb-export/src/address-type.js +53 -0
  296. package/build/treb-export/src/address-type.js.map +1 -0
  297. package/build/treb-export/src/base-template.d.ts +1 -0
  298. package/build/treb-export/src/base-template.js +22 -0
  299. package/build/treb-export/src/base-template.js.map +1 -0
  300. package/build/treb-export/src/column-width.d.ts +2 -0
  301. package/build/treb-export/src/column-width.js +80 -0
  302. package/build/treb-export/src/column-width.js.map +1 -0
  303. package/build/treb-export/src/drawing/bubble-chart-template.d.ts +514 -0
  304. package/build/treb-export/src/drawing/bubble-chart-template.js +544 -0
  305. package/build/treb-export/src/drawing/bubble-chart-template.js.map +1 -0
  306. package/build/treb-export/src/drawing/chart-template-components2.d.ts +365 -0
  307. package/build/treb-export/src/drawing/chart-template-components2.js +386 -0
  308. package/build/treb-export/src/drawing/chart-template-components2.js.map +1 -0
  309. package/build/treb-export/src/drawing/chart.d.ts +26 -0
  310. package/build/treb-export/src/drawing/chart.js +247 -0
  311. package/build/treb-export/src/drawing/chart.js.map +1 -0
  312. package/build/treb-export/src/drawing/column-chart-template2.d.ts +490 -0
  313. package/build/treb-export/src/drawing/column-chart-template2.js +518 -0
  314. package/build/treb-export/src/drawing/column-chart-template2.js.map +1 -0
  315. package/build/treb-export/src/drawing/donut-chart-template2.d.ts +272 -0
  316. package/build/treb-export/src/drawing/donut-chart-template2.js +293 -0
  317. package/build/treb-export/src/drawing/donut-chart-template2.js.map +1 -0
  318. package/build/treb-export/src/drawing/drawing.d.ts +49 -0
  319. package/build/treb-export/src/drawing/drawing.js +193 -0
  320. package/build/treb-export/src/drawing/drawing.js.map +1 -0
  321. package/build/treb-export/src/drawing/embedded-image.d.ts +12 -0
  322. package/build/treb-export/src/drawing/embedded-image.js +54 -0
  323. package/build/treb-export/src/drawing/embedded-image.js.map +1 -0
  324. package/build/treb-export/src/drawing/scatter-chart-template2.d.ts +520 -0
  325. package/build/treb-export/src/drawing/scatter-chart-template2.js +551 -0
  326. package/build/treb-export/src/drawing/scatter-chart-template2.js.map +1 -0
  327. package/build/treb-export/src/export.d.ts +72 -0
  328. package/build/treb-export/src/export.js +2039 -0
  329. package/build/treb-export/src/export.js.map +1 -0
  330. package/build/treb-export/src/import-export-messages.d.ts +31 -0
  331. package/build/treb-export/src/import-export-messages.js +22 -0
  332. package/build/treb-export/src/import-export-messages.js.map +1 -0
  333. package/build/treb-export/src/import.d.ts +33 -0
  334. package/build/treb-export/src/import.js +1258 -0
  335. package/build/treb-export/src/import.js.map +1 -0
  336. package/build/treb-export/src/index.worker.d.ts +1 -0
  337. package/build/treb-export/src/index.worker.js +93 -0
  338. package/build/treb-export/src/index.worker.js.map +1 -0
  339. package/build/treb-export/src/metadata.d.ts +51 -0
  340. package/build/treb-export/src/metadata.js +153 -0
  341. package/build/treb-export/src/metadata.js.map +1 -0
  342. package/build/treb-export/src/ooxml.d.ts +7 -0
  343. package/build/treb-export/src/ooxml.js +41 -0
  344. package/build/treb-export/src/ooxml.js.map +1 -0
  345. package/build/treb-export/src/relationship.d.ts +8 -0
  346. package/build/treb-export/src/relationship.js +27 -0
  347. package/build/treb-export/src/relationship.js.map +1 -0
  348. package/build/treb-export/src/shared-strings.d.ts +11 -0
  349. package/build/treb-export/src/shared-strings.js +105 -0
  350. package/build/treb-export/src/shared-strings.js.map +1 -0
  351. package/build/treb-export/src/template-2.d.ts +1 -0
  352. package/build/treb-export/src/template-2.js +22 -0
  353. package/build/treb-export/src/template-2.js.map +1 -0
  354. package/build/treb-export/src/unescape_xml.d.ts +1 -0
  355. package/build/treb-export/src/unescape_xml.js +61 -0
  356. package/build/treb-export/src/unescape_xml.js.map +1 -0
  357. package/build/treb-export/src/workbook-sheet.d.ts +75 -0
  358. package/build/treb-export/src/workbook-sheet.js +128 -0
  359. package/build/treb-export/src/workbook-sheet.js.map +1 -0
  360. package/build/treb-export/src/workbook-style.d.ts +110 -0
  361. package/build/treb-export/src/workbook-style.js +1134 -0
  362. package/build/treb-export/src/workbook-style.js.map +1 -0
  363. package/build/treb-export/src/workbook-theme.d.ts +13 -0
  364. package/build/treb-export/src/workbook-theme.js +85 -0
  365. package/build/treb-export/src/workbook-theme.js.map +1 -0
  366. package/build/treb-export/src/workbook.d.ts +123 -0
  367. package/build/treb-export/src/workbook.js +644 -0
  368. package/build/treb-export/src/workbook.js.map +1 -0
  369. package/build/treb-export/src/xml-test.d.ts +9 -0
  370. package/build/treb-export/src/xml-test.js +52 -0
  371. package/build/treb-export/src/xml-test.js.map +1 -0
  372. package/build/treb-export/src/xml-utils.d.ts +76 -0
  373. package/build/treb-export/src/xml-utils.js +223 -0
  374. package/build/treb-export/src/xml-utils.js.map +1 -0
  375. package/build/treb-export/src/zip-wrapper.d.ts +22 -0
  376. package/build/treb-export/src/zip-wrapper.js +93 -0
  377. package/build/treb-export/src/zip-wrapper.js.map +1 -0
  378. package/build/treb-format/src/format.d.ts +130 -0
  379. package/build/treb-format/src/format.js +805 -0
  380. package/build/treb-format/src/format.js.map +1 -0
  381. package/build/treb-format/src/format_cache.d.ts +55 -0
  382. package/build/treb-format/src/format_cache.js +166 -0
  383. package/build/treb-format/src/format_cache.js.map +1 -0
  384. package/build/treb-format/src/format_parser.d.ts +70 -0
  385. package/build/treb-format/src/format_parser.js +618 -0
  386. package/build/treb-format/src/format_parser.js.map +1 -0
  387. package/build/treb-format/src/index.d.ts +4 -0
  388. package/build/treb-format/src/index.js +25 -0
  389. package/build/treb-format/src/index.js.map +1 -0
  390. package/build/treb-format/src/number_format_section.d.ts +58 -0
  391. package/build/treb-format/src/number_format_section.js +78 -0
  392. package/build/treb-format/src/number_format_section.js.map +1 -0
  393. package/build/treb-format/src/value_parser.d.ts +48 -0
  394. package/build/treb-format/src/value_parser.js +244 -0
  395. package/build/treb-format/src/value_parser.js.map +1 -0
  396. package/build/treb-grid/src/editors/autocomplete.d.ts +39 -0
  397. package/build/treb-grid/src/editors/autocomplete.js +316 -0
  398. package/build/treb-grid/src/editors/autocomplete.js.map +1 -0
  399. package/build/treb-grid/src/editors/autocomplete_matcher.d.ts +74 -0
  400. package/build/treb-grid/src/editors/autocomplete_matcher.js +212 -0
  401. package/build/treb-grid/src/editors/autocomplete_matcher.js.map +1 -0
  402. package/build/treb-grid/src/editors/editor.d.ts +214 -0
  403. package/build/treb-grid/src/editors/editor.js +879 -0
  404. package/build/treb-grid/src/editors/editor.js.map +1 -0
  405. package/build/treb-grid/src/editors/external_editor.d.ts +11 -0
  406. package/build/treb-grid/src/editors/external_editor.js +118 -0
  407. package/build/treb-grid/src/editors/external_editor.js.map +1 -0
  408. package/build/treb-grid/src/editors/formula_bar.d.ts +85 -0
  409. package/build/treb-grid/src/editors/formula_bar.js +444 -0
  410. package/build/treb-grid/src/editors/formula_bar.js.map +1 -0
  411. package/build/treb-grid/src/editors/overlay_editor.d.ts +85 -0
  412. package/build/treb-grid/src/editors/overlay_editor.js +353 -0
  413. package/build/treb-grid/src/editors/overlay_editor.js.map +1 -0
  414. package/build/treb-grid/src/index.d.ts +12 -0
  415. package/build/treb-grid/src/index.js +28 -0
  416. package/build/treb-grid/src/index.js.map +1 -0
  417. package/build/treb-grid/src/layout/base_layout.d.ts +346 -0
  418. package/build/treb-grid/src/layout/base_layout.js +2050 -0
  419. package/build/treb-grid/src/layout/base_layout.js.map +1 -0
  420. package/build/treb-grid/src/layout/grid_layout.d.ts +19 -0
  421. package/build/treb-grid/src/layout/grid_layout.js +235 -0
  422. package/build/treb-grid/src/layout/grid_layout.js.map +1 -0
  423. package/build/treb-grid/src/layout/mock-layout.d.ts +10 -0
  424. package/build/treb-grid/src/layout/mock-layout.js +37 -0
  425. package/build/treb-grid/src/layout/mock-layout.js.map +1 -0
  426. package/build/treb-grid/src/render/selection-renderer.d.ts +97 -0
  427. package/build/treb-grid/src/render/selection-renderer.js +315 -0
  428. package/build/treb-grid/src/render/selection-renderer.js.map +1 -0
  429. package/build/treb-grid/src/render/svg_header_overlay.d.ts +20 -0
  430. package/build/treb-grid/src/render/svg_header_overlay.js +76 -0
  431. package/build/treb-grid/src/render/svg_header_overlay.js.map +1 -0
  432. package/build/treb-grid/src/render/svg_selection_block.d.ts +27 -0
  433. package/build/treb-grid/src/render/svg_selection_block.js +106 -0
  434. package/build/treb-grid/src/render/svg_selection_block.js.map +1 -0
  435. package/build/treb-grid/src/render/tile_renderer.d.ts +121 -0
  436. package/build/treb-grid/src/render/tile_renderer.js +1609 -0
  437. package/build/treb-grid/src/render/tile_renderer.js.map +1 -0
  438. package/build/treb-grid/src/types/border_constants.d.ts +9 -0
  439. package/build/treb-grid/src/types/border_constants.js +34 -0
  440. package/build/treb-grid/src/types/border_constants.js.map +1 -0
  441. package/build/treb-grid/src/types/clipboard_data.d.ts +11 -0
  442. package/build/treb-grid/src/types/clipboard_data.js +22 -0
  443. package/build/treb-grid/src/types/clipboard_data.js.map +1 -0
  444. package/build/treb-grid/src/types/clipboard_data2.d.ts +46 -0
  445. package/build/treb-grid/src/types/clipboard_data2.js +22 -0
  446. package/build/treb-grid/src/types/clipboard_data2.js.map +1 -0
  447. package/build/treb-grid/src/types/drag_mask.d.ts +10 -0
  448. package/build/treb-grid/src/types/drag_mask.js +78 -0
  449. package/build/treb-grid/src/types/drag_mask.js.map +1 -0
  450. package/build/treb-grid/src/types/external_editor_config.d.ts +33 -0
  451. package/build/treb-grid/src/types/external_editor_config.js +22 -0
  452. package/build/treb-grid/src/types/external_editor_config.js.map +1 -0
  453. package/build/treb-grid/src/types/grid.d.ts +806 -0
  454. package/build/treb-grid/src/types/grid.js +6410 -0
  455. package/build/treb-grid/src/types/grid.js.map +1 -0
  456. package/build/treb-grid/src/types/grid_base.d.ts +442 -0
  457. package/build/treb-grid/src/types/grid_base.js +3523 -0
  458. package/build/treb-grid/src/types/grid_base.js.map +1 -0
  459. package/build/treb-grid/src/types/grid_command.d.ts +408 -0
  460. package/build/treb-grid/src/types/grid_command.js +75 -0
  461. package/build/treb-grid/src/types/grid_command.js.map +1 -0
  462. package/build/treb-grid/src/types/grid_events.d.ts +93 -0
  463. package/build/treb-grid/src/types/grid_events.js +36 -0
  464. package/build/treb-grid/src/types/grid_events.js.map +1 -0
  465. package/build/treb-grid/src/types/grid_options.d.ts +50 -0
  466. package/build/treb-grid/src/types/grid_options.js +34 -0
  467. package/build/treb-grid/src/types/grid_options.js.map +1 -0
  468. package/build/treb-grid/src/types/scale-control.d.ts +21 -0
  469. package/build/treb-grid/src/types/scale-control.js +148 -0
  470. package/build/treb-grid/src/types/scale-control.js.map +1 -0
  471. package/build/treb-grid/src/types/set_range_options.d.ts +24 -0
  472. package/build/treb-grid/src/types/set_range_options.js +22 -0
  473. package/build/treb-grid/src/types/set_range_options.js.map +1 -0
  474. package/build/treb-grid/src/types/tab_bar.d.ts +84 -0
  475. package/build/treb-grid/src/types/tab_bar.js +426 -0
  476. package/build/treb-grid/src/types/tab_bar.js.map +1 -0
  477. package/build/treb-grid/src/types/tile.d.ts +29 -0
  478. package/build/treb-grid/src/types/tile.js +22 -0
  479. package/build/treb-grid/src/types/tile.js.map +1 -0
  480. package/build/treb-grid/src/types/update_flags.d.ts +48 -0
  481. package/build/treb-grid/src/types/update_flags.js +22 -0
  482. package/build/treb-grid/src/types/update_flags.js.map +1 -0
  483. package/build/treb-grid/src/util/fontmetrics.d.ts +21 -0
  484. package/build/treb-grid/src/util/fontmetrics.js +82 -0
  485. package/build/treb-grid/src/util/fontmetrics.js.map +1 -0
  486. package/build/treb-grid/src/util/ua.d.ts +33 -0
  487. package/build/treb-grid/src/util/ua.js +86 -0
  488. package/build/treb-grid/src/util/ua.js.map +1 -0
  489. package/build/treb-parser/src/csv-parser.d.ts +13 -0
  490. package/build/treb-parser/src/csv-parser.js +107 -0
  491. package/build/treb-parser/src/csv-parser.js.map +1 -0
  492. package/build/treb-parser/src/index.d.ts +4 -0
  493. package/build/treb-parser/src/index.js +25 -0
  494. package/build/treb-parser/src/index.js.map +1 -0
  495. package/build/treb-parser/src/md-parser.d.ts +97 -0
  496. package/build/treb-parser/src/md-parser.js +403 -0
  497. package/build/treb-parser/src/md-parser.js.map +1 -0
  498. package/build/treb-parser/src/parser-types.d.ts +345 -0
  499. package/build/treb-parser/src/parser-types.js +53 -0
  500. package/build/treb-parser/src/parser-types.js.map +1 -0
  501. package/build/treb-parser/src/parser.d.ts +422 -0
  502. package/build/treb-parser/src/parser.js +2418 -0
  503. package/build/treb-parser/src/parser.js.map +1 -0
  504. package/build/treb-utils/src/event_source.d.ts +34 -0
  505. package/build/treb-utils/src/event_source.js +110 -0
  506. package/build/treb-utils/src/event_source.js.map +1 -0
  507. package/build/treb-utils/src/ievent_source.d.ts +9 -0
  508. package/build/treb-utils/src/ievent_source.js +22 -0
  509. package/build/treb-utils/src/ievent_source.js.map +1 -0
  510. package/build/treb-utils/src/index.d.ts +6 -0
  511. package/build/treb-utils/src/index.js +30 -0
  512. package/build/treb-utils/src/index.js.map +1 -0
  513. package/build/treb-utils/src/measurement.d.ts +42 -0
  514. package/build/treb-utils/src/measurement.js +145 -0
  515. package/build/treb-utils/src/measurement.js.map +1 -0
  516. package/build/treb-utils/src/scale.d.ts +16 -0
  517. package/build/treb-utils/src/scale.js +106 -0
  518. package/build/treb-utils/src/scale.js.map +1 -0
  519. package/build/treb-utils/src/serialize_html.d.ts +5 -0
  520. package/build/treb-utils/src/serialize_html.js +128 -0
  521. package/build/treb-utils/src/serialize_html.js.map +1 -0
  522. package/build/treb-utils/src/validate_uri.d.ts +20 -0
  523. package/build/treb-utils/src/validate_uri.js +55 -0
  524. package/build/treb-utils/src/validate_uri.js.map +1 -0
  525. package/dist/{chunk-XD5PEZBZ.mjs → chunk-A2NJA5VB.mjs} +1 -1
  526. package/dist/treb-export-worker.mjs +2 -2
  527. package/dist/treb-spreadsheet.mjs +4 -4
  528. package/dist/treb.d.ts +1 -1
  529. package/package.json +1 -1
@@ -0,0 +1,533 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import { ChartRenderer } from './renderer';
22
+ import { Area } from './rectangle';
23
+ import { Util } from './util';
24
+ import { LegendLayout, LegendPosition } from './chart-types';
25
+ /**
26
+ * this class contains the original chart rendering functions, mapped
27
+ * to the new interface.
28
+ */
29
+ export class DefaultChartRenderer {
30
+ renderer = new ChartRenderer();
31
+ // not chart-specific, so leave outside (FIXME: layout options?)
32
+ // FIXME: change depending on whether there are y-axis labels
33
+ // FIXME: different for donut charts...
34
+ margin = { top: 0.025, left: 0.05, bottom: 0.025, right: 0.075 };
35
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
+ Resize(target, data) {
37
+ this.renderer.Resize();
38
+ }
39
+ Initialize(target) {
40
+ this.renderer.Initialize(target);
41
+ }
42
+ /**
43
+ * redraw
44
+ */
45
+ Update(target, chart_data) {
46
+ // reset
47
+ this.renderer.Resize(); // just too many problems
48
+ this.renderer.Prerender();
49
+ this.renderer.Clear(chart_data.class_name);
50
+ // get usable area [FIXME: method]
51
+ const area = new Area(0, 0, this.renderer.size.width, this.renderer.size.height);
52
+ // chart margin
53
+ const chart_margin = {
54
+ top: Math.round(area.height) * this.margin.top,
55
+ bottom: Math.round(area.height) * this.margin.bottom,
56
+ left: Math.round(area.width) * this.margin.left,
57
+ right: Math.round(area.width) * this.margin.right,
58
+ };
59
+ // title, top or bottom
60
+ const title = chart_data.title;
61
+ if (title) {
62
+ this.renderer.RenderTitle(title, area, chart_margin.top, chart_data.title_layout || 'top');
63
+ }
64
+ // pad
65
+ area.top += chart_margin.top;
66
+ area.left += chart_margin.left;
67
+ area.bottom -= chart_margin.bottom;
68
+ area.right -= chart_margin.right;
69
+ if (chart_data.legend && chart_data.legend.length) {
70
+ let default_position = LegendPosition.top;
71
+ if (chart_data.title) {
72
+ if (!chart_data.title_layout || chart_data.title_layout === 'top') {
73
+ default_position = LegendPosition.bottom;
74
+ }
75
+ }
76
+ const position = chart_data.legend_position || default_position;
77
+ this.renderer.Legend({
78
+ labels: chart_data.legend,
79
+ position,
80
+ style: chart_data.legend_style,
81
+ layout: (position === LegendPosition.top || position === LegendPosition.bottom) ?
82
+ LegendLayout.horizontal : LegendLayout.vertical,
83
+ area,
84
+ });
85
+ }
86
+ if (chart_data.type === 'histogram'
87
+ || chart_data.type === 'line'
88
+ || chart_data.type === 'area'
89
+ || chart_data.type === 'column'
90
+ || chart_data.type === 'histogram2'
91
+ || chart_data.type === 'bar'
92
+ || chart_data.type === 'scatter2'
93
+ || chart_data.type === 'bubble'
94
+ || chart_data.type === 'box') {
95
+ // we need to measure first, then lay out the other axis, then we
96
+ // can come back and render. it doesn't really matter which one you
97
+ // do first.
98
+ // measure x axis (height)
99
+ let x_metrics = [];
100
+ let max_x_height = 0;
101
+ if (chart_data.x_labels && chart_data.x_labels.length) {
102
+ x_metrics = chart_data.x_labels.map((text) => {
103
+ const metrics = this.renderer.MeasureText(text, ['axis-label', 'x-axis-label'], true);
104
+ max_x_height = Math.max(max_x_height, metrics.height);
105
+ return metrics;
106
+ });
107
+ }
108
+ let x_metrics2 = [];
109
+ let max_x_height2 = 0;
110
+ if (chart_data.type === 'box' && chart_data.series_names?.length) {
111
+ x_metrics2 = chart_data.series_names.map((text) => {
112
+ const metrics = this.renderer.MeasureText(text, ['axis-label', 'x-axis-label', 'series-name'], true);
113
+ max_x_height2 = Math.max(max_x_height2, metrics.height);
114
+ return metrics;
115
+ });
116
+ }
117
+ const extra_padding = max_x_height && max_x_height2 ? 4 : 0;
118
+ // measure & render y axis
119
+ if (chart_data.y_labels && chart_data.y_labels.length) {
120
+ const y_labels = [];
121
+ let max_width = 0;
122
+ let max_height = 0;
123
+ const scale = (chart_data.type === 'scatter2' || chart_data.type === 'bubble') ? chart_data.y_scale : chart_data.scale;
124
+ const count = (chart_data.type === 'bar') ?
125
+ chart_data.y_labels.length :
126
+ /* chart_data. */
127
+ scale.count + 1;
128
+ for (let i = 0; i < count; i++) {
129
+ const metrics = this.renderer.MeasureText(chart_data.y_labels[i], ['axis-label', 'y-axis-label']);
130
+ y_labels.push({ label: chart_data.y_labels[i], metrics });
131
+ max_width = Math.max(max_width, metrics.width);
132
+ max_height = Math.max(max_height, metrics.height);
133
+ }
134
+ area.bottom = Math.round(area.bottom - max_height / 2);
135
+ area.top = Math.round(area.top + max_height / 2);
136
+ if (x_metrics.length) {
137
+ area.bottom -= (max_x_height + chart_margin.bottom);
138
+ }
139
+ if (x_metrics2.length) {
140
+ area.bottom -= (max_x_height2 + chart_margin.bottom);
141
+ }
142
+ if (extra_padding) {
143
+ area.bottom -= extra_padding;
144
+ }
145
+ if (chart_data.type === 'bar') {
146
+ this.renderer.RenderYAxisBar(area, area.left + max_width, y_labels, ['axis-label', 'y-axis-label']);
147
+ }
148
+ else {
149
+ this.renderer.RenderYAxis(area, area.left + max_width, y_labels, ['axis-label', 'y-axis-label']);
150
+ }
151
+ area.left += (max_width + chart_margin.left);
152
+ }
153
+ if (chart_data.type === 'scatter2' && chart_data.y2_labels && chart_data.y2_labels.length && chart_data.y2_scale) {
154
+ const y2_labels = [];
155
+ let max_width = 0;
156
+ let max_height = 0;
157
+ const scale = chart_data.y2_scale;
158
+ const count = scale.count + 1;
159
+ for (let i = 0; i < count; i++) {
160
+ const metrics = this.renderer.MeasureText(chart_data.y2_labels[i], ['axis-label', 'y-axis-label']);
161
+ y2_labels.push({ label: chart_data.y2_labels[i], metrics });
162
+ max_width = Math.max(max_width, metrics.width);
163
+ max_height = Math.max(max_height, metrics.height);
164
+ }
165
+ /*
166
+ area.bottom = Math.round(area.bottom - max_height / 2);
167
+ area.top = Math.round(area.top + max_height / 2);
168
+
169
+ if (x_metrics.length) {
170
+ area.bottom -= (max_x_height + chart_margin.bottom);
171
+ }
172
+ if (x_metrics2.length) {
173
+ area.bottom -= (max_x_height2 + chart_margin.bottom);
174
+ }
175
+ if (extra_padding) {
176
+ area.bottom -= extra_padding;
177
+ }
178
+ */
179
+ this.renderer.RenderYAxis(area, area.right - max_width, y2_labels, ['axis-label', 'y-axis-label'], 'left');
180
+ area.right -= (max_width + chart_margin.left);
181
+ // area.left += (max_width + chart_margin.left);
182
+ }
183
+ // now render x axis
184
+ if (x_metrics.length && chart_data.x_labels?.length) {
185
+ const tick = (chart_data.type === 'histogram2');
186
+ const offset_tick = (chart_data.type !== 'line' &&
187
+ chart_data.type !== 'area' &&
188
+ chart_data.type !== 'bar' &&
189
+ chart_data.type !== 'scatter2' &&
190
+ chart_data.type !== 'bubble' &&
191
+ chart_data.type !== 'histogram2');
192
+ // do this before you fix the offset
193
+ if (tick) {
194
+ this.renderer.RenderXAxisTicks(area, offset_tick, chart_data.x_labels.length);
195
+ }
196
+ if (chart_data.y_labels) {
197
+ // undo, temp
198
+ area.bottom += (max_x_height + chart_margin.bottom);
199
+ }
200
+ // render
201
+ this.renderer.RenderXAxis(area, offset_tick, chart_data.x_labels, x_metrics, ['axis-label', 'x-axis-label']);
202
+ // update bottom (either we unwound for labels, or we need to do it the first time)
203
+ area.bottom -= (max_x_height + chart_margin.bottom);
204
+ }
205
+ if (extra_padding) {
206
+ area.bottom += extra_padding;
207
+ }
208
+ if (chart_data.type === 'box' && x_metrics2.length && chart_data.series_names?.length) {
209
+ // console.info({chart_data, x_metrics2});
210
+ if (chart_data.y_labels) {
211
+ // undo, temp
212
+ area.bottom += (max_x_height + max_x_height2 + extra_padding + chart_margin.bottom);
213
+ }
214
+ // render
215
+ this.renderer.RenderXAxis(area, true, // offset_tick,
216
+ chart_data.series_names, x_metrics2, ['axis-label', 'x-axis-label', 'series-name']);
217
+ // update bottom (either we unwound for labels, or we need to do it the first time)
218
+ area.bottom -= (max_x_height + max_x_height2 + chart_margin.bottom + chart_margin.bottom);
219
+ }
220
+ }
221
+ // now do type-specific rendering
222
+ const zeros = [];
223
+ switch (chart_data.type) {
224
+ case 'scatter':
225
+ this.renderer.RenderPoints(area, chart_data.x, chart_data.y, 'mc mc-correlation series-1');
226
+ break;
227
+ case 'box':
228
+ this.renderer.RenderGrid(area, chart_data.scale.count, undefined, // chart_data.x_scale.count + 1, // (sigh)
229
+ 'chart-grid', zeros);
230
+ // FIXME: override index for coloring
231
+ for (const [index, data] of chart_data.data.entries()) {
232
+ if (data.iqr > 0) {
233
+ this.renderer.RenderBoxAndWhisker(area, data, index, chart_data.max_n, chart_data.scale, chart_data.data.length, `box-plot series-${index}`);
234
+ }
235
+ }
236
+ break;
237
+ case 'bubble':
238
+ if (chart_data.x_scale.min <= 0 && chart_data.x_scale.max >= 0) {
239
+ zeros[0] = Math.round(Math.abs(chart_data.x_scale.min / chart_data.x_scale.step));
240
+ }
241
+ if (chart_data.y_scale.min <= 0 && chart_data.y_scale.max >= 0) {
242
+ zeros[1] = Math.round(Math.abs(chart_data.y_scale.max / chart_data.y_scale.step));
243
+ }
244
+ this.renderer.RenderGrid(area, chart_data.y_scale.count, chart_data.x_scale.count + 1, // (sigh)
245
+ 'chart-grid', zeros);
246
+ for (const [index, series] of chart_data.series.entries()) {
247
+ const series_index = (typeof series.index === 'number') ? series.index : index + 1;
248
+ this.renderer.RenderBubbleSeries(area, series, chart_data.x_scale, chart_data.y_scale, `bubble-chart series-${series_index}`);
249
+ }
250
+ break;
251
+ case 'scatter2':
252
+ this.renderer.RenderGrid(area, chart_data.y_scale.count, chart_data.x_scale.count + 1, // (sigh)
253
+ 'chart-grid');
254
+ if (chart_data.series) {
255
+ for (let i = 0; i < chart_data.series.length; i++) {
256
+ const series = chart_data.series[i];
257
+ let lines = !!chart_data.lines;
258
+ let points = !!chart_data.points;
259
+ if (series.subtype === 'plot') {
260
+ points = true;
261
+ lines = false;
262
+ }
263
+ else if (series.subtype === 'line') {
264
+ points = false;
265
+ lines = true;
266
+ }
267
+ const index = typeof series.index === 'number' ? series.index : i + 1;
268
+ this.renderer.RenderScatterSeries(area, series.x.data, series.y.data, chart_data.x_scale, (series.axis && chart_data.y2_scale) ? chart_data.y2_scale : chart_data.y_scale, lines, points, !!chart_data.filled, !!chart_data.markers, !!chart_data.smooth, `scatter-plot series-${index}`);
269
+ }
270
+ if (chart_data.data_labels) {
271
+ for (let i = 0; i < chart_data.series.length; i++) {
272
+ const series = chart_data.series[i];
273
+ if (series.y.labels) {
274
+ this.renderer.RenderDataLabels(area, series.x.data, series.y.data, chart_data.x_scale, chart_data.y_scale, series.y.labels, i + 1);
275
+ }
276
+ }
277
+ }
278
+ }
279
+ break;
280
+ case 'pie':
281
+ case 'donut':
282
+ {
283
+ const outer = (Math.min(area.height, area.width) / 2) * .9;
284
+ const inner = chart_data.type === 'pie' ? 0 : outer * .8;
285
+ this.renderer.RenderDonut(chart_data.slices, area.center, outer, inner, area, true, 'donut');
286
+ }
287
+ break;
288
+ case 'line':
289
+ case 'area':
290
+ {
291
+ const scale = chart_data.scale;
292
+ if (chart_data.series) {
293
+ const points = chart_data.x_scale ?
294
+ chart_data.x_scale.max :
295
+ Math.max.apply(0, chart_data.series.map(x => x.length));
296
+ const func = chart_data.smooth ?
297
+ this.renderer.RenderSmoothLine : this.renderer.RenderLine;
298
+ // gridlines
299
+ this.renderer.RenderGrid(area, chart_data.scale.count, chart_data.x_scale ? chart_data.x_scale.count + 1 : points, 'chart-grid');
300
+ // series
301
+ let series_index = 0;
302
+ for (const series of chart_data.series) {
303
+ const y = series.map((point) => {
304
+ if (typeof point === 'undefined') {
305
+ return undefined;
306
+ }
307
+ return Util.ApplyScale(point, area.height, scale);
308
+ });
309
+ if (y.length < points) {
310
+ for (let i = y.length; i < points; i++) {
311
+ y.push(undefined);
312
+ }
313
+ }
314
+ const styles = [
315
+ chart_data.type === 'area' ? 'chart-area' : 'chart-line',
316
+ `series-${series_index + 1}`
317
+ ];
318
+ func.call(this.renderer, area, y, (chart_data.type === 'area'), chart_data.titles, styles);
319
+ series_index++;
320
+ }
321
+ }
322
+ // TODO: callouts
323
+ }
324
+ break;
325
+ case 'bar':
326
+ {
327
+ let corners;
328
+ // gridlines
329
+ this.renderer.RenderBarGrid(area, chart_data.scale.count, 'chart-grid');
330
+ if (chart_data.series2) {
331
+ let count = 0;
332
+ const series_count = chart_data.series2.length;
333
+ for (const series of chart_data.series2) {
334
+ count = Math.max(count, series.y.data.length);
335
+ }
336
+ const row_height = area.height / count;
337
+ let row_pct = .7;
338
+ if (typeof chart_data.space === 'number') {
339
+ row_pct = Math.max(0, Math.min(1, 1 - (chart_data.space)));
340
+ }
341
+ const space = row_height * (1 - row_pct) / 2;
342
+ const height = (row_height - space * 2) / series_count;
343
+ let zero = 0;
344
+ if (chart_data.scale.min < 0) { // && chart_data.scale.max >= 0) {
345
+ zero = Util.ApplyScale(0, area.width, chart_data.scale);
346
+ }
347
+ if (chart_data.round) {
348
+ const half_height = Math.floor(height / 2);
349
+ corners = [0, half_height, half_height, 0];
350
+ }
351
+ for (let s = 0; s < series_count; s++) {
352
+ const series = chart_data.series2[s];
353
+ const color_index = typeof series.index === 'number' ? series.index : s + 1;
354
+ for (let i = 0; i < series.y.data.length; i++) {
355
+ const value = series.y.data[i];
356
+ if (typeof value === 'number') {
357
+ const y = Math.round(area.top + i * row_height + space) + s * height;
358
+ let x = 0;
359
+ let width = 0;
360
+ // let negative = false;
361
+ if (zero) {
362
+ if (value > 0) {
363
+ width = Util.ApplyScale(value + chart_data.scale.min, area.width, chart_data.scale);
364
+ x = area.left + zero;
365
+ }
366
+ else {
367
+ width = Util.ApplyScale(chart_data.scale.min - value, area.width, chart_data.scale);
368
+ x = area.left + zero - width;
369
+ // negative = true;
370
+ }
371
+ }
372
+ else {
373
+ width = Util.ApplyScale(value, area.width, chart_data.scale);
374
+ x = area.left;
375
+ }
376
+ // const bar_title = chart_data.titles ? chart_data.titles[i] : undefined;
377
+ const bar_title = undefined;
378
+ if (width) {
379
+ this.renderer.RenderRectangle(new Area(x, y, x + width, y + height), corners, ['chart-column', `series-${color_index}`], bar_title || undefined);
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ }
386
+ break;
387
+ case 'column':
388
+ case 'histogram2':
389
+ {
390
+ // gridlines
391
+ this.renderer.RenderGrid(area, chart_data.scale.count, 0, 'chart-grid');
392
+ if (chart_data.series2) {
393
+ let count = 0;
394
+ const series_count = chart_data.series2.length;
395
+ for (const series of chart_data.series2) {
396
+ count = Math.max(count, series.y.data.length);
397
+ }
398
+ // columns
399
+ const column_width = area.width / count;
400
+ let column_pct = .7;
401
+ if (typeof chart_data.space === 'number') {
402
+ column_pct = Math.max(0, Math.min(1, 1 - (chart_data.space)));
403
+ }
404
+ const space = column_width * (1 - column_pct) / 2;
405
+ const width = (column_width - space * 2) / series_count;
406
+ let zero = 0;
407
+ if (chart_data.scale.min < 0) { // && chart_data.scale.max >= 0) {
408
+ zero = Util.ApplyScale(0, area.height, chart_data.scale);
409
+ }
410
+ if (chart_data.callouts && chart_data.x_scale) {
411
+ const scale = chart_data.x_scale;
412
+ const lines = chart_data.callouts.map((callout, index) => {
413
+ const x = Math.round(area.left + Util.ApplyScale(callout.value, area.width, scale)) + .5;
414
+ return {
415
+ x1: x, y1: area.bottom - area.height, x2: x, y2: area.bottom,
416
+ classes: `callout-${index + 1}`,
417
+ };
418
+ });
419
+ this.renderer.RenderCalloutLines(lines);
420
+ }
421
+ let corners;
422
+ if (chart_data.round) {
423
+ const half_width = Math.floor(width / 2);
424
+ corners = [half_width, half_width, 0, 0];
425
+ }
426
+ if (chart_data.stacked_series) {
427
+ // step by group (stacked series)
428
+ for (let s = 0; s < chart_data.stacked_series[0].y.data.length; s++) {
429
+ const x = (area.left + s * column_width + space); // + s * width;
430
+ let y = 0;
431
+ // now check each series, grab s-th value
432
+ for (let t = 0; t < chart_data.stacked_series.length; t++) {
433
+ const series = chart_data.stacked_series[t];
434
+ const color_index = typeof series.index === 'number' ? series.index : t + 1;
435
+ let height = 0;
436
+ // let negative = false;
437
+ const value = (series.y.data[s] || 0);
438
+ if (t === 0) {
439
+ y = Math.min(chart_data.scale.min || 0, value);
440
+ }
441
+ height = Util.ApplyScale(value, area.height, chart_data.scale);
442
+ const base = area.bottom - height - Util.ApplyScale(y, area.height, chart_data.scale);
443
+ /*
444
+ if (zero) {
445
+ if (value > 0) {
446
+ height = Util.ApplyScale(value + chart_data.scale.min, area.height, chart_data.scale);
447
+ y = area.bottom - height - zero;
448
+ }
449
+ else {
450
+ height = Util.ApplyScale(chart_data.scale.min - value, area.height, chart_data.scale);
451
+ y = area.bottom - zero; // // area.bottom - height - zero;
452
+ // negative = true;
453
+ }
454
+ }
455
+ else {
456
+ height = Util.ApplyScale(value, area.height, chart_data.scale);
457
+ y = area.bottom - height;
458
+ }
459
+ */
460
+ let bar_title = undefined;
461
+ let label = undefined;
462
+ let label_point = undefined;
463
+ this.renderer.RenderRectangle(new Area(x, base, x + width, base + height), corners, ['chart-column', `series-${color_index}`], bar_title || undefined, label, label_point);
464
+ y += value;
465
+ }
466
+ }
467
+ }
468
+ else {
469
+ for (let s = 0; s < series_count; s++) {
470
+ const series = chart_data.series2[s];
471
+ const color_index = typeof series.index === 'number' ? series.index : s + 1;
472
+ for (let i = 0; i < series.y.data.length; i++) {
473
+ const value = series.y.data[i];
474
+ if (typeof value === 'number') {
475
+ // const x = Math.round(area.left + i * column_width + space) + s * width;
476
+ const x = (area.left + i * column_width + space) + s * width;
477
+ let height = 0;
478
+ let y = 0;
479
+ // let negative = false;
480
+ if (zero) {
481
+ if (value > 0) {
482
+ height = Util.ApplyScale(value + chart_data.scale.min, area.height, chart_data.scale);
483
+ y = area.bottom - height - zero;
484
+ }
485
+ else {
486
+ height = Util.ApplyScale(chart_data.scale.min - value, area.height, chart_data.scale);
487
+ y = area.bottom - zero; // // area.bottom - height - zero;
488
+ // negative = true;
489
+ }
490
+ }
491
+ else {
492
+ height = Util.ApplyScale(value, area.height, chart_data.scale);
493
+ y = area.bottom - height;
494
+ }
495
+ // const bar_title = chart_data.titles ? chart_data.titles[i] : undefined;
496
+ const bar_title = undefined;
497
+ if (height) {
498
+ const label = (chart_data.data_labels && !!series.y.labels) ? series.y.labels[i] : '';
499
+ const label_point = {
500
+ x: Math.round(x + width / 2),
501
+ y: Math.round(y - 10),
502
+ };
503
+ this.renderer.RenderRectangle(new Area(x, y, x + width, y + height), corners, ['chart-column', `series-${color_index}`], bar_title || undefined, label, label_point);
504
+ }
505
+ }
506
+ }
507
+ }
508
+ }
509
+ }
510
+ }
511
+ break;
512
+ case 'histogram':
513
+ {
514
+ // gridlines
515
+ this.renderer.RenderGrid(area, chart_data.scale.count, 0, 'chart-grid');
516
+ // columns
517
+ const column_width = area.width / chart_data.count;
518
+ const column_pct = chart_data.column_width;
519
+ const space = column_width * (1 - column_pct) / 2;
520
+ for (let i = 0; i < chart_data.count; i++) {
521
+ const x = Math.round(area.left + i * column_width + space);
522
+ const width = column_width - space * 2;
523
+ const height = Util.ApplyScale(chart_data.bins[i], area.height, chart_data.scale);
524
+ const y = area.bottom - height;
525
+ const bar_title = chart_data.titles ? chart_data.titles[i] : undefined;
526
+ this.renderer.RenderRectangle(new Area(x, y, x + width, y + height), undefined, 'chart-column series-1', bar_title || undefined);
527
+ }
528
+ }
529
+ break;
530
+ }
531
+ }
532
+ }
533
+ //# sourceMappingURL=default-chart-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-chart-renderer.js","sourceRoot":"","sources":["../../../treb-charts/src/default-chart-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { Chart } from './chart';
2
+ export { ChartFunctions } from './chart-functions';
3
+ export type { ChartFunction } from './chart-functions';
4
+ export { Util } from './util';
5
+ export type { ChartRenderer } from './renderer-type';
@@ -0,0 +1,24 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ export { Chart } from './chart';
22
+ export { ChartFunctions } from './chart-functions';
23
+ export { Util } from './util';
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../treb-charts/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import { Chart } from './';
22
+ // tslint:disable-next-line: no-var-requires
23
+ require('../style/charts.pcss');
24
+ if (!self.TREB) {
25
+ self.TREB = {};
26
+ }
27
+ // (temporarily, atm) switching name to prevent overlap
28
+ self.TREB.CreateChart2 = (node) => {
29
+ const chart = new Chart();
30
+ if (node)
31
+ chart.Initialize(node);
32
+ return chart;
33
+ };
34
+ //# sourceMappingURL=main.js.map