@elastic/eui 116.3.0 → 116.3.1-snapshot.1782218964187
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.
- package/es/components/avatar/avatar.js +4 -0
- package/es/components/avatar/avatar.styles.js +16 -16
- package/es/components/banner/banner.js +1 -2
- package/es/components/banner/banner.styles.js +1 -1
- package/es/components/basic_table/basic_table.js +35 -5
- package/es/components/basic_table/basic_table.styles.js +19 -1
- package/es/components/basic_table/in_memory_table.js +17 -0
- package/es/components/basic_table/index.js +2 -1
- package/es/components/basic_table/pagination_bar.js +19 -4
- package/es/components/basic_table/pagination_bar.styles.js +21 -0
- package/es/components/basic_table/panel.styles.js +14 -0
- package/es/components/basic_table/use_panel_props.js +28 -0
- package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
- package/es/components/flyout/flyout.component.js +10 -6
- package/es/components/flyout/flyout_menu.js +122 -19
- package/es/components/flyout/flyout_menu.styles.js +2 -1
- package/es/components/flyout/manager/actions.js +20 -0
- package/es/components/flyout/manager/flyout_child.js +23 -1
- package/es/components/flyout/manager/flyout_managed.js +65 -19
- package/es/components/flyout/manager/hooks.js +1 -1
- package/es/components/flyout/manager/index.js +2 -2
- package/es/components/flyout/manager/reducer.js +32 -8
- package/es/components/flyout/manager/selectors.js +8 -2
- package/es/components/flyout/manager/store.js +35 -2
- package/es/components/flyout/use_flyout_menu.js +2 -2
- package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
- package/es/components/notification_icon/assets/info_fill.js +34 -0
- package/es/components/notification_icon/assets/warning_static.js +40 -0
- package/es/components/notification_icon/notification_icon.js +87 -0
- package/es/components/notification_icon/notification_icon.styles.js +22 -0
- package/es/components/table/mobile/table_sort_mobile.js +64 -103
- package/es/components/table/store/use_unique_column_id.js +25 -0
- package/es/components/table/table_header_cell.js +7 -8
- package/es/components/table/table_header_cell_checkbox.js +5 -6
- package/es/components/toast/global_toast_list.js +132 -6
- package/es/components/toast/global_toast_list.styles.js +31 -7
- package/es/components/toast/toast.js +242 -47
- package/es/components/toast/toast.styles.js +35 -47
- package/es/components/toast/toast_action.js +34 -0
- package/es/components/toast/types.js +9 -0
- package/es/components/tool_tip/tool_tip.js +61 -30
- package/es/components/tool_tip/tool_tip_anchor.js +5 -5
- package/es/components/tool_tip/tool_tip_manager.js +27 -2
- package/eui.d.ts +811 -552
- package/i18ntokens.json +981 -927
- package/lib/components/avatar/avatar.js +4 -0
- package/lib/components/avatar/avatar.styles.js +16 -16
- package/lib/components/banner/banner.js +1 -2
- package/lib/components/banner/banner.styles.js +1 -1
- package/lib/components/basic_table/basic_table.js +34 -4
- package/lib/components/basic_table/basic_table.styles.js +19 -1
- package/lib/components/basic_table/in_memory_table.js +17 -0
- package/lib/components/basic_table/index.js +8 -1
- package/lib/components/basic_table/pagination_bar.js +19 -4
- package/lib/components/basic_table/pagination_bar.styles.js +26 -0
- package/lib/components/basic_table/panel.styles.js +20 -0
- package/lib/components/basic_table/use_panel_props.js +33 -0
- package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
- package/lib/components/flyout/flyout.component.js +10 -6
- package/lib/components/flyout/flyout_menu.js +120 -19
- package/lib/components/flyout/flyout_menu.styles.js +2 -1
- package/lib/components/flyout/manager/actions.js +21 -1
- package/lib/components/flyout/manager/flyout_child.js +23 -1
- package/lib/components/flyout/manager/flyout_managed.js +41 -17
- package/lib/components/flyout/manager/hooks.js +6 -0
- package/lib/components/flyout/manager/index.js +12 -0
- package/lib/components/flyout/manager/reducer.js +31 -7
- package/lib/components/flyout/manager/selectors.js +9 -3
- package/lib/components/flyout/manager/store.js +34 -1
- package/lib/components/flyout/use_flyout_menu.js +2 -2
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
- package/lib/components/notification_icon/assets/info_fill.js +41 -0
- package/lib/components/notification_icon/assets/warning_static.js +47 -0
- package/lib/components/notification_icon/notification_icon.js +93 -0
- package/lib/components/notification_icon/notification_icon.styles.js +28 -0
- package/lib/components/notification_icon/svgs/info_fill.svg +3 -0
- package/lib/components/notification_icon/svgs/warning_static.svg +5 -0
- package/lib/components/table/mobile/table_sort_mobile.js +71 -108
- package/lib/components/table/store/use_unique_column_id.js +34 -0
- package/lib/components/table/table_header_cell.js +7 -8
- package/lib/components/table/table_header_cell_checkbox.js +5 -6
- package/lib/components/toast/global_toast_list.js +132 -6
- package/lib/components/toast/global_toast_list.styles.js +31 -8
- package/lib/components/toast/toast.js +244 -47
- package/lib/components/toast/toast.styles.js +32 -45
- package/lib/components/toast/toast_action.js +40 -0
- package/lib/components/toast/types.js +15 -0
- package/lib/components/tool_tip/tool_tip.js +59 -29
- package/lib/components/tool_tip/tool_tip_anchor.js +5 -5
- package/lib/components/tool_tip/tool_tip_manager.js +27 -2
- package/optimize/es/components/avatar/avatar.js +4 -0
- package/optimize/es/components/avatar/avatar.styles.js +16 -16
- package/optimize/es/components/banner/banner.js +1 -2
- package/optimize/es/components/banner/banner.styles.js +1 -1
- package/optimize/es/components/basic_table/basic_table.js +18 -5
- package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
- package/optimize/es/components/basic_table/index.js +2 -1
- package/optimize/es/components/basic_table/pagination_bar.js +19 -4
- package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
- package/optimize/es/components/basic_table/panel.styles.js +14 -0
- package/optimize/es/components/basic_table/use_panel_props.js +28 -0
- package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
- package/optimize/es/components/flyout/flyout.component.js +10 -6
- package/optimize/es/components/flyout/flyout_menu.js +99 -18
- package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
- package/optimize/es/components/flyout/manager/actions.js +20 -0
- package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
- package/optimize/es/components/flyout/manager/hooks.js +1 -1
- package/optimize/es/components/flyout/manager/index.js +2 -2
- package/optimize/es/components/flyout/manager/reducer.js +32 -8
- package/optimize/es/components/flyout/manager/selectors.js +8 -2
- package/optimize/es/components/flyout/manager/store.js +35 -2
- package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
- package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
- package/optimize/es/components/notification_icon/assets/info_fill.js +33 -0
- package/optimize/es/components/notification_icon/assets/warning_static.js +39 -0
- package/optimize/es/components/notification_icon/notification_icon.js +77 -0
- package/optimize/es/components/notification_icon/notification_icon.styles.js +22 -0
- package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
- package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
- package/optimize/es/components/table/table_header_cell.js +7 -8
- package/optimize/es/components/table/table_header_cell_checkbox.js +5 -6
- package/optimize/es/components/toast/global_toast_list.js +31 -6
- package/optimize/es/components/toast/global_toast_list.styles.js +31 -7
- package/optimize/es/components/toast/toast.js +143 -47
- package/optimize/es/components/toast/toast.styles.js +35 -47
- package/optimize/es/components/toast/toast_action.js +33 -0
- package/optimize/es/components/toast/types.js +9 -0
- package/optimize/es/components/tool_tip/tool_tip.js +58 -30
- package/optimize/es/components/tool_tip/tool_tip_anchor.js +5 -5
- package/optimize/es/components/tool_tip/tool_tip_manager.js +27 -2
- package/optimize/lib/components/avatar/avatar.js +4 -0
- package/optimize/lib/components/avatar/avatar.styles.js +16 -16
- package/optimize/lib/components/banner/banner.js +1 -2
- package/optimize/lib/components/banner/banner.styles.js +1 -1
- package/optimize/lib/components/basic_table/basic_table.js +17 -4
- package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
- package/optimize/lib/components/basic_table/index.js +8 -1
- package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
- package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
- package/optimize/lib/components/basic_table/panel.styles.js +20 -0
- package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
- package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
- package/optimize/lib/components/flyout/flyout.component.js +10 -6
- package/optimize/lib/components/flyout/flyout_menu.js +98 -18
- package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
- package/optimize/lib/components/flyout/manager/actions.js +21 -1
- package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
- package/optimize/lib/components/flyout/manager/hooks.js +6 -0
- package/optimize/lib/components/flyout/manager/index.js +12 -0
- package/optimize/lib/components/flyout/manager/reducer.js +31 -7
- package/optimize/lib/components/flyout/manager/selectors.js +9 -3
- package/optimize/lib/components/flyout/manager/store.js +34 -1
- package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
- package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
- package/optimize/lib/components/notification_icon/assets/info_fill.js +41 -0
- package/optimize/lib/components/notification_icon/assets/warning_static.js +47 -0
- package/optimize/lib/components/notification_icon/notification_icon.js +83 -0
- package/optimize/lib/components/notification_icon/notification_icon.styles.js +28 -0
- package/optimize/lib/components/notification_icon/svgs/info_fill.svg +3 -0
- package/optimize/lib/components/notification_icon/svgs/warning_static.svg +5 -0
- package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
- package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
- package/optimize/lib/components/table/table_header_cell.js +7 -8
- package/optimize/lib/components/table/table_header_cell_checkbox.js +5 -6
- package/optimize/lib/components/toast/global_toast_list.js +31 -6
- package/optimize/lib/components/toast/global_toast_list.styles.js +30 -7
- package/optimize/lib/components/toast/toast.js +146 -47
- package/optimize/lib/components/toast/toast.styles.js +33 -45
- package/optimize/lib/components/toast/toast_action.js +39 -0
- package/optimize/lib/components/toast/types.js +15 -0
- package/optimize/lib/components/tool_tip/tool_tip.js +57 -29
- package/optimize/lib/components/tool_tip/tool_tip_anchor.js +5 -5
- package/optimize/lib/components/tool_tip/tool_tip_manager.js +27 -2
- package/package.json +9 -6
- package/test-env/components/avatar/avatar.js +4 -0
- package/test-env/components/avatar/avatar.styles.js +16 -16
- package/test-env/components/banner/banner.js +1 -2
- package/test-env/components/banner/banner.styles.js +1 -1
- package/test-env/components/basic_table/basic_table.js +34 -4
- package/test-env/components/basic_table/basic_table.styles.js +19 -1
- package/test-env/components/basic_table/in_memory_table.js +17 -0
- package/test-env/components/basic_table/index.js +8 -1
- package/test-env/components/basic_table/pagination_bar.js +19 -4
- package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
- package/test-env/components/basic_table/panel.styles.js +20 -0
- package/test-env/components/basic_table/use_panel_props.js +33 -0
- package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
- package/test-env/components/flyout/flyout.component.js +10 -6
- package/test-env/components/flyout/flyout_menu.js +121 -19
- package/test-env/components/flyout/flyout_menu.styles.js +2 -1
- package/test-env/components/flyout/manager/actions.js +21 -1
- package/test-env/components/flyout/manager/flyout_child.js +23 -1
- package/test-env/components/flyout/manager/flyout_managed.js +41 -17
- package/test-env/components/flyout/manager/hooks.js +6 -0
- package/test-env/components/flyout/manager/index.js +12 -0
- package/test-env/components/flyout/manager/reducer.js +31 -7
- package/test-env/components/flyout/manager/selectors.js +9 -3
- package/test-env/components/flyout/manager/store.js +34 -1
- package/test-env/components/flyout/use_flyout_menu.js +2 -2
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
- package/test-env/components/notification_icon/assets/info_fill.js +41 -0
- package/test-env/components/notification_icon/assets/warning_static.js +47 -0
- package/test-env/components/notification_icon/notification_icon.js +46 -0
- package/test-env/components/notification_icon/notification_icon.styles.js +28 -0
- package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
- package/test-env/components/table/store/use_unique_column_id.js +34 -0
- package/test-env/components/table/table_header_cell.js +7 -8
- package/test-env/components/table/table_header_cell_checkbox.js +5 -6
- package/test-env/components/toast/global_toast_list.js +132 -6
- package/test-env/components/toast/global_toast_list.styles.js +30 -7
- package/test-env/components/toast/toast.js +242 -47
- package/test-env/components/toast/toast.styles.js +33 -45
- package/test-env/components/toast/toast_action.js +39 -0
- package/test-env/components/toast/types.js +15 -0
- package/test-env/components/tool_tip/tool_tip.js +57 -29
- package/test-env/components/tool_tip/tool_tip_anchor.js +5 -5
- package/test-env/components/tool_tip/tool_tip_manager.js +27 -2
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
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); }
|
|
1
2
|
var _excluded = ["children", "className", "anchorClassName", "anchorProps", "content", "title", "display", "repositionOnScroll", "disableScreenReaderOutput", "position", "offset", "id", "onMouseOut", "onBlur"];
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
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; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
+
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); }
|
|
2
8
|
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); }
|
|
3
9
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
4
10
|
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."); }
|
|
@@ -19,7 +25,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
19
25
|
import React, { forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
20
26
|
import PropTypes from "prop-types";
|
|
21
27
|
import classNames from 'classnames';
|
|
22
|
-
import { findPopoverPosition,
|
|
28
|
+
import { findPopoverPosition, useGeneratedHtmlId, keys } from '../../services';
|
|
23
29
|
import { getRepositionOnScroll } from '../../services/popover/reposition_on_scroll';
|
|
24
30
|
import { EuiResizeObserver } from '../observer/resize_observer';
|
|
25
31
|
import { EuiPortal } from '../portal';
|
|
@@ -82,22 +88,26 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
82
88
|
setVisible = _useState2[1];
|
|
83
89
|
var _useState3 = useState(false),
|
|
84
90
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var _useState5 = useState(
|
|
91
|
+
skipAnimation = _useState4[0],
|
|
92
|
+
setSkipAnimation = _useState4[1];
|
|
93
|
+
var _useState5 = useState(false),
|
|
88
94
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var _useState7 = useState(
|
|
95
|
+
hasFocus = _useState6[0],
|
|
96
|
+
setHasFocus = _useState6[1];
|
|
97
|
+
var _useState7 = useState(positionProp),
|
|
92
98
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var _useState9 = useState(
|
|
99
|
+
calculatedPosition = _useState8[0],
|
|
100
|
+
setCalculatedPosition = _useState8[1];
|
|
101
|
+
var _useState9 = useState(DEFAULT_TOOLTIP_STYLES),
|
|
96
102
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
var
|
|
100
|
-
|
|
103
|
+
toolTipStyles = _useState10[0],
|
|
104
|
+
setToolTipStyles = _useState10[1];
|
|
105
|
+
var _useState11 = useState(undefined),
|
|
106
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
107
|
+
arrowStyles = _useState12[0],
|
|
108
|
+
setArrowStyles = _useState12[1];
|
|
109
|
+
var generatedId = useGeneratedHtmlId();
|
|
110
|
+
var id = idProp !== null && idProp !== void 0 ? idProp : generatedId;
|
|
101
111
|
var anchorRef = useRef(null);
|
|
102
112
|
var popoverRef = useRef(null);
|
|
103
113
|
var positionToolTip = useCallback(function () {
|
|
@@ -149,10 +159,19 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
149
159
|
setArrowStyles(undefined);
|
|
150
160
|
toolTipManager.deregisterToolTip(hideToolTip);
|
|
151
161
|
}, []);
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Show the tooltip.
|
|
165
|
+
*
|
|
166
|
+
* Uses the tooltip manager's `skipAnimation` signal to optionally skip the entry
|
|
167
|
+
* animation when another tooltip is already open or was just closed.
|
|
168
|
+
*/
|
|
152
169
|
var showToolTip = useCallback(function () {
|
|
153
170
|
if (!content && !title) return;
|
|
171
|
+
var result = toolTipManager.registerTooltip(hideToolTip);
|
|
172
|
+
if (!result) return;
|
|
173
|
+
setSkipAnimation(result.skipAnimation);
|
|
154
174
|
setVisible(true);
|
|
155
|
-
toolTipManager.registerTooltip(hideToolTip);
|
|
156
175
|
}, [content, title, hideToolTip]);
|
|
157
176
|
useImperativeHandle(ref, function () {
|
|
158
177
|
return {
|
|
@@ -232,18 +251,24 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
232
251
|
hideToolTip();
|
|
233
252
|
}
|
|
234
253
|
}, [disableScreenReaderOutput, visible, hideToolTip]);
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Show the tooltip on enter.
|
|
257
|
+
*/
|
|
258
|
+
var onMouseEnter = useCallback(function (event) {
|
|
259
|
+
var _anchorProps$onMouseE;
|
|
260
|
+
showToolTip();
|
|
261
|
+
anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseE = anchorProps.onMouseEnter) === null || _anchorProps$onMouseE === void 0 || _anchorProps$onMouseE.call(anchorProps, event);
|
|
262
|
+
}, [showToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseEnter]);
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Hide the tooltip if the mouse is not over the trigger.
|
|
266
|
+
*/
|
|
267
|
+
var onMouseLeave = useCallback(function (event) {
|
|
268
|
+
var _anchorProps$onMouseL;
|
|
269
|
+
if (!hasFocus) hideToolTip();
|
|
270
|
+
anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseL = anchorProps.onMouseLeave) === null || _anchorProps$onMouseL === void 0 || _anchorProps$onMouseL.call(anchorProps, event);
|
|
271
|
+
}, [hasFocus, hideToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseLeave]);
|
|
247
272
|
var classes = classNames('euiToolTip', className);
|
|
248
273
|
var anchorClasses = classNames(anchorClassName, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
|
|
249
274
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiToolTipAnchor, _extends({}, anchorProps, {
|
|
@@ -251,8 +276,9 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
251
276
|
onBlur: onBlur,
|
|
252
277
|
onFocus: onFocus,
|
|
253
278
|
onKeyDown: onEscapeKey,
|
|
254
|
-
|
|
255
|
-
|
|
279
|
+
onMouseEnter: onMouseEnter,
|
|
280
|
+
onMouseLeave: onMouseLeave,
|
|
281
|
+
onMouseOut: onMouseOutProp
|
|
256
282
|
// `id` defines if the trigger and tooltip are automatically linked via `aria-describedby`.
|
|
257
283
|
,
|
|
258
284
|
id: !disableScreenReaderOutput ? id : undefined,
|
|
@@ -261,7 +287,12 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
261
287
|
isVisible: visible
|
|
262
288
|
}), children), visible && (content || title) && ___EmotionJSX(EuiPortal, null, ___EmotionJSX(EuiToolTipPopover, _extends({
|
|
263
289
|
className: classes,
|
|
264
|
-
style: toolTipStyles,
|
|
290
|
+
style: _objectSpread(_objectSpread({}, toolTipStyles), {}, {
|
|
291
|
+
// Inline `animation: none` overrides the keyframes fade-in
|
|
292
|
+
// shorthand on the base `.euiToolTip` class, so a tooltip
|
|
293
|
+
// shown right after another closes appears instantly.
|
|
294
|
+
animation: skipAnimation ? 'none' : undefined
|
|
295
|
+
}),
|
|
265
296
|
positionToolTip: positionToolTip,
|
|
266
297
|
popoverRef: setPopoverRef,
|
|
267
298
|
title: title,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["onBlur", "onFocus", "
|
|
1
|
+
var _excluded = ["onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "id", "className", "children", "display", "isVisible"];
|
|
2
2
|
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); }
|
|
3
3
|
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; }
|
|
4
4
|
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; }
|
|
@@ -19,8 +19,8 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
|
19
19
|
export var EuiToolTipAnchor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
20
20
|
var _onBlur = _ref.onBlur,
|
|
21
21
|
_onFocus = _ref.onFocus,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
23
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
24
24
|
id = _ref.id,
|
|
25
25
|
className = _ref.className,
|
|
26
26
|
children = _ref.children,
|
|
@@ -44,8 +44,8 @@ export var EuiToolTipAnchor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
44
44
|
id: anchorId
|
|
45
45
|
}, rest, {
|
|
46
46
|
className: classes,
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
onMouseEnter: onMouseEnter,
|
|
48
|
+
onMouseLeave: onMouseLeave
|
|
49
49
|
}), /*#__PURE__*/cloneElement(children, {
|
|
50
50
|
onFocus: function onFocus(e) {
|
|
51
51
|
_onFocus(e);
|
|
@@ -12,29 +12,54 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
12
12
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
13
13
|
* Side Public License, v 1.
|
|
14
14
|
*/
|
|
15
|
+
|
|
15
16
|
/**
|
|
16
17
|
* Manager utility that ensures only one tooltip is visible at a time
|
|
18
|
+
* and lets the next tooltip to open skip its entry animation if another was
|
|
19
|
+
* just opened or just closed.
|
|
17
20
|
*
|
|
18
21
|
* UX rationale (primarily for mouse-only users):
|
|
19
22
|
* @see https://github.com/elastic/kibana/issues/144482
|
|
20
23
|
* @see https://github.com/elastic/eui/issues/5883
|
|
21
24
|
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Time window in ms after a tooltip closes during which the next one to open
|
|
28
|
+
* skips its entry animation.
|
|
29
|
+
*/
|
|
30
|
+
var SKIP_ANIMATION_WINDOW = 300;
|
|
22
31
|
var ToolTipManager = /*#__PURE__*/_createClass(function ToolTipManager() {
|
|
23
32
|
var _this = this;
|
|
24
33
|
_classCallCheck(this, ToolTipManager);
|
|
25
34
|
// We use a set instead of a single var just in case
|
|
26
35
|
// multiple tooltips are registered via async shenanigans
|
|
27
36
|
_defineProperty(this, "toolTipsToHide", new Set());
|
|
37
|
+
// Timestamp of the last hide; `null` means no tooltip has closed yet.
|
|
38
|
+
_defineProperty(this, "lastHiddenAt", null);
|
|
28
39
|
_defineProperty(this, "registerTooltip", function (hideCallback) {
|
|
29
|
-
if (_this.toolTipsToHide.has(hideCallback)) return;
|
|
40
|
+
if (_this.toolTipsToHide.has(hideCallback)) return null;
|
|
41
|
+
var hadOpen = _this.toolTipsToHide.size > 0;
|
|
42
|
+
var recentlyClosed = _this.lastHiddenAt !== null && Date.now() - _this.lastHiddenAt < SKIP_ANIMATION_WINDOW;
|
|
30
43
|
_this.toolTipsToHide.forEach(function (hide) {
|
|
31
44
|
return hide();
|
|
32
45
|
});
|
|
33
46
|
_this.toolTipsToHide.clear();
|
|
34
47
|
_this.toolTipsToHide.add(hideCallback);
|
|
48
|
+
return {
|
|
49
|
+
skipAnimation: hadOpen || recentlyClosed
|
|
50
|
+
};
|
|
35
51
|
});
|
|
36
52
|
_defineProperty(this, "deregisterToolTip", function (hideCallback) {
|
|
37
|
-
_this.toolTipsToHide.delete(hideCallback);
|
|
53
|
+
if (_this.toolTipsToHide.delete(hideCallback)) _this.lastHiddenAt = Date.now();
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Resets all internal state. Primarily intended for tests, so that a
|
|
57
|
+
* tooltip shown in one test doesn't leak into the next (the manager is a
|
|
58
|
+
* module-level singleton).
|
|
59
|
+
*/
|
|
60
|
+
_defineProperty(this, "reset", function () {
|
|
61
|
+
_this.toolTipsToHide.clear();
|
|
62
|
+
_this.lastHiddenAt = null;
|
|
38
63
|
});
|
|
39
64
|
});
|
|
40
65
|
export var toolTipManager = new ToolTipManager();
|