@elastic/charts 54.0.0 → 55.0.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 (211) hide show
  1. package/dist/chart_types/flame_chart/flame_chart.js.map +1 -1
  2. package/dist/chart_types/flame_chart/internal_chart_state.js +6 -0
  3. package/dist/chart_types/flame_chart/internal_chart_state.js.map +1 -1
  4. package/dist/chart_types/goal_chart/state/chart_state.js +6 -0
  5. package/dist/chart_types/goal_chart/state/chart_state.js.map +1 -1
  6. package/dist/chart_types/heatmap/layout/types/viewmodel_types.d.ts.map +1 -1
  7. package/dist/chart_types/heatmap/layout/types/viewmodel_types.js +2 -20
  8. package/dist/chart_types/heatmap/layout/types/viewmodel_types.js.map +1 -1
  9. package/dist/chart_types/heatmap/layout/viewmodel/scenegraph.js +4 -4
  10. package/dist/chart_types/heatmap/layout/viewmodel/scenegraph.js.map +1 -1
  11. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.d.ts +2 -1
  12. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.d.ts.map +1 -1
  13. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.js +189 -96
  14. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.js.map +1 -1
  15. package/dist/chart_types/heatmap/renderer/canvas/canvas_renderers.js +59 -42
  16. package/dist/chart_types/heatmap/renderer/canvas/canvas_renderers.js.map +1 -1
  17. package/dist/chart_types/heatmap/renderer/canvas/connected_component.js +9 -20
  18. package/dist/chart_types/heatmap/renderer/canvas/connected_component.js.map +1 -1
  19. package/dist/chart_types/heatmap/renderer/dom/highlighter_brush.js +4 -4
  20. package/dist/chart_types/heatmap/renderer/dom/highlighter_brush.js.map +1 -1
  21. package/dist/chart_types/heatmap/specs/heatmap.d.ts +12 -10
  22. package/dist/chart_types/heatmap/specs/heatmap.d.ts.map +1 -1
  23. package/dist/chart_types/heatmap/specs/heatmap.js.map +1 -1
  24. package/dist/chart_types/heatmap/state/chart_state.js +5 -1
  25. package/dist/chart_types/heatmap/state/chart_state.js.map +1 -1
  26. package/dist/chart_types/heatmap/state/selectors/compute_axes_sizes.d.ts +2 -0
  27. package/dist/chart_types/heatmap/state/selectors/compute_axes_sizes.d.ts.map +1 -0
  28. package/dist/chart_types/heatmap/state/selectors/compute_axes_sizes.js +64 -0
  29. package/dist/chart_types/heatmap/state/selectors/compute_axes_sizes.js.map +1 -0
  30. package/dist/chart_types/heatmap/state/selectors/compute_chart_dimensions.js +18 -258
  31. package/dist/chart_types/heatmap/state/selectors/compute_chart_dimensions.js.map +1 -1
  32. package/dist/chart_types/heatmap/state/selectors/compute_chart_element_sizes.d.ts +2 -0
  33. package/dist/chart_types/heatmap/state/selectors/compute_chart_element_sizes.d.ts.map +1 -0
  34. package/dist/chart_types/heatmap/state/selectors/compute_chart_element_sizes.js +39 -0
  35. package/dist/chart_types/heatmap/state/selectors/compute_chart_element_sizes.js.map +1 -0
  36. package/dist/chart_types/heatmap/state/selectors/get_brush_area.js +7 -6
  37. package/dist/chart_types/heatmap/state/selectors/get_brush_area.js.map +1 -1
  38. package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js +2 -2
  39. package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js.map +1 -1
  40. package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js +14 -11
  41. package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js.map +1 -1
  42. package/dist/chart_types/heatmap/state/selectors/get_debug_state.js +23 -18
  43. package/dist/chart_types/heatmap/state/selectors/get_debug_state.js.map +1 -1
  44. package/dist/chart_types/heatmap/state/selectors/get_heatmap_table.js +46 -8
  45. package/dist/chart_types/heatmap/state/selectors/get_heatmap_table.js.map +1 -1
  46. package/dist/chart_types/heatmap/state/selectors/get_highlighted_area.js +4 -3
  47. package/dist/chart_types/heatmap/state/selectors/get_highlighted_area.js.map +1 -1
  48. package/dist/chart_types/heatmap/state/selectors/get_per_panel_heatmap_geometries.d.ts +2 -0
  49. package/dist/chart_types/heatmap/state/selectors/get_per_panel_heatmap_geometries.d.ts.map +1 -0
  50. package/dist/chart_types/heatmap/state/selectors/{geometries.js → get_per_panel_heatmap_geometries.js} +12 -6
  51. package/dist/chart_types/heatmap/state/selectors/get_per_panel_heatmap_geometries.js.map +1 -0
  52. package/dist/chart_types/heatmap/state/selectors/get_picked_cells.js +9 -8
  53. package/dist/chart_types/heatmap/state/selectors/get_picked_cells.js.map +1 -1
  54. package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js +36 -7
  55. package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js.map +1 -1
  56. package/dist/chart_types/heatmap/state/selectors/picked_shapes.js +5 -11
  57. package/dist/chart_types/heatmap/state/selectors/picked_shapes.js.map +1 -1
  58. package/dist/chart_types/heatmap/state/utils/axis.d.ts +2 -0
  59. package/dist/chart_types/heatmap/state/utils/axis.d.ts.map +1 -0
  60. package/dist/chart_types/heatmap/state/utils/axis.js +195 -0
  61. package/dist/chart_types/heatmap/state/utils/axis.js.map +1 -0
  62. package/dist/chart_types/metric/state/chart_state.js +6 -0
  63. package/dist/chart_types/metric/state/chart_state.js.map +1 -1
  64. package/dist/chart_types/partition_chart/renderer/dom/highlighter.js +3 -3
  65. package/dist/chart_types/partition_chart/renderer/dom/highlighter.js.map +1 -1
  66. package/dist/chart_types/partition_chart/state/chart_state.js +6 -0
  67. package/dist/chart_types/partition_chart/state/chart_state.js.map +1 -1
  68. package/dist/chart_types/timeslip/internal_chart_state.js +6 -0
  69. package/dist/chart_types/timeslip/internal_chart_state.js.map +1 -1
  70. package/dist/chart_types/timeslip/timeslip_chart.js.map +1 -1
  71. package/dist/chart_types/wordcloud/state/chart_state.js +6 -0
  72. package/dist/chart_types/wordcloud/state/chart_state.js.map +1 -1
  73. package/dist/chart_types/xy_chart/annotations/line/dimensions.js +3 -3
  74. package/dist/chart_types/xy_chart/annotations/line/dimensions.js.map +1 -1
  75. package/dist/chart_types/xy_chart/annotations/rect/dimensions.js +2 -2
  76. package/dist/chart_types/xy_chart/annotations/rect/dimensions.js.map +1 -1
  77. package/dist/chart_types/xy_chart/renderer/canvas/panels/panels.js.map +1 -1
  78. package/dist/chart_types/xy_chart/renderer/canvas/renderers.js.map +1 -1
  79. package/dist/chart_types/xy_chart/renderer/canvas/xy_chart.js +1 -1
  80. package/dist/chart_types/xy_chart/renderer/canvas/xy_chart.js.map +1 -1
  81. package/dist/chart_types/xy_chart/specs/area_series.d.ts +1 -1
  82. package/dist/chart_types/xy_chart/specs/area_series.d.ts.map +1 -1
  83. package/dist/chart_types/xy_chart/specs/axis.d.ts +1 -1
  84. package/dist/chart_types/xy_chart/specs/bar_series.d.ts +2 -2
  85. package/dist/chart_types/xy_chart/specs/bar_series.d.ts.map +1 -1
  86. package/dist/chart_types/xy_chart/specs/bubble_series.d.ts +1 -1
  87. package/dist/chart_types/xy_chart/specs/bubble_series.d.ts.map +1 -1
  88. package/dist/chart_types/xy_chart/specs/histogram_bar_series.d.ts +2 -2
  89. package/dist/chart_types/xy_chart/specs/histogram_bar_series.d.ts.map +1 -1
  90. package/dist/chart_types/xy_chart/specs/line_annotation.d.ts +1 -1
  91. package/dist/chart_types/xy_chart/specs/line_annotation.d.ts.map +1 -1
  92. package/dist/chart_types/xy_chart/specs/line_series.d.ts +1 -1
  93. package/dist/chart_types/xy_chart/specs/line_series.d.ts.map +1 -1
  94. package/dist/chart_types/xy_chart/state/chart_state.js +4 -0
  95. package/dist/chart_types/xy_chart/state/chart_state.js.map +1 -1
  96. package/dist/chart_types/xy_chart/state/selectors/compute_annotations.js +1 -1
  97. package/dist/chart_types/xy_chart/state/selectors/compute_annotations.js.map +1 -1
  98. package/dist/chart_types/xy_chart/state/selectors/compute_axes_geometries.js +1 -5
  99. package/dist/chart_types/xy_chart/state/selectors/compute_axes_geometries.js.map +1 -1
  100. package/dist/chart_types/xy_chart/state/selectors/compute_per_panel_axes_geoms.js +6 -14
  101. package/dist/chart_types/xy_chart/state/selectors/compute_per_panel_axes_geoms.js.map +1 -1
  102. package/dist/chart_types/xy_chart/state/selectors/compute_series_domains.js +2 -1
  103. package/dist/chart_types/xy_chart/state/selectors/compute_series_domains.js.map +1 -1
  104. package/dist/chart_types/xy_chart/state/selectors/compute_series_geometries.js +1 -1
  105. package/dist/chart_types/xy_chart/state/selectors/compute_series_geometries.js.map +1 -1
  106. package/dist/chart_types/xy_chart/state/selectors/get_brush_area.js +1 -1
  107. package/dist/chart_types/xy_chart/state/selectors/get_brush_area.js.map +1 -1
  108. package/dist/chart_types/xy_chart/state/selectors/get_cursor_band.js +1 -1
  109. package/dist/chart_types/xy_chart/state/selectors/get_cursor_band.js.map +1 -1
  110. package/dist/chart_types/xy_chart/state/selectors/get_grid_lines.js +1 -1
  111. package/dist/chart_types/xy_chart/state/selectors/get_grid_lines.js.map +1 -1
  112. package/dist/chart_types/xy_chart/state/selectors/get_oriented_projected_pointer_position.js +3 -3
  113. package/dist/chart_types/xy_chart/state/selectors/get_oriented_projected_pointer_position.js.map +1 -1
  114. package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js +1 -1
  115. package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js.map +1 -1
  116. package/dist/chart_types/xy_chart/state/selectors/get_specs.js +1 -25
  117. package/dist/chart_types/xy_chart/state/selectors/get_specs.js.map +1 -1
  118. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_anchor_position.js +1 -1
  119. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_anchor_position.js.map +1 -1
  120. package/dist/chart_types/xy_chart/state/selectors/on_brush_end_caller.js +1 -1
  121. package/dist/chart_types/xy_chart/state/selectors/on_brush_end_caller.js.map +1 -1
  122. package/dist/chart_types/xy_chart/state/selectors/visible_ticks.js +3 -3
  123. package/dist/chart_types/xy_chart/state/selectors/visible_ticks.js.map +1 -1
  124. package/dist/chart_types/xy_chart/state/utils/utils.js.map +1 -1
  125. package/dist/chart_types/xy_chart/utils/axis_utils.js +5 -6
  126. package/dist/chart_types/xy_chart/utils/axis_utils.js.map +1 -1
  127. package/dist/chart_types/xy_chart/utils/dimensions.js +1 -18
  128. package/dist/chart_types/xy_chart/utils/dimensions.js.map +1 -1
  129. package/dist/chart_types/xy_chart/utils/grid_lines.js +2 -3
  130. package/dist/chart_types/xy_chart/utils/grid_lines.js.map +1 -1
  131. package/dist/chart_types/xy_chart/utils/series.d.ts +2 -3
  132. package/dist/chart_types/xy_chart/utils/series.d.ts.map +1 -1
  133. package/dist/chart_types/xy_chart/utils/series.js.map +1 -1
  134. package/dist/common/panel_utils.d.ts +7 -0
  135. package/dist/common/panel_utils.d.ts.map +1 -0
  136. package/dist/common/panel_utils.js +97 -0
  137. package/dist/common/panel_utils.js.map +1 -0
  138. package/dist/components/brush/brush.js.map +1 -1
  139. package/dist/components/chart.js +3 -3
  140. package/dist/components/chart.js.map +1 -1
  141. package/dist/components/chart_background.js +1 -2
  142. package/dist/components/chart_background.js.map +1 -1
  143. package/dist/components/chart_container.js.map +1 -1
  144. package/dist/components/legend/legend_item.js +15 -12
  145. package/dist/components/legend/legend_item.js.map +1 -1
  146. package/dist/components/tooltip/components/tooltip_wrapper.js +1 -1
  147. package/dist/components/tooltip/components/tooltip_wrapper.js.map +1 -1
  148. package/dist/index.d.ts +3 -1
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/specs/constants.d.ts +1 -1
  152. package/dist/specs/settings.d.ts +3 -2
  153. package/dist/specs/settings.d.ts.map +1 -1
  154. package/dist/specs/settings.js.map +1 -1
  155. package/dist/state/chart_state.js.map +1 -1
  156. package/dist/state/selectors/compute_panels.d.ts.map +1 -0
  157. package/dist/{chart_types/xy_chart/state → state}/selectors/compute_panels.js +3 -4
  158. package/dist/state/selectors/compute_panels.js.map +1 -0
  159. package/dist/state/selectors/compute_small_multiple_scales.d.ts.map +1 -0
  160. package/dist/state/selectors/compute_small_multiple_scales.js +25 -0
  161. package/dist/state/selectors/compute_small_multiple_scales.js.map +1 -0
  162. package/dist/state/selectors/get_internal_sm_domains.d.ts +2 -0
  163. package/dist/state/selectors/get_internal_sm_domains.d.ts.map +1 -0
  164. package/dist/state/selectors/get_internal_sm_domains.js +14 -0
  165. package/dist/state/selectors/get_internal_sm_domains.js.map +1 -0
  166. package/dist/state/selectors/get_small_multiples_index_order.d.ts +2 -0
  167. package/dist/state/selectors/get_small_multiples_index_order.d.ts.map +1 -0
  168. package/dist/state/selectors/get_small_multiples_index_order.js +33 -0
  169. package/dist/state/selectors/get_small_multiples_index_order.js.map +1 -0
  170. package/dist/state/selectors/get_small_multiples_spec.js +2 -2
  171. package/dist/state/selectors/get_small_multiples_spec.js.map +1 -1
  172. package/dist/state/selectors/is_external_tooltip_visible.js +6 -7
  173. package/dist/state/selectors/is_external_tooltip_visible.js.map +1 -1
  174. package/dist/state/types.d.ts +1 -1
  175. package/dist/state/types.d.ts.map +1 -1
  176. package/dist/state/utils.js +6 -1
  177. package/dist/state/utils.js.map +1 -1
  178. package/dist/utils/data_generators/data_generator.d.ts +7 -0
  179. package/dist/utils/data_generators/data_generator.d.ts.map +1 -1
  180. package/dist/utils/data_generators/data_generator.js +23 -6
  181. package/dist/utils/data_generators/data_generator.js.map +1 -1
  182. package/dist/utils/logger.js +1 -2
  183. package/dist/utils/logger.js.map +1 -1
  184. package/dist/utils/themes/dark_theme.d.ts.map +1 -1
  185. package/dist/utils/themes/dark_theme.js +0 -10
  186. package/dist/utils/themes/dark_theme.js.map +1 -1
  187. package/dist/utils/themes/light_theme.d.ts.map +1 -1
  188. package/dist/utils/themes/light_theme.js +0 -10
  189. package/dist/utils/themes/light_theme.js.map +1 -1
  190. package/dist/utils/themes/theme.d.ts +0 -10
  191. package/dist/utils/themes/theme.d.ts.map +1 -1
  192. package/dist/utils/themes/theme.js.map +1 -1
  193. package/package.json +1 -1
  194. package/dist/chart_types/heatmap/state/selectors/geometries.d.ts +0 -2
  195. package/dist/chart_types/heatmap/state/selectors/geometries.d.ts.map +0 -1
  196. package/dist/chart_types/heatmap/state/selectors/geometries.js.map +0 -1
  197. package/dist/chart_types/xy_chart/state/selectors/compute_panels.d.ts.map +0 -1
  198. package/dist/chart_types/xy_chart/state/selectors/compute_panels.js.map +0 -1
  199. package/dist/chart_types/xy_chart/state/selectors/compute_small_multiple_scales.d.ts.map +0 -1
  200. package/dist/chart_types/xy_chart/state/selectors/compute_small_multiple_scales.js +0 -25
  201. package/dist/chart_types/xy_chart/state/selectors/compute_small_multiple_scales.js.map +0 -1
  202. package/dist/chart_types/xy_chart/utils/panel.d.ts +0 -2
  203. package/dist/chart_types/xy_chart/utils/panel.d.ts.map +0 -1
  204. package/dist/chart_types/xy_chart/utils/panel.js +0 -14
  205. package/dist/chart_types/xy_chart/utils/panel.js.map +0 -1
  206. package/dist/chart_types/xy_chart/utils/panel_utils.d.ts +0 -2
  207. package/dist/chart_types/xy_chart/utils/panel_utils.d.ts.map +0 -1
  208. package/dist/chart_types/xy_chart/utils/panel_utils.js +0 -54
  209. package/dist/chart_types/xy_chart/utils/panel_utils.js.map +0 -1
  210. /package/dist/{chart_types/xy_chart/state → state}/selectors/compute_panels.d.ts +0 -0
  211. /package/dist/{chart_types/xy_chart/state → state}/selectors/compute_small_multiple_scales.d.ts +0 -0
@@ -36,11 +36,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
36
36
  return to.concat(ar || Array.prototype.slice.call(from));
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.isRasterTimeScale = exports.isValueInRanges = exports.shapeViewModel = void 0;
40
- var d3_array_1 = require("d3-array");
39
+ exports.isRasterTimeScale = exports.isValueInRanges = exports.shapeViewModel = exports.clampWithOffset = void 0;
41
40
  var d3_scale_1 = require("d3-scale");
42
41
  var color_library_wrappers_1 = require("../../../../common/color_library_wrappers");
43
42
  var fill_text_color_1 = require("../../../../common/fill_text_color");
43
+ var panel_utils_1 = require("../../../../common/panel_utils");
44
44
  var text_utils_1 = require("../../../../common/text_utils");
45
45
  var constants_1 = require("../../../../scales/constants");
46
46
  var elasticsearch_1 = require("../../../../utils/chrono/elasticsearch");
@@ -52,25 +52,27 @@ function getValuesInRange(values, startValue, endValue) {
52
52
  var endIndex = Math.min(values.indexOf(endValue) + 1, values.length);
53
53
  return values.slice(startIndex, endIndex);
54
54
  }
55
- function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, colorScale, bandsToHide) {
56
- var _b, _c;
57
- var heatmapTheme = _a.heatmap, axisTitle = _a.axes.axisTitle, background = _a.background;
58
- var gridStrokeWidth = (_b = heatmapTheme.grid.stroke.width) !== null && _b !== void 0 ? _b : 1;
55
+ function clampWithOffset(value, lowerBound, upperBound, offset) {
56
+ return (0, common_1.clamp)(value, lowerBound + offset, upperBound + offset) - offset;
57
+ }
58
+ exports.clampWithOffset = clampWithOffset;
59
+ function shapeViewModel(textMeasure, spec, _a, _b, elementSizes, heatmapTable, colorScale, smScales, groupBySpec, bandsToHide) {
60
+ var _c, _d;
61
+ var heatmapTheme = _a.heatmap, _e = _a.axes, axisTitle = _e.axisTitle, axisPanelTitle = _e.axisPanelTitle, background = _a.background;
62
+ var chartDimensions = _b.chartDimensions;
59
63
  var table = heatmapTable.table, yValues = heatmapTable.yValues, xValues = heatmapTable.xValues;
64
+ var gridStrokeWidth = heatmapTheme.grid.stroke.width;
65
+ var isPointerOverPanel = (0, panel_utils_1.isPointerOverPanelFn)(smScales, chartDimensions, gridStrokeWidth);
60
66
  var boxedYValues = yValues.map(function (value) { return (__assign({ text: spec.yAxisLabelFormatter(value), value: value, isValue: false }, heatmapTheme.yAxisLabel)); });
61
- var yScale = (0, d3_scale_1.scaleBand)().domain(yValues).range([0, elementSizes.fullHeatmapHeight]);
62
- var yInvertedScale = (0, d3_scale_1.scaleQuantize)()
63
- .domain([0, elementSizes.fullHeatmapHeight])
64
- .range(yValues);
65
- var xScale = (0, d3_scale_1.scaleBand)().domain(xValues).range([0, elementSizes.grid.width]);
66
- var xInvertedScale = (0, d3_scale_1.scaleQuantize)()
67
- .domain([0, elementSizes.grid.width])
68
- .range(xValues);
67
+ var panelSize = (0, panel_utils_1.getPanelSize)(smScales);
68
+ var yScale = (0, d3_scale_1.scaleBand)().domain(yValues).range([0, panelSize.height]);
69
+ var yInvertedScale = (0, d3_scale_1.scaleQuantize)().domain([0, panelSize.height]).range(yValues);
70
+ var xScale = (0, d3_scale_1.scaleBand)().domain(xValues).range([0, panelSize.width]);
71
+ var xInvertedScale = (0, d3_scale_1.scaleQuantize)().domain([0, panelSize.width]).range(xValues);
69
72
  var cellWidth = heatmapTheme.cell.maxWidth !== 'fill' && xScale.bandwidth() > heatmapTheme.cell.maxWidth
70
73
  ? heatmapTheme.cell.maxWidth
71
74
  : xScale.bandwidth();
72
75
  var cellHeight = yScale.bandwidth();
73
- var currentGridHeight = elementSizes.grid.height;
74
76
  var textXValues = getXTicks(spec, heatmapTheme.xAxisLabel, xScale, heatmapTable.xValues);
75
77
  var padding = heatmapTheme.yAxisLabel.padding;
76
78
  var textYValues = boxedYValues.map(function (d) {
@@ -81,7 +83,9 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
81
83
  if ((0, color_library_wrappers_1.colorToRgba)(background.color)[3] < 1) {
82
84
  logger_1.Logger.expected('Text contrast requires a opaque background color, using fallbackColor', 'an opaque color', background.color);
83
85
  }
84
- var cellMap = table.reduce(function (acc, d) {
86
+ var tableMinFontSize = Infinity;
87
+ var panelCellMap = table.reduce(function (acc, d) {
88
+ var _a;
85
89
  var x = xScale(String(d.x));
86
90
  var y = yScale(String(d.y));
87
91
  var yIndex = yValues.indexOf(d.y);
@@ -89,10 +93,15 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
89
93
  return acc;
90
94
  }
91
95
  var cellBackgroundColor = colorScale(d.value);
96
+ var panelKey = getPanelKey(d.smHorizontalAccessorValue, d.smVerticalAccessorValue);
92
97
  var cellKey = getCellKey(d.x, d.y);
93
98
  var formattedValue = spec.valueFormatter(d.value);
94
99
  var fontSize = (0, text_utils_1.maximiseFontSize)(textMeasure, formattedValue, heatmapTheme.cell.label, heatmapTheme.cell.label.minFontSize, heatmapTheme.cell.label.maxFontSize, cellWidthInner - 6, cellHeightInner - 6);
95
- acc[cellKey] = {
100
+ tableMinFontSize = Math.min(tableMinFontSize, fontSize);
101
+ var cellMap = (_a = acc.get(panelKey)) !== null && _a !== void 0 ? _a : new Map();
102
+ if (!acc.has(panelKey))
103
+ acc.set(panelKey, cellMap);
104
+ cellMap.set(cellKey, {
96
105
  x: (heatmapTheme.cell.maxWidth !== 'fill' ? x + xScale.bandwidth() / 2 - heatmapTheme.cell.maxWidth / 2 : x) +
97
106
  gridStrokeWidth / 2,
98
107
  y: y + gridStrokeWidth / 2,
@@ -112,58 +121,88 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
112
121
  formatted: formattedValue,
113
122
  fontSize: fontSize,
114
123
  textColor: (0, fill_text_color_1.fillTextColor)(background.fallbackColor, cellBackgroundColor, background.color),
115
- };
124
+ });
116
125
  return acc;
117
- }, {});
126
+ }, new Map());
127
+ var getScaledSMValue = function (value, scale) {
128
+ return (0, panel_utils_1.hasSMDomain)(smScales[scale]) ? smScales[scale].scale(value) : 0;
129
+ };
130
+ var getPanelPointCoordinate = function (value, scale) {
131
+ var _a;
132
+ var category = (_a = smScales[scale].invert(value)) !== null && _a !== void 0 ? _a : '';
133
+ var panelOffset = getScaledSMValue(category, scale);
134
+ var invertedScale = scale === 'horizontal' ? xInvertedScale : yInvertedScale;
135
+ return {
136
+ category: category,
137
+ panelOffset: panelOffset,
138
+ panelPixelValue: value - panelOffset,
139
+ panelValue: invertedScale(value - panelOffset),
140
+ };
141
+ };
142
+ var getPanelPointCoordinates = function (x, y) {
143
+ var _a = getPanelPointCoordinate(y, 'vertical'), v = _a.category, panelY = _a.panelValue, panelOffsetY = _a.panelOffset;
144
+ var _b = getPanelPointCoordinate(x, 'horizontal'), h = _b.category, panelX = _b.panelValue, panelOffsetX = _b.panelOffset;
145
+ return {
146
+ x: panelX,
147
+ y: panelY,
148
+ v: v,
149
+ h: h,
150
+ panelOffsetY: panelOffsetY,
151
+ panelOffsetX: panelOffsetX,
152
+ };
153
+ };
118
154
  var pickGridCell = function (x, y) {
119
- if (x < elementSizes.grid.left || y < elementSizes.grid.top)
155
+ if (x < chartDimensions.left || y < chartDimensions.top)
120
156
  return undefined;
121
- if (x > elementSizes.grid.width + elementSizes.grid.left || y > elementSizes.grid.top + elementSizes.grid.height)
157
+ if (x > chartDimensions.width + chartDimensions.left || y > chartDimensions.top + chartDimensions.height)
122
158
  return undefined;
123
- var xValue = xInvertedScale(x - elementSizes.grid.left);
159
+ var xValue = xInvertedScale(x - chartDimensions.left);
124
160
  var yValue = yInvertedScale(y);
125
161
  if (xValue === undefined || yValue === undefined)
126
162
  return undefined;
127
163
  return { x: xValue, y: yValue };
128
164
  };
129
165
  var pickQuads = function (x, y) {
166
+ var _a;
130
167
  if (x > 0 &&
131
- x < elementSizes.grid.left &&
132
- y > elementSizes.grid.top &&
133
- y < elementSizes.grid.top + elementSizes.grid.height) {
168
+ x < chartDimensions.left &&
169
+ y > chartDimensions.top &&
170
+ y < chartDimensions.top + chartDimensions.height) {
134
171
  var yLabelKey_1 = yInvertedScale(y);
135
172
  var yLabelValue = textYValues.find(function (v) { return v.value === yLabelKey_1; });
136
173
  if (yLabelValue) {
137
174
  return yLabelValue;
138
175
  }
139
176
  }
140
- if (x < elementSizes.grid.left || y < elementSizes.grid.top) {
141
- return [];
142
- }
143
- if (x > elementSizes.grid.width + elementSizes.grid.left || y > elementSizes.grid.top + elementSizes.grid.height) {
177
+ if (!isPointerOverPanel({ x: x, y: y })) {
144
178
  return [];
145
179
  }
146
- var xValue = xInvertedScale(x - elementSizes.grid.left);
147
- var yValue = yInvertedScale(y);
180
+ var _b = getPanelPointCoordinates(x - chartDimensions.left, y), xValue = _b.x, yValue = _b.y, h = _b.h, v = _b.v;
148
181
  if (xValue === undefined || yValue === undefined) {
149
182
  return [];
150
183
  }
184
+ var panelKey = getPanelKey(h, v);
151
185
  var cellKey = getCellKey(xValue, yValue);
152
- var cell = cellMap[cellKey];
153
- if (cell) {
186
+ var cell = (_a = panelCellMap.get(panelKey)) === null || _a === void 0 ? void 0 : _a.get(cellKey);
187
+ if (cell)
154
188
  return [cell];
155
- }
156
189
  return [];
157
190
  };
158
191
  var pickDragArea = function (bound) {
159
192
  var _a = __read(bound, 2), start = _a[0], end = _a[1];
160
- var _b = elementSizes.grid, left = _b.left, top = _b.top, width = _b.width;
193
+ var left = chartDimensions.left, top = chartDimensions.top;
161
194
  var topLeft = [Math.min(start.x, end.x) - left, Math.min(start.y, end.y) - top];
162
195
  var bottomRight = [Math.max(start.x, end.x) - left, Math.max(start.y, end.y) - top];
163
- var startX = xInvertedScale((0, common_1.clamp)(topLeft[0], 0, width));
164
- var endX = xInvertedScale((0, common_1.clamp)(bottomRight[0], 0, width));
165
- var startY = yInvertedScale((0, common_1.clamp)(topLeft[1], 0, currentGridHeight - 1));
166
- var endY = yInvertedScale((0, common_1.clamp)(bottomRight[1], 0, currentGridHeight - 1));
196
+ var _b = getPanelPointCoordinate(start.x, 'horizontal'), smHorizontalAccessorValue = _b.category, hOffset = _b.panelOffset;
197
+ var _c = getPanelPointCoordinate(start.y, 'vertical'), smVerticalAccessorValue = _c.category, vOffset = _c.panelOffset;
198
+ var panelStartX = clampWithOffset(topLeft[0], 0, panelSize.width, hOffset);
199
+ var panelStartY = clampWithOffset(topLeft[1], 0, panelSize.height, vOffset);
200
+ var panelEndX = clampWithOffset(bottomRight[0], 0, panelSize.width, hOffset);
201
+ var panelEndY = clampWithOffset(bottomRight[1], 0, panelSize.height, vOffset);
202
+ var startX = xInvertedScale(panelStartX);
203
+ var startY = yInvertedScale(panelStartY);
204
+ var endX = xInvertedScale(panelEndX);
205
+ var endY = yInvertedScale(panelEndY);
167
206
  var allXValuesInRange = getValuesInRange(xValues, startX, endX);
168
207
  var allYValuesInRange = getValuesInRange(yValues, startY, endY);
169
208
  var invertedXValues = isRasterTimeScale(spec.xScale) && typeof endX === 'number'
@@ -172,21 +211,27 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
172
211
  var cells = [];
173
212
  allXValuesInRange.forEach(function (x) {
174
213
  allYValuesInRange.forEach(function (y) {
214
+ var _a;
215
+ var panelKey = getPanelKey(smHorizontalAccessorValue, smVerticalAccessorValue);
175
216
  var cellKey = getCellKey(x, y);
176
- cells.push(cellMap[cellKey]);
217
+ var cellValue = (_a = panelCellMap.get(panelKey)) === null || _a === void 0 ? void 0 : _a.get(cellKey);
218
+ if (cellValue)
219
+ cells.push(cellValue);
177
220
  });
178
221
  });
179
222
  return {
180
223
  cells: cells.filter(Boolean),
181
224
  x: invertedXValues,
182
225
  y: allYValuesInRange,
226
+ smHorizontalAccessorValue: smHorizontalAccessorValue,
227
+ smVerticalAccessorValue: smVerticalAccessorValue,
183
228
  };
184
229
  };
185
- var pickHighlightedArea = function (x, y) {
230
+ var pickHighlightedArea = function (x, y, smHorizontalAccessorValue, smVerticalAccessorValue) {
186
231
  var startValue = x[0];
187
232
  var endValue = x[x.length - 1];
188
- var leftIndex = typeof startValue === 'number' ? (0, d3_array_1.bisectLeft)(xValues, startValue) : xValues.indexOf(startValue);
189
- var rightIndex = typeof endValue === 'number' ? (0, d3_array_1.bisectLeft)(xValues, endValue) : xValues.indexOf(endValue) + 1;
233
+ var leftIndex = xValues.indexOf(startValue);
234
+ var rightIndex = xValues.indexOf(endValue) + (isRasterTimeScale(spec.xScale) && x.length > 1 ? 0 : 1);
190
235
  var isRightOutOfRange = rightIndex > xValues.length - 1 || rightIndex < 0;
191
236
  var isLeftOutOfRange = leftIndex > xValues.length - 1 || leftIndex < 0;
192
237
  var startFromScale = xScale(isLeftOutOfRange ? xValues[0] : xValues[leftIndex]);
@@ -194,13 +239,17 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
194
239
  if (startFromScale === undefined || endFromScale === undefined) {
195
240
  return null;
196
241
  }
197
- var xStart = elementSizes.grid.left + startFromScale;
242
+ var panelXOffset = (0, common_1.isNil)(smHorizontalAccessorValue)
243
+ ? 0
244
+ : getScaledSMValue(smHorizontalAccessorValue, 'horizontal');
245
+ var panelYOffset = (0, common_1.isNil)(smVerticalAccessorValue) ? 0 : getScaledSMValue(smVerticalAccessorValue, 'vertical');
246
+ var xStart = chartDimensions.left + startFromScale + panelXOffset;
198
247
  var width = endFromScale - startFromScale + (isRightOutOfRange || isLeftOutOfRange ? cellWidth : 0);
199
248
  var _a = y
200
249
  .filter(function (v) { return yValues.includes(v); })
201
250
  .reduce(function (acc, current, i) {
202
251
  if (i === 0) {
203
- acc.y = yScale(current) || 0;
252
+ acc.y = (yScale(current) || 0) + panelYOffset;
204
253
  }
205
254
  acc.totalHeight += cellHeight;
206
255
  return acc;
@@ -213,8 +262,8 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
213
262
  };
214
263
  };
215
264
  var pickDragShape = function (bound) {
216
- var area = pickDragArea(bound);
217
- return pickHighlightedArea(area.x, area.y);
265
+ var _a = pickDragArea(bound), x = _a.x, y = _a.y, smHorizontalAccessorValue = _a.smHorizontalAccessorValue, smVerticalAccessorValue = _a.smVerticalAccessorValue;
266
+ return pickHighlightedArea(x, y, smHorizontalAccessorValue, smVerticalAccessorValue);
218
267
  };
219
268
  var pickCursorBand = function (x) {
220
269
  var _a;
@@ -226,31 +275,26 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
226
275
  ? undefined
227
276
  : {
228
277
  width: cellWidth,
229
- x: elementSizes.grid.left + ((_a = xScale(xValues[index])) !== null && _a !== void 0 ? _a : NaN),
230
- y: elementSizes.grid.top,
231
- height: elementSizes.grid.height,
278
+ x: chartDimensions.left + ((_a = xScale(xValues[index])) !== null && _a !== void 0 ? _a : NaN),
279
+ y: chartDimensions.top,
280
+ height: chartDimensions.height,
232
281
  };
233
282
  };
234
283
  var xLines = Array.from({ length: xValues.length + 1 }, function (d, i) {
235
284
  var xAxisExtension = i % elementSizes.xAxisTickCadence === 0 ? 5 : 0;
236
285
  return {
237
- x1: elementSizes.grid.left + i * cellWidth,
238
- x2: elementSizes.grid.left + i * cellWidth,
239
- y1: elementSizes.grid.top,
240
- y2: currentGridHeight + xAxisExtension,
286
+ x1: i * cellWidth,
287
+ x2: i * cellWidth,
288
+ y1: 0,
289
+ y2: panelSize.height + xAxisExtension,
241
290
  };
242
291
  });
243
- var yLines = Array.from({ length: elementSizes.visibleNumberOfRows + 1 }, function (d, i) { return ({
244
- x1: elementSizes.grid.left,
245
- x2: elementSizes.grid.left + elementSizes.grid.width,
246
- y1: elementSizes.grid.top + i * cellHeight,
247
- y2: elementSizes.grid.top + i * cellHeight,
292
+ var yLines = Array.from({ length: yValues.length + 1 }, function (d, i) { return ({
293
+ x1: 0,
294
+ x2: panelSize.width,
295
+ y1: i * cellHeight,
296
+ y2: i * cellHeight,
248
297
  }); });
249
- var cells = Object.values(cellMap);
250
- var tableMinFontSize = cells.reduce(function (acc, _a) {
251
- var fontSize = _a.fontSize;
252
- return Math.min(acc, fontSize);
253
- }, Infinity);
254
298
  var axisTitleFont = {
255
299
  visible: axisTitle.visible,
256
300
  fontFamily: axisTitle.fontFamily,
@@ -260,41 +304,85 @@ function shapeViewModel(textMeasure, spec, _a, elementSizes, heatmapTable, color
260
304
  textColor: axisTitle.fill,
261
305
  fontSize: axisTitle.fontSize,
262
306
  };
307
+ var axisPanelTitleFont = {
308
+ visible: axisPanelTitle.visible,
309
+ fontFamily: axisPanelTitle.fontFamily,
310
+ fontStyle: (_d = axisPanelTitle.fontStyle) !== null && _d !== void 0 ? _d : 'normal',
311
+ fontVariant: 'normal',
312
+ fontWeight: 'bold',
313
+ textColor: axisPanelTitle.fill,
314
+ fontSize: axisPanelTitle.fontSize,
315
+ };
263
316
  return {
264
317
  theme: heatmapTheme,
265
- heatmapViewModel: {
266
- gridOrigin: {
267
- x: elementSizes.grid.left,
268
- y: elementSizes.grid.top,
269
- },
270
- gridLines: {
271
- x: xLines,
272
- y: yLines,
273
- stroke: {
274
- color: (0, color_library_wrappers_1.colorToRgba)(heatmapTheme.grid.stroke.color),
275
- width: gridStrokeWidth,
276
- },
277
- },
278
- pageSize: elementSizes.visibleNumberOfRows,
279
- cells: cells,
280
- cellFontSize: function (cell) { return (heatmapTheme.cell.label.useGlobalMinFontSize ? tableMinFontSize : cell.fontSize); },
281
- xValues: textXValues,
282
- yValues: textYValues,
283
- titles: [
284
- __assign(__assign({ origin: {
285
- x: elementSizes.grid.left + elementSizes.grid.width / 2,
286
- y: elementSizes.grid.top +
287
- elementSizes.grid.height +
318
+ heatmapViewModels: (0, panel_utils_1.getPerPanelMap)(smScales, function (anchor, h, v) {
319
+ var _a, _b;
320
+ var primaryColumn = smScales.vertical.domain[0] === v;
321
+ var primaryRow = smScales.horizontal.domain[0] === h;
322
+ var lastColumn = smScales.vertical.domain[smScales.vertical.domain.length - 1] === v;
323
+ var titles = [];
324
+ var cells = __spreadArray([], __read(((_b = (_a = panelCellMap.get(getPanelKey(h, v))) === null || _a === void 0 ? void 0 : _a.values()) !== null && _b !== void 0 ? _b : [])), false);
325
+ if (primaryColumn && primaryRow) {
326
+ if (spec.xAxisTitle) {
327
+ var axisPanelTitleHeight = groupBySpec.horizontal && axisPanelTitle.visible
328
+ ? axisPanelTitle.fontSize + (0, dimensions_1.innerPad)(axisPanelTitle.padding) / 2
329
+ : 0;
330
+ titles.push(__assign(__assign({ origin: {
331
+ x: chartDimensions.width / 2,
332
+ y: chartDimensions.top +
333
+ chartDimensions.height +
334
+ elementSizes.xAxis.height +
335
+ axisPanelTitleHeight +
336
+ (0, dimensions_1.innerPad)(axisTitle.padding) / 2 +
337
+ axisTitle.fontSize / 2,
338
+ } }, axisTitleFont), { text: spec.xAxisTitle, rotation: 0 }));
339
+ }
340
+ if (spec.yAxisTitle) {
341
+ titles.push(__assign(__assign({ origin: {
342
+ x: -chartDimensions.left + axisTitle.fontSize / 2,
343
+ y: chartDimensions.top + chartDimensions.height / 2,
344
+ } }, axisTitleFont), { text: spec.yAxisTitle, rotation: -90 }));
345
+ }
346
+ }
347
+ if (primaryColumn && groupBySpec.horizontal) {
348
+ titles.push(__assign(__assign({ origin: {
349
+ x: panelSize.width / 2,
350
+ y: chartDimensions.top +
351
+ chartDimensions.height +
288
352
  elementSizes.xAxis.height +
289
- (0, dimensions_1.innerPad)(axisTitle.padding) +
290
- axisTitle.fontSize / 2,
291
- } }, axisTitleFont), { text: spec.xAxisTitle, rotation: 0 }),
292
- __assign(__assign({ origin: {
293
- x: elementSizes.yAxis.left - (0, dimensions_1.innerPad)(axisTitle.padding) - axisTitle.fontSize / 2,
294
- y: elementSizes.grid.top + elementSizes.grid.height / 2,
295
- } }, axisTitleFont), { text: spec.yAxisTitle, rotation: -90 }),
296
- ],
297
- },
353
+ (0, dimensions_1.innerPad)(axisPanelTitle.padding) +
354
+ axisPanelTitle.fontSize / 2,
355
+ } }, axisPanelTitleFont), { text: (0, panel_utils_1.getPanelTitle)(false, v, h, groupBySpec), rotation: 0 }));
356
+ }
357
+ if (primaryRow && groupBySpec.vertical) {
358
+ var axisTitleWidth = axisTitle.visible ? axisTitle.fontSize + (0, dimensions_1.innerPad)(axisTitle.padding) : 0;
359
+ titles.push(__assign(__assign({ origin: {
360
+ x: -chartDimensions.left + axisTitleWidth + axisPanelTitle.fontSize / 2,
361
+ y: chartDimensions.top + panelSize.height / 2,
362
+ } }, axisPanelTitleFont), { text: (0, panel_utils_1.getPanelTitle)(true, v, h, groupBySpec), rotation: -90 }));
363
+ }
364
+ return {
365
+ anchor: anchor,
366
+ panelSize: panelSize,
367
+ gridOrigin: {
368
+ x: anchor.x + chartDimensions.left,
369
+ y: anchor.y + chartDimensions.top,
370
+ },
371
+ gridLines: {
372
+ x: xLines,
373
+ y: yLines,
374
+ stroke: {
375
+ color: (0, color_library_wrappers_1.colorToRgba)(heatmapTheme.grid.stroke.color),
376
+ width: gridStrokeWidth,
377
+ },
378
+ },
379
+ cells: cells,
380
+ cellFontSize: function (cell) { return (heatmapTheme.cell.label.useGlobalMinFontSize ? tableMinFontSize : cell.fontSize); },
381
+ xValues: lastColumn ? textXValues : [],
382
+ yValues: primaryRow ? textYValues : [],
383
+ titles: titles,
384
+ };
385
+ }),
298
386
  pickGridCell: pickGridCell,
299
387
  pickQuads: pickQuads,
300
388
  pickDragArea: pickDragArea,
@@ -307,6 +395,11 @@ exports.shapeViewModel = shapeViewModel;
307
395
  function getCellKey(x, y) {
308
396
  return [String(x), String(y)].join('&_&');
309
397
  }
398
+ function getPanelKey(h, v) {
399
+ if (h === void 0) { h = ''; }
400
+ if (v === void 0) { v = ''; }
401
+ return [String(h), String(v)].join('&_&');
402
+ }
310
403
  function isValueInRanges(value, ranges) {
311
404
  return ranges.some(function (_a) {
312
405
  var _b = __read(_a, 2), min = _b[0], max = _b[1];
@@ -1 +1 @@
1
- {"version":3,"file":"viewmodel.js","sourceRoot":"","sources":["../../../../../src/chart_types/heatmap/layout/viewmodel/viewmodel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewmodel.js","sourceRoot":"","sources":["../../../../../src/chart_types/heatmap/layout/viewmodel/viewmodel.ts"],"names":[],"mappings":"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"}