@elastic/eui 71.0.0 → 71.1.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/README.md +0 -7
- package/dist/eui_theme_dark.css +7694 -5793
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +7736 -5835
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/datagrid/data_grid.a11y.js +251 -0
- package/es/components/date_picker/date_picker.a11y.js +83 -0
- package/es/components/delay_hide/delay_hide.a11y.js +106 -0
- package/es/components/delay_render/delay_render.a11y.js +106 -0
- package/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
- package/es/components/error_boundary/error_boundary.js +45 -27
- package/es/components/page/page_side_bar/page_side_bar.js +3 -0
- package/es/components/page/page_template.js +1 -15
- package/eui.d.ts +19 -11
- package/i18ntokens.json +4 -4
- package/lib/components/datagrid/data_grid.a11y.js +255 -0
- package/lib/components/date_picker/date_picker.a11y.js +89 -0
- package/lib/components/delay_hide/delay_hide.a11y.js +111 -0
- package/lib/components/delay_render/delay_render.a11y.js +111 -0
- package/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
- package/lib/components/error_boundary/error_boundary.js +49 -29
- package/lib/components/page/page_side_bar/page_side_bar.js +4 -0
- package/lib/components/page/page_template.js +1 -15
- package/optimize/es/components/datagrid/data_grid.a11y.js +234 -0
- package/optimize/es/components/date_picker/date_picker.a11y.js +73 -0
- package/optimize/es/components/delay_hide/delay_hide.a11y.js +96 -0
- package/optimize/es/components/delay_render/delay_render.a11y.js +96 -0
- package/optimize/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
- package/optimize/es/components/error_boundary/error_boundary.js +37 -26
- package/optimize/es/components/page/page_side_bar/page_side_bar.js +3 -0
- package/optimize/lib/components/datagrid/data_grid.a11y.js +248 -0
- package/optimize/lib/components/date_picker/date_picker.a11y.js +87 -0
- package/optimize/lib/components/delay_hide/delay_hide.a11y.js +111 -0
- package/optimize/lib/components/delay_render/delay_render.a11y.js +111 -0
- package/optimize/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
- package/optimize/lib/components/error_boundary/error_boundary.js +41 -28
- package/optimize/lib/components/page/page_side_bar/page_side_bar.js +4 -0
- package/package.json +11 -14
- package/src/components/basic_table/_basic_table.scss +1 -4
- package/src/components/button/button_empty/_button_empty.scss +2 -4
- package/src/components/button/button_group/_button_group.scss +1 -1
- package/src/components/button/button_group/_button_group_button.scss +3 -4
- package/src/components/button/button_icon/_button_icon.scss +0 -3
- package/src/components/collapsible_nav/_collapsible_nav.scss +1 -1
- package/src/components/collapsible_nav/collapsible_nav_group/_collapsible_nav_group.scss +1 -1
- package/src/components/color_picker/_color_picker.scss +3 -2
- package/src/components/color_picker/_hue.scss +7 -7
- package/src/components/color_picker/_saturation.scss +1 -1
- package/src/components/color_picker/color_palette_display/_mixins.scss +1 -1
- package/src/components/color_picker/color_stops/_color_stops.scss +2 -3
- package/src/components/combo_box/_combo_box.scss +7 -6
- package/src/components/combo_box/combo_box_input/_combo_box_input.scss +2 -1
- package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +1 -1
- package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +2 -3
- package/src/components/control_bar/_variables.scss +0 -1
- package/src/components/datagrid/_data_grid_data_row.scss +4 -5
- package/src/components/datagrid/_mixins.scss +1 -1
- package/src/components/datagrid/body/_data_grid_footer_row.scss +2 -1
- package/src/components/datagrid/body/header/_data_grid_column_resizer.scss +3 -4
- package/src/components/datagrid/body/header/_data_grid_header_row.scss +1 -1
- package/src/components/datagrid/controls/_data_grid_column_sorting.scss +1 -2
- package/src/components/date_picker/_date_picker_range.scss +1 -1
- package/src/components/date_picker/super_date_picker/_super_date_picker.scss +1 -4
- package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +1 -1
- package/src/components/drag_and_drop/_draggable.scss +3 -5
- package/src/components/drag_and_drop/_droppable.scss +1 -1
- package/src/components/empty_prompt/_empty_prompt.scss +1 -1
- package/src/components/filter_group/_filter_group.scss +2 -2
- package/src/components/filter_group/_filter_select_item.scss +0 -1
- package/src/components/form/checkbox/_checkbox.scss +5 -3
- package/src/components/form/described_form_group/_described_form_group.scss +0 -1
- package/src/components/form/field_password/_field_password.scss +1 -1
- package/src/components/form/field_search/_field_search.scss +1 -1
- package/src/components/form/file_picker/_file_picker.scss +1 -2
- package/src/components/form/form_control_layout/_form_control_layout.scss +6 -7
- package/src/components/form/form_control_layout/_form_control_layout_delimited.scss +4 -6
- package/src/components/form/form_row/_form_row.scss +3 -0
- package/src/components/form/radio/_radio.scss +5 -3
- package/src/components/form/select/_select.scss +1 -1
- package/src/components/form/switch/_switch.scss +3 -1
- package/src/components/header/_mixins.scss +1 -1
- package/src/components/header/header_section/_header_section_item.scss +4 -4
- package/src/components/header/header_section/_header_section_item_button.scss +0 -1
- package/src/components/key_pad_menu/_key_pad_menu_item.scss +2 -7
- package/src/components/markdown_editor/_markdown_editor_drop_zone.scss +4 -4
- package/src/components/markdown_editor/_markdown_editor_footer.scss +1 -1
- package/src/components/markdown_editor/_markdown_editor_text_area.scss +2 -3
- package/src/components/markdown_editor/_markdown_format.scss +4 -2
- package/src/components/notification/_notification_event.scss +2 -2
- package/src/components/page/page_content/_page_content_body.scss +0 -1
- package/src/components/page/page_content/_page_content_header_section.scss +0 -1
- package/src/components/page/page_side_bar/_page_side_bar.scss +0 -1
- package/src/components/panel/split_panel/_split_panel.scss +2 -2
- package/src/components/resizable_container/_resizable_button.scss +31 -31
- package/src/components/resizable_container/_resizable_collapse_button.scss +9 -9
- package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +1 -1
- package/src/components/side_nav/_mixins.scss +1 -1
- package/src/components/side_nav/_side_nav.scss +2 -1
- package/src/components/side_nav/_side_nav_item.scss +2 -3
- package/src/components/steps/_steps.scss +2 -1
- package/src/components/suggest/_suggest_input.scss +1 -1
- package/src/components/suggest/_suggest_item.scss +4 -3
- package/src/components/table/_responsive.scss +5 -3
- package/src/components/table/_table.scss +2 -4
- package/src/components/table/mobile/_mobile.scss +0 -2
- package/src/components/tree_view/tree_view.scss +2 -2
- package/src/global_styling/mixins/_form.scss +7 -18
- package/src/global_styling/mixins/_header.scss +2 -2
- package/src/global_styling/mixins/_helpers.scss +1 -2
- package/src/global_styling/mixins/_icons.scss +1 -1
- package/src/global_styling/mixins/_range.scss +4 -8
- package/src/global_styling/mixins/_responsive.scss +3 -8
- package/src/global_styling/mixins/_shadow.scss +5 -9
- package/src/global_styling/mixins/_states.scss +2 -2
- package/src/global_styling/mixins/_typography.scss +16 -19
- package/src/global_styling/variables/_colors_vis.scss +1 -1
- package/src/global_styling/variables/_typography.scss +1 -3
- package/src/themes/amsterdam/_colors_dark.scss +2 -1
- package/src/themes/amsterdam/_colors_light.scss +2 -0
- package/src/themes/amsterdam/global_styling/mixins/_link.scss +1 -1
- package/src/themes/amsterdam/global_styling/mixins/_states.scss +0 -1
- package/src/themes/amsterdam/global_styling/mixins/_typography.scss +1 -2
- package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_days.scss +0 -1
- package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_month_year.scss +0 -1
- package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_times.scss +3 -4
- package/src/themes/amsterdam/global_styling/react_date_picker/_mixins.scss +0 -1
- package/src/themes/amsterdam/global_styling/variables/_typography.scss +1 -2
- package/src/themes/amsterdam/overrides/_color_stops.scss +4 -5
- package/src/themes/amsterdam/overrides/_combo_box.scss +3 -0
- package/src/themes/amsterdam/overrides/_form_control_layout.scss +3 -0
- package/src/themes/amsterdam/overrides/_form_control_layout_delimited.scss +5 -4
- package/src/themes/amsterdam/overrides/_header.scss +2 -2
- package/src/themes/amsterdam/overrides/_hue.scss +6 -6
- package/src/themes/amsterdam/overrides/_key_pad_menu.scss +2 -2
- package/src/themes/amsterdam/overrides/_steps.scss +1 -2
- package/src/themes/legacy/_colors_dark.scss +2 -1
- package/src/themes/legacy/_colors_light.scss +2 -0
- package/src/themes/legacy/reset/_reset.scss +8 -7
- package/test-env/components/datagrid/data_grid.a11y.js +248 -0
- package/test-env/components/date_picker/date_picker.a11y.js +87 -0
- package/test-env/components/delay_hide/delay_hide.a11y.js +111 -0
- package/test-env/components/delay_render/delay_render.a11y.js +111 -0
- package/test-env/components/empty_prompt/empty_prompt.a11y.js +72 -0
- package/test-env/components/error_boundary/error_boundary.js +48 -28
- package/test-env/components/page/page_side_bar/page_side_bar.js +4 -0
- package/test-env/components/page/page_template.js +1 -15
- package/scripts/postinstall.js +0 -9
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
|
|
7
|
+
var _delay_hide = require("./delay_hide");
|
|
8
|
+
|
|
9
|
+
var _form = require("../form");
|
|
10
|
+
|
|
11
|
+
var _flex = require("../flex");
|
|
12
|
+
|
|
13
|
+
var _loading = require("../loading");
|
|
14
|
+
|
|
15
|
+
var _react2 = require("@emotion/react");
|
|
16
|
+
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
|
+
|
|
23
|
+
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."); }
|
|
24
|
+
|
|
25
|
+
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); }
|
|
26
|
+
|
|
27
|
+
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; }
|
|
28
|
+
|
|
29
|
+
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; }
|
|
30
|
+
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
|
|
33
|
+
var DelayHide = function DelayHide() {
|
|
34
|
+
var _useState = (0, _react.useState)(1000),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
minimumDuration = _useState2[0],
|
|
37
|
+
setDuration = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var _useState3 = (0, _react.useState)(false),
|
|
40
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
41
|
+
hide = _useState4[0],
|
|
42
|
+
setHide = _useState4[1];
|
|
43
|
+
|
|
44
|
+
var onChangeMinimumDuration = function onChangeMinimumDuration(event) {
|
|
45
|
+
setDuration(parseInt(event.target.value, 10));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var onChangeHide = function onChangeHide(event) {
|
|
49
|
+
setHide(event.target.checked);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_form.EuiFormRow, null, (0, _react2.jsx)(_form.EuiCheckbox, {
|
|
53
|
+
id: "dummy-id",
|
|
54
|
+
checked: hide,
|
|
55
|
+
onChange: onChangeHide,
|
|
56
|
+
label: "Hide child"
|
|
57
|
+
})), (0, _react2.jsx)(_form.EuiFormRow, {
|
|
58
|
+
label: "Minimum duration"
|
|
59
|
+
}, (0, _react2.jsx)(_form.EuiFieldNumber, {
|
|
60
|
+
value: minimumDuration,
|
|
61
|
+
onChange: onChangeMinimumDuration
|
|
62
|
+
})), (0, _react2.jsx)(_form.EuiFormRow, {
|
|
63
|
+
label: "Child to render"
|
|
64
|
+
}, (0, _react2.jsx)(_delay_hide.EuiDelayHide, {
|
|
65
|
+
hide: hide,
|
|
66
|
+
minimumDuration: minimumDuration,
|
|
67
|
+
render: function render() {
|
|
68
|
+
return (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
|
|
69
|
+
size: "m"
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}))));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
beforeEach(function () {
|
|
76
|
+
cy.realMount((0, _react2.jsx)(DelayHide, null));
|
|
77
|
+
});
|
|
78
|
+
describe('EuiHideRender', function () {
|
|
79
|
+
describe('Automated accessibility check', function () {
|
|
80
|
+
it('has zero violations on first render', function () {
|
|
81
|
+
cy.checkAxe();
|
|
82
|
+
});
|
|
83
|
+
it('has zero violations when the hide child input is checked', function () {
|
|
84
|
+
cy.get('input.euiCheckbox__input').realClick();
|
|
85
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
86
|
+
timeout: 5000
|
|
87
|
+
}).should('not.exist');
|
|
88
|
+
cy.checkAxe();
|
|
89
|
+
});
|
|
90
|
+
it('has zero violations when the hide child input is pressed', function () {
|
|
91
|
+
cy.realPress('Tab');
|
|
92
|
+
cy.get('input.euiCheckbox__input').should('have.focus');
|
|
93
|
+
cy.realPress('Space');
|
|
94
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
95
|
+
timeout: 5000
|
|
96
|
+
}).should('not.exist');
|
|
97
|
+
cy.checkAxe();
|
|
98
|
+
});
|
|
99
|
+
it('has zero violations when the hide child input is toggled', function () {
|
|
100
|
+
cy.realPress('Tab');
|
|
101
|
+
cy.get('input.euiCheckbox__input').should('have.focus');
|
|
102
|
+
cy.realPress('Space');
|
|
103
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]').should('not.exist');
|
|
104
|
+
cy.realPress('Space');
|
|
105
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
106
|
+
timeout: 5000
|
|
107
|
+
}).should('exist');
|
|
108
|
+
cy.checkAxe();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
|
|
7
|
+
var _delay_render = require("./delay_render");
|
|
8
|
+
|
|
9
|
+
var _form = require("../form");
|
|
10
|
+
|
|
11
|
+
var _flex = require("../flex");
|
|
12
|
+
|
|
13
|
+
var _loading = require("../loading");
|
|
14
|
+
|
|
15
|
+
var _react2 = require("@emotion/react");
|
|
16
|
+
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
|
+
|
|
23
|
+
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."); }
|
|
24
|
+
|
|
25
|
+
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); }
|
|
26
|
+
|
|
27
|
+
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; }
|
|
28
|
+
|
|
29
|
+
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; }
|
|
30
|
+
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
|
|
33
|
+
var DelayRender = function DelayRender() {
|
|
34
|
+
var _useState = (0, _react.useState)(1000),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
minimumDelay = _useState2[0],
|
|
37
|
+
setDelay = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var _useState3 = (0, _react.useState)(false),
|
|
40
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
41
|
+
render = _useState4[0],
|
|
42
|
+
setRender = _useState4[1];
|
|
43
|
+
|
|
44
|
+
var onChangeMinimumDelay = function onChangeMinimumDelay(event) {
|
|
45
|
+
setDelay(parseInt(event.target.value, 10));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var onChangeHide = function onChangeHide(event) {
|
|
49
|
+
setRender(event.target.checked);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var status = render ? 'showing' : 'hidden';
|
|
53
|
+
var label = "Child (".concat(status, ")");
|
|
54
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_form.EuiFormRow, null, (0, _react2.jsx)(_form.EuiCheckbox, {
|
|
55
|
+
id: "dummy-id",
|
|
56
|
+
checked: render,
|
|
57
|
+
onChange: onChangeHide,
|
|
58
|
+
label: "Show child"
|
|
59
|
+
})), (0, _react2.jsx)(_form.EuiFormRow, {
|
|
60
|
+
label: "Minimum delay"
|
|
61
|
+
}, (0, _react2.jsx)(_form.EuiFieldNumber, {
|
|
62
|
+
value: minimumDelay,
|
|
63
|
+
onChange: onChangeMinimumDelay
|
|
64
|
+
})), (0, _react2.jsx)(_form.EuiFormRow, {
|
|
65
|
+
label: label
|
|
66
|
+
}, render ? (0, _react2.jsx)(_delay_render.EuiDelayRender, {
|
|
67
|
+
delay: minimumDelay
|
|
68
|
+
}, (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
|
|
69
|
+
size: "m"
|
|
70
|
+
})) : (0, _react2.jsx)(_react.default.Fragment, null))));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
beforeEach(function () {
|
|
74
|
+
cy.realMount((0, _react2.jsx)(DelayRender, null));
|
|
75
|
+
});
|
|
76
|
+
describe('EuiDelayRender', function () {
|
|
77
|
+
describe('Automated accessibility check', function () {
|
|
78
|
+
it('has zero violations on first render', function () {
|
|
79
|
+
cy.checkAxe();
|
|
80
|
+
});
|
|
81
|
+
it('has zero violations when the show child input is checked', function () {
|
|
82
|
+
cy.get('input.euiCheckbox__input').realClick();
|
|
83
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
84
|
+
timeout: 5000
|
|
85
|
+
}).should('exist');
|
|
86
|
+
cy.checkAxe();
|
|
87
|
+
});
|
|
88
|
+
it('has zero violations when the show child input is pressed', function () {
|
|
89
|
+
cy.realPress('Tab');
|
|
90
|
+
cy.get('input.euiCheckbox__input').should('have.focus');
|
|
91
|
+
cy.realPress('Space');
|
|
92
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
93
|
+
timeout: 5000
|
|
94
|
+
}).should('exist');
|
|
95
|
+
cy.checkAxe();
|
|
96
|
+
});
|
|
97
|
+
it('has zero violations when the show child input is toggled', function () {
|
|
98
|
+
cy.realPress('Tab');
|
|
99
|
+
cy.get('input.euiCheckbox__input').should('have.focus');
|
|
100
|
+
cy.realPress('Space');
|
|
101
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
102
|
+
timeout: 5000
|
|
103
|
+
});
|
|
104
|
+
cy.realPress('Space');
|
|
105
|
+
cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
|
|
106
|
+
timeout: 5000
|
|
107
|
+
}).should('not.exist');
|
|
108
|
+
cy.checkAxe();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
|
|
5
|
+
var _button = require("../button");
|
|
6
|
+
|
|
7
|
+
var _empty_prompt = require("./empty_prompt");
|
|
8
|
+
|
|
9
|
+
var _link = require("../link");
|
|
10
|
+
|
|
11
|
+
var _title = require("../title");
|
|
12
|
+
|
|
13
|
+
var _react2 = require("@emotion/react");
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
19
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
20
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
21
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
22
|
+
* Side Public License, v 1.
|
|
23
|
+
*/
|
|
24
|
+
/// <reference types="../../../cypress/support"/>
|
|
25
|
+
var EmptyPrompt = function EmptyPrompt(_ref) {
|
|
26
|
+
var addCaseSpy = _ref.addCaseSpy,
|
|
27
|
+
addLinkSpy = _ref.addLinkSpy;
|
|
28
|
+
return (0, _react2.jsx)(_empty_prompt.EuiEmptyPrompt, {
|
|
29
|
+
iconType: "logoSecurity",
|
|
30
|
+
title: (0, _react2.jsx)("h2", null, "Start adding cases"),
|
|
31
|
+
body: (0, _react2.jsx)("p", null, "Add a new case or change your filter settings."),
|
|
32
|
+
actions: (0, _react2.jsx)(_button.EuiButton, {
|
|
33
|
+
color: "primary",
|
|
34
|
+
onClick: addCaseSpy,
|
|
35
|
+
fill: true
|
|
36
|
+
}, "Add a case"),
|
|
37
|
+
footer: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_title.EuiTitle, {
|
|
38
|
+
size: "xxs"
|
|
39
|
+
}, (0, _react2.jsx)("h3", null, "Want to learn more?")), (0, _react2.jsx)(_link.EuiLink, {
|
|
40
|
+
href: "#",
|
|
41
|
+
onClick: addLinkSpy
|
|
42
|
+
}, "Read the docs"))
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
beforeEach(function () {
|
|
47
|
+
var addCaseSpy = cy.spy().as('addCaseSpy');
|
|
48
|
+
var addLinkSpy = cy.spy().as('addLinkSpy');
|
|
49
|
+
cy.viewport(1024, 768); // medium breakpoint
|
|
50
|
+
|
|
51
|
+
cy.realMount((0, _react2.jsx)(EmptyPrompt, {
|
|
52
|
+
addCaseSpy: addCaseSpy,
|
|
53
|
+
addLinkSpy: addLinkSpy
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
56
|
+
describe('EuiEmptyPrompt', function () {
|
|
57
|
+
describe('Automated accessibility check', function () {
|
|
58
|
+
it('has zero violations on first render', function () {
|
|
59
|
+
cy.checkAxe();
|
|
60
|
+
});
|
|
61
|
+
it('has zero violations after clicking Add a case button', function () {
|
|
62
|
+
cy.get('button.euiButton').contains('Add a case').realClick();
|
|
63
|
+
cy.get('@addCaseSpy').should('have.been.called');
|
|
64
|
+
cy.checkAxe();
|
|
65
|
+
});
|
|
66
|
+
it('has zero violations after clicking Read the docs link', function () {
|
|
67
|
+
cy.get('a.euiLink').contains('Read the docs').realClick();
|
|
68
|
+
cy.get('@addLinkSpy').should('have.been.called');
|
|
69
|
+
cy.checkAxe();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.EuiErrorMessage = exports.EuiErrorBoundary = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
@@ -25,7 +25,8 @@ var _error_boundary = require("./error_boundary.styles");
|
|
|
25
25
|
|
|
26
26
|
var _react2 = require("@emotion/react");
|
|
27
27
|
|
|
28
|
-
var _excluded = ["
|
|
28
|
+
var _excluded = ["children"],
|
|
29
|
+
_excluded2 = ["errorMessage", "className", "data-test-subj"];
|
|
29
30
|
|
|
30
31
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
32
|
|
|
@@ -59,15 +60,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
59
60
|
|
|
60
61
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
61
62
|
|
|
62
|
-
var
|
|
63
|
-
_inherits(
|
|
63
|
+
var EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
64
|
+
_inherits(EuiErrorBoundary, _Component);
|
|
64
65
|
|
|
65
|
-
var _super = _createSuper(
|
|
66
|
+
var _super = _createSuper(EuiErrorBoundary);
|
|
66
67
|
|
|
67
|
-
function
|
|
68
|
+
function EuiErrorBoundary(props) {
|
|
68
69
|
var _this;
|
|
69
70
|
|
|
70
|
-
_classCallCheck(this,
|
|
71
|
+
_classCallCheck(this, EuiErrorBoundary);
|
|
71
72
|
|
|
72
73
|
_this = _super.call(this, props);
|
|
73
74
|
var errorState = {
|
|
@@ -78,7 +79,7 @@ var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
78
79
|
return _this;
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
_createClass(
|
|
82
|
+
_createClass(EuiErrorBoundary, [{
|
|
82
83
|
key: "componentDidCatch",
|
|
83
84
|
value: function componentDidCatch(_ref) {
|
|
84
85
|
var message = _ref.message,
|
|
@@ -98,38 +99,30 @@ var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
98
99
|
key: "render",
|
|
99
100
|
value: function render() {
|
|
100
101
|
var _this$props = this.props,
|
|
101
|
-
className = _this$props.className,
|
|
102
102
|
children = _this$props.children,
|
|
103
|
-
_dataTestSubj = _this$props['data-test-subj'],
|
|
104
|
-
theme = _this$props.theme,
|
|
105
103
|
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
106
104
|
|
|
107
|
-
var dataTestSubj = (0, _classnames.default)('euiErrorBoundary', _dataTestSubj);
|
|
108
|
-
var styles = (0, _error_boundary.euiErrorBoundaryStyles)(theme);
|
|
109
|
-
|
|
110
105
|
if (this.state.hasError) {
|
|
111
106
|
// You can render any custom fallback UI
|
|
112
|
-
return (0, _react2.jsx)(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
"data-test-subj": dataTestSubj
|
|
116
|
-
}, rest), (0, _react2.jsx)(_code.EuiCodeBlock, null, (0, _react2.jsx)(_title.EuiTitle, {
|
|
117
|
-
size: "xs"
|
|
118
|
-
}, (0, _react2.jsx)("p", null, (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
119
|
-
token: "euiErrorBoundary.error",
|
|
120
|
-
default: "Error"
|
|
121
|
-
}))), this.state.error));
|
|
107
|
+
return (0, _react2.jsx)(EuiErrorMessage, _extends({}, rest, {
|
|
108
|
+
errorMessage: this.state.error
|
|
109
|
+
}));
|
|
122
110
|
}
|
|
123
111
|
|
|
124
112
|
return children;
|
|
125
113
|
}
|
|
126
114
|
}]);
|
|
127
115
|
|
|
128
|
-
return
|
|
116
|
+
return EuiErrorBoundary;
|
|
129
117
|
}(_react.Component);
|
|
118
|
+
/**
|
|
119
|
+
* Split out into a separate styling-only component for easier use of hooks,
|
|
120
|
+
* and also for internal re-use by EUI's docs/playgrounds
|
|
121
|
+
*/
|
|
122
|
+
|
|
130
123
|
|
|
131
|
-
exports.
|
|
132
|
-
|
|
124
|
+
exports.EuiErrorBoundary = EuiErrorBoundary;
|
|
125
|
+
EuiErrorBoundary.propTypes = {
|
|
133
126
|
className: _propTypes.default.string,
|
|
134
127
|
"aria-label": _propTypes.default.string,
|
|
135
128
|
"data-test-subj": _propTypes.default.string,
|
|
@@ -140,5 +133,32 @@ _EuiErrorBoundary.propTypes = {
|
|
|
140
133
|
*/
|
|
141
134
|
children: _propTypes.default.node.isRequired
|
|
142
135
|
};
|
|
143
|
-
|
|
144
|
-
|
|
136
|
+
|
|
137
|
+
var EuiErrorMessage = function EuiErrorMessage(_ref2) {
|
|
138
|
+
var errorMessage = _ref2.errorMessage,
|
|
139
|
+
className = _ref2.className,
|
|
140
|
+
dataTestSubj = _ref2['data-test-subj'],
|
|
141
|
+
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
142
|
+
|
|
143
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
144
|
+
var styles = (0, _error_boundary.euiErrorBoundaryStyles)(euiTheme);
|
|
145
|
+
return (0, _react2.jsx)("div", _extends({
|
|
146
|
+
css: styles.euiErrorBoundary,
|
|
147
|
+
className: (0, _classnames.default)('euiErrorBoundary', className),
|
|
148
|
+
"data-test-subj": (0, _classnames.default)('euiErrorBoundary', dataTestSubj)
|
|
149
|
+
}, rest), (0, _react2.jsx)(_code.EuiCodeBlock, null, (0, _react2.jsx)(_title.EuiTitle, {
|
|
150
|
+
size: "xs"
|
|
151
|
+
}, (0, _react2.jsx)("p", null, (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
152
|
+
token: "euiErrorBoundary.error",
|
|
153
|
+
default: "Error"
|
|
154
|
+
}))), errorMessage));
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
exports.EuiErrorMessage = EuiErrorMessage;
|
|
158
|
+
EuiErrorMessage.propTypes = {
|
|
159
|
+
className: _propTypes.default.string,
|
|
160
|
+
"aria-label": _propTypes.default.string,
|
|
161
|
+
"data-test-subj": _propTypes.default.string,
|
|
162
|
+
css: _propTypes.default.any,
|
|
163
|
+
errorMessage: _propTypes.default.string
|
|
164
|
+
};
|
|
@@ -32,6 +32,10 @@ var paddingSizeToClassNameMap = {
|
|
|
32
32
|
l: 'euiPageSideBar--paddingLarge'
|
|
33
33
|
};
|
|
34
34
|
var PADDING_SIZES = (0, _common.keysOf)(paddingSizeToClassNameMap);
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use the new EuiPageSidebarProps in page/page_sidebar instead
|
|
37
|
+
*/
|
|
38
|
+
|
|
35
39
|
exports.PADDING_SIZES = PADDING_SIZES;
|
|
36
40
|
|
|
37
41
|
/**
|
|
@@ -383,21 +383,7 @@ EuiPageTemplate_Deprecated.propTypes = {
|
|
|
383
383
|
/**
|
|
384
384
|
* Gets passed along to the #EuiPageSideBar component
|
|
385
385
|
*/
|
|
386
|
-
pageSideBarProps: _propTypes.default.
|
|
387
|
-
/**
|
|
388
|
-
* Adds `position: sticky`
|
|
389
|
-
*/
|
|
390
|
-
sticky: _propTypes.default.bool,
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* Adds padding around the children
|
|
394
|
-
*/
|
|
395
|
-
paddingSize: _propTypes.default.any,
|
|
396
|
-
className: _propTypes.default.string,
|
|
397
|
-
"aria-label": _propTypes.default.string,
|
|
398
|
-
"data-test-subj": _propTypes.default.string,
|
|
399
|
-
css: _propTypes.default.any
|
|
400
|
-
}),
|
|
386
|
+
pageSideBarProps: _propTypes.default.any,
|
|
401
387
|
|
|
402
388
|
/**
|
|
403
389
|
* Optionally include an #EuiPageHeader by passing an object of its props
|