@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.
Files changed (147) hide show
  1. package/README.md +0 -7
  2. package/dist/eui_theme_dark.css +7694 -5793
  3. package/dist/eui_theme_dark.min.css +1 -1
  4. package/dist/eui_theme_light.css +7736 -5835
  5. package/dist/eui_theme_light.min.css +1 -1
  6. package/es/components/datagrid/data_grid.a11y.js +251 -0
  7. package/es/components/date_picker/date_picker.a11y.js +83 -0
  8. package/es/components/delay_hide/delay_hide.a11y.js +106 -0
  9. package/es/components/delay_render/delay_render.a11y.js +106 -0
  10. package/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
  11. package/es/components/error_boundary/error_boundary.js +45 -27
  12. package/es/components/page/page_side_bar/page_side_bar.js +3 -0
  13. package/es/components/page/page_template.js +1 -15
  14. package/eui.d.ts +19 -11
  15. package/i18ntokens.json +4 -4
  16. package/lib/components/datagrid/data_grid.a11y.js +255 -0
  17. package/lib/components/date_picker/date_picker.a11y.js +89 -0
  18. package/lib/components/delay_hide/delay_hide.a11y.js +111 -0
  19. package/lib/components/delay_render/delay_render.a11y.js +111 -0
  20. package/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
  21. package/lib/components/error_boundary/error_boundary.js +49 -29
  22. package/lib/components/page/page_side_bar/page_side_bar.js +4 -0
  23. package/lib/components/page/page_template.js +1 -15
  24. package/optimize/es/components/datagrid/data_grid.a11y.js +234 -0
  25. package/optimize/es/components/date_picker/date_picker.a11y.js +73 -0
  26. package/optimize/es/components/delay_hide/delay_hide.a11y.js +96 -0
  27. package/optimize/es/components/delay_render/delay_render.a11y.js +96 -0
  28. package/optimize/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
  29. package/optimize/es/components/error_boundary/error_boundary.js +37 -26
  30. package/optimize/es/components/page/page_side_bar/page_side_bar.js +3 -0
  31. package/optimize/lib/components/datagrid/data_grid.a11y.js +248 -0
  32. package/optimize/lib/components/date_picker/date_picker.a11y.js +87 -0
  33. package/optimize/lib/components/delay_hide/delay_hide.a11y.js +111 -0
  34. package/optimize/lib/components/delay_render/delay_render.a11y.js +111 -0
  35. package/optimize/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
  36. package/optimize/lib/components/error_boundary/error_boundary.js +41 -28
  37. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +4 -0
  38. package/package.json +11 -14
  39. package/src/components/basic_table/_basic_table.scss +1 -4
  40. package/src/components/button/button_empty/_button_empty.scss +2 -4
  41. package/src/components/button/button_group/_button_group.scss +1 -1
  42. package/src/components/button/button_group/_button_group_button.scss +3 -4
  43. package/src/components/button/button_icon/_button_icon.scss +0 -3
  44. package/src/components/collapsible_nav/_collapsible_nav.scss +1 -1
  45. package/src/components/collapsible_nav/collapsible_nav_group/_collapsible_nav_group.scss +1 -1
  46. package/src/components/color_picker/_color_picker.scss +3 -2
  47. package/src/components/color_picker/_hue.scss +7 -7
  48. package/src/components/color_picker/_saturation.scss +1 -1
  49. package/src/components/color_picker/color_palette_display/_mixins.scss +1 -1
  50. package/src/components/color_picker/color_stops/_color_stops.scss +2 -3
  51. package/src/components/combo_box/_combo_box.scss +7 -6
  52. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +2 -1
  53. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +1 -1
  54. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +2 -3
  55. package/src/components/control_bar/_variables.scss +0 -1
  56. package/src/components/datagrid/_data_grid_data_row.scss +4 -5
  57. package/src/components/datagrid/_mixins.scss +1 -1
  58. package/src/components/datagrid/body/_data_grid_footer_row.scss +2 -1
  59. package/src/components/datagrid/body/header/_data_grid_column_resizer.scss +3 -4
  60. package/src/components/datagrid/body/header/_data_grid_header_row.scss +1 -1
  61. package/src/components/datagrid/controls/_data_grid_column_sorting.scss +1 -2
  62. package/src/components/date_picker/_date_picker_range.scss +1 -1
  63. package/src/components/date_picker/super_date_picker/_super_date_picker.scss +1 -4
  64. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +1 -1
  65. package/src/components/drag_and_drop/_draggable.scss +3 -5
  66. package/src/components/drag_and_drop/_droppable.scss +1 -1
  67. package/src/components/empty_prompt/_empty_prompt.scss +1 -1
  68. package/src/components/filter_group/_filter_group.scss +2 -2
  69. package/src/components/filter_group/_filter_select_item.scss +0 -1
  70. package/src/components/form/checkbox/_checkbox.scss +5 -3
  71. package/src/components/form/described_form_group/_described_form_group.scss +0 -1
  72. package/src/components/form/field_password/_field_password.scss +1 -1
  73. package/src/components/form/field_search/_field_search.scss +1 -1
  74. package/src/components/form/file_picker/_file_picker.scss +1 -2
  75. package/src/components/form/form_control_layout/_form_control_layout.scss +6 -7
  76. package/src/components/form/form_control_layout/_form_control_layout_delimited.scss +4 -6
  77. package/src/components/form/form_row/_form_row.scss +3 -0
  78. package/src/components/form/radio/_radio.scss +5 -3
  79. package/src/components/form/select/_select.scss +1 -1
  80. package/src/components/form/switch/_switch.scss +3 -1
  81. package/src/components/header/_mixins.scss +1 -1
  82. package/src/components/header/header_section/_header_section_item.scss +4 -4
  83. package/src/components/header/header_section/_header_section_item_button.scss +0 -1
  84. package/src/components/key_pad_menu/_key_pad_menu_item.scss +2 -7
  85. package/src/components/markdown_editor/_markdown_editor_drop_zone.scss +4 -4
  86. package/src/components/markdown_editor/_markdown_editor_footer.scss +1 -1
  87. package/src/components/markdown_editor/_markdown_editor_text_area.scss +2 -3
  88. package/src/components/markdown_editor/_markdown_format.scss +4 -2
  89. package/src/components/notification/_notification_event.scss +2 -2
  90. package/src/components/page/page_content/_page_content_body.scss +0 -1
  91. package/src/components/page/page_content/_page_content_header_section.scss +0 -1
  92. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -1
  93. package/src/components/panel/split_panel/_split_panel.scss +2 -2
  94. package/src/components/resizable_container/_resizable_button.scss +31 -31
  95. package/src/components/resizable_container/_resizable_collapse_button.scss +9 -9
  96. package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +1 -1
  97. package/src/components/side_nav/_mixins.scss +1 -1
  98. package/src/components/side_nav/_side_nav.scss +2 -1
  99. package/src/components/side_nav/_side_nav_item.scss +2 -3
  100. package/src/components/steps/_steps.scss +2 -1
  101. package/src/components/suggest/_suggest_input.scss +1 -1
  102. package/src/components/suggest/_suggest_item.scss +4 -3
  103. package/src/components/table/_responsive.scss +5 -3
  104. package/src/components/table/_table.scss +2 -4
  105. package/src/components/table/mobile/_mobile.scss +0 -2
  106. package/src/components/tree_view/tree_view.scss +2 -2
  107. package/src/global_styling/mixins/_form.scss +7 -18
  108. package/src/global_styling/mixins/_header.scss +2 -2
  109. package/src/global_styling/mixins/_helpers.scss +1 -2
  110. package/src/global_styling/mixins/_icons.scss +1 -1
  111. package/src/global_styling/mixins/_range.scss +4 -8
  112. package/src/global_styling/mixins/_responsive.scss +3 -8
  113. package/src/global_styling/mixins/_shadow.scss +5 -9
  114. package/src/global_styling/mixins/_states.scss +2 -2
  115. package/src/global_styling/mixins/_typography.scss +16 -19
  116. package/src/global_styling/variables/_colors_vis.scss +1 -1
  117. package/src/global_styling/variables/_typography.scss +1 -3
  118. package/src/themes/amsterdam/_colors_dark.scss +2 -1
  119. package/src/themes/amsterdam/_colors_light.scss +2 -0
  120. package/src/themes/amsterdam/global_styling/mixins/_link.scss +1 -1
  121. package/src/themes/amsterdam/global_styling/mixins/_states.scss +0 -1
  122. package/src/themes/amsterdam/global_styling/mixins/_typography.scss +1 -2
  123. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_days.scss +0 -1
  124. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_month_year.scss +0 -1
  125. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_times.scss +3 -4
  126. package/src/themes/amsterdam/global_styling/react_date_picker/_mixins.scss +0 -1
  127. package/src/themes/amsterdam/global_styling/variables/_typography.scss +1 -2
  128. package/src/themes/amsterdam/overrides/_color_stops.scss +4 -5
  129. package/src/themes/amsterdam/overrides/_combo_box.scss +3 -0
  130. package/src/themes/amsterdam/overrides/_form_control_layout.scss +3 -0
  131. package/src/themes/amsterdam/overrides/_form_control_layout_delimited.scss +5 -4
  132. package/src/themes/amsterdam/overrides/_header.scss +2 -2
  133. package/src/themes/amsterdam/overrides/_hue.scss +6 -6
  134. package/src/themes/amsterdam/overrides/_key_pad_menu.scss +2 -2
  135. package/src/themes/amsterdam/overrides/_steps.scss +1 -2
  136. package/src/themes/legacy/_colors_dark.scss +2 -1
  137. package/src/themes/legacy/_colors_light.scss +2 -0
  138. package/src/themes/legacy/reset/_reset.scss +8 -7
  139. package/test-env/components/datagrid/data_grid.a11y.js +248 -0
  140. package/test-env/components/date_picker/date_picker.a11y.js +87 -0
  141. package/test-env/components/delay_hide/delay_hide.a11y.js +111 -0
  142. package/test-env/components/delay_render/delay_render.a11y.js +111 -0
  143. package/test-env/components/empty_prompt/empty_prompt.a11y.js +72 -0
  144. package/test-env/components/error_boundary/error_boundary.js +48 -28
  145. package/test-env/components/page/page_side_bar/page_side_bar.js +4 -0
  146. package/test-env/components/page/page_template.js +1 -15
  147. 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 = ["className", "children", "data-test-subj", "theme"];
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 { withEuiTheme } from '../../services';
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 _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
48
- _inherits(_EuiErrorBoundary, _Component);
48
+ export var EuiErrorBoundary = /*#__PURE__*/function (_Component) {
49
+ _inherits(EuiErrorBoundary, _Component);
49
50
 
50
- var _super = _createSuper(_EuiErrorBoundary);
51
+ var _super = _createSuper(EuiErrorBoundary);
51
52
 
52
- function _EuiErrorBoundary(props) {
53
+ function EuiErrorBoundary(props) {
53
54
  var _this;
54
55
 
55
- _classCallCheck(this, _EuiErrorBoundary);
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(_EuiErrorBoundary, [{
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("div", _extends({
98
- css: styles.euiErrorBoundary,
99
- className: classNames('euiErrorBoundary', className),
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 _EuiErrorBoundary;
101
+ return EuiErrorBoundary;
114
102
  }(Component);
115
- _EuiErrorBoundary.propTypes = {
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 EuiErrorBoundary = withEuiTheme(_EuiErrorBoundary);
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.shape({
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
- }; type EuiErrorBoundaryExtendedProps = EuiErrorBoundaryProps & WithEuiThemeProps;
14529
- export class _EuiErrorBoundary extends Component<EuiErrorBoundaryExtendedProps, EuiErrorBoundaryState> {
14530
- constructor(props: EuiErrorBoundaryExtendedProps);
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
- export const EuiErrorBoundary: React.ForwardRefExoticComponent<Omit<EuiErrorBoundaryProps, "theme"> & React.RefAttributes<Omit<EuiErrorBoundaryProps, "theme">>>;
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
- export interface EuiPageSideBarProps extends CommonProps, HTMLAttributes<HTMLDivElement> {
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<EuiPageSideBarProps>;
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 { EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar/page_side_bar';
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 { EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar';
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": 87,
4009
- "column": 16
4008
+ "line": 99,
4009
+ "column": 12
4010
4010
  },
4011
4011
  "end": {
4012
- "line": 87,
4013
- "column": 74
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
+ });