@elastic/charts 50.2.1 → 51.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 (239) hide show
  1. package/dist/chart_types/flame_chart/flame_chart.js +157 -51
  2. package/dist/chart_types/flame_chart/flame_chart.js.map +1 -1
  3. package/dist/chart_types/flame_chart/internal_chart_state.js +1 -1
  4. package/dist/chart_types/flame_chart/internal_chart_state.js.map +1 -1
  5. package/dist/chart_types/goal_chart/specs/index.d.ts +1 -1
  6. package/dist/chart_types/goal_chart/state/chart_state.js +8 -2
  7. package/dist/chart_types/goal_chart/state/chart_state.js.map +1 -1
  8. package/dist/chart_types/goal_chart/state/selectors/picked_shapes.js +2 -4
  9. package/dist/chart_types/goal_chart/state/selectors/picked_shapes.js.map +1 -1
  10. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.js +5 -4
  11. package/dist/chart_types/heatmap/layout/viewmodel/viewmodel.js.map +1 -1
  12. package/dist/chart_types/heatmap/renderer/canvas/canvas_renderers.js +7 -3
  13. package/dist/chart_types/heatmap/renderer/canvas/canvas_renderers.js.map +1 -1
  14. package/dist/chart_types/heatmap/renderer/canvas/connected_component.js +7 -1
  15. package/dist/chart_types/heatmap/renderer/canvas/connected_component.js.map +1 -1
  16. package/dist/chart_types/heatmap/renderer/canvas/utils.d.ts +2 -0
  17. package/dist/chart_types/heatmap/renderer/canvas/utils.d.ts.map +1 -0
  18. package/dist/chart_types/heatmap/renderer/canvas/utils.js +34 -0
  19. package/dist/chart_types/heatmap/renderer/canvas/utils.js.map +1 -0
  20. package/dist/chart_types/heatmap/specs/heatmap.d.ts +2 -2
  21. package/dist/chart_types/heatmap/state/chart_state.js +1 -1
  22. package/dist/chart_types/heatmap/state/chart_state.js.map +1 -1
  23. package/dist/chart_types/heatmap/state/selectors/geometries.js.map +1 -1
  24. package/dist/chart_types/heatmap/state/selectors/get_brush_area.js +2 -2
  25. package/dist/chart_types/heatmap/state/selectors/get_brush_area.js.map +1 -1
  26. package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js +3 -2
  27. package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js.map +1 -1
  28. package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js +6 -6
  29. package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js.map +1 -1
  30. package/dist/chart_types/heatmap/state/selectors/get_cursor_pointer.js +5 -2
  31. package/dist/chart_types/heatmap/state/selectors/get_cursor_pointer.js.map +1 -1
  32. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_bands.d.ts +2 -0
  33. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_bands.d.ts.map +1 -0
  34. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_bands.js +19 -0
  35. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_bands.js.map +1 -0
  36. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_item.d.ts +2 -0
  37. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_item.d.ts.map +1 -0
  38. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_item.js +22 -0
  39. package/dist/chart_types/heatmap/state/selectors/get_highlighted_legend_item.js.map +1 -0
  40. package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js +2 -4
  41. package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js.map +1 -1
  42. package/dist/chart_types/heatmap/state/selectors/is_tooltip_visible.js +20 -4
  43. package/dist/chart_types/heatmap/state/selectors/is_tooltip_visible.js.map +1 -1
  44. package/dist/chart_types/heatmap/state/selectors/on_pointer_update_caller.js +2 -1
  45. package/dist/chart_types/heatmap/state/selectors/on_pointer_update_caller.js.map +1 -1
  46. package/dist/chart_types/heatmap/state/selectors/picked_shapes.js +11 -7
  47. package/dist/chart_types/heatmap/state/selectors/picked_shapes.js.map +1 -1
  48. package/dist/chart_types/heatmap/state/selectors/tooltip.js +5 -0
  49. package/dist/chart_types/heatmap/state/selectors/tooltip.js.map +1 -1
  50. package/dist/chart_types/metric/state/chart_state.js +6 -1
  51. package/dist/chart_types/metric/state/chart_state.js.map +1 -1
  52. package/dist/chart_types/partition_chart/specs/index.d.ts +2 -2
  53. package/dist/chart_types/partition_chart/state/chart_state.js +4 -1
  54. package/dist/chart_types/partition_chart/state/chart_state.js.map +1 -1
  55. package/dist/chart_types/partition_chart/state/selectors/get_cursor_pointer.js +4 -1
  56. package/dist/chart_types/partition_chart/state/selectors/get_cursor_pointer.js.map +1 -1
  57. package/dist/chart_types/partition_chart/state/selectors/picked_shapes.js +2 -4
  58. package/dist/chart_types/partition_chart/state/selectors/picked_shapes.js.map +1 -1
  59. package/dist/chart_types/timeslip/internal_chart_state.js +6 -1
  60. package/dist/chart_types/timeslip/internal_chart_state.js.map +1 -1
  61. package/dist/chart_types/timeslip/timeslip/data.js.map +1 -1
  62. package/dist/chart_types/wordcloud/state/chart_state.js +6 -1
  63. package/dist/chart_types/wordcloud/state/chart_state.js.map +1 -1
  64. package/dist/chart_types/xy_chart/renderer/canvas/animations/animation.d.ts.map +1 -1
  65. package/dist/chart_types/xy_chart/renderer/canvas/animations/animation.js.map +1 -1
  66. package/dist/chart_types/xy_chart/renderer/dom/annotations/annotation_tooltip.js +1 -1
  67. package/dist/chart_types/xy_chart/renderer/dom/annotations/annotation_tooltip.js.map +1 -1
  68. package/dist/chart_types/xy_chart/renderer/dom/cursor_band.js +13 -4
  69. package/dist/chart_types/xy_chart/renderer/dom/cursor_band.js.map +1 -1
  70. package/dist/chart_types/xy_chart/renderer/dom/cursor_line.js +13 -4
  71. package/dist/chart_types/xy_chart/renderer/dom/cursor_line.js.map +1 -1
  72. package/dist/chart_types/xy_chart/renderer/dom/highlighter.js +16 -7
  73. package/dist/chart_types/xy_chart/renderer/dom/highlighter.js.map +1 -1
  74. package/dist/chart_types/xy_chart/rendering/utils.js +1 -13
  75. package/dist/chart_types/xy_chart/rendering/utils.js.map +1 -1
  76. package/dist/chart_types/xy_chart/specs/axis.d.ts +1 -1
  77. package/dist/chart_types/xy_chart/state/chart_state.js +2 -2
  78. package/dist/chart_types/xy_chart/state/chart_state.js.map +1 -1
  79. package/dist/chart_types/xy_chart/state/selectors/get_cursor_pointer.js +9 -1
  80. package/dist/chart_types/xy_chart/state/selectors/get_cursor_pointer.js.map +1 -1
  81. package/dist/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.js +6 -3
  82. package/dist/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.js.map +1 -1
  83. package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.d.ts +2 -0
  84. package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.d.ts.map +1 -0
  85. package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.js +11 -0
  86. package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.js.map +1 -0
  87. package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js +2 -2
  88. package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js.map +1 -1
  89. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js +26 -7
  90. package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js.map +1 -1
  91. package/dist/chart_types/xy_chart/state/selectors/is_tooltip_visible.js +18 -9
  92. package/dist/chart_types/xy_chart/state/selectors/is_tooltip_visible.js.map +1 -1
  93. package/dist/chart_types/xy_chart/state/selectors/on_element_out_caller.js +1 -1
  94. package/dist/chart_types/xy_chart/state/selectors/on_element_out_caller.js.map +1 -1
  95. package/dist/chart_types/xy_chart/state/selectors/on_element_over_caller.js +1 -1
  96. package/dist/chart_types/xy_chart/state/selectors/on_element_over_caller.js.map +1 -1
  97. package/dist/chart_types/xy_chart/tooltip/tooltip.js +3 -3
  98. package/dist/chart_types/xy_chart/tooltip/tooltip.js.map +1 -1
  99. package/dist/chart_types/xy_chart/utils/indexed_geometry_map.js +2 -2
  100. package/dist/chart_types/xy_chart/utils/indexed_geometry_map.js.map +1 -1
  101. package/dist/chart_types/xy_chart/utils/indexed_geometry_spatial_map.js +6 -6
  102. package/dist/chart_types/xy_chart/utils/indexed_geometry_spatial_map.js.map +1 -1
  103. package/dist/common/constants.js +3 -2
  104. package/dist/common/constants.js.map +1 -1
  105. package/dist/common/hooks/use_render_skip.d.ts +2 -0
  106. package/dist/common/hooks/use_render_skip.d.ts.map +1 -0
  107. package/dist/common/hooks/use_render_skip.js +32 -0
  108. package/dist/common/hooks/use_render_skip.js.map +1 -0
  109. package/dist/components/chart_container.js +53 -16
  110. package/dist/components/chart_container.js.map +1 -1
  111. package/dist/components/legend/label.js.map +1 -1
  112. package/dist/components/legend/legend.js +4 -1
  113. package/dist/components/legend/legend.js.map +1 -1
  114. package/dist/components/portal/tooltip_portal.js +14 -1
  115. package/dist/components/portal/tooltip_portal.js.map +1 -1
  116. package/dist/components/tooltip/components/tooltip_actions.d.ts +2 -0
  117. package/dist/components/tooltip/components/tooltip_actions.d.ts.map +1 -0
  118. package/dist/components/tooltip/components/tooltip_actions.js +155 -0
  119. package/dist/components/tooltip/components/tooltip_actions.js.map +1 -0
  120. package/dist/components/tooltip/components/tooltip_body.js +49 -8
  121. package/dist/components/tooltip/components/tooltip_body.js.map +1 -1
  122. package/dist/components/tooltip/components/tooltip_divider.js +1 -1
  123. package/dist/components/tooltip/components/tooltip_divider.js.map +1 -1
  124. package/dist/components/tooltip/components/tooltip_footer.js +1 -1
  125. package/dist/components/tooltip/components/tooltip_footer.js.map +1 -1
  126. package/dist/components/tooltip/components/tooltip_header.d.ts.map +1 -1
  127. package/dist/components/tooltip/components/tooltip_header.js +7 -2
  128. package/dist/components/tooltip/components/tooltip_header.js.map +1 -1
  129. package/dist/components/tooltip/components/tooltip_prompt.d.ts +2 -0
  130. package/dist/components/tooltip/components/tooltip_prompt.d.ts.map +1 -0
  131. package/dist/components/tooltip/components/tooltip_prompt.js +16 -0
  132. package/dist/components/tooltip/components/tooltip_prompt.js.map +1 -0
  133. package/dist/components/tooltip/components/tooltip_provider.js +22 -2
  134. package/dist/components/tooltip/components/tooltip_provider.js.map +1 -1
  135. package/dist/components/tooltip/components/tooltip_table.d.ts +11 -3
  136. package/dist/components/tooltip/components/tooltip_table.d.ts.map +1 -1
  137. package/dist/components/tooltip/components/tooltip_table.js +47 -9
  138. package/dist/components/tooltip/components/tooltip_table.js.map +1 -1
  139. package/dist/components/tooltip/components/tooltip_table_body.d.ts +4 -1
  140. package/dist/components/tooltip/components/tooltip_table_body.d.ts.map +1 -1
  141. package/dist/components/tooltip/components/tooltip_table_body.js +35 -8
  142. package/dist/components/tooltip/components/tooltip_table_body.js.map +1 -1
  143. package/dist/components/tooltip/components/tooltip_table_cell.d.ts +3 -1
  144. package/dist/components/tooltip/components/tooltip_table_cell.d.ts.map +1 -1
  145. package/dist/components/tooltip/components/tooltip_table_cell.js +7 -6
  146. package/dist/components/tooltip/components/tooltip_table_cell.js.map +1 -1
  147. package/dist/components/tooltip/components/tooltip_table_color_cell.d.ts +3 -2
  148. package/dist/components/tooltip/components/tooltip_table_color_cell.d.ts.map +1 -1
  149. package/dist/components/tooltip/components/tooltip_table_color_cell.js +25 -7
  150. package/dist/components/tooltip/components/tooltip_table_color_cell.js.map +1 -1
  151. package/dist/components/tooltip/components/tooltip_table_footer.d.ts +2 -3
  152. package/dist/components/tooltip/components/tooltip_table_footer.d.ts.map +1 -1
  153. package/dist/components/tooltip/components/tooltip_table_footer.js +4 -4
  154. package/dist/components/tooltip/components/tooltip_table_footer.js.map +1 -1
  155. package/dist/components/tooltip/components/tooltip_table_header.d.ts +2 -3
  156. package/dist/components/tooltip/components/tooltip_table_header.d.ts.map +1 -1
  157. package/dist/components/tooltip/components/tooltip_table_header.js +3 -3
  158. package/dist/components/tooltip/components/tooltip_table_header.js.map +1 -1
  159. package/dist/components/tooltip/components/tooltip_table_row.d.ts +5 -3
  160. package/dist/components/tooltip/components/tooltip_table_row.d.ts.map +1 -1
  161. package/dist/components/tooltip/components/tooltip_table_row.js +7 -3
  162. package/dist/components/tooltip/components/tooltip_table_row.js.map +1 -1
  163. package/dist/components/tooltip/components/tooltip_wrapper.js +64 -4
  164. package/dist/components/tooltip/components/tooltip_wrapper.js.map +1 -1
  165. package/dist/components/tooltip/components/types.d.ts +9 -0
  166. package/dist/components/tooltip/components/types.d.ts.map +1 -1
  167. package/dist/components/tooltip/tooltip.js +48 -16
  168. package/dist/components/tooltip/tooltip.js.map +1 -1
  169. package/dist/components/tooltip/types.d.ts +33 -0
  170. package/dist/components/tooltip/types.d.ts.map +1 -1
  171. package/dist/specs/constants.d.ts +1 -1
  172. package/dist/specs/constants.d.ts.map +1 -1
  173. package/dist/specs/constants.js +1 -1
  174. package/dist/specs/constants.js.map +1 -1
  175. package/dist/specs/settings.d.ts +4 -1
  176. package/dist/specs/settings.d.ts.map +1 -1
  177. package/dist/specs/settings.js.map +1 -1
  178. package/dist/specs/tooltip.d.ts +64 -4
  179. package/dist/specs/tooltip.d.ts.map +1 -1
  180. package/dist/specs/tooltip.js +8 -0
  181. package/dist/specs/tooltip.js.map +1 -1
  182. package/dist/state/actions/mouse.js +6 -1
  183. package/dist/state/actions/mouse.js.map +1 -1
  184. package/dist/state/actions/tooltip.d.ts +2 -0
  185. package/dist/state/actions/tooltip.d.ts.map +1 -0
  186. package/dist/state/actions/tooltip.js +20 -0
  187. package/dist/state/actions/tooltip.js.map +1 -0
  188. package/dist/state/chart_state.js +5 -2
  189. package/dist/state/chart_state.js.map +1 -1
  190. package/dist/state/reducers/interactions.js +47 -0
  191. package/dist/state/reducers/interactions.js.map +1 -1
  192. package/dist/state/selectors/can_pin_tooltip.d.ts +2 -0
  193. package/dist/state/selectors/can_pin_tooltip.d.ts.map +1 -0
  194. package/dist/state/selectors/can_pin_tooltip.js +28 -0
  195. package/dist/state/selectors/can_pin_tooltip.js.map +1 -0
  196. package/dist/state/selectors/get_active_pointer_position.d.ts +2 -0
  197. package/dist/state/selectors/get_active_pointer_position.d.ts.map +1 -0
  198. package/dist/state/selectors/get_active_pointer_position.js +10 -0
  199. package/dist/state/selectors/get_active_pointer_position.js.map +1 -0
  200. package/dist/state/selectors/get_internal_cursor_pointer.js.map +1 -1
  201. package/dist/state/selectors/get_internal_is_tooltip_visible.js +1 -1
  202. package/dist/state/selectors/get_internal_is_tooltip_visible.js.map +1 -1
  203. package/dist/state/selectors/get_tooltip_interaction_state.d.ts +2 -0
  204. package/dist/state/selectors/get_tooltip_interaction_state.d.ts.map +1 -0
  205. package/dist/state/selectors/get_tooltip_interaction_state.js +9 -0
  206. package/dist/state/selectors/get_tooltip_interaction_state.js.map +1 -0
  207. package/dist/state/selectors/get_tooltip_selected_items.d.ts +2 -0
  208. package/dist/state/selectors/get_tooltip_selected_items.d.ts.map +1 -0
  209. package/dist/state/selectors/get_tooltip_selected_items.js +15 -0
  210. package/dist/state/selectors/get_tooltip_selected_items.js.map +1 -0
  211. package/dist/state/utils.js +7 -1
  212. package/dist/state/utils.js.map +1 -1
  213. package/dist/theme.scss +241 -61
  214. package/dist/theme_dark.css +1 -1
  215. package/dist/theme_dark.css.map +1 -1
  216. package/dist/theme_light.css +1 -1
  217. package/dist/theme_light.css.map +1 -1
  218. package/dist/theme_only_dark.css +1 -1
  219. package/dist/theme_only_dark.css.map +1 -1
  220. package/dist/theme_only_light.css +1 -1
  221. package/dist/theme_only_light.css.map +1 -1
  222. package/dist/utils/themes/dark_theme.d.ts.map +1 -1
  223. package/dist/utils/themes/dark_theme.js +14 -0
  224. package/dist/utils/themes/dark_theme.js.map +1 -1
  225. package/dist/utils/themes/light_theme.d.ts.map +1 -1
  226. package/dist/utils/themes/light_theme.js +14 -0
  227. package/dist/utils/themes/light_theme.js.map +1 -1
  228. package/dist/utils/themes/theme.d.ts +36 -0
  229. package/dist/utils/themes/theme.d.ts.map +1 -1
  230. package/dist/utils/themes/theme.js.map +1 -1
  231. package/package.json +1 -1
  232. package/dist/chart_types/xy_chart/rendering/constants.d.ts +0 -2
  233. package/dist/chart_types/xy_chart/rendering/constants.d.ts.map +0 -1
  234. package/dist/chart_types/xy_chart/rendering/constants.js +0 -5
  235. package/dist/chart_types/xy_chart/rendering/constants.js.map +0 -1
  236. package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.d.ts +0 -2
  237. package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.d.ts.map +0 -1
  238. package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.js +0 -11
  239. package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.js.map +0 -1
@@ -0,0 +1,155 @@
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
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __read = (this && this.__read) || function (o, n) {
62
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
63
+ if (!m) return o;
64
+ var i = m.call(o), r, ar = [], e;
65
+ try {
66
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
67
+ }
68
+ catch (error) { e = { error: error }; }
69
+ finally {
70
+ try {
71
+ if (r && !r.done && (m = i["return"])) m.call(i);
72
+ }
73
+ finally { if (e) throw e.error; }
74
+ }
75
+ return ar;
76
+ };
77
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
78
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
79
+ if (ar || !(i in from)) {
80
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
81
+ ar[i] = from[i];
82
+ }
83
+ }
84
+ return to.concat(ar || Array.prototype.slice.call(from));
85
+ };
86
+ Object.defineProperty(exports, "__esModule", { value: true });
87
+ exports.TooltipActions = void 0;
88
+ var react_1 = __importStar(require("react"));
89
+ var common_1 = require("../../../utils/common");
90
+ var tooltip_divider_1 = require("./tooltip_divider");
91
+ var tooltip_provider_1 = require("./tooltip_provider");
92
+ var TooltipActions = function (_a) {
93
+ var actions = _a.actions, selectionPrompt = _a.selectionPrompt, actionsLoading = _a.actionsLoading, noActionsLoaded = _a.noActionsLoaded;
94
+ var _b = (0, tooltip_provider_1.useTooltipContext)(), pinned = _b.pinned, selected = _b.selected, values = _b.values, pinTooltip = _b.pinTooltip;
95
+ var syncActions = Array.isArray(actions);
96
+ var _c = __read((0, react_1.useState)(true), 2), loading = _c[0], setLoading = _c[1];
97
+ var _d = __read((0, react_1.useState)(syncActions ? actions : []), 2), loadedActions = _d[0], setLoadedActions = _d[1];
98
+ (0, react_1.useEffect)(function () {
99
+ if (pinned && !syncActions) {
100
+ var fetchActions = function (asyncActions) { return __awaiter(void 0, void 0, void 0, function () {
101
+ var _a;
102
+ return __generator(this, function (_b) {
103
+ switch (_b.label) {
104
+ case 0:
105
+ setLoading(true);
106
+ _a = setLoadedActions;
107
+ return [4, asyncActions(selected)];
108
+ case 1:
109
+ _a.apply(void 0, [_b.sent()]);
110
+ setLoading(false);
111
+ return [2];
112
+ }
113
+ });
114
+ }); };
115
+ void fetchActions(actions);
116
+ return function () {
117
+ setLoading(true);
118
+ setLoadedActions([]);
119
+ };
120
+ }
121
+ }, [syncActions, actions, selected, pinned]);
122
+ if (!syncActions) {
123
+ if (loading)
124
+ return renderPromptContent(actionsLoading, selected);
125
+ if (loadedActions.length === 0)
126
+ return renderPromptContent(noActionsLoaded, selected);
127
+ }
128
+ if (pinned && syncActions && loadedActions.length === 0) {
129
+ return null;
130
+ }
131
+ var visibleActions = loadedActions.filter(function (_a) {
132
+ var hide = _a.hide;
133
+ return !hide || hide(selected, values);
134
+ });
135
+ if (visibleActions.length === 0) {
136
+ return renderPromptContent(selectionPrompt, selected);
137
+ }
138
+ return (react_1.default.createElement.apply(react_1.default, __spreadArray(["div", { className: "echTooltipActions" }, react_1.default.createElement(tooltip_divider_1.TooltipDivider, null)], __read(visibleActions.map(function (_a, i) {
139
+ var onSelect = _a.onSelect, label = _a.label, disabled = _a.disabled;
140
+ var reason = disabled && disabled(selected, values);
141
+ return (react_1.default.createElement("button", { className: "echTooltipActions__action", key: "".concat(i), title: typeof reason === 'string' ? reason : undefined, disabled: Boolean(reason), onClick: function () {
142
+ pinTooltip(false, true);
143
+ setTimeout(function () {
144
+ onSelect(selected, values);
145
+ }, 0);
146
+ } }, typeof label === 'string' ? label : label(selected, values)));
147
+ })), false)));
148
+ };
149
+ exports.TooltipActions = TooltipActions;
150
+ function renderPromptContent(content, selected) {
151
+ return (react_1.default.createElement("div", { className: "echTooltipActions" },
152
+ react_1.default.createElement(tooltip_divider_1.TooltipDivider, null),
153
+ react_1.default.createElement("div", { className: "echTooltipActions__prompt" }, (0, common_1.renderWithProps)(content, { selected: selected }))));
154
+ }
155
+ //# sourceMappingURL=tooltip_actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip_actions.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_actions.tsx"],"names":[],"mappings":"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"}
@@ -22,20 +22,61 @@ var tooltip_provider_1 = require("./tooltip_provider");
22
22
  var tooltip_table_1 = require("./tooltip_table");
23
23
  var tooltip_wrapper_1 = require("./tooltip_wrapper");
24
24
  var TooltipBody = function (_a) {
25
- var info = _a.info, visible = _a.visible, settings = _a.settings, headerFormatter = _a.headerFormatter, columns = _a.columns, header = _a.header, footer = _a.footer;
26
- var _b = (0, tooltip_provider_1.useTooltipContext)(), backgroundColor = _b.backgroundColor, dir = _b.dir;
25
+ var info = _a.info, visible = _a.visible, settings = _a.settings, headerFormatter = _a.headerFormatter, columns = _a.columns, header = _a.header, footer = _a.footer, placement = _a.placement, _b = _a.actions, actions = _b === void 0 ? [] : _b, toggleSelected = _a.toggleSelected, setSelection = _a.setSelection, actionPrompt = _a.actionPrompt, pinningPrompt = _a.pinningPrompt, selectionPrompt = _a.selectionPrompt, actionsLoading = _a.actionsLoading, noActionsLoaded = _a.noActionsLoaded;
26
+ var _c = (0, tooltip_provider_1.useTooltipContext)(), backgroundColor = _c.backgroundColor, dir = _c.dir, pinned = _c.pinned, selected = _c.selected, theme = _c.theme, actionable = _c.actionable;
27
27
  if (!info || !visible) {
28
28
  return null;
29
29
  }
30
+ var wrapperStyles = getStylesFromPlacement(actionable, theme, placement);
30
31
  if (typeof settings !== 'string' && (settings === null || settings === void 0 ? void 0 : settings.customTooltip)) {
31
32
  var CustomTooltip = settings.customTooltip;
32
- return (react_1.default.createElement(tooltip_wrapper_1.TooltipWrapper, null,
33
- react_1.default.createElement(CustomTooltip, __assign({}, info, { headerFormatter: headerFormatter, backgroundColor: backgroundColor, dir: dir }))));
33
+ return (react_1.default.createElement("div", { className: "echTooltip__outerWrapper", style: wrapperStyles },
34
+ react_1.default.createElement(tooltip_wrapper_1.TooltipWrapper, { actions: actions, actionPrompt: actionPrompt, pinningPrompt: pinningPrompt, selectionPrompt: selectionPrompt, actionsLoading: actionsLoading, noActionsLoaded: noActionsLoaded },
35
+ react_1.default.createElement(CustomTooltip, __assign({}, info, { dir: dir, pinned: pinned, selected: selected, setSelection: setSelection, toggleSelected: toggleSelected, headerFormatter: headerFormatter, backgroundColor: backgroundColor })))));
34
36
  }
35
- return (react_1.default.createElement(tooltip_wrapper_1.TooltipWrapper, null,
36
- header ? (react_1.default.createElement(tooltip_header_1.TooltipHeader, null, typeof header === 'string' ? header : header(info.values))) : (react_1.default.createElement(tooltip_header_1.TooltipHeader, { header: info.header, formatter: headerFormatter })),
37
- react_1.default.createElement(tooltip_table_1.TooltipTable, { columns: columns, items: info.values }),
38
- footer && react_1.default.createElement(tooltip_footer_1.TooltipFooter, null, typeof footer === 'string' ? footer : footer(info.values))));
37
+ return (react_1.default.createElement("div", { className: "echTooltip__outerWrapper", style: wrapperStyles },
38
+ react_1.default.createElement(tooltip_wrapper_1.TooltipWrapper, { actions: actions, actionPrompt: actionPrompt, pinningPrompt: pinningPrompt, selectionPrompt: selectionPrompt, actionsLoading: actionsLoading, noActionsLoaded: noActionsLoaded },
39
+ header ? (react_1.default.createElement(tooltip_header_1.TooltipHeader, null, typeof header === 'string' ? header : header(info.values))) : (react_1.default.createElement(tooltip_header_1.TooltipHeader, { header: info.header, formatter: headerFormatter })),
40
+ react_1.default.createElement(tooltip_table_1.TooltipTable, { columns: columns, items: info.values, pinned: pinned, onSelect: toggleSelected, selected: selected }),
41
+ footer && react_1.default.createElement(tooltip_footer_1.TooltipFooter, null, typeof footer === 'string' ? footer : footer(info.values)))));
39
42
  };
40
43
  exports.TooltipBody = TooltipBody;
44
+ function getStylesFromPlacement(actionable, _a, placement) {
45
+ var maxWidth = _a.maxWidth;
46
+ if (!actionable)
47
+ return { maxWidth: maxWidth };
48
+ switch (placement) {
49
+ case 'left':
50
+ case 'left-start':
51
+ case 'left-end':
52
+ case 'top-end':
53
+ case 'bottom-end':
54
+ return {
55
+ width: maxWidth,
56
+ justifyContent: 'flex-end',
57
+ };
58
+ case 'right':
59
+ case 'right-start':
60
+ case 'right-end':
61
+ case 'top-start':
62
+ case 'bottom-start':
63
+ return {
64
+ width: maxWidth,
65
+ justifyContent: 'flex-start',
66
+ };
67
+ case 'top':
68
+ case 'bottom':
69
+ return {
70
+ width: maxWidth,
71
+ justifyContent: 'center',
72
+ };
73
+ case 'auto':
74
+ case 'auto-start':
75
+ case 'auto-end':
76
+ default:
77
+ return {
78
+ width: maxWidth,
79
+ };
80
+ }
81
+ }
41
82
  //# sourceMappingURL=tooltip_body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_body.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_body.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,gDAA0B;AAM1B,mDAAiD;AACjD,mDAAiD;AACjD,uDAAuD;AACvD,iDAA+C;AAC/C,qDAAmD;AAa5C,IAAM,WAAW,GAAG,UAA8E,EAQ/E;QAPxB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,OAAO,aAAA,EACP,MAAM,YAAA,EACN,MAAM,YAAA;IAEA,IAAA,KAA2B,IAAA,oCAAiB,GAAE,EAA5C,eAAe,qBAAA,EAAE,GAAG,SAAwB,CAAC;IACrD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CAAA,EAAE;QAC3D,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,OAAO,CACL,8BAAC,gCAAc;YACb,8BAAC,aAAa,eAAK,IAAI,IAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IAAI,CAC1F,CAClB,CAAC;KACH;IAED,OAAO,CACL,8BAAC,gCAAc;QACZ,MAAM,CAAC,CAAC,CAAC,CACR,8BAAC,8BAAa,QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAiB,CAC3F,CAAC,CAAC,CAAC,CACF,8BAAC,8BAAa,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,GAAI,CACnE;QACD,8BAAC,4BAAY,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAI;QACrD,MAAM,IAAI,8BAAC,8BAAa,QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAiB,CACtF,CAClB,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,WAAW,eAkCtB"}
1
+ {"version":3,"file":"tooltip_body.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_body.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ exports.TooltipDivider = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var TooltipDivider = function (_a) {
9
9
  var margin = _a.margin;
10
- return react_1.default.createElement("div", { style: { margin: margin }, className: "echTooltip__divider" });
10
+ return react_1.default.createElement("div", { style: { margin: margin }, className: "echTooltipDivider" });
11
11
  };
12
12
  exports.TooltipDivider = TooltipDivider;
13
13
  //# sourceMappingURL=tooltip_divider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_divider.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_divider.tsx"],"names":[],"mappings":";;;;;;AAQA,gDAA6C;AAOtC,IAAM,cAAc,GAAG,UAAC,EAA+B;QAA7B,MAAM,YAAA;IACrC,OAAO,uCAAK,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,EAAE,SAAS,EAAC,qBAAqB,GAAO,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"tooltip_divider.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_divider.tsx"],"names":[],"mappings":";;;;;;AAQA,gDAA6C;AAOtC,IAAM,cAAc,GAAG,UAAC,EAA+B;QAA7B,MAAM,YAAA;IACrC,OAAO,uCAAK,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,EAAE,SAAS,EAAC,mBAAmB,GAAO,CAAC;AACtE,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
@@ -8,7 +8,7 @@ var react_1 = __importDefault(require("react"));
8
8
  var common_1 = require("../../../utils/common");
9
9
  var TooltipFooter = function (_a) {
10
10
  var children = _a.children;
11
- return react_1.default.createElement("div", { className: "echTooltip__footer" }, (0, common_1.renderComplexChildren)(children));
11
+ return react_1.default.createElement("div", { className: "echTooltipFooter" }, (0, common_1.renderComplexChildren)(children));
12
12
  };
13
13
  exports.TooltipFooter = TooltipFooter;
14
14
  //# sourceMappingURL=tooltip_footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_footer.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_footer.tsx"],"names":[],"mappings":";;;;;;AAQA,gDAAiD;AAEjD,gDAA8D;AAKvD,IAAM,aAAa,GAAG,UAAC,EAAgC;QAA9B,QAAQ,cAAA;IACtC,OAAO,uCAAK,SAAS,EAAC,oBAAoB,IAAE,IAAA,8BAAqB,EAAC,QAAQ,CAAC,CAAO,CAAC;AACrF,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
1
+ {"version":3,"file":"tooltip_footer.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_footer.tsx"],"names":[],"mappings":";;;;;;AAQA,gDAAiD;AAEjD,gDAA8D;AAKvD,IAAM,aAAa,GAAG,UAAC,EAAgC;QAA9B,QAAQ,cAAA;IACtC,OAAO,uCAAK,SAAS,EAAC,kBAAkB,IAAE,IAAA,8BAAqB,EAAC,QAAQ,CAAC,CAAO,CAAC;AACnF,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_header.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_header.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,aAAK,kBAAkB,CACrB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC1C,CAAC,CAAC;AAgBH,cAAc;AACd,eAAO,MAAM,aAAa,qIAAwD,CAAC"}
1
+ {"version":3,"file":"tooltip_header.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_header.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGpD,aAAK,kBAAkB,CACrB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC1C,CAAC,CAAC;AA0BH,cAAc;AACd,eAAO,MAAM,aAAa,qIAAwD,CAAC"}
@@ -26,9 +26,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.TooltipHeader = void 0;
27
27
  var react_1 = __importStar(require("react"));
28
28
  var common_1 = require("../../../utils/common");
29
+ var tooltip_divider_1 = require("./tooltip_divider");
29
30
  var TooltipHeaderInner = function (props) {
30
31
  if ('children' in props) {
31
- return react_1.default.createElement("div", { className: "echTooltip__header" }, (0, common_1.renderComplexChildren)(props.children));
32
+ return (react_1.default.createElement(react_1.default.Fragment, null,
33
+ react_1.default.createElement("div", { className: "echTooltipHeader" }, (0, common_1.renderComplexChildren)(props.children)),
34
+ react_1.default.createElement(tooltip_divider_1.TooltipDivider, null)));
32
35
  }
33
36
  var header = props.header, formatter = props.formatter;
34
37
  if (!header || !header.isVisible)
@@ -36,7 +39,9 @@ var TooltipHeaderInner = function (props) {
36
39
  var formattedValue = formatter ? formatter(header) : header.formattedValue;
37
40
  if (!formattedValue)
38
41
  return null;
39
- return react_1.default.createElement("div", { className: "echTooltip__header" }, formattedValue);
42
+ return (react_1.default.createElement(react_1.default.Fragment, null,
43
+ react_1.default.createElement("div", { className: "echTooltipHeader" }, formattedValue),
44
+ react_1.default.createElement(tooltip_divider_1.TooltipDivider, null)));
40
45
  };
41
46
  exports.TooltipHeader = (0, react_1.memo)(TooltipHeaderInner);
42
47
  //# sourceMappingURL=tooltip_header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_header.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,6CAAoC;AAIpC,gDAAqE;AAWrE,IAAM,kBAAkB,GAAG,UACzB,KAAgC;IAEhC,IAAI,UAAU,IAAI,KAAK,EAAE;QACvB,OAAO,uCAAK,SAAS,EAAC,oBAAoB,IAAE,IAAA,8BAAqB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAO,CAAC;KAC1F;IACO,IAAA,MAAM,GAAgB,KAAK,OAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IACpC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,uCAAK,SAAS,EAAC,oBAAoB,IAAE,cAAc,CAAO,CAAC;AACpE,CAAC,CAAC;AAGW,QAAA,aAAa,GAAG,IAAA,YAAI,EAAC,kBAAkB,CAA8B,CAAC"}
1
+ {"version":3,"file":"tooltip_header.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,6CAAoC;AAIpC,gDAAqE;AAErE,qDAAmD;AAUnD,IAAM,kBAAkB,GAAG,UACzB,KAAgC;IAEhC,IAAI,UAAU,IAAI,KAAK,EAAE;QACvB,OAAO,CACL;YACE,uCAAK,SAAS,EAAC,kBAAkB,IAAE,IAAA,8BAAqB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAO;YAC/E,8BAAC,gCAAc,OAAG,CACjB,CACJ,CAAC;KACH;IACO,IAAA,MAAM,GAAgB,KAAK,OAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IACpC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CACL;QACE,uCAAK,SAAS,EAAC,kBAAkB,IAAE,cAAc,CAAO;QACxD,8BAAC,gCAAc,OAAG,CACjB,CACJ,CAAC;AACJ,CAAC,CAAC;AAGW,QAAA,aAAa,GAAG,IAAA,YAAI,EAAC,kBAAkB,CAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tooltip_prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip_prompt.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_prompt.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
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.TooltipPrompt = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var tooltip_divider_1 = require("./tooltip_divider");
9
+ function TooltipPrompt(_a) {
10
+ var children = _a.children;
11
+ return (react_1.default.createElement("div", { className: "echTooltipPrompt" },
12
+ react_1.default.createElement(tooltip_divider_1.TooltipDivider, null),
13
+ react_1.default.createElement("div", { className: "echTooltipPrompt__content" }, children)));
14
+ }
15
+ exports.TooltipPrompt = TooltipPrompt;
16
+ //# sourceMappingURL=tooltip_prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip_prompt.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_prompt.tsx"],"names":[],"mappings":";;;;;;AAQA,gDAAiD;AAEjD,qDAAmD;AAGnD,SAAgB,aAAa,CAAC,EAAmC;QAAjC,QAAQ,cAAA;IACtC,OAAO,CACL,uCAAK,SAAS,EAAC,kBAAkB;QAC/B,8BAAC,gCAAc,OAAG;QAClB,uCAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAO,CACvD,CACP,CAAC;AACJ,CAAC;AAPD,sCAOC"}
@@ -25,17 +25,37 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.TooltipProvider = exports.useTooltipContext = void 0;
27
27
  var react_1 = __importStar(require("react"));
28
+ var tooltip_1 = require("../../../state/actions/tooltip");
29
+ var light_theme_1 = require("../../../utils/themes/light_theme");
28
30
  var TooltipContext = react_1.default.createContext({
29
31
  backgroundColor: '#fff',
30
32
  dir: 'ltr',
33
+ maxItems: 5,
34
+ pinned: false,
35
+ actionable: false,
36
+ canPinTooltip: false,
37
+ selected: [],
38
+ values: [],
39
+ pinTooltip: tooltip_1.pinTooltip,
40
+ theme: light_theme_1.LIGHT_THEME.tooltip,
31
41
  });
32
- var useTooltipContext = function () { return (0, react_1.useContext)(TooltipContext); };
42
+ var useTooltipContext = function () {
43
+ return (0, react_1.useContext)(TooltipContext);
44
+ };
33
45
  exports.useTooltipContext = useTooltipContext;
34
46
  var TooltipProvider = function (_a) {
35
- var backgroundColor = _a.backgroundColor, dir = _a.dir, children = _a.children;
47
+ var backgroundColor = _a.backgroundColor, dir = _a.dir, maxItems = _a.maxItems, pinned = _a.pinned, actionable = _a.actionable, canPinTooltip = _a.canPinTooltip, selected = _a.selected, values = _a.values, pinTooltip = _a.pinTooltip, children = _a.children, theme = _a.theme;
36
48
  return (react_1.default.createElement(TooltipContext.Provider, { value: {
37
49
  backgroundColor: backgroundColor,
38
50
  dir: dir,
51
+ maxItems: maxItems,
52
+ pinned: pinned,
53
+ actionable: actionable,
54
+ canPinTooltip: canPinTooltip,
55
+ selected: selected,
56
+ values: values,
57
+ pinTooltip: pinTooltip,
58
+ theme: theme,
39
59
  } }, children));
40
60
  };
41
61
  exports.TooltipProvider = TooltipProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_provider.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,6CAA6D;AAO7D,IAAM,cAAc,GAAG,eAAK,CAAC,aAAa,CAAiB;IACzD,eAAe,EAAE,MAAM;IACvB,GAAG,EAAE,KAAK;CACX,CAAC,CAAC;AAGI,IAAM,iBAAiB,GAAG,cAAM,OAAA,IAAA,kBAAU,EAAC,cAAc,CAAC,EAA1B,CAA0B,CAAC;AAArD,QAAA,iBAAiB,qBAAoC;AAK3D,IAAM,eAAe,GAAG,UAAC,EAAwD;QAAtD,eAAe,qBAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAA;IAC9D,OAAO,CACL,8BAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;YACL,eAAe,iBAAA;YACf,GAAG,KAAA;SACJ,IAEA,QAAQ,CACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B"}
1
+ {"version":3,"file":"tooltip_provider.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,6CAAsE;AAItE,0DAAgF;AAEhF,iEAAgE;AAiBhE,IAAM,cAAc,GAAG,eAAK,CAAC,aAAa,CAAiB;IACzD,eAAe,EAAE,MAAM;IACvB,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,oBAAgB;IAC5B,KAAK,EAAE,yBAAW,CAAC,OAAO;CAC3B,CAAC,CAAC;AAGI,IAAM,iBAAiB,GAAG;IAC/B,OAAA,IAAA,kBAAU,EAAwB,cAA2D,CAAC;AAA9F,CAA8F,CAAC;AADpF,QAAA,iBAAiB,qBACmE;AAQ1F,IAAM,eAAe,GAAG,UAA8E,EAY/E;QAX5B,eAAe,qBAAA,EACf,GAAG,SAAA,EACH,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,KAAK,WAAA;IAEL,OAAO,CACL,8BAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;YACL,eAAe,iBAAA;YACf,GAAG,KAAA;YACH,QAAQ,UAAA;YACR,MAAM,QAAA;YACN,UAAU,YAAA;YACV,aAAa,eAAA;YACb,QAAQ,UAAA;YACR,MAAM,QAAA;YACN,UAAU,YAAA;YACV,KAAK,OAAA;SACN,IAEA,QAAQ,CACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,eAAe,mBA+B1B"}
@@ -2,16 +2,24 @@ import { CSSProperties } from 'react';
2
2
  import { SeriesIdentifier } from '../../../common/series_id';
3
3
  import { BaseDatum, TooltipValue } from '../../../specs';
4
4
  import { Datum } from '../../../utils/common';
5
- import { PropsOrChildrenWithProps } from '../types';
5
+ import { PropsOrChildrenWithProps, ToggleSelectedTooltipItemCallback } from '../types';
6
6
  import { TooltipTableColumn } from './types';
7
7
  declare type TooltipTableProps<D extends BaseDatum = Datum, SI extends SeriesIdentifier = SeriesIdentifier> = PropsOrChildrenWithProps<{
8
8
  columns: TooltipTableColumn<D, SI>[];
9
9
  items: TooltipValue<D, SI>[];
10
- }, {}, {
10
+ pinned?: boolean;
11
+ onSelect?: ToggleSelectedTooltipItemCallback;
12
+ selected?: TooltipValue<D, SI>[];
13
+ }, {
14
+ /**
15
+ * Used to defined the column widths, otherwise auto-generated
16
+ */
17
+ gridTemplateColumns: CSSProperties['gridTemplateColumns'];
18
+ }, {
11
19
  className?: string;
12
20
  maxHeight?: CSSProperties['maxHeight'];
13
21
  }>;
14
22
  /** @public */
15
- export declare const TooltipTable: <D extends BaseDatum = any, SI extends SeriesIdentifier = SeriesIdentifier>({ maxHeight, className, ...props }: TooltipTableProps<D, SI>) => JSX.Element;
23
+ export declare const TooltipTable: <D extends BaseDatum = any, SI extends SeriesIdentifier = SeriesIdentifier>({ className, ...props }: TooltipTableProps<D, SI>) => JSX.Element;
16
24
  export {};
17
25
  //# sourceMappingURL=tooltip_table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_table.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table.tsx"],"names":[],"mappings":"AASA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,aAAK,iBAAiB,CACpB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAC1B;IACE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;CAC9B,EACD,EAAE,EACF;IACE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC,CACF,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,YAAY,0JA4BxB,CAAC"}
1
+ {"version":3,"file":"tooltip_table.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table.tsx"],"names":[],"mappings":"AASA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAKvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAU7C,aAAK,iBAAiB,CACpB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAC1B;IACE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,iCAAiC,CAAC;IAC7C,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;CAClC,EACD;IACE;;OAEG;IACH,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAC3D,EACD;IACE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC,CACF,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,YAAY,+IA2CxB,CAAC"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __rest = (this && this.__rest) || function (s, e) {
3
14
  var t = {};
4
15
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -18,26 +29,53 @@ exports.TooltipTable = void 0;
18
29
  var classnames_1 = __importDefault(require("classnames"));
19
30
  var react_1 = __importDefault(require("react"));
20
31
  var common_1 = require("../../../utils/common");
32
+ var tooltip_provider_1 = require("./tooltip_provider");
21
33
  var tooltip_table_body_1 = require("./tooltip_table_body");
22
34
  var tooltip_table_footer_1 = require("./tooltip_table_footer");
23
35
  var tooltip_table_header_1 = require("./tooltip_table_header");
36
+ var TOOLTIP_ITEM_HEIGHT = 20;
37
+ var TOOLTIP_HEADER_HEIGHT = 25;
38
+ var TOOLTIP_FOOTER_HEIGHT = 25;
39
+ var MAX_ROW_COLOR_STRIP_WIDTH = 11;
24
40
  var TooltipTable = function (_a) {
25
- var maxHeight = _a.maxHeight, className = _a.className, props = __rest(_a, ["maxHeight", "className"]);
26
- var classes = (0, classnames_1.default)('echTooltip__table', className, {
27
- 'echTooltip__table--scrollable': !(0, common_1.isNil)(maxHeight),
28
- });
41
+ var _b;
42
+ var className = _a.className, props = __rest(_a, ["className"]);
43
+ var _c = (0, tooltip_provider_1.useTooltipContext)(), theme = _c.theme, maxItems = _c.maxItems, rest = __rest(_c, ["theme", "maxItems"]);
29
44
  if ('children' in props) {
30
- return (react_1.default.createElement("table", { className: classes, style: { maxHeight: maxHeight } }, props.children));
45
+ var gridTemplateColumns_1 = props.gridTemplateColumns;
46
+ var classes = (0, classnames_1.default)('echTooltip__table', className, {
47
+ 'echTooltip__table--noGrid': !gridTemplateColumns_1,
48
+ });
49
+ var maxHeight = (_b = props.maxHeight) !== null && _b !== void 0 ? _b : theme.maxTableHeight;
50
+ return (react_1.default.createElement("div", { className: "echTooltip__tableWrapper", style: { maxHeight: maxHeight } },
51
+ react_1.default.createElement("div", { role: "table", className: classes, style: { gridTemplateColumns: gridTemplateColumns_1 } }, props.children)));
31
52
  }
32
53
  var columns = props.columns.filter(function (_a) {
33
54
  var _b;
34
55
  var hidden = _a.hidden;
35
56
  return !(typeof hidden === 'boolean' ? hidden : (_b = hidden === null || hidden === void 0 ? void 0 : hidden(props.items)) !== null && _b !== void 0 ? _b : false);
36
57
  });
37
- return (react_1.default.createElement("table", { className: classes, style: { maxHeight: maxHeight } },
38
- react_1.default.createElement(tooltip_table_header_1.TooltipTableHeader, { columns: columns, items: props.items }),
39
- react_1.default.createElement(tooltip_table_body_1.TooltipTableBody, { columns: columns, items: props.items }),
40
- react_1.default.createElement(tooltip_table_footer_1.TooltipTableFooter, { columns: columns, items: props.items })));
58
+ var _d = __assign(__assign({}, rest), props), items = _d.items, _e = _d.pinned, pinned = _e === void 0 ? false : _e, onSelect = _d.onSelect, _f = _d.selected, selected = _f === void 0 ? [] : _f;
59
+ var gridTemplateColumns = columns
60
+ .map(function (_a) {
61
+ var type = _a.type, width = _a.width;
62
+ return width !== null && width !== void 0 ? width : (type === 'color' ? MAX_ROW_COLOR_STRIP_WIDTH : 'auto');
63
+ })
64
+ .map(function (width) { return (typeof width === 'number' ? "".concat(width, "px") : width); })
65
+ .join(' ');
66
+ return (react_1.default.createElement("div", { className: "echTooltip__tableWrapper", style: { maxHeight: getMaxHeight(pinned, columns, theme.maxTableHeight, props.maxHeight, maxItems) } },
67
+ react_1.default.createElement("div", { role: "table", className: (0, classnames_1.default)('echTooltip__table', className), style: { gridTemplateColumns: gridTemplateColumns } },
68
+ react_1.default.createElement(tooltip_table_header_1.TooltipTableHeader, { columns: columns, items: props.items }),
69
+ react_1.default.createElement(tooltip_table_body_1.TooltipTableBody, { columns: columns, items: items, pinned: pinned, onSelect: onSelect, selected: selected }),
70
+ react_1.default.createElement(tooltip_table_footer_1.TooltipTableFooter, { columns: columns, items: props.items }))));
41
71
  };
42
72
  exports.TooltipTable = TooltipTable;
73
+ function getMaxHeight(pinned, columns, maxHeightFallback, maxHeight, maxItems) {
74
+ if (pinned || maxHeight || (0, common_1.isNil)(maxItems))
75
+ return maxHeight !== null && maxHeight !== void 0 ? maxHeight : maxHeightFallback;
76
+ var headerHeight = +columns.some(function (c) { return c.header; }) * TOOLTIP_HEADER_HEIGHT;
77
+ var bodyHeight = (Math.max(maxItems, 1) + 0.5) * TOOLTIP_ITEM_HEIGHT;
78
+ var footerHeight = +columns.some(function (c) { return c.footer; }) * TOOLTIP_FOOTER_HEIGHT;
79
+ return headerHeight + bodyHeight + footerHeight;
80
+ }
43
81
  //# sourceMappingURL=tooltip_table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_table.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,0DAAoC;AACpC,gDAA6C;AAI7C,gDAAqD;AAErD,2DAAwD;AACxD,+DAA4D;AAC5D,+DAA4D;AAmBrD,IAAM,YAAY,GAAG,UAA8E,EAI/E;IAHzB,IAAA,SAAS,eAAA,EACT,SAAS,eAAA,EACN,KAAK,cAHgG,0BAIzG,CADS;IAER,IAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,mBAAmB,EAAE,SAAS,EAAE;QACzD,+BAA+B,EAAE,CAAC,IAAA,cAAK,EAAC,SAAS,CAAC;KACnD,CAAC,CAAC;IAEH,IAAI,UAAU,IAAI,KAAK,EAAE;QACvB,OAAO,CACL,yCAAO,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,WAAA,EAAE,IAC5C,KAAK,CAAC,QAAQ,CACT,CACT,CAAC;KACH;IAED,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,EAAU;;YAAR,MAAM,YAAA;QAC5C,OAAO,CAAC,CAAC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,yCAAO,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,WAAA,EAAE;QAC7C,8BAAC,yCAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI;QAC5D,8BAAC,qCAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI;QAC1D,8BAAC,yCAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CACtD,CACT,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,YAAY,gBA4BvB"}
1
+ {"version":3,"file":"tooltip_table.js","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,14 @@
2
2
  import { SeriesIdentifier } from '../../../common/series_id';
3
3
  import { BaseDatum, TooltipValue } from '../../../specs';
4
4
  import { Datum } from '../../../utils/common';
5
- import { PropsOrChildrenWithProps } from '../types';
5
+ import { PropsOrChildrenWithProps, ToggleSelectedTooltipItemCallback } from '../types';
6
6
  import { TooltipTableColumn } from './types';
7
7
  declare type TooltipTableBodyProps<D extends BaseDatum = Datum, SI extends SeriesIdentifier = SeriesIdentifier> = PropsOrChildrenWithProps<{
8
8
  items: TooltipValue<D, SI>[];
9
9
  columns: TooltipTableColumn<D, SI>[];
10
+ pinned?: boolean;
11
+ onSelect?: ToggleSelectedTooltipItemCallback;
12
+ selected: TooltipValue<D, SI>[];
10
13
  }, {}, {
11
14
  className?: string;
12
15
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip_table_body.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table_body.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,aAAK,qBAAqB,CACxB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAC1B;IACE,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;CACtC,EACD,EAAE,EACF;IACE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CACF,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,gBAAgB,mJAwB5B,CAAC"}
1
+ {"version":3,"file":"tooltip_table_body.d.ts","sourceRoot":"","sources":["../../../../src/components/tooltip/components/tooltip_table_body.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAIvF,OAAO,EAAoB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,aAAK,qBAAqB,CACxB,CAAC,SAAS,SAAS,GAAG,KAAK,EAC3B,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,IAC5C,wBAAwB,CAC1B;IACE,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,iCAAiC,CAAC;IAC7C,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;CACjC,EACD,EAAE,EACF;IACE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CACF,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,gBAAgB,mJAwC5B,CAAC"}