@elastic/eui 116.3.0 → 116.3.1-snapshot.1782148316870
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/date_picker/date_picker.js +1 -1
- 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/field_password/field_password.styles.js +1 -1
- package/es/components/form/field_search/field_search.styles.js +1 -1
- package/es/components/form/form.styles.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
- package/es/components/form/select/select.styles.js +1 -1
- package/es/components/form/text_area/text_area.styles.js +1 -1
- package/es/components/form/validatable_control/validatable_control.js +8 -55
- 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/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 +679 -530
- package/i18ntokens.json +810 -738
- 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/date_picker/date_picker.js +1 -1
- 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/field_password/field_password.styles.js +1 -1
- package/lib/components/form/field_search/field_search.styles.js +1 -1
- package/lib/components/form/form.styles.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
- package/lib/components/form/select/select.styles.js +1 -1
- package/lib/components/form/text_area/text_area.styles.js +1 -1
- package/lib/components/form/validatable_control/validatable_control.js +7 -52
- 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/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/date_picker/date_picker.js +1 -1
- 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/field_password/field_password.styles.js +1 -1
- package/optimize/es/components/form/field_search/field_search.styles.js +1 -1
- package/optimize/es/components/form/form.styles.js +1 -1
- package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
- package/optimize/es/components/form/select/select.styles.js +1 -1
- package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
- package/optimize/es/components/form/validatable_control/validatable_control.js +7 -48
- 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/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/date_picker/date_picker.js +1 -1
- 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/field_password/field_password.styles.js +1 -1
- package/optimize/lib/components/form/field_search/field_search.styles.js +1 -1
- package/optimize/lib/components/form/form.styles.js +1 -1
- package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
- package/optimize/lib/components/form/select/select.styles.js +1 -1
- package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
- package/optimize/lib/components/form/validatable_control/validatable_control.js +6 -49
- 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/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 +8 -5
- 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/date_picker/date_picker.js +1 -1
- 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/field_password/field_password.styles.js +1 -1
- package/test-env/components/form/field_search/field_search.styles.js +1 -1
- package/test-env/components/form/form.styles.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
- package/test-env/components/form/select/select.styles.js +1 -1
- package/test-env/components/form/text_area/text_area.styles.js +1 -1
- package/test-env/components/form/validatable_control/validatable_control.js +6 -48
- 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/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
|
@@ -7,15 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.EuiTableSortMobile = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
14
|
var _button_empty = require("../../button/button_empty");
|
|
21
15
|
var _popover = require("../../popover");
|
|
@@ -24,101 +18,70 @@ var _i18n = require("../../i18n");
|
|
|
24
18
|
var _table_sort_mobile_item = require("./table_sort_mobile_item");
|
|
25
19
|
var _react2 = require("@emotion/react");
|
|
26
20
|
var _excluded = ["className", "anchorPosition", "items"];
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
30
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
|
|
21
|
+
/*
|
|
31
22
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
32
23
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
33
24
|
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
34
25
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
35
26
|
* Side Public License, v 1.
|
|
36
27
|
*/
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
(0,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
// Aligns the button to the right even when it's the only element present
|
|
59
|
-
(0, _defineProperty2.default)(_this, "euiTableSortMobileStyles", {
|
|
60
|
-
marginInlineStart: 'auto',
|
|
61
|
-
label: 'euiTableSortMobile'
|
|
28
|
+
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); }
|
|
29
|
+
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; }
|
|
30
|
+
// Aligns the button to the right even when it's the only element present
|
|
31
|
+
var euiTableSortMobileStyles = {
|
|
32
|
+
marginInlineStart: 'auto',
|
|
33
|
+
label: 'euiTableSortMobile'
|
|
34
|
+
};
|
|
35
|
+
var EuiTableSortMobile = exports.EuiTableSortMobile = function EuiTableSortMobile(_ref) {
|
|
36
|
+
var className = _ref.className,
|
|
37
|
+
anchorPosition = _ref.anchorPosition,
|
|
38
|
+
items = _ref.items,
|
|
39
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
40
|
+
var _useState = (0, _react.useState)(false),
|
|
41
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
42
|
+
isPopoverOpen = _useState2[0],
|
|
43
|
+
setIsPopoverOpen = _useState2[1];
|
|
44
|
+
var classes = (0, _classnames.default)('euiTableSortMobile', className);
|
|
45
|
+
var onButtonClick = function onButtonClick() {
|
|
46
|
+
setIsPopoverOpen(function (isOpen) {
|
|
47
|
+
return !isOpen;
|
|
62
48
|
});
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}) : undefined
|
|
103
|
-
}));
|
|
104
|
-
return (0, _react2.jsx)("div", {
|
|
105
|
-
className: classes,
|
|
106
|
-
css: this.euiTableSortMobileStyles
|
|
107
|
-
}, mobileSortPopover);
|
|
108
|
-
}
|
|
109
|
-
}]);
|
|
110
|
-
}(_react.Component);
|
|
111
|
-
EuiTableSortMobile.propTypes = {
|
|
112
|
-
anchorPosition: _propTypes.default.any,
|
|
113
|
-
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
114
|
-
name: _propTypes.default.node.isRequired,
|
|
115
|
-
key: _propTypes.default.any,
|
|
116
|
-
onSort: _propTypes.default.func,
|
|
117
|
-
isSorted: _propTypes.default.bool,
|
|
118
|
-
isSortAscending: _propTypes.default.bool
|
|
119
|
-
}).isRequired),
|
|
120
|
-
className: _propTypes.default.string,
|
|
121
|
-
"aria-label": _propTypes.default.string,
|
|
122
|
-
"data-test-subj": _propTypes.default.string,
|
|
123
|
-
css: _propTypes.default.any
|
|
124
|
-
};
|
|
49
|
+
};
|
|
50
|
+
var closePopover = function closePopover() {
|
|
51
|
+
setIsPopoverOpen(false);
|
|
52
|
+
};
|
|
53
|
+
var mobileSortButton = (0, _react2.jsx)(_button_empty.EuiButtonEmpty, {
|
|
54
|
+
iconType: "chevronSingleDown",
|
|
55
|
+
iconSide: "right",
|
|
56
|
+
onClick: onButtonClick,
|
|
57
|
+
flush: "right",
|
|
58
|
+
size: "xs"
|
|
59
|
+
}, (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
60
|
+
token: "euiTableSortMobile.sorting",
|
|
61
|
+
default: "Sorting"
|
|
62
|
+
}));
|
|
63
|
+
var mobileSortPopover = (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
|
|
64
|
+
button: mobileSortButton,
|
|
65
|
+
isOpen: isPopoverOpen,
|
|
66
|
+
closePopover: closePopover,
|
|
67
|
+
anchorPosition: anchorPosition || 'downRight',
|
|
68
|
+
panelPaddingSize: "none"
|
|
69
|
+
}, rest), (0, _react2.jsx)(_context_menu.EuiContextMenuPanel, {
|
|
70
|
+
style: {
|
|
71
|
+
minWidth: 200
|
|
72
|
+
},
|
|
73
|
+
items: items !== null && items !== void 0 && items.length ? items.map(function (item) {
|
|
74
|
+
return (0, _react2.jsx)(_table_sort_mobile_item.EuiTableSortMobileItem, {
|
|
75
|
+
key: item.key,
|
|
76
|
+
onSort: item.onSort,
|
|
77
|
+
isSorted: item.isSorted,
|
|
78
|
+
isSortAscending: item.isSortAscending
|
|
79
|
+
}, item.name);
|
|
80
|
+
}) : undefined
|
|
81
|
+
}));
|
|
82
|
+
return (0, _react2.jsx)("div", {
|
|
83
|
+
className: classes,
|
|
84
|
+
css: euiTableSortMobileStyles
|
|
85
|
+
}, mobileSortPopover);
|
|
86
|
+
};
|
|
87
|
+
EuiTableSortMobile.displayName = 'EuiTableSortMobile';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useEuiTableStoreUniqueColumnId = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _uuid = require("uuid");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
/*
|
|
13
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
14
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
15
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
16
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
17
|
+
* Side Public License, v 1.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
var useEuiTableStoreUniqueColumnIdFallback = function useEuiTableStoreUniqueColumnIdFallback() {
|
|
21
|
+
var ref = (0, _react.useRef)((0, _uuid.v4)());
|
|
22
|
+
return ref.current;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns a stable unique column ID to be used when registering columns.
|
|
27
|
+
* It uses `React.useId()` when available and falls back to UUID v4 on React 17.
|
|
28
|
+
*
|
|
29
|
+
* This is needed so that static `uuid` mocks don't break column registration
|
|
30
|
+
* (at least in React 18+; in older versions this function would need
|
|
31
|
+
* to be mocked to return something unique, but stable).
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
var useEuiTableStoreUniqueColumnId = exports.useEuiTableStoreUniqueColumnId = 'useId' in _react.default ? _react.useId : useEuiTableStoreUniqueColumnIdFallback;
|
|
@@ -13,7 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
var _services = require("../../services");
|
|
16
|
-
var _html_id_generator = require("../../services/accessibility/html_id_generator");
|
|
17
16
|
var _i18n = require("../i18n");
|
|
18
17
|
var _accessibility = require("../accessibility");
|
|
19
18
|
var _icon = require("../icon");
|
|
@@ -25,6 +24,7 @@ var _table_cell_content = require("./_table_cell_content");
|
|
|
25
24
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
26
25
|
var _provider = require("./store/provider");
|
|
27
26
|
var _sticky_header = require("./sticky_header");
|
|
27
|
+
var _use_unique_column_id = require("./store/use_unique_column_id");
|
|
28
28
|
var _react2 = require("@emotion/react");
|
|
29
29
|
var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "minWidth", "maxWidth", "style", "readOnly", "tooltipProps", "description", "append", "sticky"];
|
|
30
30
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -113,7 +113,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
113
113
|
sticky = _ref2.sticky,
|
|
114
114
|
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
115
115
|
var selfRef = (0, _react.useRef)(null);
|
|
116
|
-
var
|
|
116
|
+
var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
|
|
117
117
|
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
118
118
|
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
119
119
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
|
|
@@ -178,15 +178,15 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
178
178
|
if (!entry) {
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
|
-
store.updateColumnWidth(
|
|
182
|
-
}, [store,
|
|
181
|
+
store.updateColumnWidth(storeCellId, entry.contentRect.width);
|
|
182
|
+
}, [store, storeCellId]);
|
|
183
183
|
(0, _react.useEffect)(function () {
|
|
184
184
|
// Don't register the column inside the sticky header as the original
|
|
185
185
|
// column is already registered. This would cause an infinite loop.
|
|
186
186
|
if (isWithinStickyHeader || !selfRef.current || !renderHeaderCellRef.current) {
|
|
187
187
|
return;
|
|
188
188
|
}
|
|
189
|
-
var unregisterColumn = store.registerColumn(
|
|
189
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
190
190
|
renderHeaderCellRef: renderHeaderCellRef,
|
|
191
191
|
// getBoundingClientRect is not the cheapest, but we call it only once
|
|
192
192
|
currentWidth: selfRef.current.getBoundingClientRect().width
|
|
@@ -208,8 +208,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
208
208
|
unregisterColumn();
|
|
209
209
|
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
|
|
210
210
|
};
|
|
211
|
-
|
|
212
|
-
}, [store, internalCellId, isWithinStickyHeader]);
|
|
211
|
+
}, [store, isWithinStickyHeader, handleResize, storeCellId]);
|
|
213
212
|
|
|
214
213
|
// Notify the store on every render so the sticky header stays in sync.
|
|
215
214
|
// React's reconciliation will efficiently handle any duplicate renders.
|
|
@@ -224,7 +223,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
224
223
|
if (!selfRef.current) {
|
|
225
224
|
return;
|
|
226
225
|
}
|
|
227
|
-
store.updateColumn(
|
|
226
|
+
store.updateColumn(storeCellId, {
|
|
228
227
|
renderHeaderCellRef: renderHeaderCellRef
|
|
229
228
|
});
|
|
230
229
|
});
|
|
@@ -12,11 +12,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
14
|
var _services = require("../../services");
|
|
15
|
-
var _html_id_generator = require("../../services/accessibility/html_id_generator");
|
|
16
15
|
var _utils = require("./utils");
|
|
17
16
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
18
17
|
var _provider = require("./store/provider");
|
|
19
18
|
var _sticky_header = require("./sticky_header");
|
|
19
|
+
var _use_unique_column_id = require("./store/use_unique_column_id");
|
|
20
20
|
var _react2 = require("@emotion/react");
|
|
21
21
|
var _excluded = ["children", "className", "scope", "style", "width", "minWidth", "maxWidth", "append"];
|
|
22
22
|
/*
|
|
@@ -39,7 +39,7 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
|
|
|
39
39
|
maxWidth = props.maxWidth,
|
|
40
40
|
append = props.append,
|
|
41
41
|
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
42
|
-
var
|
|
42
|
+
var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
|
|
43
43
|
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
44
44
|
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
45
45
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
|
|
@@ -66,21 +66,20 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
|
|
|
66
66
|
if (isWithinStickyHeader) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
var unregisterColumn = store.registerColumn(
|
|
69
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
70
70
|
renderHeaderCellRef: renderHeaderCellRef
|
|
71
71
|
});
|
|
72
72
|
return function () {
|
|
73
73
|
unregisterColumn();
|
|
74
74
|
};
|
|
75
|
-
|
|
76
|
-
}, [store, internalCellId, isWithinStickyHeader]);
|
|
75
|
+
}, [store, isWithinStickyHeader, storeCellId]);
|
|
77
76
|
(0, _react.useEffect)(function () {
|
|
78
77
|
// Notify the store on every render so the sticky header stays in sync.
|
|
79
78
|
// React's reconciliation will efficiently handle any duplicate renders.
|
|
80
79
|
if (isWithinStickyHeader) {
|
|
81
80
|
return;
|
|
82
81
|
}
|
|
83
|
-
store.updateColumn(
|
|
82
|
+
store.updateColumn(storeCellId, {
|
|
84
83
|
renderHeaderCellRef: renderHeaderCellRef
|
|
85
84
|
});
|
|
86
85
|
});
|
|
@@ -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();
|