@elastic/eui 116.3.0 → 116.3.1-snapshot.1782148316870

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 (199) hide show
  1. package/es/components/avatar/avatar.js +4 -0
  2. package/es/components/avatar/avatar.styles.js +16 -16
  3. package/es/components/banner/banner.js +1 -2
  4. package/es/components/banner/banner.styles.js +1 -1
  5. package/es/components/basic_table/basic_table.js +35 -5
  6. package/es/components/basic_table/basic_table.styles.js +19 -1
  7. package/es/components/basic_table/in_memory_table.js +17 -0
  8. package/es/components/basic_table/index.js +2 -1
  9. package/es/components/basic_table/pagination_bar.js +19 -4
  10. package/es/components/basic_table/pagination_bar.styles.js +21 -0
  11. package/es/components/basic_table/panel.styles.js +14 -0
  12. package/es/components/basic_table/use_panel_props.js +28 -0
  13. package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
  14. package/es/components/date_picker/date_picker.js +1 -1
  15. package/es/components/flyout/flyout.component.js +10 -6
  16. package/es/components/flyout/flyout_menu.js +122 -19
  17. package/es/components/flyout/flyout_menu.styles.js +2 -1
  18. package/es/components/flyout/manager/actions.js +20 -0
  19. package/es/components/flyout/manager/flyout_child.js +23 -1
  20. package/es/components/flyout/manager/flyout_managed.js +65 -19
  21. package/es/components/flyout/manager/hooks.js +1 -1
  22. package/es/components/flyout/manager/index.js +2 -2
  23. package/es/components/flyout/manager/reducer.js +32 -8
  24. package/es/components/flyout/manager/selectors.js +8 -2
  25. package/es/components/flyout/manager/store.js +35 -2
  26. package/es/components/flyout/use_flyout_menu.js +2 -2
  27. package/es/components/form/field_password/field_password.styles.js +1 -1
  28. package/es/components/form/field_search/field_search.styles.js +1 -1
  29. package/es/components/form/form.styles.js +1 -1
  30. package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
  31. package/es/components/form/select/select.styles.js +1 -1
  32. package/es/components/form/text_area/text_area.styles.js +1 -1
  33. package/es/components/form/validatable_control/validatable_control.js +8 -55
  34. package/es/components/table/mobile/table_sort_mobile.js +64 -103
  35. package/es/components/table/store/use_unique_column_id.js +25 -0
  36. package/es/components/table/table_header_cell.js +7 -8
  37. package/es/components/table/table_header_cell_checkbox.js +5 -6
  38. package/es/components/tool_tip/tool_tip.js +61 -30
  39. package/es/components/tool_tip/tool_tip_anchor.js +5 -5
  40. package/es/components/tool_tip/tool_tip_manager.js +27 -2
  41. package/eui.d.ts +679 -530
  42. package/i18ntokens.json +810 -738
  43. package/lib/components/avatar/avatar.js +4 -0
  44. package/lib/components/avatar/avatar.styles.js +16 -16
  45. package/lib/components/banner/banner.js +1 -2
  46. package/lib/components/banner/banner.styles.js +1 -1
  47. package/lib/components/basic_table/basic_table.js +34 -4
  48. package/lib/components/basic_table/basic_table.styles.js +19 -1
  49. package/lib/components/basic_table/in_memory_table.js +17 -0
  50. package/lib/components/basic_table/index.js +8 -1
  51. package/lib/components/basic_table/pagination_bar.js +19 -4
  52. package/lib/components/basic_table/pagination_bar.styles.js +26 -0
  53. package/lib/components/basic_table/panel.styles.js +20 -0
  54. package/lib/components/basic_table/use_panel_props.js +33 -0
  55. package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
  56. package/lib/components/date_picker/date_picker.js +1 -1
  57. package/lib/components/flyout/flyout.component.js +10 -6
  58. package/lib/components/flyout/flyout_menu.js +120 -19
  59. package/lib/components/flyout/flyout_menu.styles.js +2 -1
  60. package/lib/components/flyout/manager/actions.js +21 -1
  61. package/lib/components/flyout/manager/flyout_child.js +23 -1
  62. package/lib/components/flyout/manager/flyout_managed.js +41 -17
  63. package/lib/components/flyout/manager/hooks.js +6 -0
  64. package/lib/components/flyout/manager/index.js +12 -0
  65. package/lib/components/flyout/manager/reducer.js +31 -7
  66. package/lib/components/flyout/manager/selectors.js +9 -3
  67. package/lib/components/flyout/manager/store.js +34 -1
  68. package/lib/components/flyout/use_flyout_menu.js +2 -2
  69. package/lib/components/form/field_password/field_password.styles.js +1 -1
  70. package/lib/components/form/field_search/field_search.styles.js +1 -1
  71. package/lib/components/form/form.styles.js +1 -1
  72. package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
  73. package/lib/components/form/select/select.styles.js +1 -1
  74. package/lib/components/form/text_area/text_area.styles.js +1 -1
  75. package/lib/components/form/validatable_control/validatable_control.js +7 -52
  76. package/lib/components/table/mobile/table_sort_mobile.js +71 -108
  77. package/lib/components/table/store/use_unique_column_id.js +34 -0
  78. package/lib/components/table/table_header_cell.js +7 -8
  79. package/lib/components/table/table_header_cell_checkbox.js +5 -6
  80. package/lib/components/tool_tip/tool_tip.js +59 -29
  81. package/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  82. package/lib/components/tool_tip/tool_tip_manager.js +27 -2
  83. package/optimize/es/components/avatar/avatar.js +4 -0
  84. package/optimize/es/components/avatar/avatar.styles.js +16 -16
  85. package/optimize/es/components/banner/banner.js +1 -2
  86. package/optimize/es/components/banner/banner.styles.js +1 -1
  87. package/optimize/es/components/basic_table/basic_table.js +18 -5
  88. package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
  89. package/optimize/es/components/basic_table/index.js +2 -1
  90. package/optimize/es/components/basic_table/pagination_bar.js +19 -4
  91. package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
  92. package/optimize/es/components/basic_table/panel.styles.js +14 -0
  93. package/optimize/es/components/basic_table/use_panel_props.js +28 -0
  94. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
  95. package/optimize/es/components/date_picker/date_picker.js +1 -1
  96. package/optimize/es/components/flyout/flyout.component.js +10 -6
  97. package/optimize/es/components/flyout/flyout_menu.js +99 -18
  98. package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
  99. package/optimize/es/components/flyout/manager/actions.js +20 -0
  100. package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
  101. package/optimize/es/components/flyout/manager/hooks.js +1 -1
  102. package/optimize/es/components/flyout/manager/index.js +2 -2
  103. package/optimize/es/components/flyout/manager/reducer.js +32 -8
  104. package/optimize/es/components/flyout/manager/selectors.js +8 -2
  105. package/optimize/es/components/flyout/manager/store.js +35 -2
  106. package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
  107. package/optimize/es/components/form/field_password/field_password.styles.js +1 -1
  108. package/optimize/es/components/form/field_search/field_search.styles.js +1 -1
  109. package/optimize/es/components/form/form.styles.js +1 -1
  110. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
  111. package/optimize/es/components/form/select/select.styles.js +1 -1
  112. package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
  113. package/optimize/es/components/form/validatable_control/validatable_control.js +7 -48
  114. package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
  115. package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
  116. package/optimize/es/components/table/table_header_cell.js +7 -8
  117. package/optimize/es/components/table/table_header_cell_checkbox.js +5 -6
  118. package/optimize/es/components/tool_tip/tool_tip.js +58 -30
  119. package/optimize/es/components/tool_tip/tool_tip_anchor.js +5 -5
  120. package/optimize/es/components/tool_tip/tool_tip_manager.js +27 -2
  121. package/optimize/lib/components/avatar/avatar.js +4 -0
  122. package/optimize/lib/components/avatar/avatar.styles.js +16 -16
  123. package/optimize/lib/components/banner/banner.js +1 -2
  124. package/optimize/lib/components/banner/banner.styles.js +1 -1
  125. package/optimize/lib/components/basic_table/basic_table.js +17 -4
  126. package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
  127. package/optimize/lib/components/basic_table/index.js +8 -1
  128. package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
  129. package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
  130. package/optimize/lib/components/basic_table/panel.styles.js +20 -0
  131. package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
  132. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
  133. package/optimize/lib/components/date_picker/date_picker.js +1 -1
  134. package/optimize/lib/components/flyout/flyout.component.js +10 -6
  135. package/optimize/lib/components/flyout/flyout_menu.js +98 -18
  136. package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
  137. package/optimize/lib/components/flyout/manager/actions.js +21 -1
  138. package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
  139. package/optimize/lib/components/flyout/manager/hooks.js +6 -0
  140. package/optimize/lib/components/flyout/manager/index.js +12 -0
  141. package/optimize/lib/components/flyout/manager/reducer.js +31 -7
  142. package/optimize/lib/components/flyout/manager/selectors.js +9 -3
  143. package/optimize/lib/components/flyout/manager/store.js +34 -1
  144. package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
  145. package/optimize/lib/components/form/field_password/field_password.styles.js +1 -1
  146. package/optimize/lib/components/form/field_search/field_search.styles.js +1 -1
  147. package/optimize/lib/components/form/form.styles.js +1 -1
  148. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
  149. package/optimize/lib/components/form/select/select.styles.js +1 -1
  150. package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
  151. package/optimize/lib/components/form/validatable_control/validatable_control.js +6 -49
  152. package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
  153. package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
  154. package/optimize/lib/components/table/table_header_cell.js +7 -8
  155. package/optimize/lib/components/table/table_header_cell_checkbox.js +5 -6
  156. package/optimize/lib/components/tool_tip/tool_tip.js +57 -29
  157. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  158. package/optimize/lib/components/tool_tip/tool_tip_manager.js +27 -2
  159. package/package.json +8 -5
  160. package/test-env/components/avatar/avatar.js +4 -0
  161. package/test-env/components/avatar/avatar.styles.js +16 -16
  162. package/test-env/components/banner/banner.js +1 -2
  163. package/test-env/components/banner/banner.styles.js +1 -1
  164. package/test-env/components/basic_table/basic_table.js +34 -4
  165. package/test-env/components/basic_table/basic_table.styles.js +19 -1
  166. package/test-env/components/basic_table/in_memory_table.js +17 -0
  167. package/test-env/components/basic_table/index.js +8 -1
  168. package/test-env/components/basic_table/pagination_bar.js +19 -4
  169. package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
  170. package/test-env/components/basic_table/panel.styles.js +20 -0
  171. package/test-env/components/basic_table/use_panel_props.js +33 -0
  172. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
  173. package/test-env/components/date_picker/date_picker.js +1 -1
  174. package/test-env/components/flyout/flyout.component.js +10 -6
  175. package/test-env/components/flyout/flyout_menu.js +121 -19
  176. package/test-env/components/flyout/flyout_menu.styles.js +2 -1
  177. package/test-env/components/flyout/manager/actions.js +21 -1
  178. package/test-env/components/flyout/manager/flyout_child.js +23 -1
  179. package/test-env/components/flyout/manager/flyout_managed.js +41 -17
  180. package/test-env/components/flyout/manager/hooks.js +6 -0
  181. package/test-env/components/flyout/manager/index.js +12 -0
  182. package/test-env/components/flyout/manager/reducer.js +31 -7
  183. package/test-env/components/flyout/manager/selectors.js +9 -3
  184. package/test-env/components/flyout/manager/store.js +34 -1
  185. package/test-env/components/flyout/use_flyout_menu.js +2 -2
  186. package/test-env/components/form/field_password/field_password.styles.js +1 -1
  187. package/test-env/components/form/field_search/field_search.styles.js +1 -1
  188. package/test-env/components/form/form.styles.js +1 -1
  189. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
  190. package/test-env/components/form/select/select.styles.js +1 -1
  191. package/test-env/components/form/text_area/text_area.styles.js +1 -1
  192. package/test-env/components/form/validatable_control/validatable_control.js +6 -48
  193. package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
  194. package/test-env/components/table/store/use_unique_column_id.js +34 -0
  195. package/test-env/components/table/table_header_cell.js +7 -8
  196. package/test-env/components/table/table_header_cell_checkbox.js +5 -6
  197. package/test-env/components/tool_tip/tool_tip.js +57 -29
  198. package/test-env/components/tool_tip/tool_tip_anchor.js +5 -5
  199. package/test-env/components/tool_tip/tool_tip_manager.js +27 -2
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.EuiTableSortMobile = void 0;
7
8
  var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _button_empty = require("../../button/button_empty");
11
11
  var _popover = require("../../popover");
@@ -14,117 +14,80 @@ var _i18n = require("../../i18n");
14
14
  var _table_sort_mobile_item = require("./table_sort_mobile_item");
15
15
  var _react2 = require("@emotion/react");
16
16
  var _excluded = ["className", "anchorPosition", "items"];
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
21
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
22
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
23
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
24
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
25
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
26
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
27
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
28
- function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
29
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
30
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
32
- function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
33
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
34
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
35
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
36
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
17
+ /*
37
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
38
19
  * or more contributor license agreements. Licensed under the Elastic License
39
20
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
40
21
  * in compliance with, at your election, the Elastic License 2.0 or the Server
41
22
  * Side Public License, v 1.
42
23
  */
43
- var EuiTableSortMobile = exports.EuiTableSortMobile = /*#__PURE__*/function (_Component) {
44
- function EuiTableSortMobile() {
45
- var _this;
46
- _classCallCheck(this, EuiTableSortMobile);
47
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
48
- args[_key] = arguments[_key];
49
- }
50
- _this = _callSuper(this, EuiTableSortMobile, [].concat(args));
51
- _defineProperty(_this, "state", {
52
- isPopoverOpen: false
53
- });
54
- _defineProperty(_this, "onButtonClick", function () {
55
- _this.setState({
56
- isPopoverOpen: !_this.state.isPopoverOpen
57
- });
58
- });
59
- _defineProperty(_this, "closePopover", function () {
60
- _this.setState({
61
- isPopoverOpen: false
62
- });
63
- });
64
- // Aligns the button to the right even when it's the only element present
65
- _defineProperty(_this, "euiTableSortMobileStyles", {
66
- marginInlineStart: 'auto',
67
- label: 'euiTableSortMobile'
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
28
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
29
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
30
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
31
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
32
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
33
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
34
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
35
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
36
+ // Aligns the button to the right even when it's the only element present
37
+ var euiTableSortMobileStyles = {
38
+ marginInlineStart: 'auto',
39
+ label: 'euiTableSortMobile'
40
+ };
41
+ var EuiTableSortMobile = exports.EuiTableSortMobile = function EuiTableSortMobile(_ref) {
42
+ var className = _ref.className,
43
+ anchorPosition = _ref.anchorPosition,
44
+ items = _ref.items,
45
+ rest = _objectWithoutProperties(_ref, _excluded);
46
+ var _useState = (0, _react.useState)(false),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ isPopoverOpen = _useState2[0],
49
+ setIsPopoverOpen = _useState2[1];
50
+ var classes = (0, _classnames.default)('euiTableSortMobile', className);
51
+ var onButtonClick = function onButtonClick() {
52
+ setIsPopoverOpen(function (isOpen) {
53
+ return !isOpen;
68
54
  });
69
- return _this;
70
- }
71
- _inherits(EuiTableSortMobile, _Component);
72
- return _createClass(EuiTableSortMobile, [{
73
- key: "render",
74
- value: function render() {
75
- var _this$props = this.props,
76
- className = _this$props.className,
77
- anchorPosition = _this$props.anchorPosition,
78
- items = _this$props.items,
79
- rest = _objectWithoutProperties(_this$props, _excluded);
80
- var classes = (0, _classnames.default)('euiTableSortMobile', className);
81
- var mobileSortButton = (0, _react2.jsx)(_button_empty.EuiButtonEmpty, {
82
- iconType: "chevronSingleDown",
83
- iconSide: "right",
84
- onClick: this.onButtonClick.bind(this),
85
- flush: "right",
86
- size: "xs"
87
- }, (0, _react2.jsx)(_i18n.EuiI18n, {
88
- token: "euiTableSortMobile.sorting",
89
- default: "Sorting"
90
- }));
91
- var mobileSortPopover = (0, _react2.jsx)(_popover.EuiPopover, _extends({
92
- button: mobileSortButton,
93
- isOpen: this.state.isPopoverOpen,
94
- closePopover: this.closePopover,
95
- anchorPosition: anchorPosition || 'downRight',
96
- panelPaddingSize: "none"
97
- }, rest), (0, _react2.jsx)(_context_menu.EuiContextMenuPanel, {
98
- style: {
99
- minWidth: 200
100
- },
101
- items: items && items.length ? items.map(function (item) {
102
- return (0, _react2.jsx)(_table_sort_mobile_item.EuiTableSortMobileItem, {
103
- key: item.key,
104
- onSort: item.onSort,
105
- isSorted: item.isSorted,
106
- isSortAscending: item.isSortAscending
107
- }, item.name);
108
- }) : undefined
109
- }));
110
- return (0, _react2.jsx)("div", {
111
- className: classes,
112
- css: this.euiTableSortMobileStyles
113
- }, mobileSortPopover);
114
- }
115
- }]);
116
- }(_react.Component);
117
- EuiTableSortMobile.propTypes = {
118
- anchorPosition: _propTypes.default.any,
119
- items: _propTypes.default.arrayOf(_propTypes.default.shape({
120
- name: _propTypes.default.node.isRequired,
121
- key: _propTypes.default.any,
122
- onSort: _propTypes.default.func,
123
- isSorted: _propTypes.default.bool,
124
- isSortAscending: _propTypes.default.bool
125
- }).isRequired),
126
- className: _propTypes.default.string,
127
- "aria-label": _propTypes.default.string,
128
- "data-test-subj": _propTypes.default.string,
129
- css: _propTypes.default.any
130
- };
55
+ };
56
+ var closePopover = function closePopover() {
57
+ setIsPopoverOpen(false);
58
+ };
59
+ var mobileSortButton = (0, _react2.jsx)(_button_empty.EuiButtonEmpty, {
60
+ iconType: "chevronSingleDown",
61
+ iconSide: "right",
62
+ onClick: onButtonClick,
63
+ flush: "right",
64
+ size: "xs"
65
+ }, (0, _react2.jsx)(_i18n.EuiI18n, {
66
+ token: "euiTableSortMobile.sorting",
67
+ default: "Sorting"
68
+ }));
69
+ var mobileSortPopover = (0, _react2.jsx)(_popover.EuiPopover, _extends({
70
+ button: mobileSortButton,
71
+ isOpen: isPopoverOpen,
72
+ closePopover: closePopover,
73
+ anchorPosition: anchorPosition || 'downRight',
74
+ panelPaddingSize: "none"
75
+ }, rest), (0, _react2.jsx)(_context_menu.EuiContextMenuPanel, {
76
+ style: {
77
+ minWidth: 200
78
+ },
79
+ items: items !== null && items !== void 0 && items.length ? items.map(function (item) {
80
+ return (0, _react2.jsx)(_table_sort_mobile_item.EuiTableSortMobileItem, {
81
+ key: item.key,
82
+ onSort: item.onSort,
83
+ isSorted: item.isSorted,
84
+ isSortAscending: item.isSortAscending
85
+ }, item.name);
86
+ }) : undefined
87
+ }));
88
+ return (0, _react2.jsx)("div", {
89
+ className: classes,
90
+ css: euiTableSortMobileStyles
91
+ }, mobileSortPopover);
92
+ };
93
+ EuiTableSortMobile.displayName = 'EuiTableSortMobile';
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useEuiTableStoreUniqueColumnId = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _uuid = require("uuid");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+
20
+ var useEuiTableStoreUniqueColumnIdFallback = function useEuiTableStoreUniqueColumnIdFallback() {
21
+ var ref = (0, _react.useRef)((0, _uuid.v4)());
22
+ return ref.current;
23
+ };
24
+
25
+ /**
26
+ * Returns a stable unique column ID to be used when registering columns.
27
+ * It uses `React.useId()` when available and falls back to UUID v4 on React 17.
28
+ *
29
+ * This is needed so that static `uuid` mocks don't break column registration
30
+ * (at least in React 18+; in older versions this function would need
31
+ * to be mocked to return something unique, but stable).
32
+ * @internal
33
+ */
34
+ var useEuiTableStoreUniqueColumnId = exports.useEuiTableStoreUniqueColumnId = 'useId' in _react.default ? _react.useId : useEuiTableStoreUniqueColumnIdFallback;
@@ -9,7 +9,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _services = require("../../services");
12
- var _html_id_generator = require("../../services/accessibility/html_id_generator");
13
12
  var _i18n = require("../i18n");
14
13
  var _accessibility = require("../accessibility");
15
14
  var _icon = require("../icon");
@@ -21,6 +20,7 @@ var _table_cell_content = require("./_table_cell_content");
21
20
  var _table_cells_shared = require("./table_cells_shared.styles");
22
21
  var _provider = require("./store/provider");
23
22
  var _sticky_header = require("./sticky_header");
23
+ var _use_unique_column_id = require("./store/use_unique_column_id");
24
24
  var _react2 = require("@emotion/react");
25
25
  var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "minWidth", "maxWidth", "style", "readOnly", "tooltipProps", "description", "append", "sticky"];
26
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -116,7 +116,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
116
116
  sticky = _ref2.sticky,
117
117
  rest = _objectWithoutProperties(_ref2, _excluded);
118
118
  var selfRef = (0, _react.useRef)(null);
119
- var internalCellId = (0, _html_id_generator.useGeneratedHtmlId)();
119
+ var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
120
120
  var store = (0, _provider.useEuiTableColumnDataStore)();
121
121
  var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
122
122
  var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
@@ -181,15 +181,15 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
181
181
  if (!entry) {
182
182
  return;
183
183
  }
184
- store.updateColumnWidth(internalCellId, entry.contentRect.width);
185
- }, [store, internalCellId]);
184
+ store.updateColumnWidth(storeCellId, entry.contentRect.width);
185
+ }, [store, storeCellId]);
186
186
  (0, _react.useEffect)(function () {
187
187
  // Don't register the column inside the sticky header as the original
188
188
  // column is already registered. This would cause an infinite loop.
189
189
  if (isWithinStickyHeader || !selfRef.current || !renderHeaderCellRef.current) {
190
190
  return;
191
191
  }
192
- var unregisterColumn = store.registerColumn(internalCellId, {
192
+ var unregisterColumn = store.registerColumn(storeCellId, {
193
193
  renderHeaderCellRef: renderHeaderCellRef,
194
194
  // getBoundingClientRect is not the cheapest, but we call it only once
195
195
  currentWidth: selfRef.current.getBoundingClientRect().width
@@ -211,8 +211,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
211
211
  unregisterColumn();
212
212
  (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
213
213
  };
214
- // eslint-disable-next-line react-hooks/exhaustive-deps
215
- }, [store, internalCellId, isWithinStickyHeader]);
214
+ }, [store, isWithinStickyHeader, handleResize, storeCellId]);
216
215
 
217
216
  // Notify the store on every render so the sticky header stays in sync.
218
217
  // React's reconciliation will efficiently handle any duplicate renders.
@@ -227,7 +226,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
227
226
  if (!selfRef.current) {
228
227
  return;
229
228
  }
230
- store.updateColumn(internalCellId, {
229
+ store.updateColumn(storeCellId, {
231
230
  renderHeaderCellRef: renderHeaderCellRef
232
231
  });
233
232
  });
@@ -9,11 +9,11 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _services = require("../../services");
12
- var _html_id_generator = require("../../services/accessibility/html_id_generator");
13
12
  var _utils = require("./utils");
14
13
  var _table_cells_shared = require("./table_cells_shared.styles");
15
14
  var _provider = require("./store/provider");
16
15
  var _sticky_header = require("./sticky_header");
16
+ var _use_unique_column_id = require("./store/use_unique_column_id");
17
17
  var _react2 = require("@emotion/react");
18
18
  var _excluded = ["children", "className", "scope", "style", "width", "minWidth", "maxWidth", "append"];
19
19
  /*
@@ -40,7 +40,7 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
40
40
  maxWidth = props.maxWidth,
41
41
  append = props.append,
42
42
  rest = _objectWithoutProperties(props, _excluded);
43
- var internalCellId = (0, _html_id_generator.useGeneratedHtmlId)();
43
+ var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
44
44
  var store = (0, _provider.useEuiTableColumnDataStore)();
45
45
  var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
46
46
  var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
@@ -67,21 +67,20 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
67
67
  if (isWithinStickyHeader) {
68
68
  return;
69
69
  }
70
- var unregisterColumn = store.registerColumn(internalCellId, {
70
+ var unregisterColumn = store.registerColumn(storeCellId, {
71
71
  renderHeaderCellRef: renderHeaderCellRef
72
72
  });
73
73
  return function () {
74
74
  unregisterColumn();
75
75
  };
76
- // eslint-disable-next-line react-hooks/exhaustive-deps
77
- }, [store, internalCellId, isWithinStickyHeader]);
76
+ }, [store, isWithinStickyHeader, storeCellId]);
78
77
  (0, _react.useEffect)(function () {
79
78
  // Notify the store on every render so the sticky header stays in sync.
80
79
  // React's reconciliation will efficiently handle any duplicate renders.
81
80
  if (isWithinStickyHeader) {
82
81
  return;
83
82
  }
84
- store.updateColumn(internalCellId, {
83
+ store.updateColumn(storeCellId, {
85
84
  renderHeaderCellRef: renderHeaderCellRef
86
85
  });
87
86
  });
@@ -29,6 +29,11 @@ var _excluded = ["children", "className", "anchorClassName", "anchorProps", "con
29
29
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
35
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
36
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
37
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
33
38
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
34
39
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -91,22 +96,26 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
91
96
  setVisible = _useState2[1];
92
97
  var _useState3 = (0, _react.useState)(false),
93
98
  _useState4 = _slicedToArray(_useState3, 2),
94
- hasFocus = _useState4[0],
95
- setHasFocus = _useState4[1];
96
- var _useState5 = (0, _react.useState)(positionProp),
99
+ skipAnimation = _useState4[0],
100
+ setSkipAnimation = _useState4[1];
101
+ var _useState5 = (0, _react.useState)(false),
97
102
  _useState6 = _slicedToArray(_useState5, 2),
98
- calculatedPosition = _useState6[0],
99
- setCalculatedPosition = _useState6[1];
100
- var _useState7 = (0, _react.useState)(DEFAULT_TOOLTIP_STYLES),
103
+ hasFocus = _useState6[0],
104
+ setHasFocus = _useState6[1];
105
+ var _useState7 = (0, _react.useState)(positionProp),
101
106
  _useState8 = _slicedToArray(_useState7, 2),
102
- toolTipStyles = _useState8[0],
103
- setToolTipStyles = _useState8[1];
104
- var _useState9 = (0, _react.useState)(undefined),
107
+ calculatedPosition = _useState8[0],
108
+ setCalculatedPosition = _useState8[1];
109
+ var _useState9 = (0, _react.useState)(DEFAULT_TOOLTIP_STYLES),
105
110
  _useState10 = _slicedToArray(_useState9, 2),
106
- arrowStyles = _useState10[0],
107
- setArrowStyles = _useState10[1];
108
- var generatedId = (0, _react.useRef)((0, _services.htmlIdGenerator)()());
109
- var id = idProp !== null && idProp !== void 0 ? idProp : generatedId.current;
111
+ toolTipStyles = _useState10[0],
112
+ setToolTipStyles = _useState10[1];
113
+ var _useState11 = (0, _react.useState)(undefined),
114
+ _useState12 = _slicedToArray(_useState11, 2),
115
+ arrowStyles = _useState12[0],
116
+ setArrowStyles = _useState12[1];
117
+ var generatedId = (0, _services.useGeneratedHtmlId)();
118
+ var id = idProp !== null && idProp !== void 0 ? idProp : generatedId;
110
119
  var anchorRef = (0, _react.useRef)(null);
111
120
  var popoverRef = (0, _react.useRef)(null);
112
121
  var positionToolTip = (0, _react.useCallback)(function () {
@@ -158,10 +167,19 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
158
167
  setArrowStyles(undefined);
159
168
  _tool_tip_manager.toolTipManager.deregisterToolTip(hideToolTip);
160
169
  }, []);
170
+
171
+ /**
172
+ * Show the tooltip.
173
+ *
174
+ * Uses the tooltip manager's `skipAnimation` signal to optionally skip the entry
175
+ * animation when another tooltip is already open or was just closed.
176
+ */
161
177
  var showToolTip = (0, _react.useCallback)(function () {
162
178
  if (!content && !title) return;
179
+ var result = _tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
180
+ if (!result) return;
181
+ setSkipAnimation(result.skipAnimation);
163
182
  setVisible(true);
164
- _tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
165
183
  }, [content, title, hideToolTip]);
166
184
  (0, _react.useImperativeHandle)(ref, function () {
167
185
  return {
@@ -241,18 +259,24 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
241
259
  hideToolTip();
242
260
  }
243
261
  }, [disableScreenReaderOutput, visible, hideToolTip]);
244
- var onMouseOut = (0, _react.useCallback)(function (event) {
245
- // Prevent mousing over children from hiding the tooltip by testing for whether the mouse has
246
- // left the anchor for a non-child.
247
- if (anchorRef.current === event.relatedTarget || anchorRef.current != null && !anchorRef.current.contains(event.relatedTarget)) {
248
- if (!hasFocus) {
249
- hideToolTip();
250
- }
251
- }
252
- if (onMouseOutProp) {
253
- onMouseOutProp(event);
254
- }
255
- }, [hasFocus, hideToolTip, onMouseOutProp]);
262
+
263
+ /**
264
+ * Show the tooltip on enter.
265
+ */
266
+ var onMouseEnter = (0, _react.useCallback)(function (event) {
267
+ var _anchorProps$onMouseE;
268
+ showToolTip();
269
+ anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseE = anchorProps.onMouseEnter) === null || _anchorProps$onMouseE === void 0 || _anchorProps$onMouseE.call(anchorProps, event);
270
+ }, [showToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseEnter]);
271
+
272
+ /**
273
+ * Hide the tooltip if the mouse is not over the trigger.
274
+ */
275
+ var onMouseLeave = (0, _react.useCallback)(function (event) {
276
+ var _anchorProps$onMouseL;
277
+ if (!hasFocus) hideToolTip();
278
+ anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseL = anchorProps.onMouseLeave) === null || _anchorProps$onMouseL === void 0 || _anchorProps$onMouseL.call(anchorProps, event);
279
+ }, [hasFocus, hideToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseLeave]);
256
280
  var classes = (0, _classnames.default)('euiToolTip', className);
257
281
  var anchorClasses = (0, _classnames.default)(anchorClassName, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
258
282
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip_anchor.EuiToolTipAnchor, _extends({}, anchorProps, {
@@ -260,8 +284,9 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
260
284
  onBlur: onBlur,
261
285
  onFocus: onFocus,
262
286
  onKeyDown: onEscapeKey,
263
- onMouseOver: showToolTip,
264
- onMouseOut: onMouseOut
287
+ onMouseEnter: onMouseEnter,
288
+ onMouseLeave: onMouseLeave,
289
+ onMouseOut: onMouseOutProp
265
290
  // `id` defines if the trigger and tooltip are automatically linked via `aria-describedby`.
266
291
  ,
267
292
  id: !disableScreenReaderOutput ? id : undefined,
@@ -270,7 +295,12 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
270
295
  isVisible: visible
271
296
  }), children), visible && (content || title) && (0, _react2.jsx)(_portal.EuiPortal, null, (0, _react2.jsx)(_tool_tip_popover.EuiToolTipPopover, _extends({
272
297
  className: classes,
273
- style: toolTipStyles,
298
+ style: _objectSpread(_objectSpread({}, toolTipStyles), {}, {
299
+ // Inline `animation: none` overrides the keyframes fade-in
300
+ // shorthand on the base `.euiToolTip` class, so a tooltip
301
+ // shown right after another closes appears instantly.
302
+ animation: skipAnimation ? 'none' : undefined
303
+ }),
274
304
  positionToolTip: positionToolTip,
275
305
  popoverRef: setPopoverRef,
276
306
  title: title,
@@ -11,7 +11,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _services = require("../../services");
12
12
  var _tool_tip = require("./tool_tip.styles");
13
13
  var _react2 = require("@emotion/react");
14
- var _excluded = ["onBlur", "onFocus", "onMouseOver", "onMouseOut", "id", "className", "children", "display", "isVisible"];
14
+ var _excluded = ["onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "id", "className", "children", "display", "isVisible"];
15
15
  /*
16
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
17
  * or more contributor license agreements. Licensed under the Elastic License
@@ -28,8 +28,8 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
28
28
  var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
29
29
  var _onBlur = _ref.onBlur,
30
30
  _onFocus = _ref.onFocus,
31
- onMouseOver = _ref.onMouseOver,
32
- onMouseOut = _ref.onMouseOut,
31
+ onMouseEnter = _ref.onMouseEnter,
32
+ onMouseLeave = _ref.onMouseLeave,
33
33
  id = _ref.id,
34
34
  className = _ref.className,
35
35
  children = _ref.children,
@@ -53,8 +53,8 @@ var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwar
53
53
  id: anchorId
54
54
  }, rest, {
55
55
  className: classes,
56
- onMouseOver: onMouseOver,
57
- onMouseOut: onMouseOut
56
+ onMouseEnter: onMouseEnter,
57
+ onMouseLeave: onMouseLeave
58
58
  }), /*#__PURE__*/(0, _react.cloneElement)(children, {
59
59
  onFocus: function onFocus(e) {
60
60
  _onFocus(e);
@@ -18,29 +18,54 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
18
18
  * in compliance with, at your election, the Elastic License 2.0 or the Server
19
19
  * Side Public License, v 1.
20
20
  */
21
+
21
22
  /**
22
23
  * Manager utility that ensures only one tooltip is visible at a time
24
+ * and lets the next tooltip to open skip its entry animation if another was
25
+ * just opened or just closed.
23
26
  *
24
27
  * UX rationale (primarily for mouse-only users):
25
28
  * @see https://github.com/elastic/kibana/issues/144482
26
29
  * @see https://github.com/elastic/eui/issues/5883
27
30
  */
31
+
32
+ /**
33
+ * Time window in ms after a tooltip closes during which the next one to open
34
+ * skips its entry animation.
35
+ */
36
+ var SKIP_ANIMATION_WINDOW = 300;
28
37
  var ToolTipManager = /*#__PURE__*/_createClass(function ToolTipManager() {
29
38
  var _this = this;
30
39
  _classCallCheck(this, ToolTipManager);
31
40
  // We use a set instead of a single var just in case
32
41
  // multiple tooltips are registered via async shenanigans
33
42
  _defineProperty(this, "toolTipsToHide", new Set());
43
+ // Timestamp of the last hide; `null` means no tooltip has closed yet.
44
+ _defineProperty(this, "lastHiddenAt", null);
34
45
  _defineProperty(this, "registerTooltip", function (hideCallback) {
35
- if (_this.toolTipsToHide.has(hideCallback)) return;
46
+ if (_this.toolTipsToHide.has(hideCallback)) return null;
47
+ var hadOpen = _this.toolTipsToHide.size > 0;
48
+ var recentlyClosed = _this.lastHiddenAt !== null && Date.now() - _this.lastHiddenAt < SKIP_ANIMATION_WINDOW;
36
49
  _this.toolTipsToHide.forEach(function (hide) {
37
50
  return hide();
38
51
  });
39
52
  _this.toolTipsToHide.clear();
40
53
  _this.toolTipsToHide.add(hideCallback);
54
+ return {
55
+ skipAnimation: hadOpen || recentlyClosed
56
+ };
41
57
  });
42
58
  _defineProperty(this, "deregisterToolTip", function (hideCallback) {
43
- _this.toolTipsToHide.delete(hideCallback);
59
+ if (_this.toolTipsToHide.delete(hideCallback)) _this.lastHiddenAt = Date.now();
60
+ });
61
+ /**
62
+ * Resets all internal state. Primarily intended for tests, so that a
63
+ * tooltip shown in one test doesn't leak into the next (the manager is a
64
+ * module-level singleton).
65
+ */
66
+ _defineProperty(this, "reset", function () {
67
+ _this.toolTipsToHide.clear();
68
+ _this.lastHiddenAt = null;
44
69
  });
45
70
  });
46
71
  var toolTipManager = exports.toolTipManager = new ToolTipManager();
@@ -65,6 +65,7 @@ export var EuiAvatar = function EuiAvatar(_ref) {
65
65
  var classes = classNames('euiAvatar', _defineProperty(_defineProperty(_defineProperty({}, "euiAvatar--".concat(size), size), "euiAvatar--".concat(type), type), 'euiAvatar-isDisabled', isDisabled), className);
66
66
  var styles = useEuiMemoizedStyles(euiAvatarStyles);
67
67
  var cssStyles = [styles.euiAvatar, styles[type], styles[size], styles[casing], isPlain && styles.plain, isSubdued && styles.subdued, isDisabled && styles.isDisabled];
68
+ var tooltipCssStyles = [styles.tooltip[type]];
68
69
  var avatarStyle = useMemo(function () {
69
70
  if (imageUrl) {
70
71
  return {
@@ -119,6 +120,9 @@ export var EuiAvatar = function EuiAvatar(_ref) {
119
120
  // It already has `aria-label`, the tooltip is only visual.
120
121
  return name ? ___EmotionJSX(EuiToolTip, {
121
122
  content: name,
123
+ anchorProps: {
124
+ css: tooltipCssStyles
125
+ },
122
126
  disableScreenReaderOutput: true
123
127
  }, avatarNode) : avatarNode;
124
128
  };