@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
|
|
3
|
-
var _excluded = ["
|
|
3
|
+
var _excluded = ["children"],
|
|
4
|
+
_excluded2 = ["errorMessage", "className", "data-test-subj"];
|
|
4
5
|
|
|
5
6
|
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); }
|
|
6
7
|
|
|
@@ -41,18 +42,18 @@ import classNames from 'classnames';
|
|
|
41
42
|
import { EuiTitle } from '../title';
|
|
42
43
|
import { EuiCodeBlock } from '../code';
|
|
43
44
|
import { EuiI18n } from '../i18n';
|
|
44
|
-
import {
|
|
45
|
+
import { useEuiTheme } from '../../services';
|
|
45
46
|
import { euiErrorBoundaryStyles } from './error_boundary.styles';
|
|
46
47
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
47
|
-
export var
|
|
48
|
-
_inherits(
|
|
48
|
+
export var EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
49
|
+
_inherits(EuiErrorBoundary, _Component);
|
|
49
50
|
|
|
50
|
-
var _super = _createSuper(
|
|
51
|
+
var _super = _createSuper(EuiErrorBoundary);
|
|
51
52
|
|
|
52
|
-
function
|
|
53
|
+
function EuiErrorBoundary(props) {
|
|
53
54
|
var _this;
|
|
54
55
|
|
|
55
|
-
_classCallCheck(this,
|
|
56
|
+
_classCallCheck(this, EuiErrorBoundary);
|
|
56
57
|
|
|
57
58
|
_this = _super.call(this, props);
|
|
58
59
|
var errorState = {
|
|
@@ -63,7 +64,7 @@ export var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
63
64
|
return _this;
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
_createClass(
|
|
67
|
+
_createClass(EuiErrorBoundary, [{
|
|
67
68
|
key: "componentDidCatch",
|
|
68
69
|
value: function componentDidCatch(_ref) {
|
|
69
70
|
var message = _ref.message,
|
|
@@ -83,36 +84,28 @@ export var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
83
84
|
key: "render",
|
|
84
85
|
value: function render() {
|
|
85
86
|
var _this$props = this.props,
|
|
86
|
-
className = _this$props.className,
|
|
87
87
|
children = _this$props.children,
|
|
88
|
-
_dataTestSubj = _this$props['data-test-subj'],
|
|
89
|
-
theme = _this$props.theme,
|
|
90
88
|
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
91
89
|
|
|
92
|
-
var dataTestSubj = classNames('euiErrorBoundary', _dataTestSubj);
|
|
93
|
-
var styles = euiErrorBoundaryStyles(theme);
|
|
94
|
-
|
|
95
90
|
if (this.state.hasError) {
|
|
96
91
|
// You can render any custom fallback UI
|
|
97
|
-
return ___EmotionJSX(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"data-test-subj": dataTestSubj
|
|
101
|
-
}, rest), ___EmotionJSX(EuiCodeBlock, null, ___EmotionJSX(EuiTitle, {
|
|
102
|
-
size: "xs"
|
|
103
|
-
}, ___EmotionJSX("p", null, ___EmotionJSX(EuiI18n, {
|
|
104
|
-
token: "euiErrorBoundary.error",
|
|
105
|
-
default: "Error"
|
|
106
|
-
}))), this.state.error));
|
|
92
|
+
return ___EmotionJSX(EuiErrorMessage, _extends({}, rest, {
|
|
93
|
+
errorMessage: this.state.error
|
|
94
|
+
}));
|
|
107
95
|
}
|
|
108
96
|
|
|
109
97
|
return children;
|
|
110
98
|
}
|
|
111
99
|
}]);
|
|
112
100
|
|
|
113
|
-
return
|
|
101
|
+
return EuiErrorBoundary;
|
|
114
102
|
}(Component);
|
|
115
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Split out into a separate styling-only component for easier use of hooks,
|
|
105
|
+
* and also for internal re-use by EUI's docs/playgrounds
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
EuiErrorBoundary.propTypes = {
|
|
116
109
|
className: PropTypes.string,
|
|
117
110
|
"aria-label": PropTypes.string,
|
|
118
111
|
"data-test-subj": PropTypes.string,
|
|
@@ -123,4 +116,29 @@ _EuiErrorBoundary.propTypes = {
|
|
|
123
116
|
*/
|
|
124
117
|
children: PropTypes.node.isRequired
|
|
125
118
|
};
|
|
126
|
-
export var
|
|
119
|
+
export var EuiErrorMessage = function EuiErrorMessage(_ref2) {
|
|
120
|
+
var errorMessage = _ref2.errorMessage,
|
|
121
|
+
className = _ref2.className,
|
|
122
|
+
dataTestSubj = _ref2['data-test-subj'],
|
|
123
|
+
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
124
|
+
|
|
125
|
+
var euiTheme = useEuiTheme();
|
|
126
|
+
var styles = euiErrorBoundaryStyles(euiTheme);
|
|
127
|
+
return ___EmotionJSX("div", _extends({
|
|
128
|
+
css: styles.euiErrorBoundary,
|
|
129
|
+
className: classNames('euiErrorBoundary', className),
|
|
130
|
+
"data-test-subj": classNames('euiErrorBoundary', dataTestSubj)
|
|
131
|
+
}, rest), ___EmotionJSX(EuiCodeBlock, null, ___EmotionJSX(EuiTitle, {
|
|
132
|
+
size: "xs"
|
|
133
|
+
}, ___EmotionJSX("p", null, ___EmotionJSX(EuiI18n, {
|
|
134
|
+
token: "euiErrorBoundary.error",
|
|
135
|
+
default: "Error"
|
|
136
|
+
}))), errorMessage));
|
|
137
|
+
};
|
|
138
|
+
EuiErrorMessage.propTypes = {
|
|
139
|
+
className: PropTypes.string,
|
|
140
|
+
"aria-label": PropTypes.string,
|
|
141
|
+
"data-test-subj": PropTypes.string,
|
|
142
|
+
css: PropTypes.any,
|
|
143
|
+
errorMessage: PropTypes.string
|
|
144
|
+
};
|
|
@@ -25,6 +25,9 @@ var paddingSizeToClassNameMap = {
|
|
|
25
25
|
l: 'euiPageSideBar--paddingLarge'
|
|
26
26
|
};
|
|
27
27
|
export var PADDING_SIZES = keysOf(paddingSizeToClassNameMap);
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use the new EuiPageSidebarProps in page/page_sidebar instead
|
|
30
|
+
*/
|
|
28
31
|
|
|
29
32
|
/**
|
|
30
33
|
* @deprecated Use the new EuiPageSidebar in page/page_sidebar instead
|
|
@@ -366,21 +366,7 @@ EuiPageTemplate_Deprecated.propTypes = {
|
|
|
366
366
|
/**
|
|
367
367
|
* Gets passed along to the #EuiPageSideBar component
|
|
368
368
|
*/
|
|
369
|
-
pageSideBarProps: PropTypes.
|
|
370
|
-
/**
|
|
371
|
-
* Adds `position: sticky`
|
|
372
|
-
*/
|
|
373
|
-
sticky: PropTypes.bool,
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Adds padding around the children
|
|
377
|
-
*/
|
|
378
|
-
paddingSize: PropTypes.any,
|
|
379
|
-
className: PropTypes.string,
|
|
380
|
-
"aria-label": PropTypes.string,
|
|
381
|
-
"data-test-subj": PropTypes.string,
|
|
382
|
-
css: PropTypes.any
|
|
383
|
-
}),
|
|
369
|
+
pageSideBarProps: PropTypes.any,
|
|
384
370
|
|
|
385
371
|
/**
|
|
386
372
|
* Optionally include an #EuiPageHeader by passing an object of its props
|
package/eui.d.ts
CHANGED
|
@@ -14513,9 +14513,8 @@ declare module '@elastic/eui/src/components/error_boundary/error_boundary.styles
|
|
|
14513
14513
|
|
|
14514
14514
|
}
|
|
14515
14515
|
declare module '@elastic/eui/src/components/error_boundary/error_boundary' {
|
|
14516
|
-
import React, { Component, HTMLAttributes, ReactNode } from 'react';
|
|
14516
|
+
import React, { Component, FunctionComponent, HTMLAttributes, ReactNode } from 'react';
|
|
14517
14517
|
import { CommonProps } from '@elastic/eui/src/components/common';
|
|
14518
|
-
import { WithEuiThemeProps } from '@elastic/eui/src/services';
|
|
14519
14518
|
interface EuiErrorBoundaryState {
|
|
14520
14519
|
hasError: boolean;
|
|
14521
14520
|
error?: string;
|
|
@@ -14525,13 +14524,19 @@ declare module '@elastic/eui/src/components/error_boundary/error_boundary' {
|
|
|
14525
14524
|
* ReactNode to render as this component's content
|
|
14526
14525
|
*/
|
|
14527
14526
|
children: ReactNode;
|
|
14528
|
-
};
|
|
14529
|
-
export class
|
|
14530
|
-
constructor(props:
|
|
14527
|
+
};
|
|
14528
|
+
export class EuiErrorBoundary extends Component<EuiErrorBoundaryProps, EuiErrorBoundaryState> {
|
|
14529
|
+
constructor(props: EuiErrorBoundaryProps);
|
|
14531
14530
|
componentDidCatch({ message, stack }: Error): void;
|
|
14532
14531
|
render(): React.ReactNode;
|
|
14533
14532
|
}
|
|
14534
|
-
|
|
14533
|
+
/**
|
|
14534
|
+
* Split out into a separate styling-only component for easier use of hooks,
|
|
14535
|
+
* and also for internal re-use by EUI's docs/playgrounds
|
|
14536
|
+
*/
|
|
14537
|
+
export const EuiErrorMessage: FunctionComponent<CommonProps & {
|
|
14538
|
+
errorMessage?: string;
|
|
14539
|
+
}>;
|
|
14535
14540
|
export {};
|
|
14536
14541
|
|
|
14537
14542
|
}
|
|
@@ -16582,7 +16587,10 @@ declare module '@elastic/eui/src/components/page/page_side_bar/page_side_bar' {
|
|
|
16582
16587
|
import { FunctionComponent, HTMLAttributes } from 'react';
|
|
16583
16588
|
import { CommonProps } from '@elastic/eui/src/components/common';
|
|
16584
16589
|
export const PADDING_SIZES: ("s" | "m" | "l" | "none")[];
|
|
16585
|
-
|
|
16590
|
+
/**
|
|
16591
|
+
* @deprecated Use the new EuiPageSidebarProps in page/page_sidebar instead
|
|
16592
|
+
*/
|
|
16593
|
+
export interface EuiPageSideBarProps_Deprecated extends CommonProps, HTMLAttributes<HTMLDivElement> {
|
|
16586
16594
|
/**
|
|
16587
16595
|
* Adds `position: sticky`
|
|
16588
16596
|
*/
|
|
@@ -16595,11 +16603,11 @@ declare module '@elastic/eui/src/components/page/page_side_bar/page_side_bar' {
|
|
|
16595
16603
|
/**
|
|
16596
16604
|
* @deprecated Use the new EuiPageSidebar in page/page_sidebar instead
|
|
16597
16605
|
*/
|
|
16598
|
-
export const EuiPageSideBar_Deprecated: FunctionComponent<
|
|
16606
|
+
export const EuiPageSideBar_Deprecated: FunctionComponent<EuiPageSideBarProps_Deprecated>;
|
|
16599
16607
|
|
|
16600
16608
|
}
|
|
16601
16609
|
declare module '@elastic/eui/src/components/page/page_side_bar' {
|
|
16602
|
-
export type {
|
|
16610
|
+
export type { EuiPageSideBarProps_Deprecated } from '@elastic/eui/src/components/page/page_side_bar/page_side_bar';
|
|
16603
16611
|
export { EuiPageSideBar_Deprecated } from '@elastic/eui/src/components/page/page_side_bar/page_side_bar';
|
|
16604
16612
|
|
|
16605
16613
|
}
|
|
@@ -16652,7 +16660,7 @@ declare module '@elastic/eui/src/components/page/page_sidebar' {
|
|
|
16652
16660
|
declare module '@elastic/eui/src/components/page/page_template' {
|
|
16653
16661
|
import { CSSProperties, FunctionComponent, ReactNode } from 'react';
|
|
16654
16662
|
import { EuiPageProps } from '@elastic/eui/src/components/page/page';
|
|
16655
|
-
import { EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar';
|
|
16663
|
+
import { EuiPageSideBarProps_Deprecated as EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar';
|
|
16656
16664
|
import { EuiPageBodyProps } from '@elastic/eui/src/components/page/page_body';
|
|
16657
16665
|
import { EuiPageHeaderProps } from '@elastic/eui/src/components/page/page_header';
|
|
16658
16666
|
import { EuiPageContentProps, EuiPageContentBodyProps } from '@elastic/eui/src/components/page/page_content';
|
|
@@ -16739,7 +16747,7 @@ declare module '@elastic/eui/src/components/page' {
|
|
|
16739
16747
|
export { EuiPageHeader, EuiPageHeaderContent, EuiPageHeaderSection, } from '@elastic/eui/src/components/page/page_header';
|
|
16740
16748
|
export type { EuiPageSectionProps } from '@elastic/eui/src/components/page/page_section';
|
|
16741
16749
|
export { EuiPageSection } from '@elastic/eui/src/components/page/page_section';
|
|
16742
|
-
export type {
|
|
16750
|
+
export type { EuiPageSideBarProps_Deprecated } from '@elastic/eui/src/components/page/page_side_bar';
|
|
16743
16751
|
export { EuiPageSideBar_Deprecated } from '@elastic/eui/src/components/page/page_side_bar';
|
|
16744
16752
|
export type { EuiPageSidebarProps } from '@elastic/eui/src/components/page/page_sidebar';
|
|
16745
16753
|
export { EuiPageSidebar } from '@elastic/eui/src/components/page/page_sidebar';
|
package/i18ntokens.json
CHANGED
|
@@ -4005,12 +4005,12 @@
|
|
|
4005
4005
|
"highlighting": "string",
|
|
4006
4006
|
"loc": {
|
|
4007
4007
|
"start": {
|
|
4008
|
-
"line":
|
|
4009
|
-
"column":
|
|
4008
|
+
"line": 99,
|
|
4009
|
+
"column": 12
|
|
4010
4010
|
},
|
|
4011
4011
|
"end": {
|
|
4012
|
-
"line":
|
|
4013
|
-
"column":
|
|
4012
|
+
"line": 99,
|
|
4013
|
+
"column": 70
|
|
4014
4014
|
}
|
|
4015
4015
|
},
|
|
4016
4016
|
"filepath": "src/components/error_boundary/error_boundary.tsx"
|
|
@@ -0,0 +1,255 @@
|
|
|
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 _index = require("./index");
|
|
8
|
+
|
|
9
|
+
var _faker = require("@faker-js/faker");
|
|
10
|
+
|
|
11
|
+
var _react2 = require("@emotion/react");
|
|
12
|
+
|
|
13
|
+
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); }
|
|
14
|
+
|
|
15
|
+
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; }
|
|
16
|
+
|
|
17
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
18
|
+
|
|
19
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
|
|
21
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
22
|
+
|
|
23
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
24
|
+
|
|
25
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
26
|
+
|
|
27
|
+
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."); }
|
|
28
|
+
|
|
29
|
+
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); }
|
|
30
|
+
|
|
31
|
+
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; }
|
|
32
|
+
|
|
33
|
+
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; }
|
|
34
|
+
|
|
35
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
36
|
+
|
|
37
|
+
var columns = [{
|
|
38
|
+
id: 'Name'
|
|
39
|
+
}, {
|
|
40
|
+
id: 'Email',
|
|
41
|
+
cellActions: [function (_ref) {
|
|
42
|
+
var rowIndex = _ref.rowIndex,
|
|
43
|
+
columnId = _ref.columnId,
|
|
44
|
+
Component = _ref.Component;
|
|
45
|
+
var row = ++rowIndex;
|
|
46
|
+
return (0, _react2.jsx)(Component, {
|
|
47
|
+
onClick: function onClick() {},
|
|
48
|
+
iconType: "heart",
|
|
49
|
+
"aria-label": "Send love to ".concat(row, ", column \"").concat(columnId, "\" ")
|
|
50
|
+
}, "Send love");
|
|
51
|
+
}]
|
|
52
|
+
}, {
|
|
53
|
+
id: 'User ID',
|
|
54
|
+
schema: 'string'
|
|
55
|
+
}, {
|
|
56
|
+
id: 'Account balance'
|
|
57
|
+
}, {
|
|
58
|
+
id: 'Last purchase',
|
|
59
|
+
schema: 'datetime'
|
|
60
|
+
}, {
|
|
61
|
+
id: 'Favorite distro',
|
|
62
|
+
schema: 'favoriteDistro'
|
|
63
|
+
}];
|
|
64
|
+
var storeData = [];
|
|
65
|
+
|
|
66
|
+
for (var i = 1; i < 11; i++) {
|
|
67
|
+
storeData.push({
|
|
68
|
+
Name: "".concat(_faker.faker.name.lastName(), ", ").concat(_faker.faker.name.firstName(), " ").concat(_faker.faker.name.suffix()),
|
|
69
|
+
Email: "".concat(_faker.faker.internet.email()),
|
|
70
|
+
'User ID': "".concat(_faker.faker.datatype.number({
|
|
71
|
+
min: 1000000,
|
|
72
|
+
max: 9999999
|
|
73
|
+
})),
|
|
74
|
+
'Account balance': _faker.faker.finance.amount(),
|
|
75
|
+
'Last purchase': "".concat(_faker.faker.date.past()),
|
|
76
|
+
'Favorite distro': i % 2 === 0 ? 'Alma' : 'Debian'
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var commaSeparateNumbers = function commaSeparateNumbers(numberString) {
|
|
81
|
+
// extract the groups-of-three digits that are right-aligned
|
|
82
|
+
return numberString.replace(/((\d{3})+)$/, function (match) {
|
|
83
|
+
return (// then replace each group of xyz digits with ,xyz
|
|
84
|
+
match.replace(/(\d{3})/g, ',$1')
|
|
85
|
+
);
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var DataGrid = function DataGrid() {
|
|
90
|
+
var _useState = (0, _react.useState)(columns.map(function (_ref2) {
|
|
91
|
+
var id = _ref2.id;
|
|
92
|
+
return id;
|
|
93
|
+
})),
|
|
94
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
95
|
+
visibleColumns = _useState2[0],
|
|
96
|
+
setVisibleColumns = _useState2[1];
|
|
97
|
+
|
|
98
|
+
var _useState3 = (0, _react.useState)(storeData),
|
|
99
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
100
|
+
data = _useState4[0],
|
|
101
|
+
setData = _useState4[1];
|
|
102
|
+
|
|
103
|
+
var _useState5 = (0, _react.useState)([{
|
|
104
|
+
id: 'custom',
|
|
105
|
+
direction: 'asc'
|
|
106
|
+
}]),
|
|
107
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
108
|
+
sortingColumns = _useState6[0],
|
|
109
|
+
setSortingColumns = _useState6[1];
|
|
110
|
+
|
|
111
|
+
var setSorting = function setSorting(sortingColumns) {
|
|
112
|
+
var sortedData = _toConsumableArray(data).sort(function (a, b) {
|
|
113
|
+
for (var _i2 = 0; _i2 < sortingColumns.length; _i2++) {
|
|
114
|
+
var column = sortingColumns[_i2];
|
|
115
|
+
var aValue = a[column.id];
|
|
116
|
+
var bValue = b[column.id];
|
|
117
|
+
if (aValue < bValue) return column.direction === 'asc' ? -1 : 1;
|
|
118
|
+
if (aValue > bValue) return column.direction === 'asc' ? 1 : -1;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return 0;
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
setData(sortedData);
|
|
125
|
+
setSortingColumns(sortingColumns);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
return (0, _react2.jsx)(_index.EuiDataGrid, {
|
|
129
|
+
"aria-label": "Data grid schema example",
|
|
130
|
+
columns: columns,
|
|
131
|
+
columnVisibility: {
|
|
132
|
+
visibleColumns: visibleColumns,
|
|
133
|
+
setVisibleColumns: setVisibleColumns
|
|
134
|
+
},
|
|
135
|
+
rowCount: data.length,
|
|
136
|
+
inMemory: {
|
|
137
|
+
level: 'sorting'
|
|
138
|
+
},
|
|
139
|
+
renderCellValue: function renderCellValue(_ref3) {
|
|
140
|
+
var rowIndex = _ref3.rowIndex,
|
|
141
|
+
columnId = _ref3.columnId,
|
|
142
|
+
schema = _ref3.schema;
|
|
143
|
+
var value = data[rowIndex][columnId];
|
|
144
|
+
|
|
145
|
+
if (schema === 'numeric') {
|
|
146
|
+
value = commaSeparateNumbers(value);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return value;
|
|
150
|
+
},
|
|
151
|
+
sorting: {
|
|
152
|
+
columns: sortingColumns,
|
|
153
|
+
onSort: setSorting
|
|
154
|
+
},
|
|
155
|
+
schemaDetectors: [{
|
|
156
|
+
type: 'favoriteDistro',
|
|
157
|
+
textTransform: 'capitalize',
|
|
158
|
+
detector: function detector(value) {
|
|
159
|
+
return value.toLowerCase() === 'alma' || value.toLowerCase() === 'debian' ? 1 : 0;
|
|
160
|
+
},
|
|
161
|
+
comparator: function comparator(a, b, direction) {
|
|
162
|
+
var aValue = a.toLowerCase() === 'alma';
|
|
163
|
+
var bValue = b.toLowerCase() === 'alma';
|
|
164
|
+
if (aValue < bValue) return direction === 'asc' ? 1 : -1;
|
|
165
|
+
if (aValue > bValue) return direction === 'asc' ? -1 : 1;
|
|
166
|
+
return 0;
|
|
167
|
+
},
|
|
168
|
+
sortTextAsc: 'Alma to Debian',
|
|
169
|
+
sortTextDesc: 'Debian to Alma',
|
|
170
|
+
icon: 'starFilled',
|
|
171
|
+
color: '#800080'
|
|
172
|
+
}]
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
beforeEach(function () {
|
|
177
|
+
cy.viewport(1280, 800); // large breakpoint
|
|
178
|
+
|
|
179
|
+
cy.mount((0, _react2.jsx)("div", {
|
|
180
|
+
style: {
|
|
181
|
+
width: '80%',
|
|
182
|
+
margin: '0 auto'
|
|
183
|
+
}
|
|
184
|
+
}, (0, _react2.jsx)(DataGrid, null)));
|
|
185
|
+
});
|
|
186
|
+
describe('EuiDataGrid', function () {
|
|
187
|
+
describe('Automated accessibility check', function () {
|
|
188
|
+
it('has zero violations on first render', function () {
|
|
189
|
+
cy.checkAxe();
|
|
190
|
+
});
|
|
191
|
+
it('has zero violations when the columns reorder menu is open', function () {
|
|
192
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
|
|
193
|
+
cy.checkAxe();
|
|
194
|
+
});
|
|
195
|
+
it('has zero violations when the hide all columns button is clicked', function () {
|
|
196
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
|
|
197
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorHideAllButton"]').realClick(); // TODO: Log this issue and remove the skipFailures boolean when fixed
|
|
198
|
+
|
|
199
|
+
cy.checkAxe({
|
|
200
|
+
skipFailures: true
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
it('has zero violations when the columns reorder searchbox returns multiple results', function () {
|
|
204
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
|
|
205
|
+
cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('a');
|
|
206
|
+
cy.get('div.euiSwitch--compressed').should(function ($s) {
|
|
207
|
+
expect($s).to.have.length(5);
|
|
208
|
+
});
|
|
209
|
+
cy.checkAxe();
|
|
210
|
+
});
|
|
211
|
+
it('has zero violations when the columns reorder searchbox returns 1 result', function () {
|
|
212
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
|
|
213
|
+
cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('favorite');
|
|
214
|
+
cy.get('div.euiSwitch--compressed').should(function ($s) {
|
|
215
|
+
expect($s).to.have.length(1);
|
|
216
|
+
});
|
|
217
|
+
cy.checkAxe();
|
|
218
|
+
});
|
|
219
|
+
it('has zero violations when the columns reorder searchbox returns 0 results', function () {
|
|
220
|
+
cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
|
|
221
|
+
cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('x');
|
|
222
|
+
cy.get('div.euiSwitch--compressed').should(function ($s) {
|
|
223
|
+
expect($s).to.have.length(0);
|
|
224
|
+
});
|
|
225
|
+
cy.checkAxe();
|
|
226
|
+
});
|
|
227
|
+
it('has zero violations when the keyboard shortcut menu is open', function () {
|
|
228
|
+
cy.get('button[data-test-subj="dataGridKeyboardShortcutsButton"]').realClick();
|
|
229
|
+
cy.checkAxe();
|
|
230
|
+
});
|
|
231
|
+
it('has zero violations when the grid display menu is open', function () {
|
|
232
|
+
cy.get('button[data-test-subj="dataGridDisplaySelectorButton"]').realClick();
|
|
233
|
+
cy.checkAxe();
|
|
234
|
+
});
|
|
235
|
+
it('has zero violations when the column actions menu is open', function () {
|
|
236
|
+
cy.get('button.euiDataGridHeaderCell__button').first().realClick();
|
|
237
|
+
cy.checkAxe();
|
|
238
|
+
});
|
|
239
|
+
it('has zero violations when a cell expansion popover is open', function () {
|
|
240
|
+
cy.get('div[data-gridcell-visible-row-index="0"][data-gridcell-column-index="1"]').realClick();
|
|
241
|
+
cy.get('div[data-gridcell-visible-row-index="0"][data-gridcell-column-index="1"]').find('button.euiButtonIcon').last().realClick();
|
|
242
|
+
cy.checkAxe();
|
|
243
|
+
});
|
|
244
|
+
it('has zero violations when the Favorite Distro column has been sorted', function () {
|
|
245
|
+
cy.get('button.euiDataGridHeaderCell__button').last().realClick();
|
|
246
|
+
cy.get('button.euiListGroupItem__button').contains('Sort Alma to Debian').should('exist').realClick();
|
|
247
|
+
cy.checkAxe();
|
|
248
|
+
});
|
|
249
|
+
it('has zero violations when fullscreen is open', function () {
|
|
250
|
+
cy.get('button[data-test-subj="dataGridFullScreenButton"]').realClick();
|
|
251
|
+
cy.get('div.euiDataGrid--fullScreen').should('exist');
|
|
252
|
+
cy.checkAxe();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
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 _moment = _interopRequireDefault(require("moment"));
|
|
8
|
+
|
|
9
|
+
var _date_picker = require("./date_picker");
|
|
10
|
+
|
|
11
|
+
var _form = require("../form");
|
|
12
|
+
|
|
13
|
+
var _react2 = require("@emotion/react");
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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 DatePicker = function DatePicker() {
|
|
34
|
+
var _useState = (0, _react.useState)((0, _moment.default)()),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
startDate = _useState2[0],
|
|
37
|
+
setStartDate = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var handleChange = function handleChange(date) {
|
|
40
|
+
setStartDate(date);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return (0, _react2.jsx)(_form.EuiFormRow, {
|
|
44
|
+
label: "Select a date"
|
|
45
|
+
}, (0, _react2.jsx)(_date_picker.EuiDatePicker, {
|
|
46
|
+
selected: startDate,
|
|
47
|
+
onChange: handleChange
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
beforeEach(function () {
|
|
52
|
+
cy.realMount((0, _react2.jsx)(DatePicker, null));
|
|
53
|
+
cy.get('input.euiDatePicker').should('exist');
|
|
54
|
+
});
|
|
55
|
+
describe('EuiDatePicker', function () {
|
|
56
|
+
describe('Automated accessibility check', function () {
|
|
57
|
+
it('has zero violations on first render', function () {
|
|
58
|
+
cy.checkAxe();
|
|
59
|
+
});
|
|
60
|
+
it('has zero violations when the calendar widget is expanded', function () {
|
|
61
|
+
cy.get('input.euiDatePicker').realClick();
|
|
62
|
+
cy.get('div.react-datepicker').should('exist');
|
|
63
|
+
cy.checkAxe();
|
|
64
|
+
});
|
|
65
|
+
it('has zero violations after picking a date with arrow keys', function () {
|
|
66
|
+
cy.realPress('Tab');
|
|
67
|
+
cy.get('div.react-datepicker').should('exist');
|
|
68
|
+
cy.repeatRealPress('ArrowDown');
|
|
69
|
+
cy.realPress('ArrowRight');
|
|
70
|
+
cy.realPress('Enter');
|
|
71
|
+
cy.get('div.react-datepicker').should('not.exist');
|
|
72
|
+
cy.checkAxe();
|
|
73
|
+
});
|
|
74
|
+
it('has zero violations after picking a date with dropdown menus', function () {
|
|
75
|
+
cy.realPress('Tab');
|
|
76
|
+
cy.get('div.react-datepicker').should('exist');
|
|
77
|
+
cy.repeatRealPress('Tab', 4);
|
|
78
|
+
cy.get('div.react-datepicker__month-read-view').should('have.focus');
|
|
79
|
+
cy.realPress('Space');
|
|
80
|
+
cy.repeatRealPress('ArrowDown');
|
|
81
|
+
cy.realPress('Enter');
|
|
82
|
+
cy.realPress('Tab');
|
|
83
|
+
cy.realPress('Space');
|
|
84
|
+
cy.repeatRealPress('ArrowDown');
|
|
85
|
+
cy.realPress('Enter');
|
|
86
|
+
cy.checkAxe();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|