@elastic/charts 65.0.0 → 65.2.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 (119) hide show
  1. package/dist/chart_types/metric/renderer/dom/sparkline.js +8 -6
  2. package/dist/chart_types/metric/renderer/dom/sparkline.js.map +1 -1
  3. package/dist/chart_types/metric/renderer/dom/text.js +1 -1
  4. package/dist/chart_types/metric/renderer/dom/text.js.map +1 -1
  5. package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js +2 -1
  6. package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js.map +1 -1
  7. package/dist/chart_types/partition_chart/layout/viewmodel/viewmodel.js +4 -1
  8. package/dist/chart_types/partition_chart/layout/viewmodel/viewmodel.js.map +1 -1
  9. package/dist/chart_types/partition_chart/state/selectors/compute_legend.js +4 -2
  10. package/dist/chart_types/partition_chart/state/selectors/compute_legend.js.map +1 -1
  11. package/dist/chart_types/xy_chart/legend/legend.js +6 -23
  12. package/dist/chart_types/xy_chart/legend/legend.js.map +1 -1
  13. package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts +2 -0
  14. package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts.map +1 -0
  15. package/dist/chart_types/xy_chart/state/utils/{get_last_value.js → get_legend_values.js} +13 -3
  16. package/dist/chart_types/xy_chart/state/utils/get_legend_values.js.map +1 -0
  17. package/dist/chart_types/xy_chart/tooltip/tooltip.js +2 -1
  18. package/dist/chart_types/xy_chart/tooltip/tooltip.js.map +1 -1
  19. package/dist/common/legend.d.ts +1 -1
  20. package/dist/common/legend.d.ts.map +1 -1
  21. package/dist/common/legend.js +24 -2
  22. package/dist/common/legend.js.map +1 -1
  23. package/dist/components/chart.d.ts +1 -1
  24. package/dist/components/legend/label.js +42 -25
  25. package/dist/components/legend/label.js.map +1 -1
  26. package/dist/components/legend/legend.js +52 -12
  27. package/dist/components/legend/legend.js.map +1 -1
  28. package/dist/components/legend/legend_color_picker.d.ts +2 -0
  29. package/dist/components/legend/legend_color_picker.d.ts.map +1 -0
  30. package/dist/components/legend/legend_color_picker.js +42 -0
  31. package/dist/components/legend/legend_color_picker.js.map +1 -0
  32. package/dist/components/legend/legend_item.js +48 -103
  33. package/dist/components/legend/legend_item.js.map +1 -1
  34. package/dist/components/legend/legend_table/index.d.ts +2 -0
  35. package/dist/components/legend/legend_table/index.d.ts.map +1 -0
  36. package/dist/components/legend/legend_table/index.js +6 -0
  37. package/dist/components/legend/legend_table/index.js.map +1 -0
  38. package/dist/components/legend/legend_table/legend_table.d.ts +2 -0
  39. package/dist/components/legend/legend_table/legend_table.d.ts.map +1 -0
  40. package/dist/components/legend/legend_table/legend_table.js +31 -0
  41. package/dist/components/legend/legend_table/legend_table.js.map +1 -0
  42. package/dist/components/legend/legend_table/legend_table_body.d.ts +2 -0
  43. package/dist/components/legend/legend_table/legend_table_body.d.ts.map +1 -0
  44. package/dist/components/legend/legend_table/legend_table_body.js +13 -0
  45. package/dist/components/legend/legend_table/legend_table_body.js.map +1 -0
  46. package/dist/components/legend/legend_table/legend_table_cell.d.ts +9 -0
  47. package/dist/components/legend/legend_table/legend_table_cell.d.ts.map +1 -0
  48. package/dist/components/legend/legend_table/legend_table_cell.js +16 -0
  49. package/dist/components/legend/legend_table/legend_table_cell.js.map +1 -0
  50. package/dist/components/legend/legend_table/legend_table_header.d.ts +2 -0
  51. package/dist/components/legend/legend_table/legend_table_header.d.ts.map +1 -0
  52. package/dist/components/legend/legend_table/legend_table_header.js +24 -0
  53. package/dist/components/legend/legend_table/legend_table_header.js.map +1 -0
  54. package/dist/components/legend/legend_table/legend_table_item.d.ts +2 -0
  55. package/dist/components/legend/legend_table/legend_table_item.d.ts.map +1 -0
  56. package/dist/components/legend/legend_table/legend_table_item.js +75 -0
  57. package/dist/components/legend/legend_table/legend_table_item.js.map +1 -0
  58. package/dist/components/legend/legend_table/legend_table_row.d.ts +7 -0
  59. package/dist/components/legend/legend_table/legend_table_row.d.ts.map +1 -0
  60. package/dist/components/legend/legend_table/legend_table_row.js +14 -0
  61. package/dist/components/legend/legend_table/legend_table_row.js.map +1 -0
  62. package/dist/components/legend/legend_table/legend_value.d.ts +2 -0
  63. package/dist/components/legend/legend_table/legend_value.d.ts.map +1 -0
  64. package/dist/components/legend/legend_table/legend_value.js +13 -0
  65. package/dist/components/legend/legend_table/legend_value.js.map +1 -0
  66. package/dist/components/legend/types.d.ts +2 -0
  67. package/dist/components/legend/types.d.ts.map +1 -0
  68. package/dist/components/legend/types.js +3 -0
  69. package/dist/components/legend/types.js.map +1 -0
  70. package/dist/components/legend/utils.js +4 -4
  71. package/dist/components/legend/utils.js.map +1 -1
  72. package/dist/components/tooltip/components/tooltip_container.d.ts +2 -2
  73. package/dist/components/tooltip/components/tooltip_container.d.ts.map +1 -1
  74. package/dist/components/tooltip/components/tooltip_divider.d.ts +2 -2
  75. package/dist/components/tooltip/components/tooltip_divider.d.ts.map +1 -1
  76. package/dist/components/tooltip/components/tooltip_footer.d.ts +2 -2
  77. package/dist/components/tooltip/components/tooltip_footer.d.ts.map +1 -1
  78. package/dist/components/tooltip/components/tooltip_header.d.ts +2 -2
  79. package/dist/components/tooltip/components/tooltip_header.d.ts.map +1 -1
  80. package/dist/components/tooltip/components/tooltip_metric_row.d.ts +1 -1
  81. package/dist/components/tooltip/components/tooltip_metric_row.d.ts.map +1 -1
  82. package/dist/components/tooltip/components/tooltip_table.d.ts +2 -2
  83. package/dist/components/tooltip/components/tooltip_table.d.ts.map +1 -1
  84. package/dist/components/tooltip/components/tooltip_table_body.d.ts +2 -2
  85. package/dist/components/tooltip/components/tooltip_table_body.d.ts.map +1 -1
  86. package/dist/components/tooltip/components/tooltip_table_cell.d.ts +2 -2
  87. package/dist/components/tooltip/components/tooltip_table_cell.d.ts.map +1 -1
  88. package/dist/components/tooltip/components/tooltip_table_footer.d.ts +2 -2
  89. package/dist/components/tooltip/components/tooltip_table_footer.d.ts.map +1 -1
  90. package/dist/components/tooltip/components/tooltip_table_header.d.ts +2 -2
  91. package/dist/components/tooltip/components/tooltip_table_header.d.ts.map +1 -1
  92. package/dist/components/tooltip/components/tooltip_table_row.d.ts +2 -2
  93. package/dist/components/tooltip/components/tooltip_table_row.d.ts.map +1 -1
  94. package/dist/specs/constants.d.ts +1 -1
  95. package/dist/specs/constants.d.ts.map +1 -1
  96. package/dist/specs/settings.d.ts +4 -0
  97. package/dist/specs/settings.d.ts.map +1 -1
  98. package/dist/specs/settings.js.map +1 -1
  99. package/dist/state/selectors/get_legend_config_selector.js +2 -1
  100. package/dist/state/selectors/get_legend_config_selector.js.map +1 -1
  101. package/dist/state/selectors/get_legend_size.js +14 -8
  102. package/dist/state/selectors/get_legend_size.js.map +1 -1
  103. package/dist/state/selectors/get_legend_table_size.d.ts +2 -0
  104. package/dist/state/selectors/get_legend_table_size.d.ts.map +1 -0
  105. package/dist/state/selectors/get_legend_table_size.js +79 -0
  106. package/dist/state/selectors/get_legend_table_size.js.map +1 -0
  107. package/dist/theme.scss +301 -10
  108. package/dist/theme_dark.css +1 -1
  109. package/dist/theme_dark.css.map +1 -1
  110. package/dist/theme_light.css +1 -1
  111. package/dist/theme_light.css.map +1 -1
  112. package/dist/theme_only_dark.css +1 -1
  113. package/dist/theme_only_dark.css.map +1 -1
  114. package/dist/theme_only_light.css +1 -1
  115. package/dist/theme_only_light.css.map +1 -1
  116. package/package.json +5 -1
  117. package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts +0 -2
  118. package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts.map +0 -1
  119. package/dist/chart_types/xy_chart/state/utils/get_last_value.js.map +0 -1
@@ -26,53 +26,70 @@ 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
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';
34
+ const modifierKey = isAppleDevice ? '⌘' : 'Ctrl';
35
+ const showAllSeriesMessage = 'to show all';
36
+ const showSeriesMessage = 'to show';
37
+ const hideSeriesMessage = 'to hide';
39
38
  function getInteractivityTitle(isSeriesVisible, hiddenSeries, allSeries) {
40
39
  if (isSeriesVisible) {
41
40
  if (allSeries - hiddenSeries === 1) {
42
41
  return `
43
- Click: ${showAllSeriesMessage}
44
- ${modifierKey} + click: ${hideSeriesMessage}`;
42
+ Click ${showAllSeriesMessage}
43
+ ${modifierKey} + Click ${hideSeriesMessage}`;
45
44
  }
46
45
  if (hiddenSeries > 0) {
47
46
  return `
48
- Click: ${hideSeriesMessage}
49
- ${modifierKey} + click: ${hideSeriesMessage}`;
47
+ Click ${hideSeriesMessage}`;
50
48
  }
51
49
  return `
52
- Click: ${isolateSeriesMessage}
53
- ${modifierKey} + click: ${hideSeriesMessage}`;
50
+ Click ${showSeriesMessage}
51
+ ${modifierKey} + Click ${hideSeriesMessage}`;
54
52
  }
55
53
  return `
56
- Click: ${showSeriesMessage}
57
- ${modifierKey} + click: ${showSeriesMessage}`;
54
+ Click ${showSeriesMessage}`;
58
55
  }
59
- function Label({ label, isToggleable, onToggle, isSeriesHidden, options, hiddenSeriesCount, totalSeriesCount, }) {
60
- const maxLines = Math.abs(options.maxLines);
61
- const labelClassNames = (0, classnames_1.default)('echLegendItem__label', {
62
- 'echLegendItem__label--clickable': Boolean(onToggle),
63
- 'echLegendItem__label--singleline': maxLines === 1,
64
- 'echLegendItem__label--multiline': maxLines > 1,
65
- });
56
+ function getInteractivityAriaLabel(isSeriesVisible, hiddenSeries, allSeries) {
57
+ if (isSeriesVisible) {
58
+ if (allSeries - hiddenSeries === 1) {
59
+ return `Click: ${showAllSeriesMessage}, ${modifierKey} + Click: ${hideSeriesMessage}`;
60
+ }
61
+ if (hiddenSeries > 0) {
62
+ return `Click: ${hideSeriesMessage}, ${modifierKey} + Click: ${hideSeriesMessage}`;
63
+ }
64
+ return `Click: ${showSeriesMessage}, ${modifierKey} + Click: ${hideSeriesMessage}`;
65
+ }
66
+ return `Click: ${showSeriesMessage}, ${modifierKey} + Click: ${showSeriesMessage}`;
67
+ }
68
+ function Label({ label, onToggle, isToggleable, isSeriesHidden, options, hiddenSeriesCount, totalSeriesCount, }) {
69
+ const { className, dir, clampStyles } = getSharedProps(label, options, !!onToggle);
66
70
  const onClick = (0, react_1.useCallback)(({ metaKey, ctrlKey }) => onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey), [onToggle]);
67
71
  const onKeyDown = (0, react_1.useCallback)(({ key, metaKey, ctrlKey }) => {
68
72
  if (key === ' ' || key === 'Enter')
69
73
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey);
70
74
  }, [onToggle]);
71
- const dir = (0, common_1.isRTLString)(label) ? 'rtl' : 'ltr';
72
75
  const title = options.maxLines > 0 ? label : '';
73
- const clampStyles = maxLines > 1 ? { WebkitLineClamp: maxLines } : {};
74
- const interactionsGuidanceText = getInteractivityTitle(!isSeriesHidden, hiddenSeriesCount, totalSeriesCount);
75
- return isToggleable ? (react_1.default.createElement("div", { role: "button", tabIndex: 0, dir: dir, className: labelClassNames, 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: labelClassNames, title: label, style: clampStyles }, label));
76
+ return isToggleable ? (react_1.default.createElement("div", { role: "button", tabIndex: 0, dir: dir, className: className, title: `${title}\n${getInteractivityTitle(!isSeriesHidden, hiddenSeriesCount, totalSeriesCount)}`, onClick: onClick, onKeyDown: onKeyDown, "aria-pressed": isSeriesHidden, style: clampStyles, "aria-label": `${label}; ${getInteractivityAriaLabel(!isSeriesHidden, hiddenSeriesCount, totalSeriesCount)}` }, label)) : (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
76
77
  }
77
78
  exports.Label = Label;
79
+ function NonInteractiveLabel({ label, options }) {
80
+ const { className, dir, clampStyles } = getSharedProps(label, options);
81
+ return (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
82
+ }
83
+ exports.NonInteractiveLabel = NonInteractiveLabel;
84
+ function getSharedProps(label, options, isToggleable) {
85
+ const maxLines = Math.abs(options.maxLines);
86
+ const className = (0, classnames_1.default)('echLegendItem__label', {
87
+ 'echLegendItem__label--clickable': Boolean(isToggleable),
88
+ 'echLegendItem__label--singleline': maxLines === 1,
89
+ 'echLegendItem__label--multiline': maxLines > 1,
90
+ });
91
+ const dir = (0, common_1.isRTLString)(label) ? 'rtl' : 'ltr';
92
+ const clampStyles = maxLines > 1 ? { WebkitLineClamp: maxLines } : {};
93
+ return { className, dir, clampStyles };
94
+ }
78
95
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/legend/label.tsx"],"names":[],"mappings":"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"}
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
  }
@@ -54,21 +93,21 @@ function LegendComponent(props) {
54
93
  hiddenItems: items.filter(({ isSeriesHidden }) => isSeriesHidden).length,
55
94
  extraValues: props.extraValues,
56
95
  legendValues: config.legendValues,
57
- onMouseOut: config.onLegendItemOut,
58
- onMouseOver: config.onLegendItemOver,
96
+ onLegendItemMouseOver,
97
+ onLegendItemMouseOut,
59
98
  onClick: config.onLegendItemClick,
60
99
  clearTemporaryColorsAction: props.clearTemporaryColors,
61
100
  setPersistedColorAction: props.setPersistedColor,
62
101
  setTemporaryColorAction: props.setTemporaryColor,
63
- mouseOutAction: props.onItemOutAction,
64
- mouseOverAction: props.onItemOverAction,
65
102
  toggleDeselectSeriesAction: props.onToggleDeselectSeriesAction,
66
103
  colorPicker: config.legendColorPicker,
67
104
  action: config.legendAction,
68
105
  labelOptions: legend.labelOptions,
69
106
  flatLegend: (_a = config.flatLegend) !== null && _a !== void 0 ? _a : specs_1.DEFAULT_LEGEND_CONFIG.flatLegend,
107
+ legendTitle: config.legendTitle,
70
108
  };
71
109
  const positionStyle = (0, position_style_1.legendPositionStyle)(config, size, chartDimensions, containerDimensions);
110
+ const isTableView = (0, legend_1.shouldDisplayTable)(itemProps.legendValues);
72
111
  return (react_1.default.createElement("div", { className: legendClasses, style: positionStyle, dir: isMostlyRTL ? 'rtl' : 'ltr' }, config.customLegend ? (react_1.default.createElement("div", { style: containerStyle },
73
112
  react_1.default.createElement(custom_legend_1.CustomLegend, { component: config.customLegend, items: items.map(({ seriesIdentifiers, childId, path, ...customProps }) => {
74
113
  var _a, _b, _c;
@@ -77,17 +116,18 @@ function LegendComponent(props) {
77
116
  seriesIdentifiers,
78
117
  path,
79
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 : ''),
80
- onItemOutAction: itemProps.mouseOutAction,
81
- onItemOverActon: () => itemProps.mouseOverAction(path),
119
+ onItemOutAction,
120
+ onItemOverActon: () => onItemOverAction(path),
82
121
  onItemClickAction: (negate) => itemProps.toggleDeselectSeriesAction(seriesIdentifiers, negate),
83
122
  });
84
- }) }))) : (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" },
85
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 }))))))));
86
126
  }
87
127
  const mapDispatchToProps = (dispatch) => (0, redux_1.bindActionCreators)({
88
- onToggleDeselectSeriesAction: legend_1.onToggleDeselectSeriesAction,
89
- onItemOutAction: legend_1.onLegendItemOutAction,
90
- onItemOverAction: legend_1.onLegendItemOverAction,
128
+ onToggleDeselectSeriesAction: legend_2.onToggleDeselectSeriesAction,
129
+ onItemOutAction: legend_2.onLegendItemOutAction,
130
+ onItemOverAction: legend_2.onLegendItemOverAction,
91
131
  clearTemporaryColors: colors_1.clearTemporaryColors,
92
132
  setTemporaryColor: colors_1.setTemporaryColor,
93
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,117 +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
32
  const label_1 = require("./label");
33
+ const legend_color_picker_1 = require("./legend_color_picker");
34
34
  const utils_1 = require("./utils");
35
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, legendValues, colorPicker, totalItems, hiddenItems, 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 legendValue = legendValues[0] === legend_1.LegendValue.CurrentAndLastValue
119
- ? (0, utils_1.getExtra)(extraValues, item, totalItems)
120
- : legendValues.length > 0
121
- ? item.values[0]
122
- : undefined;
123
- const style = flatLegend
124
- ? {}
125
- : {
126
- [isMostlyRTL ? 'marginRight' : 'marginLeft']: exports.LEGEND_HIERARCHY_MARGIN * ((_a = item.depth) !== null && _a !== void 0 ? _a : 0),
127
- };
128
- return (react_1.default.createElement(react_1.default.Fragment, null,
129
- react_1.default.createElement("li", { className: itemClassNames, onMouseEnter: this.onLegendItemMouseOver, onMouseLeave: this.onLegendItemMouseOut, style: style, dir: isMostlyRTL ? 'rtl' : 'ltr', "data-ech-series-name": label },
130
- react_1.default.createElement("div", { className: "background" }),
131
- react_1.default.createElement("div", { className: "colorWrapper" },
132
- react_1.default.createElement(color_1.Color, { ref: this.colorRef, color: color, seriesName: label, isSeriesHidden: isSeriesHidden, hasColorPicker: hasColorPicker, onClick: this.handleColorClick(hasColorPicker), pointStyle: pointStyle })),
133
- react_1.default.createElement(label_1.Label, { label: label, options: labelOptions, isToggleable: totalItems > 1 && item.isToggleable, onToggle: this.onLabelToggle(seriesIdentifiers), isSeriesHidden: isSeriesHidden, totalSeriesCount: totalItems, hiddenSeriesCount: hiddenItems }),
134
- legendValue && !isSeriesHidden && (react_1.default.createElement("div", { className: "echLegendItem__extra", title: `${legendValue.label}` }, legendValue.label)),
135
- Action && (react_1.default.createElement("div", { className: "echLegendItem__action" },
136
- react_1.default.createElement(Action, { series: seriesIdentifiers, color: color, label: label })))),
137
- this.renderColorPicker()));
138
- }
139
- }
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
+ };
140
86
  exports.LegendListItem = LegendListItem;
141
- LegendListItem.displayName = 'LegendItem';
142
87
  //# sourceMappingURL=legend_item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legend_item.js","sourceRoot":"","sources":["../../../src/components/legend/legend_item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legend_item.js","sourceRoot":"","sources":["../../../src/components/legend/legend_item.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { LegendTable } from './legend_table';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/legend/legend_table/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LegendTable = void 0;
4
+ var legend_table_1 = require("./legend_table");
5
+ Object.defineProperty(exports, "LegendTable", { enumerable: true, get: function () { return legend_table_1.LegendTable; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/legend/legend_table/index.tsx"],"names":[],"mappings":";;;AAQA,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=legend_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend_table.d.ts","sourceRoot":"","sources":["../../../../src/components/legend/legend_table/legend_table.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
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.LegendTable = exports.MIN_LABEL_WIDTH = exports.GRID_ACTION_WIDTH = exports.GRID_COLOR_WIDTH = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const legend_table_body_1 = require("./legend_table_body");
9
+ const legend_table_header_1 = require("./legend_table_header");
10
+ const common_1 = require("../../../utils/common");
11
+ exports.GRID_COLOR_WIDTH = 10;
12
+ exports.GRID_ACTION_WIDTH = 26;
13
+ exports.MIN_LABEL_WIDTH = 24;
14
+ function LegendTable({ items, seriesWidth = exports.MIN_LABEL_WIDTH, ...itemProps }) {
15
+ var _a, _b;
16
+ const legendValuesLength = ((_a = items === null || items === void 0 ? void 0 : items[0]) === null || _a === void 0 ? void 0 : _a.values.length) ? `repeat(${(_b = items === null || items === void 0 ? void 0 : items[0]) === null || _b === void 0 ? void 0 : _b.values.length}, auto)` : '';
17
+ const actionComponentWidth = itemProps.action ? `${exports.GRID_ACTION_WIDTH}px` : '';
18
+ const gridTemplateColumns = {
19
+ vertical: `${exports.GRID_COLOR_WIDTH}px minmax(${seriesWidth}px, 1fr) ${legendValuesLength} ${actionComponentWidth}`,
20
+ horizontal: `${exports.GRID_COLOR_WIDTH}px minmax(50%, 1fr) ${legendValuesLength} ${actionComponentWidth}`,
21
+ };
22
+ return (react_1.default.createElement("div", { className: "echLegendTable", role: "table", style: {
23
+ gridTemplateColumns: itemProps.positionConfig.direction === common_1.LayoutDirection.Horizontal
24
+ ? gridTemplateColumns.horizontal
25
+ : gridTemplateColumns.vertical,
26
+ } },
27
+ react_1.default.createElement(legend_table_header_1.LegendTableHeader, { isMostlyRTL: itemProps.isMostlyRTL, hasAction: !!itemProps.action, legendValues: itemProps.legendValues, legendTitle: itemProps.legendTitle, labelOptions: itemProps.labelOptions }),
28
+ react_1.default.createElement(legend_table_body_1.LegendTableBody, { items: items, ...itemProps })));
29
+ }
30
+ exports.LegendTable = LegendTable;
31
+ //# sourceMappingURL=legend_table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend_table.js","sourceRoot":"","sources":["../../../../src/components/legend/legend_table/legend_table.tsx"],"names":[],"mappings":";;;;;;AAQA,kDAA0B;AAE1B,2DAAsD;AACtD,+DAA0D;AAE1D,kDAAwD;AAU3C,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEtB,QAAA,iBAAiB,GAAG,EAAE,CAAC;AAEvB,QAAA,eAAe,GAAG,EAAE,CAAC;AAGlC,SAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,uBAAe,EAAE,GAAG,SAAS,EAAoB;;IAClG,MAAM,kBAAkB,GAAG,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC,UAAU,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,yBAAiB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,mBAAmB,GAAG;QAC1B,QAAQ,EAAE,GAAG,wBAAgB,aAAa,WAAW,YAAY,kBAAkB,IAAI,oBAAoB,EAAE;QAC7G,UAAU,EAAE,GAAG,wBAAgB,uBAAuB,kBAAkB,IAAI,oBAAoB,EAAE;KACnG,CAAC;IACF,OAAO,CACL,uCACE,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;YACL,mBAAmB,EACjB,SAAS,CAAC,cAAc,CAAC,SAAS,KAAK,wBAAe,CAAC,UAAU;gBAC/D,CAAC,CAAC,mBAAmB,CAAC,UAAU;gBAChC,CAAC,CAAC,mBAAmB,CAAC,QAAQ;SACnC;QAED,8BAAC,uCAAiB,IAChB,WAAW,EAAE,SAAS,CAAC,WAAW,EAClC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAC7B,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,WAAW,EAAE,SAAS,CAAC,WAAW,EAClC,YAAY,EAAE,SAAS,CAAC,YAAY,GACpC;QACF,8BAAC,mCAAe,IAAC,KAAK,EAAE,KAAK,KAAM,SAAS,GAAI,CAC5C,CACP,CAAC;AACJ,CAAC;AA5BD,kCA4BC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=legend_table_body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend_table_body.d.ts","sourceRoot":"","sources":["../../../../src/components/legend/legend_table/legend_table_body.tsx"],"names":[],"mappings":""}