@elastic/eui 71.1.0 → 72.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eui_theme_dark.css +20 -28
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +20 -28
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +160 -173
- package/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
- package/es/components/date_picker/super_date_picker/super_date_picker.js +16 -0
- package/es/components/error_boundary/error_boundary.a11y.js +67 -0
- package/es/components/expression/expression.a11y.js +254 -0
- package/es/components/filter_group/filter_group.a11y.js +281 -0
- package/es/components/focus_trap/focus_trap.a11y.js +131 -0
- package/es/components/form/file_picker/file_picker.js +1 -0
- package/es/components/header/header.a11y.js +374 -0
- package/es/components/icon/icon_ML.a11y.js +33 -0
- package/es/components/icon/icon_apps.a11y.js +33 -0
- package/es/components/icon/icon_editor.a11y.js +33 -0
- package/es/components/icon/icon_elastic.a11y.js +33 -0
- package/es/components/icon/icon_glyphs.a11y.js +33 -0
- package/es/components/icon/icon_tokens.a11y.js +33 -0
- package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
- package/es/components/selectable/selectable.js +4 -3
- package/es/components/selectable/selectable_list/selectable_list.js +17 -5
- package/es/components/tabs/tab.js +7 -17
- package/es/components/tabs/tabbed_content/tabbed_content.js +0 -16
- package/es/components/tabs/tabs.js +7 -11
- package/es/components/tabs/tabs_context.js +13 -0
- package/eui.d.ts +41 -32
- package/i18ntokens.json +30 -14
- package/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +155 -168
- package/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +16 -0
- package/lib/components/error_boundary/error_boundary.a11y.js +75 -0
- package/lib/components/expression/expression.a11y.js +262 -0
- package/lib/components/filter_group/filter_group.a11y.js +287 -0
- package/lib/components/focus_trap/focus_trap.a11y.js +140 -0
- package/lib/components/form/file_picker/file_picker.js +1 -0
- package/lib/components/header/header.a11y.js +385 -0
- package/lib/components/icon/icon_ML.a11y.js +40 -0
- package/lib/components/icon/icon_apps.a11y.js +40 -0
- package/lib/components/icon/icon_editor.a11y.js +40 -0
- package/lib/components/icon/icon_elastic.a11y.js +40 -0
- package/lib/components/icon/icon_glyphs.a11y.js +40 -0
- package/lib/components/icon/icon_tokens.a11y.js +40 -0
- package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
- package/lib/components/selectable/selectable.js +4 -3
- package/lib/components/selectable/selectable_list/selectable_list.js +17 -5
- package/lib/components/tabs/tab.js +14 -17
- package/lib/components/tabs/tabbed_content/tabbed_content.js +0 -16
- package/lib/components/tabs/tabs.js +8 -14
- package/lib/components/tabs/tabs_context.js +23 -0
- package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +145 -169
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
- package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +2 -0
- package/optimize/es/components/error_boundary/error_boundary.a11y.js +67 -0
- package/optimize/es/components/expression/expression.a11y.js +243 -0
- package/optimize/es/components/filter_group/filter_group.a11y.js +271 -0
- package/optimize/es/components/focus_trap/focus_trap.a11y.js +120 -0
- package/optimize/es/components/form/file_picker/file_picker.js +1 -0
- package/optimize/es/components/header/header.a11y.js +364 -0
- package/optimize/es/components/icon/icon_ML.a11y.js +33 -0
- package/optimize/es/components/icon/icon_apps.a11y.js +33 -0
- package/optimize/es/components/icon/icon_editor.a11y.js +33 -0
- package/optimize/es/components/icon/icon_elastic.a11y.js +33 -0
- package/optimize/es/components/icon/icon_glyphs.a11y.js +33 -0
- package/optimize/es/components/icon/icon_tokens.a11y.js +33 -0
- package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
- package/optimize/es/components/selectable/selectable.js +2 -2
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +15 -4
- package/optimize/es/components/tabs/tab.js +7 -5
- package/optimize/es/components/tabs/tabs.js +7 -11
- package/optimize/es/components/tabs/tabs_context.js +13 -0
- package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +146 -167
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
- package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -0
- package/optimize/lib/components/error_boundary/error_boundary.a11y.js +75 -0
- package/optimize/lib/components/expression/expression.a11y.js +254 -0
- package/optimize/lib/components/filter_group/filter_group.a11y.js +287 -0
- package/optimize/lib/components/focus_trap/focus_trap.a11y.js +140 -0
- package/optimize/lib/components/form/file_picker/file_picker.js +1 -0
- package/optimize/lib/components/header/header.a11y.js +385 -0
- package/optimize/lib/components/icon/icon_ML.a11y.js +40 -0
- package/optimize/lib/components/icon/icon_apps.a11y.js +40 -0
- package/optimize/lib/components/icon/icon_editor.a11y.js +40 -0
- package/optimize/lib/components/icon/icon_elastic.a11y.js +40 -0
- package/optimize/lib/components/icon/icon_glyphs.a11y.js +40 -0
- package/optimize/lib/components/icon/icon_tokens.a11y.js +40 -0
- package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
- package/optimize/lib/components/selectable/selectable.js +2 -2
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +15 -4
- package/optimize/lib/components/tabs/tab.js +15 -5
- package/optimize/lib/components/tabs/tabs.js +8 -14
- package/optimize/lib/components/tabs/tabs_context.js +23 -0
- package/package.json +4 -6
- package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +14 -0
- package/src/components/form/file_picker/_file_picker.scss +14 -14
- package/test-env/components/date_picker/auto_refresh/refresh_interval.js +3 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +153 -166
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +16 -0
- package/test-env/components/error_boundary/error_boundary.a11y.js +75 -0
- package/test-env/components/expression/expression.a11y.js +254 -0
- package/test-env/components/filter_group/filter_group.a11y.js +287 -0
- package/test-env/components/focus_trap/focus_trap.a11y.js +140 -0
- package/test-env/components/form/file_picker/file_picker.js +1 -0
- package/test-env/components/header/header.a11y.js +385 -0
- package/test-env/components/icon/icon_ML.a11y.js +40 -0
- package/test-env/components/icon/icon_apps.a11y.js +40 -0
- package/test-env/components/icon/icon_editor.a11y.js +40 -0
- package/test-env/components/icon/icon_elastic.a11y.js +40 -0
- package/test-env/components/icon/icon_glyphs.a11y.js +40 -0
- package/test-env/components/icon/icon_tokens.a11y.js +40 -0
- package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
- package/test-env/components/selectable/selectable.js +4 -3
- package/test-env/components/selectable/selectable_list/selectable_list.js +17 -5
- package/test-env/components/tabs/tab.js +15 -17
- package/test-env/components/tabs/tabbed_content/tabbed_content.js +0 -16
- package/test-env/components/tabs/tabs.js +8 -14
- package/test-env/components/tabs/tabs_context.js +23 -0
|
@@ -226,7 +226,9 @@ export var EuiRefreshInterval = /*#__PURE__*/function (_Component) {
|
|
|
226
226
|
units = _this$state5.units;
|
|
227
227
|
return ___EmotionJSX(RenderI18nTimeOptions, null, function (_ref3) {
|
|
228
228
|
var refreshUnitsOptions = _ref3.refreshUnitsOptions;
|
|
229
|
-
return ___EmotionJSX("fieldset",
|
|
229
|
+
return ___EmotionJSX("fieldset", {
|
|
230
|
+
className: "euiQuickSelectPopover__panel"
|
|
231
|
+
}, ___EmotionJSX(EuiFlexGroup, {
|
|
230
232
|
alignItems: "center",
|
|
231
233
|
gutterSize: "s",
|
|
232
234
|
responsive: false,
|
|
@@ -39,10 +39,13 @@ export var EuiCommonlyUsedTimeRanges = function EuiCommonlyUsedTimeRanges(_ref)
|
|
|
39
39
|
"data-test-subj": dataTestSubj
|
|
40
40
|
}, label));
|
|
41
41
|
});
|
|
42
|
-
return ___EmotionJSX("fieldset",
|
|
42
|
+
return ___EmotionJSX("fieldset", {
|
|
43
|
+
className: "euiQuickSelectPopover__panel"
|
|
44
|
+
}, ___EmotionJSX(EuiTitle, {
|
|
43
45
|
size: "xxxs"
|
|
44
46
|
}, ___EmotionJSX("legend", {
|
|
45
|
-
id: legendId
|
|
47
|
+
id: legendId,
|
|
48
|
+
className: "euiQuickSelectPopover__panelTitle"
|
|
46
49
|
}, ___EmotionJSX(EuiI18n, {
|
|
47
50
|
token: "euiCommonlyUsedTimeRanges.legend",
|
|
48
51
|
default: "Commonly used"
|
|
@@ -186,7 +186,9 @@ export var EuiQuickSelect = /*#__PURE__*/function (_Component) {
|
|
|
186
186
|
return value === timeUnits;
|
|
187
187
|
});
|
|
188
188
|
var timeUnit = matchedTimeUnit ? matchedTimeUnit.text : '';
|
|
189
|
-
return ___EmotionJSX("fieldset",
|
|
189
|
+
return ___EmotionJSX("fieldset", {
|
|
190
|
+
className: "euiQuickSelectPopover__panel"
|
|
191
|
+
}, ___EmotionJSX(EuiI18n, {
|
|
190
192
|
token: "euiQuickSelect.legendText",
|
|
191
193
|
default: "Quick select a time range"
|
|
192
194
|
}, function (legendText) {
|
package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js
CHANGED
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
var _excluded = ["applyTime"];
|
|
2
2
|
|
|
3
|
-
function
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
6
|
|
|
7
|
-
function
|
|
7
|
+
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."); }
|
|
8
8
|
|
|
9
|
-
function
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
10
|
|
|
11
|
-
function
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
12
|
|
|
13
|
-
function
|
|
13
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
14
14
|
|
|
15
|
-
function
|
|
15
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
16
|
|
|
17
|
-
function
|
|
17
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
18
18
|
|
|
19
|
-
function
|
|
20
|
-
|
|
21
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
-
|
|
23
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
24
20
|
|
|
25
21
|
/*
|
|
26
22
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -29,181 +25,91 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
29
25
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
30
26
|
* Side Public License, v 1.
|
|
31
27
|
*/
|
|
32
|
-
import React, {
|
|
28
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
33
29
|
import PropTypes from "prop-types";
|
|
34
30
|
import { EuiButtonEmpty } from '../../../button';
|
|
35
31
|
import { EuiIcon } from '../../../icon';
|
|
36
32
|
import { EuiPopover } from '../../../popover';
|
|
37
33
|
import { EuiTitle } from '../../../title';
|
|
38
|
-
import { EuiHorizontalRule } from '../../../horizontal_rule';
|
|
39
34
|
import { EuiText } from '../../../text';
|
|
35
|
+
import { useEuiI18n } from '../../../i18n';
|
|
40
36
|
import { EuiQuickSelect } from './quick_select';
|
|
41
37
|
import { EuiCommonlyUsedTimeRanges } from './commonly_used_time_ranges';
|
|
42
38
|
import { EuiRecentlyUsed } from './recently_used';
|
|
43
39
|
import { EuiRefreshInterval } from '../../auto_refresh/refresh_interval';
|
|
44
40
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
45
|
-
export var EuiQuickSelectPopover =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
_defineProperty(_assertThisInitialized(_this), "closePopover", function () {
|
|
66
|
-
_this.setState({
|
|
67
|
-
isOpen: false
|
|
68
|
-
});
|
|
41
|
+
export var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
|
|
42
|
+
var _applyTime = _ref.applyTime,
|
|
43
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
44
|
+
|
|
45
|
+
var _useState = useState(),
|
|
46
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
47
|
+
prevQuickSelect = _useState2[0],
|
|
48
|
+
setQuickSelect = _useState2[1];
|
|
49
|
+
|
|
50
|
+
var _useState3 = useState(false),
|
|
51
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
|
+
isOpen = _useState4[0],
|
|
53
|
+
setIsOpen = _useState4[1];
|
|
54
|
+
|
|
55
|
+
var closePopover = useCallback(function () {
|
|
56
|
+
return setIsOpen(false);
|
|
57
|
+
}, []);
|
|
58
|
+
var togglePopover = useCallback(function () {
|
|
59
|
+
return setIsOpen(function (isOpen) {
|
|
60
|
+
return !isOpen;
|
|
69
61
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
end = _ref.end,
|
|
82
|
-
quickSelect = _ref.quickSelect,
|
|
83
|
-
_ref$keepPopoverOpen = _ref.keepPopoverOpen,
|
|
84
|
-
keepPopoverOpen = _ref$keepPopoverOpen === void 0 ? false : _ref$keepPopoverOpen;
|
|
85
|
-
|
|
86
|
-
_this.props.applyTime({
|
|
87
|
-
start: start,
|
|
88
|
-
end: end
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
if (quickSelect) {
|
|
92
|
-
_this.setState({
|
|
93
|
-
prevQuickSelect: quickSelect
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (!keepPopoverOpen) {
|
|
98
|
-
_this.closePopover();
|
|
99
|
-
}
|
|
62
|
+
}, []);
|
|
63
|
+
var applyTime = useCallback(function (_ref2) {
|
|
64
|
+
var start = _ref2.start,
|
|
65
|
+
end = _ref2.end,
|
|
66
|
+
quickSelect = _ref2.quickSelect,
|
|
67
|
+
_ref2$keepPopoverOpen = _ref2.keepPopoverOpen,
|
|
68
|
+
keepPopoverOpen = _ref2$keepPopoverOpen === void 0 ? false : _ref2$keepPopoverOpen;
|
|
69
|
+
|
|
70
|
+
_applyTime({
|
|
71
|
+
start: start,
|
|
72
|
+
end: end
|
|
100
73
|
});
|
|
101
74
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
commonlyUsedRanges = _this$props.commonlyUsedRanges,
|
|
105
|
-
dateFormat = _this$props.dateFormat,
|
|
106
|
-
end = _this$props.end,
|
|
107
|
-
recentlyUsedRanges = _this$props.recentlyUsedRanges,
|
|
108
|
-
start = _this$props.start,
|
|
109
|
-
timeOptions = _this$props.timeOptions;
|
|
110
|
-
var prevQuickSelect = _this.state.prevQuickSelect;
|
|
111
|
-
return ___EmotionJSX(Fragment, null, ___EmotionJSX(EuiQuickSelect, {
|
|
112
|
-
applyTime: _this.applyTime,
|
|
113
|
-
start: start,
|
|
114
|
-
end: end,
|
|
115
|
-
prevQuickSelect: prevQuickSelect,
|
|
116
|
-
timeOptions: timeOptions
|
|
117
|
-
}), commonlyUsedRanges.length > 0 && ___EmotionJSX(EuiHorizontalRule, {
|
|
118
|
-
margin: "s"
|
|
119
|
-
}), ___EmotionJSX(EuiCommonlyUsedTimeRanges, {
|
|
120
|
-
applyTime: _this.applyTime,
|
|
121
|
-
commonlyUsedRanges: commonlyUsedRanges
|
|
122
|
-
}), recentlyUsedRanges.length > 0 && ___EmotionJSX(EuiHorizontalRule, {
|
|
123
|
-
margin: "s"
|
|
124
|
-
}), ___EmotionJSX(EuiRecentlyUsed, {
|
|
125
|
-
applyTime: _this.applyTime,
|
|
126
|
-
commonlyUsedRanges: commonlyUsedRanges,
|
|
127
|
-
dateFormat: dateFormat,
|
|
128
|
-
recentlyUsedRanges: recentlyUsedRanges
|
|
129
|
-
}), _this.renderCustomQuickSelectPanels());
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
_defineProperty(_assertThisInitialized(_this), "renderCustomQuickSelectPanels", function () {
|
|
133
|
-
var customQuickSelectPanels = _this.props.customQuickSelectPanels;
|
|
134
|
-
|
|
135
|
-
if (!customQuickSelectPanels) {
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return customQuickSelectPanels.map(function (_ref2) {
|
|
140
|
-
var title = _ref2.title,
|
|
141
|
-
content = _ref2.content;
|
|
142
|
-
return ___EmotionJSX(Fragment, {
|
|
143
|
-
key: title
|
|
144
|
-
}, ___EmotionJSX(EuiHorizontalRule, {
|
|
145
|
-
margin: "s"
|
|
146
|
-
}), ___EmotionJSX(EuiTitle, {
|
|
147
|
-
size: "xxxs"
|
|
148
|
-
}, ___EmotionJSX("span", null, title)), ___EmotionJSX(EuiText, {
|
|
149
|
-
size: "s",
|
|
150
|
-
className: "euiQuickSelectPopover__section"
|
|
151
|
-
}, /*#__PURE__*/React.cloneElement(content, {
|
|
152
|
-
applyTime: _this.applyTime
|
|
153
|
-
})));
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
return _this;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
_createClass(EuiQuickSelectPopover, [{
|
|
161
|
-
key: "render",
|
|
162
|
-
value: function render() {
|
|
163
|
-
var _this$props2 = this.props,
|
|
164
|
-
applyRefreshInterval = _this$props2.applyRefreshInterval,
|
|
165
|
-
isDisabled = _this$props2.isDisabled,
|
|
166
|
-
isPaused = _this$props2.isPaused,
|
|
167
|
-
refreshInterval = _this$props2.refreshInterval;
|
|
168
|
-
var isOpen = this.state.isOpen;
|
|
169
|
-
|
|
170
|
-
var quickSelectButton = ___EmotionJSX(EuiButtonEmpty, {
|
|
171
|
-
className: "euiFormControlLayout__prepend",
|
|
172
|
-
textProps: {
|
|
173
|
-
className: 'euiQuickSelectPopover__buttonText'
|
|
174
|
-
},
|
|
175
|
-
onClick: this.togglePopover,
|
|
176
|
-
"aria-label": "Date quick select",
|
|
177
|
-
size: "xs",
|
|
178
|
-
iconType: "arrowDown",
|
|
179
|
-
iconSide: "right",
|
|
180
|
-
isDisabled: isDisabled,
|
|
181
|
-
"data-test-subj": "superDatePickerToggleQuickMenuButton"
|
|
182
|
-
}, ___EmotionJSX(EuiIcon, {
|
|
183
|
-
type: "calendar"
|
|
184
|
-
}));
|
|
185
|
-
|
|
186
|
-
return ___EmotionJSX(EuiPopover, {
|
|
187
|
-
button: quickSelectButton,
|
|
188
|
-
isOpen: isOpen,
|
|
189
|
-
closePopover: this.closePopover,
|
|
190
|
-
anchorPosition: "downLeft",
|
|
191
|
-
anchorClassName: "euiQuickSelectPopover__anchor"
|
|
192
|
-
}, ___EmotionJSX("div", {
|
|
193
|
-
className: "euiQuickSelectPopover__content",
|
|
194
|
-
"data-test-subj": "superDatePickerQuickMenu"
|
|
195
|
-
}, this.renderDateTimeSections(), applyRefreshInterval && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiHorizontalRule, {
|
|
196
|
-
margin: "s"
|
|
197
|
-
}), ___EmotionJSX(EuiRefreshInterval, {
|
|
198
|
-
onRefreshChange: applyRefreshInterval,
|
|
199
|
-
isPaused: isPaused,
|
|
200
|
-
refreshInterval: refreshInterval
|
|
201
|
-
}))));
|
|
75
|
+
if (quickSelect) {
|
|
76
|
+
setQuickSelect(quickSelect);
|
|
202
77
|
}
|
|
203
|
-
}]);
|
|
204
78
|
|
|
205
|
-
|
|
206
|
-
|
|
79
|
+
if (!keepPopoverOpen) {
|
|
80
|
+
closePopover();
|
|
81
|
+
}
|
|
82
|
+
}, [_applyTime, closePopover]);
|
|
83
|
+
var buttonlabel = useEuiI18n('euiQuickSelectPopover.buttonLabel', 'Date quick select');
|
|
84
|
+
|
|
85
|
+
var quickSelectButton = ___EmotionJSX(EuiButtonEmpty, {
|
|
86
|
+
className: "euiFormControlLayout__prepend",
|
|
87
|
+
textProps: {
|
|
88
|
+
className: 'euiQuickSelectPopover__buttonText'
|
|
89
|
+
},
|
|
90
|
+
onClick: togglePopover,
|
|
91
|
+
"aria-label": buttonlabel,
|
|
92
|
+
title: buttonlabel,
|
|
93
|
+
size: "xs",
|
|
94
|
+
iconType: "arrowDown",
|
|
95
|
+
iconSide: "right",
|
|
96
|
+
isDisabled: props.isDisabled,
|
|
97
|
+
"data-test-subj": "superDatePickerToggleQuickMenuButton"
|
|
98
|
+
}, ___EmotionJSX(EuiIcon, {
|
|
99
|
+
type: "calendar"
|
|
100
|
+
}));
|
|
101
|
+
|
|
102
|
+
return ___EmotionJSX(EuiPopover, {
|
|
103
|
+
button: quickSelectButton,
|
|
104
|
+
isOpen: isOpen,
|
|
105
|
+
closePopover: closePopover,
|
|
106
|
+
anchorPosition: "downLeft",
|
|
107
|
+
anchorClassName: "euiQuickSelectPopover__anchor"
|
|
108
|
+
}, ___EmotionJSX(EuiQuickSelectPanels, _extends({}, props, {
|
|
109
|
+
applyTime: applyTime,
|
|
110
|
+
prevQuickSelect: prevQuickSelect
|
|
111
|
+
})));
|
|
112
|
+
};
|
|
207
113
|
EuiQuickSelectPopover.propTypes = {
|
|
208
114
|
applyRefreshInterval: PropTypes.func,
|
|
209
115
|
applyTime: PropTypes.func.isRequired,
|
|
@@ -216,6 +122,7 @@ EuiQuickSelectPopover.propTypes = {
|
|
|
216
122
|
title: PropTypes.string.isRequired,
|
|
217
123
|
content: PropTypes.element.isRequired
|
|
218
124
|
}).isRequired),
|
|
125
|
+
customQuickSelectRender: PropTypes.func,
|
|
219
126
|
dateFormat: PropTypes.string.isRequired,
|
|
220
127
|
end: PropTypes.string.isRequired,
|
|
221
128
|
isDisabled: PropTypes.bool.isRequired,
|
|
@@ -242,4 +149,84 @@ EuiQuickSelectPopover.propTypes = {
|
|
|
242
149
|
start: PropTypes.oneOfType([PropTypes.oneOf(["now"]), PropTypes.string.isRequired]).isRequired
|
|
243
150
|
}).isRequired).isRequired
|
|
244
151
|
}).isRequired
|
|
152
|
+
};
|
|
153
|
+
export var EuiQuickSelectPanels = function EuiQuickSelectPanels(_ref3) {
|
|
154
|
+
var start = _ref3.start,
|
|
155
|
+
end = _ref3.end,
|
|
156
|
+
dateFormat = _ref3.dateFormat,
|
|
157
|
+
timeOptions = _ref3.timeOptions,
|
|
158
|
+
commonlyUsedRanges = _ref3.commonlyUsedRanges,
|
|
159
|
+
recentlyUsedRanges = _ref3.recentlyUsedRanges,
|
|
160
|
+
customQuickSelectPanels = _ref3.customQuickSelectPanels,
|
|
161
|
+
customQuickSelectRender = _ref3.customQuickSelectRender,
|
|
162
|
+
isPaused = _ref3.isPaused,
|
|
163
|
+
refreshInterval = _ref3.refreshInterval,
|
|
164
|
+
applyRefreshInterval = _ref3.applyRefreshInterval,
|
|
165
|
+
applyTime = _ref3.applyTime,
|
|
166
|
+
prevQuickSelect = _ref3.prevQuickSelect;
|
|
167
|
+
|
|
168
|
+
var quickSelectElement = ___EmotionJSX(EuiQuickSelect, {
|
|
169
|
+
applyTime: applyTime,
|
|
170
|
+
start: start,
|
|
171
|
+
end: end,
|
|
172
|
+
prevQuickSelect: prevQuickSelect,
|
|
173
|
+
timeOptions: timeOptions
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
var commonlyUsedElement = ___EmotionJSX(EuiCommonlyUsedTimeRanges, {
|
|
177
|
+
applyTime: applyTime,
|
|
178
|
+
commonlyUsedRanges: commonlyUsedRanges
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
var recentlyUsedElement = ___EmotionJSX(EuiRecentlyUsed, {
|
|
182
|
+
applyTime: applyTime,
|
|
183
|
+
commonlyUsedRanges: commonlyUsedRanges,
|
|
184
|
+
dateFormat: dateFormat,
|
|
185
|
+
recentlyUsedRanges: recentlyUsedRanges
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
var refreshIntervalElement = applyRefreshInterval && ___EmotionJSX(EuiRefreshInterval, {
|
|
189
|
+
onRefreshChange: applyRefreshInterval,
|
|
190
|
+
isPaused: isPaused,
|
|
191
|
+
refreshInterval: refreshInterval
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
var customQuickSelectPanelsElement = useMemo(function () {
|
|
195
|
+
if (!customQuickSelectPanels) {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return customQuickSelectPanels.map(function (_ref4) {
|
|
200
|
+
var title = _ref4.title,
|
|
201
|
+
content = _ref4.content;
|
|
202
|
+
return ___EmotionJSX("div", {
|
|
203
|
+
key: title,
|
|
204
|
+
className: "euiQuickSelectPopover__panel"
|
|
205
|
+
}, ___EmotionJSX(EuiTitle, {
|
|
206
|
+
size: "xxxs"
|
|
207
|
+
}, ___EmotionJSX("span", null, title)), ___EmotionJSX(EuiText, {
|
|
208
|
+
size: "s",
|
|
209
|
+
className: "euiQuickSelectPopover__section"
|
|
210
|
+
}, /*#__PURE__*/React.cloneElement(content, {
|
|
211
|
+
applyTime: applyTime
|
|
212
|
+
})));
|
|
213
|
+
});
|
|
214
|
+
}, [customQuickSelectPanels, applyTime]);
|
|
215
|
+
return ___EmotionJSX("div", {
|
|
216
|
+
className: "euiQuickSelectPopover__content",
|
|
217
|
+
"data-test-subj": "superDatePickerQuickMenu"
|
|
218
|
+
}, customQuickSelectRender ? customQuickSelectRender({
|
|
219
|
+
quickSelect: quickSelectElement,
|
|
220
|
+
commonlyUsedRanges: commonlyUsedElement,
|
|
221
|
+
recentlyUsedRanges: recentlyUsedElement,
|
|
222
|
+
refreshInterval: refreshIntervalElement,
|
|
223
|
+
customQuickSelectPanels: customQuickSelectPanelsElement
|
|
224
|
+
}) : ___EmotionJSX(React.Fragment, null, quickSelectElement, commonlyUsedElement, recentlyUsedElement, refreshIntervalElement, customQuickSelectPanelsElement));
|
|
225
|
+
};
|
|
226
|
+
EuiQuickSelectPanels.propTypes = {
|
|
227
|
+
prevQuickSelect: PropTypes.shape({
|
|
228
|
+
timeTense: PropTypes.string.isRequired,
|
|
229
|
+
timeValue: PropTypes.number.isRequired,
|
|
230
|
+
timeUnits: PropTypes.oneOf(["s", "m", "h", "d", "w", "M", "y"]).isRequired
|
|
231
|
+
})
|
|
245
232
|
};
|
|
@@ -48,10 +48,13 @@ export var EuiRecentlyUsed = function EuiRecentlyUsed(_ref) {
|
|
|
48
48
|
dateFormat: dateFormat
|
|
49
49
|
})));
|
|
50
50
|
});
|
|
51
|
-
return ___EmotionJSX("fieldset",
|
|
51
|
+
return ___EmotionJSX("fieldset", {
|
|
52
|
+
className: "euiQuickSelectPopover__panel"
|
|
53
|
+
}, ___EmotionJSX(EuiTitle, {
|
|
52
54
|
size: "xxxs"
|
|
53
55
|
}, ___EmotionJSX("legend", {
|
|
54
|
-
id: legendId
|
|
56
|
+
id: legendId,
|
|
57
|
+
className: "euiQuickSelectPopover__panelTitle"
|
|
55
58
|
}, ___EmotionJSX(EuiI18n, {
|
|
56
59
|
token: "euiRecentlyUsed.legend",
|
|
57
60
|
default: "Recently used date ranges"
|
|
@@ -398,6 +398,7 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
|
|
|
398
398
|
commonlyUsedRanges = _this$props5.commonlyUsedRanges,
|
|
399
399
|
timeOptions = _this$props5.timeOptions,
|
|
400
400
|
customQuickSelectPanels = _this$props5.customQuickSelectPanels,
|
|
401
|
+
customQuickSelectRender = _this$props5.customQuickSelectRender,
|
|
401
402
|
dateFormat = _this$props5.dateFormat,
|
|
402
403
|
end = _this$props5.end,
|
|
403
404
|
isAutoRefreshOnly = _this$props5.isAutoRefreshOnly,
|
|
@@ -429,6 +430,7 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
|
|
|
429
430
|
applyTime: this.applyQuickTime,
|
|
430
431
|
commonlyUsedRanges: commonlyUsedRanges,
|
|
431
432
|
customQuickSelectPanels: customQuickSelectPanels,
|
|
433
|
+
customQuickSelectRender: customQuickSelectRender,
|
|
432
434
|
dateFormat: dateFormat,
|
|
433
435
|
end: end,
|
|
434
436
|
isDisabled: isDisabled,
|
|
@@ -529,6 +531,13 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
529
531
|
content: PropTypes.element.isRequired
|
|
530
532
|
}).isRequired),
|
|
531
533
|
|
|
534
|
+
/**
|
|
535
|
+
* An optional render prop function that allows customizing the display of the Quick Select menu.
|
|
536
|
+
* This function passes all default quick select panels within an object, allowing you to
|
|
537
|
+
* re-order panels, omit certain panels entirely, or pass in your own fully custom content.
|
|
538
|
+
*/
|
|
539
|
+
customQuickSelectRender: PropTypes.func,
|
|
540
|
+
|
|
532
541
|
/**
|
|
533
542
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
534
543
|
*/
|
|
@@ -741,6 +750,13 @@ EuiSuperDatePicker.propTypes = {
|
|
|
741
750
|
content: PropTypes.element.isRequired
|
|
742
751
|
}).isRequired),
|
|
743
752
|
|
|
753
|
+
/**
|
|
754
|
+
* An optional render prop function that allows customizing the display of the Quick Select menu.
|
|
755
|
+
* This function passes all default quick select panels within an object, allowing you to
|
|
756
|
+
* re-order panels, omit certain panels entirely, or pass in your own fully custom content.
|
|
757
|
+
*/
|
|
758
|
+
customQuickSelectRender: PropTypes.func,
|
|
759
|
+
|
|
744
760
|
/**
|
|
745
761
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
746
762
|
*/
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
/// <reference types="../../../cypress/support"/>
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { EuiButton } from '../button';
|
|
11
|
+
import { EuiErrorBoundary } from './error_boundary';
|
|
12
|
+
import { EuiSpacer } from '../spacer';
|
|
13
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
14
|
+
|
|
15
|
+
var handleFocus = function handleFocus() {
|
|
16
|
+
var target = document.querySelector('pre.euiCodeBlock__pre');
|
|
17
|
+
target.focus();
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
describe('EuiErrorBoundary', function () {
|
|
21
|
+
describe('Automated accessibility check when an error is thrown', function () {
|
|
22
|
+
var BadComponent = function BadComponent() {
|
|
23
|
+
throw new Error('Throw the error.');
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
beforeEach(function () {
|
|
27
|
+
cy.on('uncaught:exception', function (err) {
|
|
28
|
+
if (err.message.includes('Throw the error')) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
cy.viewport(1024, 768); // medium breakpoint
|
|
33
|
+
|
|
34
|
+
cy.realMount(___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiButton, {
|
|
35
|
+
color: "primary",
|
|
36
|
+
onClick: handleFocus,
|
|
37
|
+
"data-test-subj": "cy-error-boundary-button"
|
|
38
|
+
}, "Press to focus"), ___EmotionJSX(EuiSpacer, null), ___EmotionJSX(EuiErrorBoundary, null, ___EmotionJSX(BadComponent, null))));
|
|
39
|
+
});
|
|
40
|
+
it('has zero violations on first render', function () {
|
|
41
|
+
cy.checkAxe();
|
|
42
|
+
});
|
|
43
|
+
it('has zero violations and accepts focus when the button is pressed', function () {
|
|
44
|
+
cy.realPress('Tab');
|
|
45
|
+
cy.realPress('Enter');
|
|
46
|
+
cy.get('pre.euiCodeBlock__pre').should('have.focus');
|
|
47
|
+
cy.checkAxe();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('Automated accessibility check when no error is thrown', function () {
|
|
51
|
+
var GoodComponent = function GoodComponent() {
|
|
52
|
+
return ___EmotionJSX("div", {
|
|
53
|
+
"data-test-subj": "cy-good-component"
|
|
54
|
+
}, "This is a properly rendered component.");
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
beforeEach(function () {
|
|
58
|
+
cy.viewport(1024, 768); // medium breakpoint
|
|
59
|
+
|
|
60
|
+
cy.realMount(___EmotionJSX(EuiErrorBoundary, null, ___EmotionJSX(GoodComponent, null)));
|
|
61
|
+
});
|
|
62
|
+
it('has zero violations when no violations are thrown', function () {
|
|
63
|
+
cy.get('div[data-test-subj="cy-good-component"]').should('exist');
|
|
64
|
+
cy.checkAxe();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
});
|