@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.EuiToastAction = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _button = require("../button");
|
|
12
|
+
var _react2 = require("@emotion/react");
|
|
13
|
+
var _excluded = ["children", "actionType", "color"];
|
|
14
|
+
/*
|
|
15
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
16
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
17
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
18
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
19
|
+
* Side Public License, v 1.
|
|
20
|
+
*/
|
|
21
|
+
var EuiToastAction = exports.EuiToastAction = function EuiToastAction(_ref) {
|
|
22
|
+
var children = _ref.children,
|
|
23
|
+
_ref$actionType = _ref.actionType,
|
|
24
|
+
actionType = _ref$actionType === void 0 ? 'primary' : _ref$actionType,
|
|
25
|
+
_ref$color = _ref.color,
|
|
26
|
+
color = _ref$color === void 0 ? 'primary' : _ref$color,
|
|
27
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
28
|
+
if (actionType === 'primary') {
|
|
29
|
+
return (0, _react2.jsx)(_button.EuiButton, (0, _extends2.default)({
|
|
30
|
+
size: "s",
|
|
31
|
+
color: color
|
|
32
|
+
}, rest), children);
|
|
33
|
+
} else {
|
|
34
|
+
return (0, _react2.jsx)(_button.EuiButtonEmpty, (0, _extends2.default)({
|
|
35
|
+
size: "s",
|
|
36
|
+
color: color
|
|
37
|
+
}, rest), children);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.COLORS = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
9
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
10
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
11
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
12
|
+
* Side Public License, v 1.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
var COLORS = exports.COLORS = ['primary', 'success', 'warning', 'danger'];
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.POSITIONS = exports.EuiToolTip = exports.DEFAULT_TOOLTIP_OFFSET = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -32,6 +33,8 @@ var _excluded = ["children", "className", "anchorClassName", "anchorProps", "con
|
|
|
32
33
|
*/
|
|
33
34
|
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); }
|
|
34
35
|
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; }
|
|
36
|
+
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; }
|
|
37
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
35
38
|
var POSITIONS = exports.POSITIONS = ['top', 'right', 'bottom', 'left'];
|
|
36
39
|
var DISPLAYS = ['inlineBlock', 'block', 'flex'];
|
|
37
40
|
var DEFAULT_TOOLTIP_OFFSET = exports.DEFAULT_TOOLTIP_OFFSET = 16;
|
|
@@ -85,22 +88,26 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
85
88
|
setVisible = _useState2[1];
|
|
86
89
|
var _useState3 = (0, _react.useState)(false),
|
|
87
90
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
var _useState5 = (0, _react.useState)(
|
|
91
|
+
skipAnimation = _useState4[0],
|
|
92
|
+
setSkipAnimation = _useState4[1];
|
|
93
|
+
var _useState5 = (0, _react.useState)(false),
|
|
91
94
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var _useState7 = (0, _react.useState)(
|
|
95
|
+
hasFocus = _useState6[0],
|
|
96
|
+
setHasFocus = _useState6[1];
|
|
97
|
+
var _useState7 = (0, _react.useState)(positionProp),
|
|
95
98
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var _useState9 = (0, _react.useState)(
|
|
99
|
+
calculatedPosition = _useState8[0],
|
|
100
|
+
setCalculatedPosition = _useState8[1];
|
|
101
|
+
var _useState9 = (0, _react.useState)(DEFAULT_TOOLTIP_STYLES),
|
|
99
102
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var
|
|
103
|
-
|
|
103
|
+
toolTipStyles = _useState10[0],
|
|
104
|
+
setToolTipStyles = _useState10[1];
|
|
105
|
+
var _useState11 = (0, _react.useState)(undefined),
|
|
106
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
107
|
+
arrowStyles = _useState12[0],
|
|
108
|
+
setArrowStyles = _useState12[1];
|
|
109
|
+
var generatedId = (0, _services.useGeneratedHtmlId)();
|
|
110
|
+
var id = idProp !== null && idProp !== void 0 ? idProp : generatedId;
|
|
104
111
|
var anchorRef = (0, _react.useRef)(null);
|
|
105
112
|
var popoverRef = (0, _react.useRef)(null);
|
|
106
113
|
var positionToolTip = (0, _react.useCallback)(function () {
|
|
@@ -152,10 +159,19 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
152
159
|
setArrowStyles(undefined);
|
|
153
160
|
_tool_tip_manager.toolTipManager.deregisterToolTip(hideToolTip);
|
|
154
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
|
+
*/
|
|
155
169
|
var showToolTip = (0, _react.useCallback)(function () {
|
|
156
170
|
if (!content && !title) return;
|
|
171
|
+
var result = _tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
|
|
172
|
+
if (!result) return;
|
|
173
|
+
setSkipAnimation(result.skipAnimation);
|
|
157
174
|
setVisible(true);
|
|
158
|
-
_tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
|
|
159
175
|
}, [content, title, hideToolTip]);
|
|
160
176
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
161
177
|
return {
|
|
@@ -235,18 +251,24 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
235
251
|
hideToolTip();
|
|
236
252
|
}
|
|
237
253
|
}, [disableScreenReaderOutput, visible, hideToolTip]);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Show the tooltip on enter.
|
|
257
|
+
*/
|
|
258
|
+
var onMouseEnter = (0, _react.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 = (0, _react.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]);
|
|
250
272
|
var classes = (0, _classnames.default)('euiToolTip', className);
|
|
251
273
|
var anchorClasses = (0, _classnames.default)(anchorClassName, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
|
|
252
274
|
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip_anchor.EuiToolTipAnchor, (0, _extends2.default)({}, anchorProps, {
|
|
@@ -254,8 +276,9 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
254
276
|
onBlur: onBlur,
|
|
255
277
|
onFocus: onFocus,
|
|
256
278
|
onKeyDown: onEscapeKey,
|
|
257
|
-
|
|
258
|
-
|
|
279
|
+
onMouseEnter: onMouseEnter,
|
|
280
|
+
onMouseLeave: onMouseLeave,
|
|
281
|
+
onMouseOut: onMouseOutProp
|
|
259
282
|
// `id` defines if the trigger and tooltip are automatically linked via `aria-describedby`.
|
|
260
283
|
,
|
|
261
284
|
id: !disableScreenReaderOutput ? id : undefined,
|
|
@@ -264,7 +287,12 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
264
287
|
isVisible: visible
|
|
265
288
|
}), children), visible && (content || title) && (0, _react2.jsx)(_portal.EuiPortal, null, (0, _react2.jsx)(_tool_tip_popover.EuiToolTipPopover, (0, _extends2.default)({
|
|
266
289
|
className: classes,
|
|
267
|
-
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
|
+
}),
|
|
268
296
|
positionToolTip: positionToolTip,
|
|
269
297
|
popoverRef: setPopoverRef,
|
|
270
298
|
title: title,
|
|
@@ -14,7 +14,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
14
14
|
var _services = require("../../services");
|
|
15
15
|
var _tool_tip = require("./tool_tip.styles");
|
|
16
16
|
var _react2 = require("@emotion/react");
|
|
17
|
-
var _excluded = ["onBlur", "onFocus", "
|
|
17
|
+
var _excluded = ["onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "id", "className", "children", "display", "isVisible"];
|
|
18
18
|
/*
|
|
19
19
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
20
20
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -27,8 +27,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
27
27
|
var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
28
28
|
var _onBlur = _ref.onBlur,
|
|
29
29
|
_onFocus = _ref.onFocus,
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
31
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
32
32
|
id = _ref.id,
|
|
33
33
|
className = _ref.className,
|
|
34
34
|
children = _ref.children,
|
|
@@ -52,8 +52,8 @@ var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwar
|
|
|
52
52
|
id: anchorId
|
|
53
53
|
}, rest, {
|
|
54
54
|
className: classes,
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
onMouseEnter: onMouseEnter,
|
|
56
|
+
onMouseLeave: onMouseLeave
|
|
57
57
|
}), /*#__PURE__*/(0, _react.cloneElement)(children, {
|
|
58
58
|
onFocus: function onFocus(e) {
|
|
59
59
|
_onFocus(e);
|
|
@@ -15,29 +15,54 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
16
16
|
* Side Public License, v 1.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
/**
|
|
19
20
|
* Manager utility that ensures only one tooltip is visible at a time
|
|
21
|
+
* and lets the next tooltip to open skip its entry animation if another was
|
|
22
|
+
* just opened or just closed.
|
|
20
23
|
*
|
|
21
24
|
* UX rationale (primarily for mouse-only users):
|
|
22
25
|
* @see https://github.com/elastic/kibana/issues/144482
|
|
23
26
|
* @see https://github.com/elastic/eui/issues/5883
|
|
24
27
|
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Time window in ms after a tooltip closes during which the next one to open
|
|
31
|
+
* skips its entry animation.
|
|
32
|
+
*/
|
|
33
|
+
var SKIP_ANIMATION_WINDOW = 300;
|
|
25
34
|
var ToolTipManager = /*#__PURE__*/(0, _createClass2.default)(function ToolTipManager() {
|
|
26
35
|
var _this = this;
|
|
27
36
|
(0, _classCallCheck2.default)(this, ToolTipManager);
|
|
28
37
|
// We use a set instead of a single var just in case
|
|
29
38
|
// multiple tooltips are registered via async shenanigans
|
|
30
39
|
(0, _defineProperty2.default)(this, "toolTipsToHide", new Set());
|
|
40
|
+
// Timestamp of the last hide; `null` means no tooltip has closed yet.
|
|
41
|
+
(0, _defineProperty2.default)(this, "lastHiddenAt", null);
|
|
31
42
|
(0, _defineProperty2.default)(this, "registerTooltip", function (hideCallback) {
|
|
32
|
-
if (_this.toolTipsToHide.has(hideCallback)) return;
|
|
43
|
+
if (_this.toolTipsToHide.has(hideCallback)) return null;
|
|
44
|
+
var hadOpen = _this.toolTipsToHide.size > 0;
|
|
45
|
+
var recentlyClosed = _this.lastHiddenAt !== null && Date.now() - _this.lastHiddenAt < SKIP_ANIMATION_WINDOW;
|
|
33
46
|
_this.toolTipsToHide.forEach(function (hide) {
|
|
34
47
|
return hide();
|
|
35
48
|
});
|
|
36
49
|
_this.toolTipsToHide.clear();
|
|
37
50
|
_this.toolTipsToHide.add(hideCallback);
|
|
51
|
+
return {
|
|
52
|
+
skipAnimation: hadOpen || recentlyClosed
|
|
53
|
+
};
|
|
38
54
|
});
|
|
39
55
|
(0, _defineProperty2.default)(this, "deregisterToolTip", function (hideCallback) {
|
|
40
|
-
_this.toolTipsToHide.delete(hideCallback);
|
|
56
|
+
if (_this.toolTipsToHide.delete(hideCallback)) _this.lastHiddenAt = Date.now();
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Resets all internal state. Primarily intended for tests, so that a
|
|
60
|
+
* tooltip shown in one test doesn't leak into the next (the manager is a
|
|
61
|
+
* module-level singleton).
|
|
62
|
+
*/
|
|
63
|
+
(0, _defineProperty2.default)(this, "reset", function () {
|
|
64
|
+
_this.toolTipsToHide.clear();
|
|
65
|
+
_this.lastHiddenAt = null;
|
|
41
66
|
});
|
|
42
67
|
});
|
|
43
68
|
var toolTipManager = exports.toolTipManager = new ToolTipManager();
|