@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
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
-
|
|
9
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
|
-
|
|
11
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["applyTime"];
|
|
12
5
|
|
|
13
6
|
/*
|
|
14
7
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -17,177 +10,160 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
17
10
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
18
11
|
* Side Public License, v 1.
|
|
19
12
|
*/
|
|
20
|
-
import React, {
|
|
13
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
21
14
|
import { EuiButtonEmpty } from '../../../button';
|
|
22
15
|
import { EuiIcon } from '../../../icon';
|
|
23
16
|
import { EuiPopover } from '../../../popover';
|
|
24
17
|
import { EuiTitle } from '../../../title';
|
|
25
|
-
import { EuiHorizontalRule } from '../../../horizontal_rule';
|
|
26
18
|
import { EuiText } from '../../../text';
|
|
19
|
+
import { useEuiI18n } from '../../../i18n';
|
|
27
20
|
import { EuiQuickSelect } from './quick_select';
|
|
28
21
|
import { EuiCommonlyUsedTimeRanges } from './commonly_used_time_ranges';
|
|
29
22
|
import { EuiRecentlyUsed } from './recently_used';
|
|
30
23
|
import { EuiRefreshInterval } from '../../auto_refresh/refresh_interval';
|
|
31
24
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
32
|
-
export var EuiQuickSelectPopover =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
_defineProperty(_assertThisInitialized(_this), "closePopover", function () {
|
|
53
|
-
_this.setState({
|
|
54
|
-
isOpen: false
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
_defineProperty(_assertThisInitialized(_this), "togglePopover", function () {
|
|
59
|
-
_this.setState(function (prevState) {
|
|
60
|
-
return {
|
|
61
|
-
isOpen: !prevState.isOpen
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
_defineProperty(_assertThisInitialized(_this), "applyTime", function (_ref) {
|
|
67
|
-
var start = _ref.start,
|
|
68
|
-
end = _ref.end,
|
|
69
|
-
quickSelect = _ref.quickSelect,
|
|
70
|
-
_ref$keepPopoverOpen = _ref.keepPopoverOpen,
|
|
71
|
-
keepPopoverOpen = _ref$keepPopoverOpen === void 0 ? false : _ref$keepPopoverOpen;
|
|
72
|
-
|
|
73
|
-
_this.props.applyTime({
|
|
74
|
-
start: start,
|
|
75
|
-
end: end
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
if (quickSelect) {
|
|
79
|
-
_this.setState({
|
|
80
|
-
prevQuickSelect: quickSelect
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (!keepPopoverOpen) {
|
|
85
|
-
_this.closePopover();
|
|
86
|
-
}
|
|
25
|
+
export var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
|
|
26
|
+
var _applyTime = _ref.applyTime,
|
|
27
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
|
|
29
|
+
var _useState = useState(),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
prevQuickSelect = _useState2[0],
|
|
32
|
+
setQuickSelect = _useState2[1];
|
|
33
|
+
|
|
34
|
+
var _useState3 = useState(false),
|
|
35
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
36
|
+
isOpen = _useState4[0],
|
|
37
|
+
setIsOpen = _useState4[1];
|
|
38
|
+
|
|
39
|
+
var closePopover = useCallback(function () {
|
|
40
|
+
return setIsOpen(false);
|
|
41
|
+
}, []);
|
|
42
|
+
var togglePopover = useCallback(function () {
|
|
43
|
+
return setIsOpen(function (isOpen) {
|
|
44
|
+
return !isOpen;
|
|
87
45
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
applyTime: _this.applyTime,
|
|
100
|
-
start: start,
|
|
101
|
-
end: end,
|
|
102
|
-
prevQuickSelect: prevQuickSelect,
|
|
103
|
-
timeOptions: timeOptions
|
|
104
|
-
}), commonlyUsedRanges.length > 0 && ___EmotionJSX(EuiHorizontalRule, {
|
|
105
|
-
margin: "s"
|
|
106
|
-
}), ___EmotionJSX(EuiCommonlyUsedTimeRanges, {
|
|
107
|
-
applyTime: _this.applyTime,
|
|
108
|
-
commonlyUsedRanges: commonlyUsedRanges
|
|
109
|
-
}), recentlyUsedRanges.length > 0 && ___EmotionJSX(EuiHorizontalRule, {
|
|
110
|
-
margin: "s"
|
|
111
|
-
}), ___EmotionJSX(EuiRecentlyUsed, {
|
|
112
|
-
applyTime: _this.applyTime,
|
|
113
|
-
commonlyUsedRanges: commonlyUsedRanges,
|
|
114
|
-
dateFormat: dateFormat,
|
|
115
|
-
recentlyUsedRanges: recentlyUsedRanges
|
|
116
|
-
}), _this.renderCustomQuickSelectPanels());
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
_defineProperty(_assertThisInitialized(_this), "renderCustomQuickSelectPanels", function () {
|
|
120
|
-
var customQuickSelectPanels = _this.props.customQuickSelectPanels;
|
|
121
|
-
|
|
122
|
-
if (!customQuickSelectPanels) {
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return customQuickSelectPanels.map(function (_ref2) {
|
|
127
|
-
var title = _ref2.title,
|
|
128
|
-
content = _ref2.content;
|
|
129
|
-
return ___EmotionJSX(Fragment, {
|
|
130
|
-
key: title
|
|
131
|
-
}, ___EmotionJSX(EuiHorizontalRule, {
|
|
132
|
-
margin: "s"
|
|
133
|
-
}), ___EmotionJSX(EuiTitle, {
|
|
134
|
-
size: "xxxs"
|
|
135
|
-
}, ___EmotionJSX("span", null, title)), ___EmotionJSX(EuiText, {
|
|
136
|
-
size: "s",
|
|
137
|
-
className: "euiQuickSelectPopover__section"
|
|
138
|
-
}, /*#__PURE__*/React.cloneElement(content, {
|
|
139
|
-
applyTime: _this.applyTime
|
|
140
|
-
})));
|
|
141
|
-
});
|
|
46
|
+
}, []);
|
|
47
|
+
var applyTime = useCallback(function (_ref2) {
|
|
48
|
+
var start = _ref2.start,
|
|
49
|
+
end = _ref2.end,
|
|
50
|
+
quickSelect = _ref2.quickSelect,
|
|
51
|
+
_ref2$keepPopoverOpen = _ref2.keepPopoverOpen,
|
|
52
|
+
keepPopoverOpen = _ref2$keepPopoverOpen === void 0 ? false : _ref2$keepPopoverOpen;
|
|
53
|
+
|
|
54
|
+
_applyTime({
|
|
55
|
+
start: start,
|
|
56
|
+
end: end
|
|
142
57
|
});
|
|
143
58
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
_createClass(EuiQuickSelectPopover, [{
|
|
148
|
-
key: "render",
|
|
149
|
-
value: function render() {
|
|
150
|
-
var _this$props2 = this.props,
|
|
151
|
-
applyRefreshInterval = _this$props2.applyRefreshInterval,
|
|
152
|
-
isDisabled = _this$props2.isDisabled,
|
|
153
|
-
isPaused = _this$props2.isPaused,
|
|
154
|
-
refreshInterval = _this$props2.refreshInterval;
|
|
155
|
-
var isOpen = this.state.isOpen;
|
|
156
|
-
|
|
157
|
-
var quickSelectButton = ___EmotionJSX(EuiButtonEmpty, {
|
|
158
|
-
className: "euiFormControlLayout__prepend",
|
|
159
|
-
textProps: {
|
|
160
|
-
className: 'euiQuickSelectPopover__buttonText'
|
|
161
|
-
},
|
|
162
|
-
onClick: this.togglePopover,
|
|
163
|
-
"aria-label": "Date quick select",
|
|
164
|
-
size: "xs",
|
|
165
|
-
iconType: "arrowDown",
|
|
166
|
-
iconSide: "right",
|
|
167
|
-
isDisabled: isDisabled,
|
|
168
|
-
"data-test-subj": "superDatePickerToggleQuickMenuButton"
|
|
169
|
-
}, ___EmotionJSX(EuiIcon, {
|
|
170
|
-
type: "calendar"
|
|
171
|
-
}));
|
|
59
|
+
if (quickSelect) {
|
|
60
|
+
setQuickSelect(quickSelect);
|
|
61
|
+
}
|
|
172
62
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
63
|
+
if (!keepPopoverOpen) {
|
|
64
|
+
closePopover();
|
|
65
|
+
}
|
|
66
|
+
}, [_applyTime, closePopover]);
|
|
67
|
+
var buttonlabel = useEuiI18n('euiQuickSelectPopover.buttonLabel', 'Date quick select');
|
|
68
|
+
|
|
69
|
+
var quickSelectButton = ___EmotionJSX(EuiButtonEmpty, {
|
|
70
|
+
className: "euiFormControlLayout__prepend",
|
|
71
|
+
textProps: {
|
|
72
|
+
className: 'euiQuickSelectPopover__buttonText'
|
|
73
|
+
},
|
|
74
|
+
onClick: togglePopover,
|
|
75
|
+
"aria-label": buttonlabel,
|
|
76
|
+
title: buttonlabel,
|
|
77
|
+
size: "xs",
|
|
78
|
+
iconType: "arrowDown",
|
|
79
|
+
iconSide: "right",
|
|
80
|
+
isDisabled: props.isDisabled,
|
|
81
|
+
"data-test-subj": "superDatePickerToggleQuickMenuButton"
|
|
82
|
+
}, ___EmotionJSX(EuiIcon, {
|
|
83
|
+
type: "calendar"
|
|
84
|
+
}));
|
|
85
|
+
|
|
86
|
+
return ___EmotionJSX(EuiPopover, {
|
|
87
|
+
button: quickSelectButton,
|
|
88
|
+
isOpen: isOpen,
|
|
89
|
+
closePopover: closePopover,
|
|
90
|
+
anchorPosition: "downLeft",
|
|
91
|
+
anchorClassName: "euiQuickSelectPopover__anchor"
|
|
92
|
+
}, ___EmotionJSX(EuiQuickSelectPanels, _extends({}, props, {
|
|
93
|
+
applyTime: applyTime,
|
|
94
|
+
prevQuickSelect: prevQuickSelect
|
|
95
|
+
})));
|
|
96
|
+
};
|
|
97
|
+
export var EuiQuickSelectPanels = function EuiQuickSelectPanels(_ref3) {
|
|
98
|
+
var start = _ref3.start,
|
|
99
|
+
end = _ref3.end,
|
|
100
|
+
dateFormat = _ref3.dateFormat,
|
|
101
|
+
timeOptions = _ref3.timeOptions,
|
|
102
|
+
commonlyUsedRanges = _ref3.commonlyUsedRanges,
|
|
103
|
+
recentlyUsedRanges = _ref3.recentlyUsedRanges,
|
|
104
|
+
customQuickSelectPanels = _ref3.customQuickSelectPanels,
|
|
105
|
+
customQuickSelectRender = _ref3.customQuickSelectRender,
|
|
106
|
+
isPaused = _ref3.isPaused,
|
|
107
|
+
refreshInterval = _ref3.refreshInterval,
|
|
108
|
+
applyRefreshInterval = _ref3.applyRefreshInterval,
|
|
109
|
+
applyTime = _ref3.applyTime,
|
|
110
|
+
prevQuickSelect = _ref3.prevQuickSelect;
|
|
111
|
+
|
|
112
|
+
var quickSelectElement = ___EmotionJSX(EuiQuickSelect, {
|
|
113
|
+
applyTime: applyTime,
|
|
114
|
+
start: start,
|
|
115
|
+
end: end,
|
|
116
|
+
prevQuickSelect: prevQuickSelect,
|
|
117
|
+
timeOptions: timeOptions
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
var commonlyUsedElement = ___EmotionJSX(EuiCommonlyUsedTimeRanges, {
|
|
121
|
+
applyTime: applyTime,
|
|
122
|
+
commonlyUsedRanges: commonlyUsedRanges
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
var recentlyUsedElement = ___EmotionJSX(EuiRecentlyUsed, {
|
|
126
|
+
applyTime: applyTime,
|
|
127
|
+
commonlyUsedRanges: commonlyUsedRanges,
|
|
128
|
+
dateFormat: dateFormat,
|
|
129
|
+
recentlyUsedRanges: recentlyUsedRanges
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
var refreshIntervalElement = applyRefreshInterval && ___EmotionJSX(EuiRefreshInterval, {
|
|
133
|
+
onRefreshChange: applyRefreshInterval,
|
|
134
|
+
isPaused: isPaused,
|
|
135
|
+
refreshInterval: refreshInterval
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
var customQuickSelectPanelsElement = useMemo(function () {
|
|
139
|
+
if (!customQuickSelectPanels) {
|
|
140
|
+
return null;
|
|
189
141
|
}
|
|
190
|
-
}]);
|
|
191
142
|
|
|
192
|
-
|
|
193
|
-
|
|
143
|
+
return customQuickSelectPanels.map(function (_ref4) {
|
|
144
|
+
var title = _ref4.title,
|
|
145
|
+
content = _ref4.content;
|
|
146
|
+
return ___EmotionJSX("div", {
|
|
147
|
+
key: title,
|
|
148
|
+
className: "euiQuickSelectPopover__panel"
|
|
149
|
+
}, ___EmotionJSX(EuiTitle, {
|
|
150
|
+
size: "xxxs"
|
|
151
|
+
}, ___EmotionJSX("span", null, title)), ___EmotionJSX(EuiText, {
|
|
152
|
+
size: "s",
|
|
153
|
+
className: "euiQuickSelectPopover__section"
|
|
154
|
+
}, /*#__PURE__*/React.cloneElement(content, {
|
|
155
|
+
applyTime: applyTime
|
|
156
|
+
})));
|
|
157
|
+
});
|
|
158
|
+
}, [customQuickSelectPanels, applyTime]);
|
|
159
|
+
return ___EmotionJSX("div", {
|
|
160
|
+
className: "euiQuickSelectPopover__content",
|
|
161
|
+
"data-test-subj": "superDatePickerQuickMenu"
|
|
162
|
+
}, customQuickSelectRender ? customQuickSelectRender({
|
|
163
|
+
quickSelect: quickSelectElement,
|
|
164
|
+
commonlyUsedRanges: commonlyUsedElement,
|
|
165
|
+
recentlyUsedRanges: recentlyUsedElement,
|
|
166
|
+
refreshInterval: refreshIntervalElement,
|
|
167
|
+
customQuickSelectPanels: customQuickSelectPanelsElement
|
|
168
|
+
}) : ___EmotionJSX(React.Fragment, null, quickSelectElement, commonlyUsedElement, recentlyUsedElement, refreshIntervalElement, customQuickSelectPanelsElement));
|
|
169
|
+
};
|
package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js
CHANGED
|
@@ -47,10 +47,13 @@ export var EuiRecentlyUsed = function EuiRecentlyUsed(_ref) {
|
|
|
47
47
|
dateFormat: dateFormat
|
|
48
48
|
})));
|
|
49
49
|
});
|
|
50
|
-
return ___EmotionJSX("fieldset",
|
|
50
|
+
return ___EmotionJSX("fieldset", {
|
|
51
|
+
className: "euiQuickSelectPopover__panel"
|
|
52
|
+
}, ___EmotionJSX(EuiTitle, {
|
|
51
53
|
size: "xxxs"
|
|
52
54
|
}, ___EmotionJSX("legend", {
|
|
53
|
-
id: legendId
|
|
55
|
+
id: legendId,
|
|
56
|
+
className: "euiQuickSelectPopover__panelTitle"
|
|
54
57
|
}, ___EmotionJSX(EuiI18n, {
|
|
55
58
|
token: "euiRecentlyUsed.legend",
|
|
56
59
|
default: "Recently used date ranges"
|
|
@@ -384,6 +384,7 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
|
|
|
384
384
|
commonlyUsedRanges = _this$props5.commonlyUsedRanges,
|
|
385
385
|
timeOptions = _this$props5.timeOptions,
|
|
386
386
|
customQuickSelectPanels = _this$props5.customQuickSelectPanels,
|
|
387
|
+
customQuickSelectRender = _this$props5.customQuickSelectRender,
|
|
387
388
|
dateFormat = _this$props5.dateFormat,
|
|
388
389
|
end = _this$props5.end,
|
|
389
390
|
isAutoRefreshOnly = _this$props5.isAutoRefreshOnly,
|
|
@@ -415,6 +416,7 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
|
|
|
415
416
|
applyTime: this.applyQuickTime,
|
|
416
417
|
commonlyUsedRanges: commonlyUsedRanges,
|
|
417
418
|
customQuickSelectPanels: customQuickSelectPanels,
|
|
419
|
+
customQuickSelectRender: customQuickSelectRender,
|
|
418
420
|
dateFormat: dateFormat,
|
|
419
421
|
end: end,
|
|
420
422
|
isDisabled: isDisabled,
|
|
@@ -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
|
+
});
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
11
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
12
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
13
|
+
* Side Public License, v 1.
|
|
14
|
+
*/
|
|
15
|
+
/// <reference types="../../../cypress/support"/>
|
|
16
|
+
import React, { useState } from 'react';
|
|
17
|
+
import { EuiExpression } from './expression';
|
|
18
|
+
import { EuiFieldNumber, EuiSelect } from '../form';
|
|
19
|
+
import { EuiFlexGroup, EuiFlexItem } from '../flex';
|
|
20
|
+
import { EuiPanel } from '../panel';
|
|
21
|
+
import { EuiPopover, EuiPopoverTitle } from '../popover';
|
|
22
|
+
import { useGeneratedHtmlId } from '../../services';
|
|
23
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
24
|
+
describe('EuiExpression', function () {
|
|
25
|
+
var BaseExpression = function BaseExpression() {
|
|
26
|
+
var _useState = useState({
|
|
27
|
+
isOpen: false,
|
|
28
|
+
value: 'count()'
|
|
29
|
+
}),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
example1 = _useState2[0],
|
|
32
|
+
setExample1 = _useState2[1];
|
|
33
|
+
|
|
34
|
+
var _useState3 = useState({
|
|
35
|
+
value: 100,
|
|
36
|
+
description: 'Is above'
|
|
37
|
+
}),
|
|
38
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
39
|
+
example2 = _useState4[0],
|
|
40
|
+
setExample2 = _useState4[1];
|
|
41
|
+
|
|
42
|
+
var expressionPopoverId__1 = useGeneratedHtmlId({
|
|
43
|
+
prefix: 'expressionPopover',
|
|
44
|
+
suffix: 'first'
|
|
45
|
+
});
|
|
46
|
+
var expressionPopoverId__2 = useGeneratedHtmlId({
|
|
47
|
+
prefix: 'expressionPopover',
|
|
48
|
+
suffix: 'second'
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
var openExample1 = function openExample1() {
|
|
52
|
+
setExample1(_objectSpread(_objectSpread({}, example1), {}, {
|
|
53
|
+
isOpen: true
|
|
54
|
+
}));
|
|
55
|
+
setExample2(_objectSpread(_objectSpread({}, example2), {}, {
|
|
56
|
+
isOpen: false
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var closeExample1 = function closeExample1() {
|
|
61
|
+
setExample1(_objectSpread(_objectSpread({}, example1), {}, {
|
|
62
|
+
isOpen: false
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var openExample2 = function openExample2() {
|
|
67
|
+
setExample1(_objectSpread(_objectSpread({}, example1), {}, {
|
|
68
|
+
isOpen: false
|
|
69
|
+
}));
|
|
70
|
+
setExample2(_objectSpread(_objectSpread({}, example2), {}, {
|
|
71
|
+
isOpen: true
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var closeExample2 = function closeExample2() {
|
|
76
|
+
setExample2(_objectSpread(_objectSpread({}, example2), {}, {
|
|
77
|
+
isOpen: false
|
|
78
|
+
}));
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var changeExample1 = function changeExample1(event) {
|
|
82
|
+
setExample1(_objectSpread(_objectSpread({}, example1), {}, {
|
|
83
|
+
value: event.target.value
|
|
84
|
+
}));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
var changeExample2Value = function changeExample2Value(e) {
|
|
88
|
+
var sanitizedValue = parseInt(e.target.value, 10);
|
|
89
|
+
setExample2(_objectSpread(_objectSpread({}, example2), {}, {
|
|
90
|
+
value: isNaN(sanitizedValue) ? '' : sanitizedValue
|
|
91
|
+
}));
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
var changeExample2Description = function changeExample2Description(event) {
|
|
95
|
+
setExample2(_objectSpread(_objectSpread({}, example2), {}, {
|
|
96
|
+
description: event.target.value
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var renderPopover1 = function renderPopover1() {
|
|
101
|
+
return ___EmotionJSX("div", {
|
|
102
|
+
"data-test-subj": "cy-expression-popover-1"
|
|
103
|
+
}, ___EmotionJSX(EuiPopoverTitle, null, "When"), ___EmotionJSX(EuiSelect, {
|
|
104
|
+
compressed: true,
|
|
105
|
+
value: example1.value,
|
|
106
|
+
onChange: changeExample1,
|
|
107
|
+
options: [{
|
|
108
|
+
value: 'count()',
|
|
109
|
+
text: 'count()'
|
|
110
|
+
}, {
|
|
111
|
+
value: 'average()',
|
|
112
|
+
text: 'average()'
|
|
113
|
+
}, {
|
|
114
|
+
value: 'sum()',
|
|
115
|
+
text: 'sum()'
|
|
116
|
+
}, {
|
|
117
|
+
value: 'median()',
|
|
118
|
+
text: 'median()'
|
|
119
|
+
}, {
|
|
120
|
+
value: 'min()',
|
|
121
|
+
text: 'min()'
|
|
122
|
+
}, {
|
|
123
|
+
value: 'max()',
|
|
124
|
+
text: 'max()'
|
|
125
|
+
}]
|
|
126
|
+
}));
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var renderPopover2 = function renderPopover2() {
|
|
130
|
+
return ___EmotionJSX("div", {
|
|
131
|
+
"data-test-subj": "cy-expression-popover-2"
|
|
132
|
+
}, ___EmotionJSX(EuiFlexGroup, {
|
|
133
|
+
gutterSize: "s"
|
|
134
|
+
}, ___EmotionJSX(EuiFlexItem, {
|
|
135
|
+
grow: false,
|
|
136
|
+
style: {
|
|
137
|
+
width: 150
|
|
138
|
+
}
|
|
139
|
+
}, ___EmotionJSX(EuiSelect, {
|
|
140
|
+
compressed: true,
|
|
141
|
+
value: example2.description,
|
|
142
|
+
onChange: changeExample2Description,
|
|
143
|
+
options: [{
|
|
144
|
+
value: 'Is above',
|
|
145
|
+
text: 'Is above'
|
|
146
|
+
}, {
|
|
147
|
+
value: 'Is below',
|
|
148
|
+
text: 'Is below'
|
|
149
|
+
}, {
|
|
150
|
+
value: 'Is exactly',
|
|
151
|
+
text: 'Is exactly'
|
|
152
|
+
}]
|
|
153
|
+
})), ___EmotionJSX(EuiFlexItem, {
|
|
154
|
+
grow: false,
|
|
155
|
+
style: {
|
|
156
|
+
width: 100
|
|
157
|
+
}
|
|
158
|
+
}, ___EmotionJSX(EuiFieldNumber, {
|
|
159
|
+
compressed: true,
|
|
160
|
+
value: example2.value,
|
|
161
|
+
onChange: changeExample2Value
|
|
162
|
+
}))));
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
return ___EmotionJSX(EuiPanel, null, ___EmotionJSX(EuiFlexGroup, {
|
|
166
|
+
gutterSize: "s"
|
|
167
|
+
}, ___EmotionJSX(EuiFlexItem, {
|
|
168
|
+
grow: false
|
|
169
|
+
}, ___EmotionJSX(EuiPopover, {
|
|
170
|
+
id: expressionPopoverId__1,
|
|
171
|
+
button: ___EmotionJSX(EuiExpression, {
|
|
172
|
+
description: "when",
|
|
173
|
+
value: example1.value,
|
|
174
|
+
isActive: example1.isOpen,
|
|
175
|
+
onClick: openExample1
|
|
176
|
+
}),
|
|
177
|
+
isOpen: example1.isOpen,
|
|
178
|
+
closePopover: closeExample1,
|
|
179
|
+
panelPaddingSize: "s",
|
|
180
|
+
anchorPosition: "downLeft"
|
|
181
|
+
}, renderPopover1())), ___EmotionJSX(EuiFlexItem, {
|
|
182
|
+
grow: false
|
|
183
|
+
}, ___EmotionJSX(EuiPopover, {
|
|
184
|
+
id: expressionPopoverId__2,
|
|
185
|
+
panelPaddingSize: "s",
|
|
186
|
+
button: ___EmotionJSX(EuiExpression, {
|
|
187
|
+
description: example2.description,
|
|
188
|
+
value: example2.value,
|
|
189
|
+
isActive: example2.isOpen,
|
|
190
|
+
onClick: openExample2
|
|
191
|
+
}),
|
|
192
|
+
isOpen: example2.isOpen,
|
|
193
|
+
closePopover: closeExample2,
|
|
194
|
+
anchorPosition: "downLeft"
|
|
195
|
+
}, renderPopover2()))));
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
beforeEach(function () {
|
|
199
|
+
cy.viewport(1024, 768); // medium breakpoint
|
|
200
|
+
|
|
201
|
+
cy.realMount(___EmotionJSX(BaseExpression, null));
|
|
202
|
+
});
|
|
203
|
+
describe('Automated accessibility check', function () {
|
|
204
|
+
it('has zero violations on first render', function () {
|
|
205
|
+
cy.checkAxe();
|
|
206
|
+
});
|
|
207
|
+
it('has zero violations when count popover is open', function () {
|
|
208
|
+
cy.get('button').contains(/When count\(\)/i).realClick();
|
|
209
|
+
cy.get('div[data-test-subj="cy-expression-popover-1"]').should('exist');
|
|
210
|
+
cy.checkAxe();
|
|
211
|
+
});
|
|
212
|
+
it('has zero violations when is above popover is open', function () {
|
|
213
|
+
cy.get('button').contains(/Is above 100/i).realClick();
|
|
214
|
+
cy.get('div[data-test-subj="cy-expression-popover-2"]').should('exist');
|
|
215
|
+
cy.checkAxe();
|
|
216
|
+
});
|
|
217
|
+
it('has zero violations when first popover is interacted with by keyboard', function () {
|
|
218
|
+
cy.realPress('Tab');
|
|
219
|
+
cy.get('button').contains(/When count\(\)/i).should('have.focus');
|
|
220
|
+
cy.realPress('Enter');
|
|
221
|
+
cy.get('div[data-test-subj="cy-expression-popover-1"]').should('exist');
|
|
222
|
+
cy.realPress('Tab');
|
|
223
|
+
cy.realPress(['a', 'v', 'g']);
|
|
224
|
+
cy.realPress('Escape');
|
|
225
|
+
cy.get('button').contains(/When average\(\)/i).should('have.focus');
|
|
226
|
+
cy.checkAxe();
|
|
227
|
+
});
|
|
228
|
+
it('has zero violations when second popover is interacted with by keyboard', function () {
|
|
229
|
+
cy.repeatRealPress('Tab');
|
|
230
|
+
cy.get('button').contains(/Is above 100/i).should('have.focus');
|
|
231
|
+
cy.realPress('Enter');
|
|
232
|
+
cy.get('div[data-test-subj="cy-expression-popover-2"]').should('exist');
|
|
233
|
+
cy.realPress('Tab');
|
|
234
|
+
cy.realPress(['I', 's', ' ', 'e']);
|
|
235
|
+
cy.realPress('Tab');
|
|
236
|
+
cy.repeatRealPress('Delete', 3);
|
|
237
|
+
cy.realPress(['5', '0', '0']);
|
|
238
|
+
cy.realPress('Escape');
|
|
239
|
+
cy.get('button').contains(/Is exactly 500/i).should('have.focus');
|
|
240
|
+
cy.checkAxe();
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
});
|