@trebco/treb 28.5.2 → 28.10.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 (168) hide show
  1. package/dist/treb-spreadsheet-light.mjs +15 -15
  2. package/dist/treb-spreadsheet.mjs +15 -15
  3. package/dist/treb.d.ts +37 -6
  4. package/package.json +1 -1
  5. package/treb-base-types/src/api_types.ts +1 -1
  6. package/treb-base-types/src/area.ts +1 -1
  7. package/treb-base-types/src/basic_types.ts +21 -21
  8. package/treb-base-types/src/cell.ts +1 -1
  9. package/treb-base-types/src/cells.ts +1 -1
  10. package/treb-base-types/src/color.ts +1 -1
  11. package/treb-base-types/src/dom-utilities.ts +1 -1
  12. package/treb-base-types/src/gradient.ts +1 -1
  13. package/treb-base-types/src/import.ts +1 -1
  14. package/treb-base-types/src/index-standalone.ts +9 -9
  15. package/treb-base-types/src/index.ts +1 -1
  16. package/treb-base-types/src/layout.ts +21 -21
  17. package/treb-base-types/src/localization.ts +27 -21
  18. package/treb-base-types/src/rectangle.ts +1 -1
  19. package/treb-base-types/src/render_text.ts +1 -1
  20. package/treb-base-types/src/style.ts +1 -1
  21. package/treb-base-types/src/table.ts +1 -1
  22. package/treb-base-types/src/text_part.ts +21 -21
  23. package/treb-base-types/src/theme.ts +1 -1
  24. package/treb-base-types/src/union.ts +1 -1
  25. package/treb-base-types/src/value-type.ts +1 -1
  26. package/treb-base-types/style/resizable.css +21 -21
  27. package/treb-calculator/src/calculator.ts +24 -31
  28. package/treb-calculator/src/complex-math.ts +1 -1
  29. package/treb-calculator/src/dag/array-vertex.ts +1 -1
  30. package/treb-calculator/src/dag/calculation_leaf_vertex.ts +8 -1
  31. package/treb-calculator/src/dag/graph.ts +8 -1
  32. package/treb-calculator/src/dag/spreadsheet_vertex.ts +1 -1
  33. package/treb-calculator/src/dag/spreadsheet_vertex_base.ts +21 -21
  34. package/treb-calculator/src/dag/state_leaf_vertex.ts +1 -1
  35. package/treb-calculator/src/dag/vertex.ts +21 -21
  36. package/treb-calculator/src/descriptors.ts +1 -1
  37. package/treb-calculator/src/expression-calculator.ts +1 -1
  38. package/treb-calculator/src/function-error.ts +1 -1
  39. package/treb-calculator/src/function-library.ts +1 -1
  40. package/treb-calculator/src/functions/base-functions.ts +31 -2
  41. package/treb-calculator/src/functions/checkbox.ts +1 -1
  42. package/treb-calculator/src/functions/complex-functions.ts +1 -1
  43. package/treb-calculator/src/functions/finance-functions.ts +1 -1
  44. package/treb-calculator/src/functions/information-functions.ts +1 -1
  45. package/treb-calculator/src/functions/matrix-functions.ts +1 -1
  46. package/treb-calculator/src/functions/sparkline.ts +1 -1
  47. package/treb-calculator/src/functions/statistics-functions.ts +1 -1
  48. package/treb-calculator/src/functions/text-functions.ts +1 -1
  49. package/treb-calculator/src/index.ts +1 -1
  50. package/treb-calculator/src/notifier-types.ts +1 -1
  51. package/treb-calculator/src/primitives.ts +1 -1
  52. package/treb-calculator/src/utilities.ts +1 -1
  53. package/treb-charts/src/chart-functions.ts +12 -1
  54. package/treb-charts/src/chart-types.ts +39 -21
  55. package/treb-charts/src/chart-utils.ts +783 -0
  56. package/treb-charts/src/chart.ts +96 -1291
  57. package/treb-charts/src/default-chart-renderer.ts +560 -0
  58. package/treb-charts/src/index.ts +5 -4
  59. package/treb-charts/src/main.ts +17 -17
  60. package/treb-charts/src/rectangle.ts +21 -21
  61. package/treb-charts/src/renderer-type.ts +32 -0
  62. package/treb-charts/src/renderer.ts +82 -1
  63. package/treb-charts/src/util.ts +1 -1
  64. package/treb-charts/style/charts.scss +9 -1
  65. package/treb-charts/style/old-charts.scss +21 -21
  66. package/treb-embed/markup/toolbar.html +35 -34
  67. package/treb-embed/src/custom-element/treb-global.ts +10 -2
  68. package/treb-embed/src/embedded-spreadsheet.ts +72 -113
  69. package/treb-embed/src/language-model.ts +1 -1
  70. package/treb-embed/src/options.ts +37 -1
  71. package/treb-embed/src/progress-dialog.ts +1 -1
  72. package/treb-embed/src/spinner.ts +1 -1
  73. package/treb-embed/src/types.ts +1 -1
  74. package/treb-embed/style/autocomplete.scss +1 -1
  75. package/treb-embed/style/dark-theme.scss +1 -1
  76. package/treb-embed/style/defaults.scss +1 -1
  77. package/treb-embed/style/dialog.scss +1 -1
  78. package/treb-embed/style/dropdown-select.scss +1 -1
  79. package/treb-embed/style/formula-bar.scss +1 -1
  80. package/treb-embed/style/grid.scss +1 -1
  81. package/treb-embed/style/layout.scss +4 -0
  82. package/treb-embed/style/mouse-mask.scss +1 -1
  83. package/treb-embed/style/note.scss +1 -1
  84. package/treb-embed/style/overlay-editor.scss +1 -1
  85. package/treb-embed/style/spinner.scss +1 -1
  86. package/treb-embed/style/tab-bar.scss +1 -1
  87. package/treb-embed/style/table.scss +1 -1
  88. package/treb-embed/style/theme-defaults.scss +1 -1
  89. package/treb-embed/style/toolbar.scss +37 -0
  90. package/treb-embed/style/tooltip.scss +1 -1
  91. package/treb-embed/style/z-index.scss +1 -1
  92. package/treb-export/src/address-type.ts +21 -21
  93. package/treb-export/src/base-template.ts +1 -1
  94. package/treb-export/src/column-width.ts +1 -1
  95. package/treb-export/src/drawing2/chart-template-components2.ts +1 -1
  96. package/treb-export/src/drawing2/chart2.ts +1 -1
  97. package/treb-export/src/drawing2/column-chart-template2.ts +1 -1
  98. package/treb-export/src/drawing2/donut-chart-template2.ts +1 -1
  99. package/treb-export/src/drawing2/drawing2.ts +1 -1
  100. package/treb-export/src/drawing2/embedded-image.ts +1 -1
  101. package/treb-export/src/drawing2/scatter-chart-template2.ts +1 -1
  102. package/treb-export/src/export-worker/export-worker.ts +1 -1
  103. package/treb-export/src/export-worker/index.worker.ts +1 -1
  104. package/treb-export/src/export2.ts +1 -1
  105. package/treb-export/src/import2.ts +1 -1
  106. package/treb-export/src/relationship.ts +1 -1
  107. package/treb-export/src/shared-strings2.ts +1 -1
  108. package/treb-export/src/template-2.ts +2 -2
  109. package/treb-export/src/workbook-sheet2.ts +1 -1
  110. package/treb-export/src/workbook-style2.ts +1 -1
  111. package/treb-export/src/workbook-theme2.ts +1 -1
  112. package/treb-export/src/workbook2.ts +1 -1
  113. package/treb-export/src/xml-utils.ts +1 -1
  114. package/treb-format/src/format.test.ts +21 -21
  115. package/treb-format/src/format.ts +1 -1
  116. package/treb-format/src/format_cache.ts +21 -21
  117. package/treb-format/src/format_parser.ts +1 -1
  118. package/treb-format/src/index.ts +4 -4
  119. package/treb-format/src/number_format_section.ts +21 -21
  120. package/treb-format/src/value_parser.ts +1 -1
  121. package/treb-grid/src/editors/autocomplete.ts +1 -1
  122. package/treb-grid/src/editors/autocomplete_matcher.ts +21 -21
  123. package/treb-grid/src/editors/editor.ts +1 -1
  124. package/treb-grid/src/editors/formula_bar.ts +1 -1
  125. package/treb-grid/src/editors/overlay_editor.ts +1 -1
  126. package/treb-grid/src/index.ts +1 -1
  127. package/treb-grid/src/layout/base_layout.ts +1 -1
  128. package/treb-grid/src/layout/grid_layout.ts +1 -1
  129. package/treb-grid/src/layout/rectangle_cache.ts +21 -21
  130. package/treb-grid/src/render/selection-renderer.ts +1 -1
  131. package/treb-grid/src/render/svg_header_overlay.ts +1 -1
  132. package/treb-grid/src/render/svg_selection_block.ts +1 -1
  133. package/treb-grid/src/render/tile_renderer.ts +1 -1
  134. package/treb-grid/src/types/annotation.ts +1 -1
  135. package/treb-grid/src/types/border_constants.ts +1 -1
  136. package/treb-grid/src/types/clipboard_data.ts +1 -1
  137. package/treb-grid/src/types/conditional_format.ts +1 -1
  138. package/treb-grid/src/types/data_model.ts +1 -1
  139. package/treb-grid/src/types/drag_mask.ts +21 -21
  140. package/treb-grid/src/types/grid.ts +12 -2
  141. package/treb-grid/src/types/grid_base.ts +128 -6
  142. package/treb-grid/src/types/grid_command.ts +33 -1
  143. package/treb-grid/src/types/grid_events.ts +8 -1
  144. package/treb-grid/src/types/grid_options.ts +9 -1
  145. package/treb-grid/src/types/grid_selection.ts +1 -1
  146. package/treb-grid/src/types/named_range.ts +1 -1
  147. package/treb-grid/src/types/scale-control.ts +1 -1
  148. package/treb-grid/src/types/serialize_options.ts +1 -1
  149. package/treb-grid/src/types/set_range_options.ts +1 -1
  150. package/treb-grid/src/types/sheet.ts +1 -57
  151. package/treb-grid/src/types/sheet_types.ts +1 -1
  152. package/treb-grid/src/types/tab_bar.ts +1 -1
  153. package/treb-grid/src/types/tile.ts +21 -21
  154. package/treb-grid/src/types/update_flags.ts +2 -1
  155. package/treb-grid/src/util/fontmetrics2.ts +1 -1
  156. package/treb-grid/src/util/ua.ts +21 -21
  157. package/treb-parser/src/csv-parser.ts +21 -21
  158. package/treb-parser/src/index.ts +5 -5
  159. package/treb-parser/src/md-parser.ts +1 -1
  160. package/treb-parser/src/parser-types.ts +1 -1
  161. package/treb-parser/src/parser.test.ts +21 -21
  162. package/treb-parser/src/parser.ts +1 -1
  163. package/treb-utils/src/event_source.ts +1 -1
  164. package/treb-utils/src/ievent_source.ts +13 -13
  165. package/treb-utils/src/index.ts +1 -1
  166. package/treb-utils/src/measurement.ts +1 -1
  167. package/treb-utils/src/scale.ts +21 -21
  168. package/treb-utils/src/serialize_html.ts +1 -1
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -816,6 +816,13 @@ export abstract class Graph implements GraphCallbacks {
816
816
  * managing and maintaining these vertices: we only need references.
817
817
  */
818
818
  public AddLeafVertex(vertex: LeafVertex): void {
819
+
820
+ /*
821
+ if (this.leaf_vertices.has(vertex)) {
822
+ console.info("TLV already has", vertex);
823
+ }
824
+ */
825
+
819
826
  this.leaf_vertices.add(vertex);
820
827
  }
821
828
 
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -1,24 +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-2023 trebco, llc.
18
- * info@treb.app
19
- *
20
- */
21
-
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-2024 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+
22
22
  import { Vertex } from './vertex';
23
23
  import type { UnionValue } from 'treb-base-types';
24
24
 
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -1,24 +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-2023 trebco, llc.
18
- * info@treb.app
19
- *
20
- */
21
-
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-2024 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+
22
22
  /**
23
23
  * colors for the CLRS color algorithm.
24
24
  *
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -848,6 +848,17 @@ export const BaseFunctionLibrary: FunctionMap = {
848
848
  }),
849
849
  },
850
850
 
851
+ RoundUp: {
852
+ fn: Utils.ApplyAsArray2((a, digits = 0) => {
853
+ const m = Math.pow(10, digits);
854
+ const positive = a >= 0;
855
+ return {
856
+ type: ValueType.number,
857
+ value: positive ? Math.ceil(m * a) / m : Math.floor(m * a) / m,
858
+ };
859
+ }),
860
+ },
861
+
851
862
  /*
852
863
 
853
864
  Round: {
@@ -1259,13 +1270,31 @@ export const BaseFunctionLibrary: FunctionMap = {
1259
1270
  columns = area.value[0]?.length || 0;
1260
1271
 
1261
1272
  const result: UnionValue[][] = [];
1273
+
1262
1274
  for (let r = 0; r < rows; r++) {
1263
1275
  const row: UnionValue[] = [];
1264
1276
  for (let c = 0; c < columns; c++) {
1265
1277
  const src = area.value[r][c];
1266
1278
  if (src.type === ValueType.number) {
1267
1279
  let calc = 0;
1268
- if (range > 0) {
1280
+
1281
+ // special case: max === min. this can be used to do binary
1282
+ // coloring over a set of data (ignoring the pivot).
1283
+
1284
+ // FIXME: use a separate loop?
1285
+
1286
+ if (max === min) {
1287
+ if (src.value > max) {
1288
+ calc = 1;
1289
+ }
1290
+ else if (src.value < max) {
1291
+ calc = 0;
1292
+ }
1293
+ else {
1294
+ calc = 0.5
1295
+ }
1296
+ }
1297
+ else if (range > 0) {
1269
1298
  calc = (src.value - min) / range;
1270
1299
  }
1271
1300
  row.push({ type: ValueType.number, value: calc });
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2023 trebco, llc.
17
+ * Copyright 2022-2024 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -153,4 +153,15 @@ export const ChartFunctions: FunctionMap = {
153
153
  fn: Identity,
154
154
  },
155
155
 
156
+ 'Bubble.Chart': {
157
+ arguments: [
158
+ { name: 'X', metadata: true, },
159
+ { name: 'Y', metadata: true, },
160
+ { name: 'Z', metadata: true, },
161
+ { name: 'Categories' },
162
+ { name: 'Chart Title' },
163
+ ],
164
+ fn: Identity,
165
+ },
166
+
156
167
  };
@@ -1,24 +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-2023 trebco, llc.
18
- * info@treb.app
19
- *
20
- */
21
-
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-2024 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+
22
22
  import type { RangeScale } from 'treb-utils';
23
23
  import type { Area } from './rectangle';
24
24
 
@@ -107,6 +107,23 @@ export interface ScatterData2 extends ChartDataBaseType {
107
107
 
108
108
  }
109
109
 
110
+ export interface BubbleChartData extends ChartDataBaseType {
111
+
112
+ type: 'bubble';
113
+
114
+ x?: SubSeries;
115
+ y?: SubSeries;
116
+ z?: SubSeries;
117
+ c?: any[];
118
+
119
+ x_scale: RangeScale;
120
+ y_scale: RangeScale;
121
+
122
+ x_labels?: string[];
123
+ y_labels?: string[];
124
+
125
+ }
126
+
110
127
  /** base for column types (FIXME: probably common to scatter/line/area also) */
111
128
  export interface ColumnDataBaseType extends ChartDataBaseType {
112
129
  column_width: number;
@@ -190,6 +207,7 @@ export type ChartData
190
207
  | AreaData
191
208
  | ColumnData
192
209
  | BarData
210
+ | BubbleChartData
193
211
  ;
194
212
 
195
213
  export enum LegendLayout {