@elastic/charts 64.1.0 → 65.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 (190) hide show
  1. package/README.md +4 -4
  2. package/dist/chart_types/heatmap/state/selectors/compute_legend.js +2 -0
  3. package/dist/chart_types/heatmap/state/selectors/compute_legend.js.map +1 -1
  4. package/dist/chart_types/heatmap/state/selectors/get_legend_items_labels.js +5 -5
  5. package/dist/chart_types/heatmap/state/selectors/get_legend_items_labels.js.map +1 -1
  6. package/dist/chart_types/metric/renderer/dom/sparkline.js +21 -4
  7. package/dist/chart_types/metric/renderer/dom/sparkline.js.map +1 -1
  8. package/dist/chart_types/metric/renderer/dom/text.js +22 -8
  9. package/dist/chart_types/metric/renderer/dom/text.js.map +1 -1
  10. package/dist/chart_types/metric/specs/index.d.ts +19 -3
  11. package/dist/chart_types/metric/specs/index.d.ts.map +1 -1
  12. package/dist/chart_types/metric/specs/index.js +15 -4
  13. package/dist/chart_types/metric/specs/index.js.map +1 -1
  14. package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js +3 -2
  15. package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js.map +1 -1
  16. package/dist/chart_types/partition_chart/state/chart_state.js +3 -3
  17. package/dist/chart_types/partition_chart/state/chart_state.js.map +1 -1
  18. package/dist/chart_types/partition_chart/state/selectors/compute_legend.js +10 -7
  19. package/dist/chart_types/partition_chart/state/selectors/compute_legend.js.map +1 -1
  20. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_labels.js +2 -2
  21. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_labels.js.map +1 -1
  22. package/dist/chart_types/specs.d.ts +1 -1
  23. package/dist/chart_types/specs.d.ts.map +1 -1
  24. package/dist/chart_types/specs.js.map +1 -1
  25. package/dist/chart_types/timeslip/timeslip/config.js +1 -0
  26. package/dist/chart_types/timeslip/timeslip/config.js.map +1 -1
  27. package/dist/chart_types/xy_chart/axes/timeslip/chrono/chrono_luxon/chrono_luxon.js.map +1 -1
  28. package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.js +2 -2
  29. package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.js.map +1 -1
  30. package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js +2 -2
  31. package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js.map +1 -1
  32. package/dist/chart_types/xy_chart/legend/legend.js +23 -30
  33. package/dist/chart_types/xy_chart/legend/legend.js.map +1 -1
  34. package/dist/chart_types/xy_chart/renderer/dom/highlighter.js +10 -2
  35. package/dist/chart_types/xy_chart/renderer/dom/highlighter.js.map +1 -1
  36. package/dist/chart_types/xy_chart/rendering/bars.js +26 -20
  37. package/dist/chart_types/xy_chart/rendering/bars.js.map +1 -1
  38. package/dist/chart_types/xy_chart/rendering/points.js +6 -6
  39. package/dist/chart_types/xy_chart/rendering/points.js.map +1 -1
  40. package/dist/chart_types/xy_chart/rendering/utils.js +5 -10
  41. package/dist/chart_types/xy_chart/rendering/utils.js.map +1 -1
  42. package/dist/chart_types/xy_chart/state/selectors/get_legend_items_labels.js +1 -11
  43. package/dist/chart_types/xy_chart/state/selectors/get_legend_items_labels.js.map +1 -1
  44. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js +5 -1
  45. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js.map +1 -1
  46. package/dist/chart_types/xy_chart/state/selectors/visible_ticks.js +2 -2
  47. package/dist/chart_types/xy_chart/state/selectors/visible_ticks.js.map +1 -1
  48. package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts +2 -0
  49. package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts.map +1 -0
  50. package/dist/chart_types/xy_chart/state/utils/get_legend_values.js +63 -0
  51. package/dist/chart_types/xy_chart/state/utils/get_legend_values.js.map +1 -0
  52. package/dist/chart_types/xy_chart/state/utils/utils.js +1 -1
  53. package/dist/chart_types/xy_chart/state/utils/utils.js.map +1 -1
  54. package/dist/chart_types/xy_chart/tooltip/tooltip.js +4 -3
  55. package/dist/chart_types/xy_chart/tooltip/tooltip.js.map +1 -1
  56. package/dist/chart_types/xy_chart/utils/specs.d.ts +3 -3
  57. package/dist/common/aggregations.d.ts +2 -0
  58. package/dist/common/aggregations.d.ts.map +1 -0
  59. package/dist/common/aggregations.js +151 -0
  60. package/dist/common/aggregations.js.map +1 -0
  61. package/dist/common/constants.d.ts +6 -6
  62. package/dist/common/constants.d.ts.map +1 -1
  63. package/dist/common/constants.js.map +1 -1
  64. package/dist/common/legend.d.ts +51 -1
  65. package/dist/common/legend.d.ts.map +1 -1
  66. package/dist/common/legend.js +45 -0
  67. package/dist/common/legend.js.map +1 -1
  68. package/dist/components/chart.d.ts +1 -1
  69. package/dist/components/legend/label.js +48 -12
  70. package/dist/components/legend/label.js.map +1 -1
  71. package/dist/components/legend/legend.js +54 -13
  72. package/dist/components/legend/legend.js.map +1 -1
  73. package/dist/components/legend/legend_color_picker.d.ts +2 -0
  74. package/dist/components/legend/legend_color_picker.d.ts.map +1 -0
  75. package/dist/components/legend/legend_color_picker.js +42 -0
  76. package/dist/components/legend/legend_color_picker.js.map +1 -0
  77. package/dist/components/legend/legend_item.js +49 -100
  78. package/dist/components/legend/legend_item.js.map +1 -1
  79. package/dist/components/legend/legend_table/index.d.ts +2 -0
  80. package/dist/components/legend/legend_table/index.d.ts.map +1 -0
  81. package/dist/components/legend/legend_table/index.js +6 -0
  82. package/dist/components/legend/legend_table/index.js.map +1 -0
  83. package/dist/components/legend/legend_table/legend_table.d.ts +2 -0
  84. package/dist/components/legend/legend_table/legend_table.d.ts.map +1 -0
  85. package/dist/components/legend/legend_table/legend_table.js +31 -0
  86. package/dist/components/legend/legend_table/legend_table.js.map +1 -0
  87. package/dist/components/legend/legend_table/legend_table_body.d.ts +2 -0
  88. package/dist/components/legend/legend_table/legend_table_body.d.ts.map +1 -0
  89. package/dist/components/legend/legend_table/legend_table_body.js +13 -0
  90. package/dist/components/legend/legend_table/legend_table_body.js.map +1 -0
  91. package/dist/components/legend/legend_table/legend_table_cell.d.ts +9 -0
  92. package/dist/components/legend/legend_table/legend_table_cell.d.ts.map +1 -0
  93. package/dist/components/legend/legend_table/legend_table_cell.js +16 -0
  94. package/dist/components/legend/legend_table/legend_table_cell.js.map +1 -0
  95. package/dist/components/legend/legend_table/legend_table_header.d.ts +2 -0
  96. package/dist/components/legend/legend_table/legend_table_header.d.ts.map +1 -0
  97. package/dist/components/legend/legend_table/legend_table_header.js +24 -0
  98. package/dist/components/legend/legend_table/legend_table_header.js.map +1 -0
  99. package/dist/components/legend/legend_table/legend_table_item.d.ts +2 -0
  100. package/dist/components/legend/legend_table/legend_table_item.d.ts.map +1 -0
  101. package/dist/components/legend/legend_table/legend_table_item.js +75 -0
  102. package/dist/components/legend/legend_table/legend_table_item.js.map +1 -0
  103. package/dist/components/legend/legend_table/legend_table_row.d.ts +7 -0
  104. package/dist/components/legend/legend_table/legend_table_row.d.ts.map +1 -0
  105. package/dist/components/legend/legend_table/legend_table_row.js +14 -0
  106. package/dist/components/legend/legend_table/legend_table_row.js.map +1 -0
  107. package/dist/components/legend/legend_table/legend_value.d.ts +2 -0
  108. package/dist/components/legend/legend_table/legend_value.d.ts.map +1 -0
  109. package/dist/components/legend/{extra.js → legend_table/legend_value.js} +7 -6
  110. package/dist/components/legend/legend_table/legend_value.js.map +1 -0
  111. package/dist/components/legend/types.d.ts +2 -0
  112. package/dist/components/legend/types.d.ts.map +1 -0
  113. package/dist/components/legend/types.js +3 -0
  114. package/dist/components/legend/types.js.map +1 -0
  115. package/dist/components/legend/utils.js +6 -6
  116. package/dist/components/legend/utils.js.map +1 -1
  117. package/dist/components/portal/types.d.ts +0 -1
  118. package/dist/components/portal/types.d.ts.map +1 -1
  119. package/dist/components/tooltip/components/tooltip_container.d.ts +2 -2
  120. package/dist/components/tooltip/components/tooltip_container.d.ts.map +1 -1
  121. package/dist/components/tooltip/components/tooltip_divider.d.ts +2 -2
  122. package/dist/components/tooltip/components/tooltip_divider.d.ts.map +1 -1
  123. package/dist/components/tooltip/components/tooltip_footer.d.ts +2 -2
  124. package/dist/components/tooltip/components/tooltip_footer.d.ts.map +1 -1
  125. package/dist/components/tooltip/components/tooltip_header.d.ts +2 -2
  126. package/dist/components/tooltip/components/tooltip_header.d.ts.map +1 -1
  127. package/dist/components/tooltip/components/tooltip_metric_row.d.ts +1 -1
  128. package/dist/components/tooltip/components/tooltip_metric_row.d.ts.map +1 -1
  129. package/dist/components/tooltip/components/tooltip_table.d.ts +2 -2
  130. package/dist/components/tooltip/components/tooltip_table.d.ts.map +1 -1
  131. package/dist/components/tooltip/components/tooltip_table_body.d.ts +2 -2
  132. package/dist/components/tooltip/components/tooltip_table_body.d.ts.map +1 -1
  133. package/dist/components/tooltip/components/tooltip_table_cell.d.ts +2 -2
  134. package/dist/components/tooltip/components/tooltip_table_cell.d.ts.map +1 -1
  135. package/dist/components/tooltip/components/tooltip_table_footer.d.ts +2 -2
  136. package/dist/components/tooltip/components/tooltip_table_footer.d.ts.map +1 -1
  137. package/dist/components/tooltip/components/tooltip_table_header.d.ts +2 -2
  138. package/dist/components/tooltip/components/tooltip_table_header.d.ts.map +1 -1
  139. package/dist/components/tooltip/components/tooltip_table_row.d.ts +2 -2
  140. package/dist/components/tooltip/components/tooltip_table_row.d.ts.map +1 -1
  141. package/dist/index.d.ts +1 -0
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +3 -1
  144. package/dist/index.js.map +1 -1
  145. package/dist/specs/constants.d.ts +1 -1
  146. package/dist/specs/constants.d.ts.map +1 -1
  147. package/dist/specs/constants.js +2 -1
  148. package/dist/specs/constants.js.map +1 -1
  149. package/dist/specs/settings.d.ts +20 -10
  150. package/dist/specs/settings.d.ts.map +1 -1
  151. package/dist/specs/settings.js.map +1 -1
  152. package/dist/state/actions/legend.js +2 -2
  153. package/dist/state/actions/legend.js.map +1 -1
  154. package/dist/state/reducers/interactions.js +14 -11
  155. package/dist/state/reducers/interactions.js.map +1 -1
  156. package/dist/state/selectors/get_legend_config_selector.js +3 -2
  157. package/dist/state/selectors/get_legend_config_selector.js.map +1 -1
  158. package/dist/state/selectors/get_legend_size.js +26 -18
  159. package/dist/state/selectors/get_legend_size.js.map +1 -1
  160. package/dist/state/selectors/get_legend_table_size.d.ts +2 -0
  161. package/dist/state/selectors/get_legend_table_size.d.ts.map +1 -0
  162. package/dist/state/selectors/get_legend_table_size.js +79 -0
  163. package/dist/state/selectors/get_legend_table_size.js.map +1 -0
  164. package/dist/state/selectors/get_settings_spec.js +12 -6
  165. package/dist/state/selectors/get_settings_spec.js.map +1 -1
  166. package/dist/theme.scss +304 -10
  167. package/dist/theme_dark.css +1 -1
  168. package/dist/theme_dark.css.map +1 -1
  169. package/dist/theme_light.css +1 -1
  170. package/dist/theme_light.css.map +1 -1
  171. package/dist/theme_only_dark.css +1 -1
  172. package/dist/theme_only_dark.css.map +1 -1
  173. package/dist/theme_only_light.css +1 -1
  174. package/dist/theme_only_light.css.map +1 -1
  175. package/dist/utils/common.d.ts +1 -1
  176. package/dist/utils/common.d.ts.map +1 -1
  177. package/dist/utils/common.js +22 -3
  178. package/dist/utils/common.js.map +1 -1
  179. package/package.json +5 -1
  180. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.d.ts +0 -2
  181. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.d.ts.map +0 -1
  182. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.js +0 -21
  183. package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.js.map +0 -1
  184. package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts +0 -2
  185. package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts.map +0 -1
  186. package/dist/chart_types/xy_chart/state/utils/get_last_value.js +0 -32
  187. package/dist/chart_types/xy_chart/state/utils/get_last_value.js.map +0 -1
  188. package/dist/components/legend/extra.d.ts +0 -2
  189. package/dist/components/legend/extra.d.ts.map +0 -1
  190. package/dist/components/legend/extra.js.map +0 -1
@@ -1,2 +1,52 @@
1
- export {};
1
+ import { $Values } from 'utility-types';
2
+ import { PrimitiveValue } from '../chart_types/partition_chart/layout/utils/group_by_rollup';
3
+ /** @public */
4
+ export type LegendItemValue = {
5
+ value: PrimitiveValue;
6
+ label: string;
7
+ type: LegendValue;
8
+ };
9
+ /** @public */
10
+ export declare const LegendValue: Readonly<{
11
+ /** Value of the bucket being hovered or last bucket value when not hovering. */
12
+ CurrentAndLastValue: "currentAndLastValue";
13
+ /** Last value considering all data points in the chart */
14
+ LastValue: "lastValue";
15
+ /** Last non-null value */
16
+ LastNonNullValue: "lastNonNullValue";
17
+ /** Average value considering all data points in the chart */
18
+ Average: "average";
19
+ /** Median value considering all data points in the chart */
20
+ Median: "median";
21
+ /** Maximum value considering all data points in the chart */
22
+ Max: "max";
23
+ /** Minimum value considering all data points in the chart */
24
+ Min: "min";
25
+ /** First value considering all data points in the chart */
26
+ FirstValue: "firstValue";
27
+ /** First non-null value */
28
+ FirstNonNullValue: "firstNonNullValue";
29
+ /** Sum of al values plotted in the chart */
30
+ Total: "total";
31
+ /** number of data points plotted in the chart */
32
+ Count: "count";
33
+ /** number of data points with different values plotted in the chart */
34
+ DistinctCount: "distinctCount";
35
+ /** Variance of all data points plotted in the chart */
36
+ Variance: "variance";
37
+ /** Standard deviation of all data points plotted in the chart */
38
+ StdDeviation: "stdDeviation";
39
+ /** Difference between min and max values */
40
+ Range: "range";
41
+ /** Difference between first and last values */
42
+ Difference: "difference";
43
+ /** % difference between first and last values */
44
+ DifferencePercent: "differencePercent";
45
+ /** Partition section value */
46
+ Value: "value";
47
+ /** Partition section value in percent */
48
+ Percent: "percent";
49
+ }>;
50
+ /** @public */
51
+ export type LegendValue = $Values<typeof LegendValue>;
2
52
  //# sourceMappingURL=legend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAQ7F,cAAc;AACd,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1F,cAAc;AACd,eAAO,MAAM,WAAW;IACtB,gFAAgF;;IAEhF,0DAA0D;;IAE1D,0BAA0B;;IAE1B,6DAA6D;;IAE7D,4DAA4D;;IAE5D,6DAA6D;;IAE7D,6DAA6D;;IAE7D,2DAA2D;;IAE3D,2BAA2B;;IAE3B,4CAA4C;;IAE5C,iDAAiD;;IAEjD,uEAAuE;;IAEvE,uDAAuD;;IAEvD,iEAAiE;;IAEjE,6CAA6C;;IAE7C,+CAA+C;;IAE/C,iDAAiD;;IAEjD,8BAA8B;;IAE9B,yCAAyC;;EAEzC,CAAC;AACH,cAAc;AACd,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1,3 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.legendValueTitlesMap = exports.shouldDisplayTable = exports.LegendValue = void 0;
4
+ exports.LegendValue = Object.freeze({
5
+ CurrentAndLastValue: 'currentAndLastValue',
6
+ LastValue: 'lastValue',
7
+ LastNonNullValue: 'lastNonNullValue',
8
+ Average: 'average',
9
+ Median: 'median',
10
+ Max: 'max',
11
+ Min: 'min',
12
+ FirstValue: 'firstValue',
13
+ FirstNonNullValue: 'firstNonNullValue',
14
+ Total: 'total',
15
+ Count: 'count',
16
+ DistinctCount: 'distinctCount',
17
+ Variance: 'variance',
18
+ StdDeviation: 'stdDeviation',
19
+ Range: 'range',
20
+ Difference: 'difference',
21
+ DifferencePercent: 'differencePercent',
22
+ Value: 'value',
23
+ Percent: 'percent',
24
+ });
25
+ const shouldDisplayTable = (legendValues) => legendValues.some((v) => v !== exports.LegendValue.CurrentAndLastValue && v !== exports.LegendValue.Value);
26
+ exports.shouldDisplayTable = shouldDisplayTable;
27
+ exports.legendValueTitlesMap = {
28
+ [exports.LegendValue.CurrentAndLastValue]: 'Value',
29
+ [exports.LegendValue.Value]: 'Value',
30
+ [exports.LegendValue.Percent]: 'Percent',
31
+ [exports.LegendValue.LastValue]: 'Last',
32
+ [exports.LegendValue.LastNonNullValue]: 'Last non-null',
33
+ [exports.LegendValue.FirstValue]: 'First',
34
+ [exports.LegendValue.FirstNonNullValue]: 'First non-null',
35
+ [exports.LegendValue.Average]: 'Avg',
36
+ [exports.LegendValue.Median]: 'Mid',
37
+ [exports.LegendValue.Min]: 'Min',
38
+ [exports.LegendValue.Max]: 'Max',
39
+ [exports.LegendValue.Total]: 'Total',
40
+ [exports.LegendValue.Count]: 'Count',
41
+ [exports.LegendValue.DistinctCount]: 'Dist Count',
42
+ [exports.LegendValue.Variance]: 'Variance',
43
+ [exports.LegendValue.StdDeviation]: 'Std dev',
44
+ [exports.LegendValue.Range]: 'Range',
45
+ [exports.LegendValue.Difference]: 'Diff',
46
+ [exports.LegendValue.DifferencePercent]: 'Diff %',
47
+ };
3
48
  //# sourceMappingURL=legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":";;;AAyBa,QAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAEvC,mBAAmB,EAAE,qBAA8B;IAEnD,SAAS,EAAE,WAAoB;IAE/B,gBAAgB,EAAE,kBAA2B;IAE7C,OAAO,EAAE,SAAkB;IAE3B,MAAM,EAAE,QAAiB;IAEzB,GAAG,EAAE,KAAc;IAEnB,GAAG,EAAE,KAAc;IAEnB,UAAU,EAAE,YAAqB;IAEjC,iBAAiB,EAAE,mBAA4B;IAE/C,KAAK,EAAE,OAAgB;IAEvB,KAAK,EAAE,OAAgB;IAEvB,aAAa,EAAE,eAAwB;IAEvC,QAAQ,EAAE,UAAmB;IAE7B,YAAY,EAAE,cAAuB;IAErC,KAAK,EAAE,OAAgB;IAEvB,UAAU,EAAE,YAAqB;IAEjC,iBAAiB,EAAE,mBAA4B;IAE/C,KAAK,EAAE,OAAgB;IAEvB,OAAO,EAAE,SAAkB;CAC5B,CAAC,CAAC;AA8BI,MAAM,kBAAkB,GAAG,CAAC,YAA2B,EAAE,EAAE,CAChE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAW,CAAC,mBAAmB,IAAI,CAAC,KAAK,mBAAW,CAAC,KAAK,CAAC,CAAC;AADhF,QAAA,kBAAkB,sBAC8D;AAKhF,QAAA,oBAAoB,GAAG;IAClC,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,OAAO;IAC1C,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,mBAAW,CAAC,SAAS,CAAC,EAAE,MAAM;IAC/B,CAAC,mBAAW,CAAC,gBAAgB,CAAC,EAAE,eAAe;IAC/C,CAAC,mBAAW,CAAC,UAAU,CAAC,EAAE,OAAO;IACjC,CAAC,mBAAW,CAAC,iBAAiB,CAAC,EAAE,gBAAgB;IACjD,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,KAAK;IAC5B,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,KAAK;IAC3B,CAAC,mBAAW,CAAC,GAAG,CAAC,EAAE,KAAK;IACxB,CAAC,mBAAW,CAAC,GAAG,CAAC,EAAE,KAAK;IACxB,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,aAAa,CAAC,EAAE,YAAY;IACzC,CAAC,mBAAW,CAAC,QAAQ,CAAC,EAAE,UAAU;IAClC,CAAC,mBAAW,CAAC,YAAY,CAAC,EAAE,SAAS;IACrC,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,UAAU,CAAC,EAAE,MAAM;IAChC,CAAC,mBAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ;CAC1C,CAAC"}
@@ -41,7 +41,7 @@ export declare class Chart extends React.Component<ChartProps, ChartState> {
41
41
  } | null;
42
42
  getChartContainerRef: () => React.RefObject<HTMLDivElement>;
43
43
  dispatchExternalPointerEvent(event: PointerEvent): void;
44
- render(): JSX.Element;
44
+ render(): React.JSX.Element;
45
45
  }
46
46
  export {};
47
47
  //# sourceMappingURL=chart.d.ts.map
@@ -26,26 +26,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Label = void 0;
29
+ exports.NonInteractiveLabel = exports.Label = void 0;
30
30
  const classnames_1 = __importDefault(require("classnames"));
31
31
  const react_1 = __importStar(require("react"));
32
32
  const common_1 = require("../../utils/common");
33
- function Label({ label, isToggleable, onToggle, isSeriesHidden, options }) {
33
+ const isAppleDevice = typeof window !== 'undefined' && /Mac|iPhone|iPad/.test(window.navigator.userAgent);
34
+ const modifierKey = isAppleDevice ? '⌘ (Command)' : 'Ctrl';
35
+ const isolateSeriesMessage = 'isolate series';
36
+ const showAllSeriesMessage = 'show all series';
37
+ const showSeriesMessage = 'show series';
38
+ const hideSeriesMessage = 'hide series';
39
+ function getInteractivityTitle(isSeriesVisible, hiddenSeries, allSeries) {
40
+ if (isSeriesVisible) {
41
+ if (allSeries - hiddenSeries === 1) {
42
+ return `
43
+ Click: ${showAllSeriesMessage}
44
+ ${modifierKey} + click: ${hideSeriesMessage}`;
45
+ }
46
+ if (hiddenSeries > 0) {
47
+ return `
48
+ Click: ${hideSeriesMessage}
49
+ ${modifierKey} + click: ${hideSeriesMessage}`;
50
+ }
51
+ return `
52
+ Click: ${isolateSeriesMessage}
53
+ ${modifierKey} + click: ${hideSeriesMessage}`;
54
+ }
55
+ return `
56
+ Click: ${showSeriesMessage}
57
+ ${modifierKey} + click: ${showSeriesMessage}`;
58
+ }
59
+ function Label({ label, onToggle, isToggleable, isSeriesHidden, options, hiddenSeriesCount, totalSeriesCount, }) {
60
+ const { className, dir, clampStyles } = getSharedProps(label, options, !!onToggle);
61
+ const onClick = (0, react_1.useCallback)(({ metaKey, ctrlKey }) => onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey), [onToggle]);
62
+ const onKeyDown = (0, react_1.useCallback)(({ key, metaKey, ctrlKey }) => {
63
+ if (key === ' ' || key === 'Enter')
64
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey);
65
+ }, [onToggle]);
66
+ const title = options.maxLines > 0 ? label : '';
67
+ const interactionsGuidanceText = getInteractivityTitle(!isSeriesHidden, hiddenSeriesCount, totalSeriesCount);
68
+ return isToggleable ? (react_1.default.createElement("div", { role: "button", tabIndex: 0, dir: dir, className: className, title: `${title}${interactionsGuidanceText}`, onClick: onClick, onKeyDown: onKeyDown, "aria-pressed": isSeriesHidden, style: clampStyles, "aria-label": `${label}; ${interactionsGuidanceText.replace('\n', '')}` }, label)) : (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
69
+ }
70
+ exports.Label = Label;
71
+ function NonInteractiveLabel({ label, options }) {
72
+ const { className, dir, clampStyles } = getSharedProps(label, options);
73
+ return (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
74
+ }
75
+ exports.NonInteractiveLabel = NonInteractiveLabel;
76
+ function getSharedProps(label, options, isToggleable) {
34
77
  const maxLines = Math.abs(options.maxLines);
35
- const labelClassNames = (0, classnames_1.default)('echLegendItem__label', {
36
- 'echLegendItem__label--clickable': Boolean(onToggle),
78
+ const className = (0, classnames_1.default)('echLegendItem__label', {
79
+ 'echLegendItem__label--clickable': Boolean(isToggleable),
37
80
  'echLegendItem__label--singleline': maxLines === 1,
38
81
  'echLegendItem__label--multiline': maxLines > 1,
39
82
  });
40
- const onClick = (0, react_1.useCallback)(({ shiftKey }) => onToggle === null || onToggle === void 0 ? void 0 : onToggle(shiftKey), [onToggle]);
41
- const onKeyDown = (0, react_1.useCallback)(({ key, shiftKey }) => {
42
- if (key === ' ' || key === 'Enter')
43
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(shiftKey);
44
- }, [onToggle]);
45
83
  const dir = (0, common_1.isRTLString)(label) ? 'rtl' : 'ltr';
46
- const title = options.maxLines > 0 ? label : '';
47
84
  const clampStyles = maxLines > 1 ? { WebkitLineClamp: maxLines } : {};
48
- return isToggleable ? (react_1.default.createElement("div", { role: "button", tabIndex: 0, dir: dir, className: labelClassNames, title: title, onClick: onClick, onKeyDown: onKeyDown, "aria-pressed": isSeriesHidden, style: clampStyles, "aria-label": isSeriesHidden ? `${label}; Activate to show series in graph` : `${label}; Activate to hide series in graph` }, label)) : (react_1.default.createElement("div", { dir: dir, className: labelClassNames, title: label, style: clampStyles }, label));
85
+ return { className, dir, clampStyles };
49
86
  }
50
- exports.Label = Label;
51
87
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/legend/label.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,4DAAoC;AACpC,+CAAoF;AAEpF,+CAAiD;AAejD,SAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAc;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,sBAAsB,EAAE;QACzD,iCAAiC,EAAE,OAAO,CAAC,QAAQ,CAAC;QACpD,kCAAkC,EAAE,QAAQ,KAAK,CAAC;QAClD,iCAAiC,EAAE,QAAQ,GAAG,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsB,IAAA,mBAAW,EAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,MAAM,SAAS,GAAyB,IAAA,mBAAW,EACjD,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO;YAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE,OAAO,YAAY,CAAC,CAAC,CAAC,CAGpB,uCACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,kBACN,cAAc,EAC5B,KAAK,EAAE,WAAW,gBAEhB,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC,CAAC,GAAG,KAAK,oCAAoC,IAG7G,KAAK,CACF,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,IACxE,KAAK,CACF,CACP,CAAC;AACJ,CAAC;AA5CD,sBA4CC"}
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/legend/label.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,45 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.Legend = void 0;
7
30
  const classnames_1 = __importDefault(require("classnames"));
8
- const react_1 = __importDefault(require("react"));
31
+ const react_1 = __importStar(require("react"));
9
32
  const react_redux_1 = require("react-redux");
10
33
  const redux_1 = require("redux");
11
34
  const custom_legend_1 = require("./custom_legend");
12
35
  const legend_item_1 = require("./legend_item");
36
+ const legend_table_1 = require("./legend_table");
13
37
  const position_style_1 = require("./position_style");
14
38
  const style_utils_1 = require("./style_utils");
39
+ const legend_1 = require("../../common/legend");
15
40
  const specs_1 = require("../../specs");
16
41
  const colors_1 = require("../../state/actions/colors");
17
- const legend_1 = require("../../state/actions/legend");
42
+ const legend_2 = require("../../state/actions/legend");
18
43
  const get_chart_theme_1 = require("../../state/selectors/get_chart_theme");
19
44
  const get_internal_is_intialized_1 = require("../../state/selectors/get_internal_is_intialized");
20
45
  const get_internal_main_projection_area_1 = require("../../state/selectors/get_internal_main_projection_area");
@@ -30,6 +55,20 @@ const light_theme_1 = require("../../utils/themes/light_theme");
30
55
  function LegendComponent(props) {
31
56
  var _a;
32
57
  const { items, size, debug, isBrushing, chartTheme: { chartMargins, legend }, chartDimensions, containerDimensions, config, } = props;
58
+ const { onLegendItemOut, onLegendItemOver } = config;
59
+ const { onItemOutAction, onItemOverAction } = props;
60
+ const onLegendItemMouseOver = (0, react_1.useCallback)((seriesIdentifiers, path) => {
61
+ if (onLegendItemOver) {
62
+ onLegendItemOver(seriesIdentifiers);
63
+ }
64
+ onItemOverAction(path);
65
+ }, [onItemOverAction, onLegendItemOver]);
66
+ const onLegendItemMouseOut = (0, react_1.useCallback)(() => {
67
+ if (onLegendItemOut) {
68
+ onLegendItemOut();
69
+ }
70
+ onItemOutAction();
71
+ }, [onLegendItemOut, onItemOutAction]);
33
72
  if (items.every(({ isItemHidden }) => isItemHidden)) {
34
73
  return null;
35
74
  }
@@ -51,23 +90,24 @@ function LegendComponent(props) {
51
90
  positionConfig,
52
91
  isMostlyRTL,
53
92
  totalItems: items.length,
93
+ hiddenItems: items.filter(({ isSeriesHidden }) => isSeriesHidden).length,
54
94
  extraValues: props.extraValues,
55
- showExtra: config.showLegendExtra,
56
- onMouseOut: config.onLegendItemOut,
57
- onMouseOver: config.onLegendItemOver,
95
+ legendValues: config.legendValues,
96
+ onLegendItemMouseOver,
97
+ onLegendItemMouseOut,
58
98
  onClick: config.onLegendItemClick,
59
99
  clearTemporaryColorsAction: props.clearTemporaryColors,
60
100
  setPersistedColorAction: props.setPersistedColor,
61
101
  setTemporaryColorAction: props.setTemporaryColor,
62
- mouseOutAction: props.onItemOutAction,
63
- mouseOverAction: props.onItemOverAction,
64
102
  toggleDeselectSeriesAction: props.onToggleDeselectSeriesAction,
65
103
  colorPicker: config.legendColorPicker,
66
104
  action: config.legendAction,
67
105
  labelOptions: legend.labelOptions,
68
106
  flatLegend: (_a = config.flatLegend) !== null && _a !== void 0 ? _a : specs_1.DEFAULT_LEGEND_CONFIG.flatLegend,
107
+ legendTitle: config.legendTitle,
69
108
  };
70
109
  const positionStyle = (0, position_style_1.legendPositionStyle)(config, size, chartDimensions, containerDimensions);
110
+ const isTableView = (0, legend_1.shouldDisplayTable)(itemProps.legendValues);
71
111
  return (react_1.default.createElement("div", { className: legendClasses, style: positionStyle, dir: isMostlyRTL ? 'rtl' : 'ltr' }, config.customLegend ? (react_1.default.createElement("div", { style: containerStyle },
72
112
  react_1.default.createElement(custom_legend_1.CustomLegend, { component: config.customLegend, items: items.map(({ seriesIdentifiers, childId, path, ...customProps }) => {
73
113
  var _a, _b, _c;
@@ -76,17 +116,18 @@ function LegendComponent(props) {
76
116
  seriesIdentifiers,
77
117
  path,
78
118
  extraValue: (_c = itemProps.extraValues.get((_b = (_a = seriesIdentifiers[0]) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '')) === null || _c === void 0 ? void 0 : _c.get(childId !== null && childId !== void 0 ? childId : ''),
79
- onItemOutAction: itemProps.mouseOutAction,
80
- onItemOverActon: () => itemProps.mouseOverAction(path),
119
+ onItemOutAction,
120
+ onItemOverActon: () => onItemOverAction(path),
81
121
  onItemClickAction: (negate) => itemProps.toggleDeselectSeriesAction(seriesIdentifiers, negate),
82
122
  });
83
- }) }))) : (react_1.default.createElement("div", { style: containerStyle, className: "echLegendListContainer" },
123
+ }) }))) : isTableView ? (react_1.default.createElement("div", { style: containerStyle, className: "echLegendTable__container" },
124
+ react_1.default.createElement(legend_table_1.LegendTable, { items: items, ...itemProps, seriesWidth: size.seriesWidth }))) : (react_1.default.createElement("div", { style: containerStyle, className: "echLegendListContainer" },
84
125
  react_1.default.createElement("ul", { style: listStyle, className: "echLegendList" }, items.map((item, index) => (react_1.default.createElement(legend_item_1.LegendListItem, { key: `${index}`, item: item, ...itemProps }))))))));
85
126
  }
86
127
  const mapDispatchToProps = (dispatch) => (0, redux_1.bindActionCreators)({
87
- onToggleDeselectSeriesAction: legend_1.onToggleDeselectSeriesAction,
88
- onItemOutAction: legend_1.onLegendItemOutAction,
89
- onItemOverAction: legend_1.onLegendItemOverAction,
128
+ onToggleDeselectSeriesAction: legend_2.onToggleDeselectSeriesAction,
129
+ onItemOutAction: legend_2.onLegendItemOutAction,
130
+ onItemOverAction: legend_2.onLegendItemOverAction,
90
131
  clearTemporaryColors: colors_1.clearTemporaryColors,
91
132
  setTemporaryColor: colors_1.setTemporaryColor,
92
133
  setPersistedColor: colors_1.setPersistedColor,
@@ -1 +1 @@
1
- {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../src/components/legend/legend.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../src/components/legend/legend.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=legend_color_picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend_color_picker.d.ts","sourceRoot":"","sources":["../../../src/components/legend/legend_color_picker.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useLegendColorPicker = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const color_1 = require("./color");
9
+ const useLegendColorPicker = ({ item: { color, isSeriesHidden, label, pointStyle, seriesIdentifiers }, colorPicker: ColorPickerRenderer, clearTemporaryColorsAction, setTemporaryColorAction, setPersistedColorAction, }) => {
10
+ const [isOpen, setIsOpen] = react_1.default.useState(false);
11
+ const colorRef = react_1.default.useRef(null);
12
+ const shouldClearPersistedColor = react_1.default.useRef(false);
13
+ const toggleIsOpen = () => {
14
+ setIsOpen((prevIsOpen) => !prevIsOpen);
15
+ };
16
+ const handleColorClick = (changeable) => changeable
17
+ ? (event) => {
18
+ event.stopPropagation();
19
+ toggleIsOpen();
20
+ }
21
+ : undefined;
22
+ const handleColorPickerClose = () => {
23
+ const seriesKeys = seriesIdentifiers.map(({ key }) => key);
24
+ setPersistedColorAction(seriesKeys, shouldClearPersistedColor.current ? null : color);
25
+ clearTemporaryColorsAction();
26
+ requestAnimationFrame(() => { var _a; return (_a = colorRef.current) === null || _a === void 0 ? void 0 : _a.focus(); });
27
+ toggleIsOpen();
28
+ };
29
+ const handleColorPickerChange = (c) => {
30
+ const seriesKeys = seriesIdentifiers.map(({ key }) => key);
31
+ shouldClearPersistedColor.current = c === null;
32
+ setTemporaryColorAction(seriesKeys, c);
33
+ };
34
+ const hasColorPicker = Boolean(ColorPickerRenderer);
35
+ const renderItemColor = () => (react_1.default.createElement(color_1.Color, { ref: colorRef, color: color, seriesName: label, isSeriesHidden: isSeriesHidden, hasColorPicker: hasColorPicker, onClick: handleColorClick(hasColorPicker), pointStyle: pointStyle }));
36
+ const renderColorPickerPopup = () => ColorPickerRenderer &&
37
+ isOpen &&
38
+ colorRef.current && (react_1.default.createElement(ColorPickerRenderer, { anchor: colorRef.current, color: color, onClose: handleColorPickerClose, onChange: handleColorPickerChange, seriesIdentifiers: seriesIdentifiers }));
39
+ return { renderItemColor, renderColorPickerPopup };
40
+ };
41
+ exports.useLegendColorPicker = useLegendColorPicker;
42
+ //# sourceMappingURL=legend_color_picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend_color_picker.js","sourceRoot":"","sources":["../../../src/components/legend/legend_color_picker.tsx"],"names":[],"mappings":";;;;;;AAQA,kDAA0B;AAE1B,mCAA6C;AAKtC,MAAM,oBAAoB,GAAG,CAAC,EACnC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,EACrE,WAAW,EAAE,mBAAmB,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,GACP,EAAE,EAAE;IACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,MAAM,yBAAyB,GAAG,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAC/C,UAAU;QACR,CAAC,CAAC,CAAC,KAAuB,EAAE,EAAE;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,YAAY,EAAE,CAAC;QACjB,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3D,uBAAuB,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,0BAA0B,EAAE,CAAC;QAC7B,qBAAqB,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC,CAAC;QACvD,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,CAAe,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3D,yBAAyB,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC;QAC/C,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,8BAAC,aAAS,IACR,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACzC,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAClC,mBAAmB;QACnB,MAAM;QACN,QAAQ,CAAC,OAAO,IAAI,CAClB,8BAAC,mBAAmB,IAClB,MAAM,EAAE,QAAQ,CAAC,OAAO,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,uBAAuB,EACjC,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAC;IAEJ,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AACrD,CAAC,CAAC;AAhEW,QAAA,oBAAoB,wBAgE/B"}
@@ -26,113 +26,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.LegendListItem = exports.LEGEND_HIERARCHY_MARGIN = void 0;
29
+ exports.LegendListItem = exports.prepareLegendValues = exports.LEGEND_HIERARCHY_MARGIN = void 0;
30
30
  const classnames_1 = __importDefault(require("classnames"));
31
31
  const react_1 = __importStar(require("react"));
32
- const color_1 = require("./color");
33
- const extra_1 = require("./extra");
34
32
  const label_1 = require("./label");
33
+ const legend_color_picker_1 = require("./legend_color_picker");
35
34
  const utils_1 = require("./utils");
35
+ const legend_1 = require("../../common/legend");
36
36
  const common_1 = require("../../utils/common");
37
- const fast_deep_equal_1 = require("../../utils/fast_deep_equal");
38
37
  exports.LEGEND_HIERARCHY_MARGIN = 10;
39
- class LegendListItem extends react_1.Component {
40
- constructor() {
41
- super(...arguments);
42
- this.shouldClearPersistedColor = false;
43
- this.colorRef = (0, react_1.createRef)();
44
- this.state = {
45
- isOpen: false,
46
- actionActive: false,
47
- };
48
- this.handleColorClick = (changeable) => changeable
49
- ? (event) => {
50
- event.stopPropagation();
51
- this.toggleIsOpen();
52
- }
53
- : undefined;
54
- this.toggleIsOpen = () => {
55
- this.setState(({ isOpen }) => ({ isOpen: !isOpen }));
56
- };
57
- this.onLegendItemMouseOver = () => {
58
- const { onMouseOver, mouseOverAction, item } = this.props;
59
- if (onMouseOver) {
60
- onMouseOver(item.seriesIdentifiers);
61
- }
62
- mouseOverAction(item.path);
63
- };
64
- this.onLegendItemMouseOut = () => {
65
- const { onMouseOut, mouseOutAction } = this.props;
66
- if (onMouseOut) {
67
- onMouseOut();
68
- }
69
- mouseOutAction();
70
- };
71
- this.onLabelToggle = (legendItemId) => {
72
- const { item, onClick, toggleDeselectSeriesAction, totalItems } = this.props;
73
- if (totalItems <= 1 || (!item.isToggleable && !onClick)) {
74
- return;
75
- }
76
- return (negate) => {
77
- if (onClick) {
78
- onClick(legendItemId);
79
- }
80
- if (item.isToggleable) {
81
- toggleDeselectSeriesAction(legendItemId, negate);
82
- }
83
- };
84
- };
85
- }
86
- shouldComponentUpdate(nextProps, nextState) {
87
- return !(0, fast_deep_equal_1.deepEqual)(this.props, nextProps) || !(0, fast_deep_equal_1.deepEqual)(this.state, nextState);
88
- }
89
- renderColorPicker() {
90
- const { colorPicker: ColorPicker, item, clearTemporaryColorsAction, setTemporaryColorAction, setPersistedColorAction, } = this.props;
91
- const { seriesIdentifiers, color } = item;
92
- const seriesKeys = seriesIdentifiers.map(({ key }) => key);
93
- const handleClose = () => {
94
- setPersistedColorAction(seriesKeys, this.shouldClearPersistedColor ? null : color);
95
- clearTemporaryColorsAction();
96
- requestAnimationFrame(() => { var _a, _b; return (_b = (_a = this.colorRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.focus(); });
97
- this.toggleIsOpen();
98
- };
99
- const handleChange = (c) => {
100
- this.shouldClearPersistedColor = c === null;
101
- setTemporaryColorAction(seriesKeys, c);
38
+ const prepareLegendValues = (item, legendValues, totalItems, extraValues) => {
39
+ return legendValues.map((legendValue) => {
40
+ if (legendValue === legend_1.LegendValue.Value || legendValue === legend_1.LegendValue.CurrentAndLastValue) {
41
+ return (0, utils_1.getExtra)(extraValues, item, totalItems);
42
+ }
43
+ return item.values.find(({ type }) => type === legendValue);
44
+ });
45
+ };
46
+ exports.prepareLegendValues = prepareLegendValues;
47
+ const LegendListItem = (props) => {
48
+ const { extraValues, item, legendValues, totalItems, action: Action, positionConfig, labelOptions, isMostlyRTL, flatLegend, onClick, toggleDeselectSeriesAction, hiddenItems, onLegendItemMouseOver, onLegendItemMouseOut, } = props;
49
+ const { color, isSeriesHidden, isItemHidden, seriesIdentifiers, label, depth, path, isToggleable } = item;
50
+ const itemClassNames = (0, classnames_1.default)('echLegendItem', {
51
+ 'echLegendItem--hidden': isSeriesHidden,
52
+ 'echLegendItem--vertical': positionConfig.direction === common_1.LayoutDirection.Vertical,
53
+ });
54
+ const legendValueItems = (0, exports.prepareLegendValues)(item, legendValues, totalItems, extraValues).filter(common_1.isDefined);
55
+ const style = flatLegend
56
+ ? {}
57
+ : {
58
+ [isMostlyRTL ? 'marginRight' : 'marginLeft']: exports.LEGEND_HIERARCHY_MARGIN * (depth !== null && depth !== void 0 ? depth : 0),
102
59
  };
103
- if (ColorPicker && this.state.isOpen && this.colorRef.current) {
104
- return (react_1.default.createElement(ColorPicker, { anchor: this.colorRef.current, color: color, onClose: handleClose, onChange: handleChange, seriesIdentifiers: seriesIdentifiers }));
60
+ const onLabelToggle = (0, react_1.useCallback)((legendItemId) => (negate) => {
61
+ if (totalItems <= 1 || (!isToggleable && !onClick)) {
62
+ return;
105
63
  }
106
- }
107
- render() {
108
- var _a;
109
- const { extraValues, item, showExtra, colorPicker, totalItems, action: Action, positionConfig, labelOptions, isMostlyRTL, flatLegend, } = this.props;
110
- const { color, isSeriesHidden, isItemHidden, seriesIdentifiers, label, pointStyle } = item;
111
- if (isItemHidden)
112
- return null;
113
- const itemClassNames = (0, classnames_1.default)('echLegendItem', {
114
- 'echLegendItem--hidden': isSeriesHidden,
115
- 'echLegendItem--vertical': positionConfig.direction === common_1.LayoutDirection.Vertical,
116
- });
117
- const hasColorPicker = Boolean(colorPicker);
118
- const extra = showExtra ? (0, utils_1.getExtra)(extraValues, item, totalItems) : null;
119
- const style = flatLegend
120
- ? {}
121
- : {
122
- [isMostlyRTL ? 'marginRight' : 'marginLeft']: exports.LEGEND_HIERARCHY_MARGIN * ((_a = item.depth) !== null && _a !== void 0 ? _a : 0),
123
- };
124
- return (react_1.default.createElement(react_1.default.Fragment, null,
125
- react_1.default.createElement("li", { className: itemClassNames, onMouseEnter: this.onLegendItemMouseOver, onMouseLeave: this.onLegendItemMouseOut, style: style, dir: isMostlyRTL ? 'rtl' : 'ltr', "data-ech-series-name": label },
126
- react_1.default.createElement("div", { className: "background" }),
127
- react_1.default.createElement("div", { className: "colorWrapper" },
128
- react_1.default.createElement(color_1.Color, { ref: this.colorRef, color: color, seriesName: label, isSeriesHidden: isSeriesHidden, hasColorPicker: hasColorPicker, onClick: this.handleColorClick(hasColorPicker), pointStyle: pointStyle })),
129
- react_1.default.createElement(label_1.Label, { label: label, options: labelOptions, isToggleable: totalItems > 1 && item.isToggleable, onToggle: this.onLabelToggle(seriesIdentifiers), isSeriesHidden: isSeriesHidden }),
130
- extra && !isSeriesHidden && (0, extra_1.renderExtra)(extra.formatted),
131
- Action && (react_1.default.createElement("div", { className: "echLegendItem__action" },
132
- react_1.default.createElement(Action, { series: seriesIdentifiers, color: color, label: label })))),
133
- this.renderColorPicker()));
134
- }
135
- }
64
+ if (onClick) {
65
+ onClick(legendItemId);
66
+ }
67
+ if (isToggleable) {
68
+ toggleDeselectSeriesAction(legendItemId, negate);
69
+ }
70
+ }, [onClick, toggleDeselectSeriesAction, isToggleable, totalItems]);
71
+ const { renderItemColor, renderColorPickerPopup } = (0, legend_color_picker_1.useLegendColorPicker)(props);
72
+ if (isItemHidden)
73
+ return null;
74
+ return (react_1.default.createElement(react_1.default.Fragment, null,
75
+ react_1.default.createElement("li", { className: itemClassNames, onMouseEnter: () => onLegendItemMouseOver(seriesIdentifiers, path), onMouseLeave: onLegendItemMouseOut, style: style, dir: isMostlyRTL ? 'rtl' : 'ltr', "data-ech-series-name": label },
76
+ react_1.default.createElement("div", { className: "background" }),
77
+ react_1.default.createElement("div", { className: "echLegend__colorWrapper" }, renderItemColor()),
78
+ react_1.default.createElement(label_1.Label, { label: label, options: labelOptions, isToggleable: totalItems > 1 && item.isToggleable, onToggle: onLabelToggle(seriesIdentifiers), isSeriesHidden: isSeriesHidden, totalSeriesCount: totalItems, hiddenSeriesCount: hiddenItems }),
79
+ !isSeriesHidden
80
+ ? legendValueItems.map((legendValueItem) => legendValueItem.label !== '' ? (react_1.default.createElement("div", { key: legendValueItem.label, className: "echLegendItem__legendValue" }, legendValueItem.label)) : null)
81
+ : null,
82
+ Action && (react_1.default.createElement("div", { className: "echLegendItem__action" },
83
+ react_1.default.createElement(Action, { series: seriesIdentifiers, color: color, label: label })))),
84
+ renderColorPickerPopup()));
85
+ };
136
86
  exports.LegendListItem = LegendListItem;
137
- LegendListItem.displayName = 'LegendItem';
138
87
  //# sourceMappingURL=legend_item.js.map