@elastic/eui 114.2.0 → 115.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/es/components/basic_table/basic_table.js +3 -6
  2. package/es/components/basic_table/collapsed_item_actions.js +1 -3
  3. package/es/components/basic_table/default_item_action.js +0 -1
  4. package/es/components/basic_table/in_memory_table.js +3 -6
  5. package/es/components/color_picker/color_picker_swatch.js +1 -2
  6. package/es/components/datagrid/controls/display_selector.js +1 -2
  7. package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  8. package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  9. package/es/components/datagrid/utils/scrolling.js +7 -1
  10. package/es/components/filter_group/filter_select_item.js +36 -17
  11. package/es/components/flyout/flyout.component.js +8 -7
  12. package/es/components/flyout/hooks.js +11 -3
  13. package/es/components/flyout/manager/flyout_main.js +4 -2
  14. package/es/components/icon/assets/chart_pie.js +1 -2
  15. package/es/components/icon/assets/product_dashboard.js +5 -3
  16. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  17. package/es/components/list_group/list_group_item.js +1 -2
  18. package/es/components/markdown_editor/markdown_editor.js +1 -1
  19. package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  20. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  21. package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  22. package/es/components/portal/portal.js +72 -117
  23. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
  24. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  25. package/es/components/steps/step_horizontal.js +8 -5
  26. package/es/components/table/table_header_cell.js +1 -2
  27. package/es/components/tool_tip/icon_tip.js +4 -8
  28. package/es/components/tool_tip/tool_tip.js +233 -261
  29. package/es/components/tool_tip/tool_tip.styles.js +10 -18
  30. package/es/components/tool_tip/tool_tip_anchor.js +3 -3
  31. package/es/components/tool_tip/tool_tip_manager.js +1 -0
  32. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  33. package/es/test/rtl/component_helpers.d.ts +0 -3
  34. package/es/test/rtl/component_helpers.js +40 -62
  35. package/eui.d.ts +29 -98
  36. package/lib/components/basic_table/basic_table.js +3 -6
  37. package/lib/components/basic_table/collapsed_item_actions.js +1 -3
  38. package/lib/components/basic_table/default_item_action.js +0 -1
  39. package/lib/components/basic_table/in_memory_table.js +3 -6
  40. package/lib/components/color_picker/color_picker_swatch.js +1 -2
  41. package/lib/components/datagrid/controls/display_selector.js +1 -2
  42. package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  43. package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  44. package/lib/components/datagrid/utils/scrolling.js +7 -1
  45. package/lib/components/filter_group/filter_select_item.js +35 -16
  46. package/lib/components/flyout/flyout.component.js +8 -7
  47. package/lib/components/flyout/hooks.js +10 -2
  48. package/lib/components/flyout/manager/flyout_main.js +3 -1
  49. package/lib/components/icon/assets/chart_pie.js +1 -2
  50. package/lib/components/icon/assets/product_dashboard.js +5 -3
  51. package/lib/components/icon/svgs/chart_pie.svg +1 -1
  52. package/lib/components/icon/svgs/product_dashboard.svg +4 -5
  53. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  54. package/lib/components/list_group/list_group_item.js +1 -2
  55. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  56. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  57. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  58. package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
  59. package/lib/components/portal/portal.js +73 -118
  60. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
  61. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  62. package/lib/components/steps/step_horizontal.js +8 -5
  63. package/lib/components/table/table_header_cell.js +1 -2
  64. package/lib/components/tool_tip/icon_tip.js +4 -8
  65. package/lib/components/tool_tip/tool_tip.js +240 -266
  66. package/lib/components/tool_tip/tool_tip.styles.js +8 -16
  67. package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  68. package/lib/components/tool_tip/tool_tip_manager.js +1 -0
  69. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  70. package/lib/test/rtl/component_helpers.d.ts +0 -3
  71. package/lib/test/rtl/component_helpers.js +41 -63
  72. package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
  73. package/optimize/es/components/basic_table/default_item_action.js +0 -1
  74. package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
  75. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  76. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  77. package/optimize/es/components/datagrid/utils/scrolling.js +7 -1
  78. package/optimize/es/components/filter_group/filter_select_item.js +36 -17
  79. package/optimize/es/components/flyout/flyout.component.js +8 -7
  80. package/optimize/es/components/flyout/hooks.js +11 -3
  81. package/optimize/es/components/flyout/manager/flyout_main.js +4 -2
  82. package/optimize/es/components/icon/assets/chart_pie.js +1 -2
  83. package/optimize/es/components/icon/assets/product_dashboard.js +5 -3
  84. package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  85. package/optimize/es/components/list_group/list_group_item.js +1 -2
  86. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  87. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  88. package/optimize/es/components/portal/portal.js +65 -91
  89. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
  90. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  91. package/optimize/es/components/steps/step_horizontal.js +8 -5
  92. package/optimize/es/components/tool_tip/icon_tip.js +3 -5
  93. package/optimize/es/components/tool_tip/tool_tip.js +227 -250
  94. package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
  95. package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
  96. package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
  97. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  98. package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
  99. package/optimize/es/test/rtl/component_helpers.js +40 -62
  100. package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
  101. package/optimize/lib/components/basic_table/default_item_action.js +0 -1
  102. package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
  103. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  104. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  105. package/optimize/lib/components/datagrid/utils/scrolling.js +7 -1
  106. package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
  107. package/optimize/lib/components/flyout/flyout.component.js +8 -7
  108. package/optimize/lib/components/flyout/hooks.js +10 -2
  109. package/optimize/lib/components/flyout/manager/flyout_main.js +3 -1
  110. package/optimize/lib/components/icon/assets/chart_pie.js +1 -2
  111. package/optimize/lib/components/icon/assets/product_dashboard.js +5 -3
  112. package/optimize/lib/components/icon/svgs/chart_pie.svg +1 -1
  113. package/optimize/lib/components/icon/svgs/product_dashboard.svg +4 -5
  114. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  115. package/optimize/lib/components/list_group/list_group_item.js +1 -2
  116. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  117. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  118. package/optimize/lib/components/portal/portal.js +68 -93
  119. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
  120. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  121. package/optimize/lib/components/steps/step_horizontal.js +8 -5
  122. package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
  123. package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
  124. package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
  125. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  126. package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
  127. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  128. package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
  129. package/optimize/lib/test/rtl/component_helpers.js +41 -63
  130. package/package.json +2 -10
  131. package/test-env/components/basic_table/basic_table.js +3 -6
  132. package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
  133. package/test-env/components/basic_table/default_item_action.js +0 -1
  134. package/test-env/components/basic_table/in_memory_table.js +3 -6
  135. package/test-env/components/color_picker/color_picker_swatch.js +1 -2
  136. package/test-env/components/datagrid/controls/display_selector.js +1 -2
  137. package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
  138. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  139. package/test-env/components/datagrid/utils/scrolling.js +7 -1
  140. package/test-env/components/filter_group/filter_select_item.js +35 -16
  141. package/test-env/components/flyout/flyout.component.js +8 -7
  142. package/test-env/components/flyout/hooks.js +10 -2
  143. package/test-env/components/flyout/manager/flyout_main.js +3 -1
  144. package/test-env/components/icon/assets/chart_pie.js +1 -2
  145. package/test-env/components/icon/assets/product_dashboard.js +5 -3
  146. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
  147. package/test-env/components/list_group/list_group_item.js +1 -2
  148. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  149. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  150. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  151. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  152. package/test-env/components/portal/portal.js +70 -113
  153. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
  154. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  155. package/test-env/components/steps/step_horizontal.js +8 -5
  156. package/test-env/components/table/table_header_cell.js +1 -2
  157. package/test-env/components/tool_tip/icon_tip.js +4 -8
  158. package/test-env/components/tool_tip/tool_tip.js +230 -256
  159. package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
  160. package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
  161. package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
  162. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  163. package/test-env/test/rtl/component_helpers.js +41 -63
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
13
13
  import React, { useEffect, useRef, useCallback } from 'react';
14
14
  import PropTypes from "prop-types";
15
15
  import classNames from 'classnames';
16
- import { useEuiTheme } from '../../services';
16
+ import { useEuiMemoizedStyles } from '../../services';
17
17
  import { euiToolTipStyles } from './tool_tip.styles';
18
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
19
19
  export var EuiToolTipPopover = function EuiToolTipPopover(_ref) {
@@ -24,23 +24,23 @@ export var EuiToolTipPopover = function EuiToolTipPopover(_ref) {
24
24
  popoverRef = _ref.popoverRef,
25
25
  calculatedPosition = _ref.calculatedPosition,
26
26
  rest = _objectWithoutProperties(_ref, _excluded);
27
- var popover = useRef();
28
- var euiTheme = useEuiTheme();
29
- var styles = euiToolTipStyles(euiTheme);
27
+ var popover = useRef(null);
28
+ var styles = useEuiMemoizedStyles(euiToolTipStyles);
30
29
  var cssStyles = [styles.euiToolTip, calculatedPosition && styles[calculatedPosition]];
31
30
  var updateDimensions = useCallback(function () {
32
31
  requestAnimationFrame(function () {
33
- // Because of this delay, sometimes `positionToolTip` becomes unavailable.
32
+ // Because of this delay, the popover may have unmounted by the time the RAF fires.
34
33
  if (popover.current) {
35
34
  positionToolTip();
36
35
  }
37
36
  });
38
37
  }, [positionToolTip]);
39
- var setPopoverRef = function setPopoverRef(ref) {
38
+ var setPopoverRef = useCallback(function (ref) {
39
+ popover.current = ref;
40
40
  if (popoverRef) {
41
41
  popoverRef(ref);
42
42
  }
43
- };
43
+ }, [popoverRef]);
44
44
  useEffect(function () {
45
45
  document.body.classList.add('euiBody-hasPortalContent');
46
46
  window.addEventListener('resize', updateDimensions);
@@ -6,9 +6,6 @@
6
6
  export declare const waitForEuiPopoverOpen: () => Promise<void>;
7
7
  export declare const waitForEuiPopoverClose: () => Promise<void>;
8
8
 
9
- export declare const waitForEuiToolTipVisible: () => Promise<void>;
10
- export declare const waitForEuiToolTipHidden: () => Promise<void>;
11
-
12
9
  export declare const showEuiComboBoxOptions: () => Promise<void>;
13
10
 
14
11
  export declare const waitForEuiContextMenuPanelTransition: () => Promise<void>;
@@ -65,81 +65,59 @@ export var waitForEuiPopoverClose = /*#__PURE__*/function () {
65
65
  }();
66
66
 
67
67
  /**
68
- * Ensure the EuiToolTip being tested is open and visible before continuing
68
+ * jsdom does not track keyboard vs. mouse input modality, so `:focus-visible`
69
+ * always returns false. Call this before `fireEvent.focus()` on an element that
70
+ * should be treated as keyboard-focused.
71
+ *
72
+ * Returns a cleanup function, call it after test assertions to restore the spy.
69
73
  */
70
- export var waitForEuiToolTipVisible = /*#__PURE__*/function () {
71
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
72
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
73
- while (1) switch (_context3.prev = _context3.next) {
74
- case 0:
75
- _context3.next = 2;
76
- return waitFor(function () {
77
- var tooltip = document.querySelector('.euiToolTipPopover');
78
- expect(tooltip).toBeVisible();
79
- }, {
80
- timeout: 3000
81
- } // Account for long delay on tooltips
82
- );
83
- case 2:
84
- return _context3.abrupt("return", _context3.sent);
85
- case 3:
86
- case "end":
87
- return _context3.stop();
88
- }
89
- }, _callee3);
90
- }));
91
- return function waitForEuiToolTipVisible() {
92
- return _ref3.apply(this, arguments);
74
+ export var simulateFocusVisible = function simulateFocusVisible(element) {
75
+ var originalMatches = Element.prototype.matches.bind(element);
76
+ var spy = jest.spyOn(element, 'matches').mockImplementation(function (selector) {
77
+ return selector === ':focus-visible' ? true : originalMatches(selector);
78
+ });
79
+ return function () {
80
+ return spy.mockRestore();
93
81
  };
94
- }();
95
- export var waitForEuiToolTipHidden = /*#__PURE__*/function () {
96
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
97
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
98
- while (1) switch (_context4.prev = _context4.next) {
99
- case 0:
100
- _context4.next = 2;
101
- return waitFor(function () {
102
- var tooltip = document.querySelector('.euiToolTipPopover');
103
- expect(tooltip).toBeNull();
104
- });
105
- case 2:
106
- return _context4.abrupt("return", _context4.sent);
107
- case 3:
108
- case "end":
109
- return _context4.stop();
110
- }
111
- }, _callee4);
112
- }));
113
- return function waitForEuiToolTipHidden() {
114
- return _ref4.apply(this, arguments);
115
- };
116
- }();
82
+ };
83
+
84
+ /**
85
+ * Prefer this over `fireEvent.focus()` in tooltip tests. Plain `fireEvent.focus`
86
+ * does not set `:focus-visible` in jsdom and will not trigger the tooltip.
87
+ *
88
+ * Returns a cleanup function to restore the mock after assertions.
89
+ */
90
+ export var focusEuiToolTipTrigger = function focusEuiToolTipTrigger(element) {
91
+ var cleanup = simulateFocusVisible(element);
92
+ fireEvent.focus(element);
93
+ return cleanup;
94
+ };
117
95
 
118
96
  /**
119
97
  * EuiComboBox
120
98
  */
121
99
 
122
100
  export var showEuiComboBoxOptions = /*#__PURE__*/function () {
123
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
124
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
125
- while (1) switch (_context5.prev = _context5.next) {
101
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
102
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
103
+ while (1) switch (_context3.prev = _context3.next) {
126
104
  case 0:
127
105
  fireEvent.click(screen.getByTestSubject('comboBoxToggleListButton'));
128
- _context5.next = 3;
106
+ _context3.next = 3;
129
107
  return waitForEuiPopoverOpen();
130
108
  case 3:
131
- _context5.next = 5;
109
+ _context3.next = 5;
132
110
  return waitFor(function () {
133
111
  expect(screen.getByRole('listbox')).toBeInTheDocument();
134
112
  });
135
113
  case 5:
136
114
  case "end":
137
- return _context5.stop();
115
+ return _context3.stop();
138
116
  }
139
- }, _callee5);
117
+ }, _callee3);
140
118
  }));
141
119
  return function showEuiComboBoxOptions() {
142
- return _ref5.apply(this, arguments);
120
+ return _ref3.apply(this, arguments);
143
121
  };
144
122
  }();
145
123
 
@@ -148,16 +126,16 @@ export var showEuiComboBoxOptions = /*#__PURE__*/function () {
148
126
  */
149
127
 
150
128
  export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
151
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
129
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
152
130
  var getPanels;
153
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
154
- while (1) switch (_context6.prev = _context6.next) {
131
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
132
+ while (1) switch (_context4.prev = _context4.next) {
155
133
  case 0:
156
134
  // Used document instead of container or screen due to context menus living in portals
157
135
  getPanels = function getPanels() {
158
136
  return document.querySelectorAll('.euiContextMenuPanel');
159
137
  }; // 2 panels will appear for the transition animation
160
- _context6.next = 3;
138
+ _context4.next = 3;
161
139
  return waitFor(function () {
162
140
  expect(getPanels().length).toEqual(2);
163
141
  });
@@ -172,11 +150,11 @@ export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
172
150
  expect(getPanels().length).toEqual(1);
173
151
  case 6:
174
152
  case "end":
175
- return _context6.stop();
153
+ return _context4.stop();
176
154
  }
177
- }, _callee6);
155
+ }, _callee4);
178
156
  }));
179
157
  return function waitForEuiContextMenuPanelTransition() {
180
- return _ref6.apply(this, arguments);
158
+ return _ref4.apply(this, arguments);
181
159
  };
182
160
  }();
package/eui.d.ts CHANGED
@@ -2103,12 +2103,7 @@ declare module '@elastic/eui/src/components/observer/resize_observer' {
2103
2103
 
2104
2104
  }
2105
2105
  declare module '@elastic/eui/src/components/portal/portal' {
2106
- /**
2107
- * NOTE: We can't test this component because Enzyme doesn't support rendering
2108
- * into portals.
2109
- */
2110
- import React, { FunctionComponent, Component, ContextType, ReactNode } from 'react';
2111
- import { EuiNestedThemeContext } from '@elastic/eui/src/services'; const INSERT_POSITIONS: readonly ["after", "before"];
2106
+ import { FunctionComponent, ReactNode } from 'react'; const INSERT_POSITIONS: readonly ["after", "before"];
2112
2107
  type EuiPortalInsertPosition = (typeof INSERT_POSITIONS)[number];
2113
2108
  export interface EuiPortalProps {
2114
2109
  /**
@@ -2129,19 +2124,6 @@ declare module '@elastic/eui/src/components/portal/portal' {
2129
2124
  portalRef?: (ref: HTMLDivElement | null) => void;
2130
2125
  }
2131
2126
  export const EuiPortal: FunctionComponent<EuiPortalProps>;
2132
- interface EuiPortalState {
2133
- portalNode: HTMLDivElement | null;
2134
- }
2135
- export class EuiPortalClass extends Component<EuiPortalProps, EuiPortalState> {
2136
- static contextType: React.Context<import("@elastic/eui-theme-common").EuiThemeNested>;
2137
- context: ContextType<typeof EuiNestedThemeContext>;
2138
- constructor(props: EuiPortalProps);
2139
- componentDidMount(): void;
2140
- componentWillUnmount(): void;
2141
- private setThemeColor;
2142
- private updatePortalRef;
2143
- render(): React.ReactPortal | null;
2144
- }
2145
2127
  export {};
2146
2128
 
2147
2129
  }
@@ -9763,7 +9745,6 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip.styles' {
9763
9745
  export const euiToolTipBorderColor: (euiTheme: UseEuiTheme["euiTheme"]) => string;
9764
9746
  export const euiToolTipStyles: (euiThemeContext: UseEuiTheme) => {
9765
9747
  euiToolTip: import("@emotion/react").SerializedStyles;
9766
- s: import("@emotion/react").SerializedStyles;
9767
9748
  top: import("@emotion/react").SerializedStyles;
9768
9749
  bottom: import("@emotion/react").SerializedStyles;
9769
9750
  left: import("@emotion/react").SerializedStyles;
@@ -9792,7 +9773,7 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip_popover' {
9792
9773
  positionToolTip: () => void;
9793
9774
  children?: ReactNode;
9794
9775
  title?: ReactNode;
9795
- popoverRef?: (ref: HTMLDivElement) => void;
9776
+ popoverRef?: (ref: HTMLDivElement | null) => void;
9796
9777
  calculatedPosition?: ToolTipPositions;
9797
9778
  };
9798
9779
  export const EuiToolTipPopover: FunctionComponent<Props>;
@@ -9842,16 +9823,16 @@ declare module '@elastic/eui/src/services/popover/reposition_on_scroll' {
9842
9823
 
9843
9824
  }
9844
9825
  declare module '@elastic/eui/src/components/tool_tip/tool_tip_anchor' {
9845
- import React, { HTMLAttributes } from 'react';
9826
+ import React, { HTMLAttributes, type FocusEvent as ReactFocusEvent } from 'react';
9846
9827
  import type { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip/tool_tip';
9847
9828
  export type EuiToolTipAnchorProps = Omit<HTMLAttributes<HTMLSpanElement>, 'onBlur' | 'onFocus' | 'children'> & Required<Pick<EuiToolTipProps, 'display' | 'children'>> & {
9848
9829
  onBlur: () => void;
9849
- onFocus: () => void;
9830
+ onFocus: (e: ReactFocusEvent) => void;
9850
9831
  isVisible: boolean;
9851
9832
  };
9852
9833
  export const EuiToolTipAnchor: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "onFocus" | "onBlur"> & Required<Pick<EuiToolTipProps, "children" | "display">> & {
9853
9834
  onBlur: () => void;
9854
- onFocus: () => void;
9835
+ onFocus: (e: ReactFocusEvent) => void;
9855
9836
  isVisible: boolean;
9856
9837
  } & React.RefAttributes<HTMLSpanElement>>;
9857
9838
 
@@ -9875,21 +9856,11 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip_manager' {
9875
9856
 
9876
9857
  }
9877
9858
  declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
9878
- import React, { Component, ContextType, ReactElement, ReactNode, MouseEvent as ReactMouseEvent, HTMLAttributes } from 'react';
9859
+ import React, { ReactElement, ReactNode, type MouseEvent as ReactMouseEvent, HTMLAttributes } from 'react';
9879
9860
  import { CommonProps } from '@elastic/eui/src/components/common';
9880
- import { type EuiPopoverPosition } from '@elastic/eui/src/services/popover';
9881
- import { EuiComponentDefaultsContext } from '@elastic/eui/src/components/provider/component_defaults';
9882
9861
  import { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
9883
9862
  export const POSITIONS: readonly ["top", "right", "bottom", "left"]; const DISPLAYS: readonly ["inlineBlock", "block"];
9884
- export type ToolTipDelay = 'regular' | 'long';
9885
9863
  export const DEFAULT_TOOLTIP_OFFSET = 16;
9886
- interface ToolTipStyles {
9887
- top: number;
9888
- left: number | 'auto';
9889
- right?: number | 'auto';
9890
- opacity?: number;
9891
- visibility?: 'hidden';
9892
- }
9893
9864
  export interface EuiToolTipProps extends CommonProps {
9894
9865
  /**
9895
9866
  * Passes onto the span wrapping the trigger.
@@ -9915,10 +9886,6 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
9915
9886
  * Common display alternatives for the anchor wrapper
9916
9887
  */
9917
9888
  display?: (typeof DISPLAYS)[number];
9918
- /**
9919
- * Delay before showing tooltip. Good for repeatable items.
9920
- */
9921
- delay: ToolTipDelay;
9922
9889
  /**
9923
9890
  * An optional title for your tooltip.
9924
9891
  */
@@ -9930,7 +9897,7 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
9930
9897
  /**
9931
9898
  * Suggested position. If there is not enough room for it this will be changed.
9932
9899
  */
9933
- position: ToolTipPositions;
9900
+ position?: ToolTipPositions;
9934
9901
  /**
9935
9902
  * When `true`, the tooltip's position is re-calculated when the user
9936
9903
  * scrolls. This supports having fixed-position tooltip anchors.
@@ -9957,40 +9924,12 @@ declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
9957
9924
  */
9958
9925
  offset?: number;
9959
9926
  }
9960
- interface State {
9961
- visible: boolean;
9962
- hasFocus: boolean;
9963
- calculatedPosition: ToolTipPositions;
9964
- toolTipStyles: ToolTipStyles;
9965
- arrowStyles?: Record<EuiPopoverPosition, number | string>;
9966
- id: string;
9967
- }
9968
- export class EuiToolTip extends Component<EuiToolTipProps, State> {
9969
- static contextType: React.Context<import ("@elastic/eui/src/components/provider/component_defaults").EuiComponentDefaults>;
9970
- context: ContextType<typeof EuiComponentDefaultsContext>;
9971
- private repositionOnScroll;
9972
- _isMounted: boolean;
9973
- anchor: null | HTMLElement;
9974
- popover: null | HTMLElement;
9975
- private timeoutId?;
9976
- constructor(props: EuiToolTipProps);
9977
- static defaultProps: Partial<EuiToolTipProps>;
9978
- clearAnimationTimeout: () => void;
9979
- componentDidMount(): void;
9980
- componentWillUnmount(): void;
9981
- componentDidUpdate(prevProps: EuiToolTipProps, prevState: State): void;
9982
- testAnchor: () => void;
9983
- setAnchorRef: (ref: HTMLElement) => HTMLElement;
9984
- setPopoverRef: (ref: HTMLElement) => HTMLElement;
9927
+ export interface EuiToolTipRef {
9985
9928
  showToolTip: () => void;
9986
- positionToolTip: () => void;
9987
9929
  hideToolTip: () => void;
9988
- onFocus: () => void;
9989
- onBlur: () => void;
9990
- onEscapeKey: (event: React.KeyboardEvent<HTMLSpanElement>) => void;
9991
- onMouseOut: (event: ReactMouseEvent<HTMLSpanElement, MouseEvent>) => void;
9992
- render(): React.JSX.Element;
9930
+ id: string;
9993
9931
  }
9932
+ export const EuiToolTip: React.ForwardRefExoticComponent<EuiToolTipProps & React.RefAttributes<EuiToolTipRef>>;
9994
9933
  export {};
9995
9934
 
9996
9935
  }
@@ -9999,7 +9938,7 @@ declare module '@elastic/eui/src/components/tool_tip/icon_tip' {
9999
9938
  import { PropsOf } from '@elastic/eui/src/components/common';
10000
9939
  import { EuiIcon, IconSize, IconType } from '@elastic/eui/src/components/icon';
10001
9940
  import { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip/tool_tip';
10002
- export type EuiIconTipProps = Omit<EuiToolTipProps, 'children' | 'delay' | 'position'> & {
9941
+ export type EuiIconTipProps = Omit<EuiToolTipProps, 'children' | 'position'> & {
10003
9942
  /**
10004
9943
  * Children are not allowed as they are built using the icon props
10005
9944
  */
@@ -10026,7 +9965,6 @@ declare module '@elastic/eui/src/components/tool_tip/icon_tip' {
10026
9965
  iconProps?: Omit<PropsOf<typeof EuiIcon>, 'type'> & {
10027
9966
  type?: never;
10028
9967
  };
10029
- delay?: EuiToolTipProps['delay'];
10030
9968
  position?: EuiToolTipProps['position'];
10031
9969
  };
10032
9970
  export const EuiIconTip: FunctionComponent<EuiIconTipProps>;
@@ -10034,7 +9972,7 @@ declare module '@elastic/eui/src/components/tool_tip/icon_tip' {
10034
9972
  }
10035
9973
  declare module '@elastic/eui/src/components/tool_tip' {
10036
9974
  export type { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
10037
- export type { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip/tool_tip';
9975
+ export type { EuiToolTipProps, EuiToolTipRef } from '@elastic/eui/src/components/tool_tip/tool_tip';
10038
9976
  export { EuiToolTip } from '@elastic/eui/src/components/tool_tip/tool_tip';
10039
9977
  export type { EuiIconTipProps } from '@elastic/eui/src/components/tool_tip/icon_tip';
10040
9978
  export { EuiIconTip } from '@elastic/eui/src/components/tool_tip/icon_tip';
@@ -11837,9 +11775,8 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
11837
11775
  icon?: IconType;
11838
11776
  /** Additional props for EuiIcon */
11839
11777
  iconProps?: EuiIconTipProps['iconProps'];
11840
- /** Additional props for the EuiToolip */
11841
- tooltipProps?: Omit<EuiToolTipProps, 'children' | 'delay' | 'position'> & {
11842
- delay?: EuiToolTipProps['delay'];
11778
+ /** Additional props for the EuiToolTip */
11779
+ tooltipProps?: Omit<EuiToolTipProps, 'children' | 'position'> & {
11843
11780
  position?: EuiToolTipProps['position'];
11844
11781
  };
11845
11782
  };
@@ -13477,9 +13414,11 @@ declare module '@elastic/eui/src/components/flyout/hooks' {
13477
13414
  import { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout';
13478
13415
  /**
13479
13416
  * Determines if a flyout should be rendered in a "pushed" state based on its
13480
- * configuration and the current window size.
13417
+ * configuration and the current window or container size.
13481
13418
  */
13482
- export const useIsPushed: (props: Pick<EuiFlyoutProps, "type" | "pushMinBreakpoint">) => boolean;
13419
+ export const useIsPushed: (props: Pick<EuiFlyoutProps, "type" | "pushMinBreakpoint"> & {
13420
+ containerWidth?: number;
13421
+ }) => boolean;
13483
13422
 
13484
13423
  }
13485
13424
  declare module '@elastic/eui/src/components/flyout/manager/flyout_main' {
@@ -21865,9 +21804,8 @@ declare module '@elastic/eui/src/components/color_picker/color_picker_swatch' {
21865
21804
  * @default true
21866
21805
  */
21867
21806
  showToolTip?: boolean;
21868
- /** Additional props for the EuiToolip when `showToolTip={true}` */
21869
- toolTipProps?: Omit<EuiToolTipProps, 'children' | 'delay' | 'position'> & {
21870
- delay?: EuiToolTipProps['delay'];
21807
+ /** Additional props for the EuiToolTip when `showToolTip={true}` */
21808
+ toolTipProps?: Omit<EuiToolTipProps, 'children' | 'position'> & {
21871
21809
  position?: EuiToolTipProps['position'];
21872
21810
  };
21873
21811
  };
@@ -21878,9 +21816,8 @@ declare module '@elastic/eui/src/components/color_picker/color_picker_swatch' {
21878
21816
  * @default true
21879
21817
  */
21880
21818
  showToolTip?: boolean;
21881
- /** Additional props for the EuiToolip when `showToolTip={true}` */
21882
- toolTipProps?: Omit<EuiToolTipProps, "children" | "delay" | "position"> & {
21883
- delay?: EuiToolTipProps["delay"];
21819
+ /** Additional props for the EuiToolTip when `showToolTip={true}` */
21820
+ toolTipProps?: Omit<EuiToolTipProps, "children" | "position"> & {
21884
21821
  position?: EuiToolTipProps["position"];
21885
21822
  };
21886
21823
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -22368,7 +22305,7 @@ declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
22368
22305
  import React, { ButtonHTMLAttributes, Component } from 'react';
22369
22306
  import { WithEuiThemeProps } from '@elastic/eui/src/services';
22370
22307
  import { CommonProps } from '@elastic/eui/src/components/common';
22371
- import { EuiToolTip } from '@elastic/eui/src/components/tool_tip';
22308
+ import type { EuiToolTipRef } from '@elastic/eui/src/components/tool_tip';
22372
22309
  import { EuiComboBoxOptionOption } from '@elastic/eui/src/components/combo_box';
22373
22310
  export type FilterChecked = 'on' | 'off';
22374
22311
  export interface EuiFilterSelectItemProps extends CommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
@@ -22392,7 +22329,7 @@ declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
22392
22329
  truncateContent: boolean;
22393
22330
  };
22394
22331
  buttonRef: HTMLButtonElement | null;
22395
- tooltipRef: React.RefObject<EuiToolTip>;
22332
+ tooltipRef: React.RefObject<EuiToolTipRef>;
22396
22333
  state: {
22397
22334
  hasFocus: boolean;
22398
22335
  };
@@ -22400,6 +22337,7 @@ declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
22400
22337
  focus: () => void;
22401
22338
  toggleToolTip: (isFocused: boolean) => void;
22402
22339
  hasFocus: () => boolean;
22340
+ componentDidMount(): void;
22403
22341
  componentDidUpdate(prevProps: Readonly<WithEuiThemeProps<{}> & EuiFilterSelectItemProps>): void;
22404
22342
  render(): React.JSX.Element;
22405
22343
  }
@@ -28871,7 +28809,7 @@ declare module '@elastic/eui/src/components/key_pad_menu/key_pad_menu_item' {
28871
28809
  /**
28872
28810
  * Extends the wrapping EuiToolTip props when `betaBadgeLabel` is provided
28873
28811
  */
28874
- betaBadgeTooltipProps?: Partial<Omit<EuiToolTipProps, 'title' | 'content' | 'delay'>>;
28812
+ betaBadgeTooltipProps?: Partial<Omit<EuiToolTipProps, 'title' | 'content'>>;
28875
28813
  /**
28876
28814
  * Use `onClick` instead when the item is not `checkable`
28877
28815
  */
@@ -29140,7 +29078,7 @@ declare module '@elastic/eui/src/components/markdown_editor/markdown_types' {
29140
29078
  }
29141
29079
  export type EuiMarkdownEditorUiPlugin<NodeShape = any> = {
29142
29080
  name: string;
29143
- button: {
29081
+ button?: {
29144
29082
  label: string;
29145
29083
  iconType: IconType;
29146
29084
  isDisabled?: boolean;
@@ -32463,7 +32401,7 @@ declare module '@elastic/eui/src/components/search_bar/filters/field_value_toggl
32463
32401
 
32464
32402
  }
32465
32403
  declare module '@elastic/eui/src/components/search_bar/filters/field_value_toggle_group_filter' {
32466
- import React, { Component } from 'react';
32404
+ import { FC } from 'react';
32467
32405
  import { Query } from '@elastic/eui/src/components/search_bar/query';
32468
32406
  import { OperatorType } from '@elastic/eui/src/components/search_bar/query/ast';
32469
32407
  export interface FieldValueToggleGroupFilterItemType {
@@ -32487,14 +32425,7 @@ declare module '@elastic/eui/src/components/search_bar/filters/field_value_toggl
32487
32425
  query: Query;
32488
32426
  onChange: (value: Query) => void;
32489
32427
  }
32490
- export class FieldValueToggleGroupFilter extends Component<FieldValueToggleGroupFilterProps> {
32491
- resolveDisplay(config: FieldValueToggleGroupFilterConfigType, query: Query, item: FieldValueToggleGroupFilterItemType): {
32492
- active: boolean;
32493
- name: string;
32494
- };
32495
- valueChanged(item: FieldValueToggleGroupFilterItemType, active: boolean): void;
32496
- render(): React.JSX.Element[];
32497
- }
32428
+ export const FieldValueToggleGroupFilter: FC<FieldValueToggleGroupFilterProps>;
32498
32429
 
32499
32430
  }
32500
32431
  declare module '@elastic/eui/src/components/search_bar/filters/custom_component_filter' {