@elastic/eui 71.0.0 → 72.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +0 -7
  2. package/dist/eui_theme_dark.css +7747 -5854
  3. package/dist/eui_theme_dark.min.css +1 -1
  4. package/dist/eui_theme_light.css +7737 -5844
  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/auto_refresh/refresh_interval.js +3 -1
  8. package/es/components/date_picker/date_picker.a11y.js +83 -0
  9. package/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  10. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  11. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +160 -173
  12. package/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  13. package/es/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  14. package/es/components/delay_hide/delay_hide.a11y.js +106 -0
  15. package/es/components/delay_render/delay_render.a11y.js +106 -0
  16. package/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
  17. package/es/components/error_boundary/error_boundary.a11y.js +67 -0
  18. package/es/components/error_boundary/error_boundary.js +45 -27
  19. package/es/components/expression/expression.a11y.js +254 -0
  20. package/es/components/filter_group/filter_group.a11y.js +281 -0
  21. package/es/components/focus_trap/focus_trap.a11y.js +131 -0
  22. package/es/components/form/file_picker/file_picker.js +1 -0
  23. package/es/components/header/header.a11y.js +374 -0
  24. package/es/components/icon/icon_ML.a11y.js +33 -0
  25. package/es/components/icon/icon_apps.a11y.js +33 -0
  26. package/es/components/icon/icon_editor.a11y.js +33 -0
  27. package/es/components/icon/icon_elastic.a11y.js +33 -0
  28. package/es/components/icon/icon_glyphs.a11y.js +33 -0
  29. package/es/components/icon/icon_tokens.a11y.js +33 -0
  30. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  31. package/es/components/page/page_side_bar/page_side_bar.js +3 -0
  32. package/es/components/page/page_template.js +1 -15
  33. package/es/components/selectable/selectable.js +4 -3
  34. package/es/components/selectable/selectable_list/selectable_list.js +17 -5
  35. package/es/components/tabs/tab.js +7 -17
  36. package/es/components/tabs/tabbed_content/tabbed_content.js +0 -16
  37. package/es/components/tabs/tabs.js +7 -11
  38. package/es/components/tabs/tabs_context.js +13 -0
  39. package/eui.d.ts +60 -43
  40. package/i18ntokens.json +34 -18
  41. package/lib/components/datagrid/data_grid.a11y.js +255 -0
  42. package/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  43. package/lib/components/date_picker/date_picker.a11y.js +89 -0
  44. package/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  45. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  46. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +155 -168
  47. package/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  48. package/lib/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  49. package/lib/components/delay_hide/delay_hide.a11y.js +111 -0
  50. package/lib/components/delay_render/delay_render.a11y.js +111 -0
  51. package/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
  52. package/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  53. package/lib/components/error_boundary/error_boundary.js +49 -29
  54. package/lib/components/expression/expression.a11y.js +262 -0
  55. package/lib/components/filter_group/filter_group.a11y.js +287 -0
  56. package/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  57. package/lib/components/form/file_picker/file_picker.js +1 -0
  58. package/lib/components/header/header.a11y.js +385 -0
  59. package/lib/components/icon/icon_ML.a11y.js +40 -0
  60. package/lib/components/icon/icon_apps.a11y.js +40 -0
  61. package/lib/components/icon/icon_editor.a11y.js +40 -0
  62. package/lib/components/icon/icon_elastic.a11y.js +40 -0
  63. package/lib/components/icon/icon_glyphs.a11y.js +40 -0
  64. package/lib/components/icon/icon_tokens.a11y.js +40 -0
  65. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  66. package/lib/components/page/page_side_bar/page_side_bar.js +4 -0
  67. package/lib/components/page/page_template.js +1 -15
  68. package/lib/components/selectable/selectable.js +4 -3
  69. package/lib/components/selectable/selectable_list/selectable_list.js +17 -5
  70. package/lib/components/tabs/tab.js +14 -17
  71. package/lib/components/tabs/tabbed_content/tabbed_content.js +0 -16
  72. package/lib/components/tabs/tabs.js +8 -14
  73. package/lib/components/tabs/tabs_context.js +23 -0
  74. package/optimize/es/components/datagrid/data_grid.a11y.js +234 -0
  75. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  76. package/optimize/es/components/date_picker/date_picker.a11y.js +73 -0
  77. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  78. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  79. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +145 -169
  80. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  81. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  82. package/optimize/es/components/delay_hide/delay_hide.a11y.js +96 -0
  83. package/optimize/es/components/delay_render/delay_render.a11y.js +96 -0
  84. package/optimize/es/components/empty_prompt/empty_prompt.a11y.js +63 -0
  85. package/optimize/es/components/error_boundary/error_boundary.a11y.js +67 -0
  86. package/optimize/es/components/error_boundary/error_boundary.js +37 -26
  87. package/optimize/es/components/expression/expression.a11y.js +243 -0
  88. package/optimize/es/components/filter_group/filter_group.a11y.js +271 -0
  89. package/optimize/es/components/focus_trap/focus_trap.a11y.js +120 -0
  90. package/optimize/es/components/form/file_picker/file_picker.js +1 -0
  91. package/optimize/es/components/header/header.a11y.js +364 -0
  92. package/optimize/es/components/icon/icon_ML.a11y.js +33 -0
  93. package/optimize/es/components/icon/icon_apps.a11y.js +33 -0
  94. package/optimize/es/components/icon/icon_editor.a11y.js +33 -0
  95. package/optimize/es/components/icon/icon_elastic.a11y.js +33 -0
  96. package/optimize/es/components/icon/icon_glyphs.a11y.js +33 -0
  97. package/optimize/es/components/icon/icon_tokens.a11y.js +33 -0
  98. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  99. package/optimize/es/components/page/page_side_bar/page_side_bar.js +3 -0
  100. package/optimize/es/components/selectable/selectable.js +2 -2
  101. package/optimize/es/components/selectable/selectable_list/selectable_list.js +15 -4
  102. package/optimize/es/components/tabs/tab.js +7 -5
  103. package/optimize/es/components/tabs/tabs.js +7 -11
  104. package/optimize/es/components/tabs/tabs_context.js +13 -0
  105. package/optimize/lib/components/datagrid/data_grid.a11y.js +248 -0
  106. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  107. package/optimize/lib/components/date_picker/date_picker.a11y.js +87 -0
  108. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  109. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  110. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +146 -167
  111. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  112. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  113. package/optimize/lib/components/delay_hide/delay_hide.a11y.js +111 -0
  114. package/optimize/lib/components/delay_render/delay_render.a11y.js +111 -0
  115. package/optimize/lib/components/empty_prompt/empty_prompt.a11y.js +72 -0
  116. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  117. package/optimize/lib/components/error_boundary/error_boundary.js +41 -28
  118. package/optimize/lib/components/expression/expression.a11y.js +254 -0
  119. package/optimize/lib/components/filter_group/filter_group.a11y.js +287 -0
  120. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  121. package/optimize/lib/components/form/file_picker/file_picker.js +1 -0
  122. package/optimize/lib/components/header/header.a11y.js +385 -0
  123. package/optimize/lib/components/icon/icon_ML.a11y.js +40 -0
  124. package/optimize/lib/components/icon/icon_apps.a11y.js +40 -0
  125. package/optimize/lib/components/icon/icon_editor.a11y.js +40 -0
  126. package/optimize/lib/components/icon/icon_elastic.a11y.js +40 -0
  127. package/optimize/lib/components/icon/icon_glyphs.a11y.js +40 -0
  128. package/optimize/lib/components/icon/icon_tokens.a11y.js +40 -0
  129. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  130. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +4 -0
  131. package/optimize/lib/components/selectable/selectable.js +2 -2
  132. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +15 -4
  133. package/optimize/lib/components/tabs/tab.js +15 -5
  134. package/optimize/lib/components/tabs/tabs.js +8 -14
  135. package/optimize/lib/components/tabs/tabs_context.js +23 -0
  136. package/package.json +14 -19
  137. package/src/components/basic_table/_basic_table.scss +1 -4
  138. package/src/components/button/button_empty/_button_empty.scss +2 -4
  139. package/src/components/button/button_group/_button_group.scss +1 -1
  140. package/src/components/button/button_group/_button_group_button.scss +3 -4
  141. package/src/components/button/button_icon/_button_icon.scss +0 -3
  142. package/src/components/collapsible_nav/_collapsible_nav.scss +1 -1
  143. package/src/components/collapsible_nav/collapsible_nav_group/_collapsible_nav_group.scss +1 -1
  144. package/src/components/color_picker/_color_picker.scss +3 -2
  145. package/src/components/color_picker/_hue.scss +7 -7
  146. package/src/components/color_picker/_saturation.scss +1 -1
  147. package/src/components/color_picker/color_palette_display/_mixins.scss +1 -1
  148. package/src/components/color_picker/color_stops/_color_stops.scss +2 -3
  149. package/src/components/combo_box/_combo_box.scss +7 -6
  150. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +2 -1
  151. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +1 -1
  152. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +2 -3
  153. package/src/components/control_bar/_variables.scss +0 -1
  154. package/src/components/datagrid/_data_grid_data_row.scss +4 -5
  155. package/src/components/datagrid/_mixins.scss +1 -1
  156. package/src/components/datagrid/body/_data_grid_footer_row.scss +2 -1
  157. package/src/components/datagrid/body/header/_data_grid_column_resizer.scss +3 -4
  158. package/src/components/datagrid/body/header/_data_grid_header_row.scss +1 -1
  159. package/src/components/datagrid/controls/_data_grid_column_sorting.scss +1 -2
  160. package/src/components/date_picker/_date_picker_range.scss +1 -1
  161. package/src/components/date_picker/super_date_picker/_super_date_picker.scss +1 -4
  162. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +15 -1
  163. package/src/components/drag_and_drop/_draggable.scss +3 -5
  164. package/src/components/drag_and_drop/_droppable.scss +1 -1
  165. package/src/components/empty_prompt/_empty_prompt.scss +1 -1
  166. package/src/components/filter_group/_filter_group.scss +2 -2
  167. package/src/components/filter_group/_filter_select_item.scss +0 -1
  168. package/src/components/form/checkbox/_checkbox.scss +5 -3
  169. package/src/components/form/described_form_group/_described_form_group.scss +0 -1
  170. package/src/components/form/field_password/_field_password.scss +1 -1
  171. package/src/components/form/field_search/_field_search.scss +1 -1
  172. package/src/components/form/file_picker/_file_picker.scss +15 -16
  173. package/src/components/form/form_control_layout/_form_control_layout.scss +6 -7
  174. package/src/components/form/form_control_layout/_form_control_layout_delimited.scss +4 -6
  175. package/src/components/form/form_row/_form_row.scss +3 -0
  176. package/src/components/form/radio/_radio.scss +5 -3
  177. package/src/components/form/select/_select.scss +1 -1
  178. package/src/components/form/switch/_switch.scss +3 -1
  179. package/src/components/header/_mixins.scss +1 -1
  180. package/src/components/header/header_section/_header_section_item.scss +4 -4
  181. package/src/components/header/header_section/_header_section_item_button.scss +0 -1
  182. package/src/components/key_pad_menu/_key_pad_menu_item.scss +2 -7
  183. package/src/components/markdown_editor/_markdown_editor_drop_zone.scss +4 -4
  184. package/src/components/markdown_editor/_markdown_editor_footer.scss +1 -1
  185. package/src/components/markdown_editor/_markdown_editor_text_area.scss +2 -3
  186. package/src/components/markdown_editor/_markdown_format.scss +4 -2
  187. package/src/components/notification/_notification_event.scss +2 -2
  188. package/src/components/page/page_content/_page_content_body.scss +0 -1
  189. package/src/components/page/page_content/_page_content_header_section.scss +0 -1
  190. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -1
  191. package/src/components/panel/split_panel/_split_panel.scss +2 -2
  192. package/src/components/resizable_container/_resizable_button.scss +31 -31
  193. package/src/components/resizable_container/_resizable_collapse_button.scss +9 -9
  194. package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +1 -1
  195. package/src/components/side_nav/_mixins.scss +1 -1
  196. package/src/components/side_nav/_side_nav.scss +2 -1
  197. package/src/components/side_nav/_side_nav_item.scss +2 -3
  198. package/src/components/steps/_steps.scss +2 -1
  199. package/src/components/suggest/_suggest_input.scss +1 -1
  200. package/src/components/suggest/_suggest_item.scss +4 -3
  201. package/src/components/table/_responsive.scss +5 -3
  202. package/src/components/table/_table.scss +2 -4
  203. package/src/components/table/mobile/_mobile.scss +0 -2
  204. package/src/components/tree_view/tree_view.scss +2 -2
  205. package/src/global_styling/mixins/_form.scss +7 -18
  206. package/src/global_styling/mixins/_header.scss +2 -2
  207. package/src/global_styling/mixins/_helpers.scss +1 -2
  208. package/src/global_styling/mixins/_icons.scss +1 -1
  209. package/src/global_styling/mixins/_range.scss +4 -8
  210. package/src/global_styling/mixins/_responsive.scss +3 -8
  211. package/src/global_styling/mixins/_shadow.scss +5 -9
  212. package/src/global_styling/mixins/_states.scss +2 -2
  213. package/src/global_styling/mixins/_typography.scss +16 -19
  214. package/src/global_styling/variables/_colors_vis.scss +1 -1
  215. package/src/global_styling/variables/_typography.scss +1 -3
  216. package/src/themes/amsterdam/_colors_dark.scss +2 -1
  217. package/src/themes/amsterdam/_colors_light.scss +2 -0
  218. package/src/themes/amsterdam/global_styling/mixins/_link.scss +1 -1
  219. package/src/themes/amsterdam/global_styling/mixins/_states.scss +0 -1
  220. package/src/themes/amsterdam/global_styling/mixins/_typography.scss +1 -2
  221. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_days.scss +0 -1
  222. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_month_year.scss +0 -1
  223. package/src/themes/amsterdam/global_styling/react_date_picker/_date_picker_times.scss +3 -4
  224. package/src/themes/amsterdam/global_styling/react_date_picker/_mixins.scss +0 -1
  225. package/src/themes/amsterdam/global_styling/variables/_typography.scss +1 -2
  226. package/src/themes/amsterdam/overrides/_color_stops.scss +4 -5
  227. package/src/themes/amsterdam/overrides/_combo_box.scss +3 -0
  228. package/src/themes/amsterdam/overrides/_form_control_layout.scss +3 -0
  229. package/src/themes/amsterdam/overrides/_form_control_layout_delimited.scss +5 -4
  230. package/src/themes/amsterdam/overrides/_header.scss +2 -2
  231. package/src/themes/amsterdam/overrides/_hue.scss +6 -6
  232. package/src/themes/amsterdam/overrides/_key_pad_menu.scss +2 -2
  233. package/src/themes/amsterdam/overrides/_steps.scss +1 -2
  234. package/src/themes/legacy/_colors_dark.scss +2 -1
  235. package/src/themes/legacy/_colors_light.scss +2 -0
  236. package/src/themes/legacy/reset/_reset.scss +8 -7
  237. package/test-env/components/datagrid/data_grid.a11y.js +248 -0
  238. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  239. package/test-env/components/date_picker/date_picker.a11y.js +87 -0
  240. package/test-env/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  241. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  242. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +153 -166
  243. package/test-env/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  244. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  245. package/test-env/components/delay_hide/delay_hide.a11y.js +111 -0
  246. package/test-env/components/delay_render/delay_render.a11y.js +111 -0
  247. package/test-env/components/empty_prompt/empty_prompt.a11y.js +72 -0
  248. package/test-env/components/error_boundary/error_boundary.a11y.js +75 -0
  249. package/test-env/components/error_boundary/error_boundary.js +48 -28
  250. package/test-env/components/expression/expression.a11y.js +254 -0
  251. package/test-env/components/filter_group/filter_group.a11y.js +287 -0
  252. package/test-env/components/focus_trap/focus_trap.a11y.js +140 -0
  253. package/test-env/components/form/file_picker/file_picker.js +1 -0
  254. package/test-env/components/header/header.a11y.js +385 -0
  255. package/test-env/components/icon/icon_ML.a11y.js +40 -0
  256. package/test-env/components/icon/icon_apps.a11y.js +40 -0
  257. package/test-env/components/icon/icon_editor.a11y.js +40 -0
  258. package/test-env/components/icon/icon_elastic.a11y.js +40 -0
  259. package/test-env/components/icon/icon_glyphs.a11y.js +40 -0
  260. package/test-env/components/icon/icon_tokens.a11y.js +40 -0
  261. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  262. package/test-env/components/page/page_side_bar/page_side_bar.js +4 -0
  263. package/test-env/components/page/page_template.js +1 -15
  264. package/test-env/components/selectable/selectable.js +4 -3
  265. package/test-env/components/selectable/selectable_list/selectable_list.js +17 -5
  266. package/test-env/components/tabs/tab.js +15 -17
  267. package/test-env/components/tabs/tabbed_content/tabbed_content.js +0 -16
  268. package/test-env/components/tabs/tabs.js +8 -14
  269. package/test-env/components/tabs/tabs_context.js +23 -0
  270. package/scripts/postinstall.js +0 -9
@@ -383,21 +383,7 @@ EuiPageTemplate_Deprecated.propTypes = {
383
383
  /**
384
384
  * Gets passed along to the #EuiPageSideBar component
385
385
  */
386
- pageSideBarProps: _propTypes.default.shape({
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
@@ -294,7 +294,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
294
294
  });
295
295
  });
296
296
 
297
- _defineProperty(_assertThisInitialized(_this), "onOptionClick", function (options, event) {
297
+ _defineProperty(_assertThisInitialized(_this), "onOptionClick", function (options, event, clickedOption) {
298
298
  var _this$props = _this.props,
299
299
  isPreFiltered = _this$props.isPreFiltered,
300
300
  onChange = _this$props.onChange;
@@ -306,7 +306,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
306
306
  });
307
307
 
308
308
  if (onChange) {
309
- onChange(options, event);
309
+ onChange(options, event, clickedOption);
310
310
  }
311
311
  });
312
312
 
@@ -740,7 +740,8 @@ EuiSelectable.propTypes = {
740
740
 
741
741
  /**
742
742
  * Passes back the altered `options` array with selected options having `checked: 'on'`.
743
- * Also passes back the React click/keyboard event as a second argument.
743
+ * Also passes back the React click/keyboard event as a second argument,
744
+ * and the option that triggered the onChange event as a third argument.
744
745
  */
745
746
  onChange: _propTypes.default.func,
746
747
 
@@ -241,6 +241,9 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
241
241
  onOptionClick = _this$props4.onOptionClick,
242
242
  options = _this$props4.options,
243
243
  singleSelection = _this$props4.singleSelection;
244
+
245
+ var changedOption = _objectSpread({}, addedOption);
246
+
244
247
  var updatedOptions = options.map(function (option) {
245
248
  // if singleSelection is enabled, uncheck any selected option(s)
246
249
  var updatedOption = _objectSpread({}, option);
@@ -252,11 +255,12 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
252
255
 
253
256
  if (option === addedOption) {
254
257
  updatedOption.checked = 'on';
258
+ changedOption = updatedOption;
255
259
  }
256
260
 
257
261
  return updatedOption;
258
262
  });
259
- onOptionClick(updatedOptions, event);
263
+ onOptionClick(updatedOptions, event, changedOption);
260
264
  });
261
265
 
262
266
  _defineProperty(_assertThisInitialized(_this), "onRemoveOption", function (removedOption, event) {
@@ -264,33 +268,40 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
264
268
  onOptionClick = _this$props5.onOptionClick,
265
269
  singleSelection = _this$props5.singleSelection,
266
270
  options = _this$props5.options;
271
+
272
+ var changedOption = _objectSpread({}, removedOption);
273
+
267
274
  var updatedOptions = options.map(function (option) {
268
275
  var updatedOption = _objectSpread({}, option);
269
276
 
270
277
  if (option === removedOption && singleSelection !== 'always') {
271
278
  delete updatedOption.checked;
279
+ changedOption = updatedOption;
272
280
  }
273
281
 
274
282
  return updatedOption;
275
283
  });
276
- onOptionClick(updatedOptions, event);
284
+ onOptionClick(updatedOptions, event, changedOption);
277
285
  });
278
286
 
279
287
  _defineProperty(_assertThisInitialized(_this), "onExcludeOption", function (excludedOption, event) {
280
288
  var _this$props6 = _this.props,
281
289
  onOptionClick = _this$props6.onOptionClick,
282
290
  options = _this$props6.options;
283
- excludedOption.checked = 'off';
291
+
292
+ var changedOption = _objectSpread({}, excludedOption);
293
+
284
294
  var updatedOptions = options.map(function (option) {
285
295
  var updatedOption = _objectSpread({}, option);
286
296
 
287
297
  if (option === excludedOption) {
288
298
  updatedOption.checked = 'off';
299
+ changedOption = updatedOption;
289
300
  }
290
301
 
291
302
  return updatedOption;
292
303
  });
293
- onOptionClick(updatedOptions, event);
304
+ onOptionClick(updatedOptions, event, changedOption);
294
305
  });
295
306
 
296
307
  return _this;
@@ -606,7 +617,8 @@ EuiSelectableList.propTypes = {
606
617
  searchValue: _propTypes.default.string.isRequired,
607
618
 
608
619
  /**
609
- * Returns the array of options with altered checked state
620
+ * Returns the array of options with altered checked state, the click/keyboard event,
621
+ * and the option that triggered the click/keyboard event
610
622
  */
611
623
  onOptionClick: _propTypes.default.func.isRequired,
612
624
 
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.EuiTab = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
@@ -17,12 +19,18 @@ var _href_validator = require("../../services/security/href_validator");
17
19
 
18
20
  var _tab = require("./tab.styles");
19
21
 
22
+ var _tabs_context = require("./tabs_context");
23
+
20
24
  var _react2 = require("@emotion/react");
21
25
 
22
- var _excluded = ["isSelected", "children", "className", "disabled", "href", "target", "rel", "prepend", "append", "size", "expand"];
26
+ var _excluded = ["isSelected", "children", "className", "disabled", "href", "target", "rel", "prepend", "append"];
23
27
 
24
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
29
 
30
+ 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); }
31
+
32
+ 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; }
33
+
26
34
  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); }
27
35
 
28
36
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -39,11 +47,12 @@ var EuiTab = function EuiTab(_ref) {
39
47
  rel = _ref.rel,
40
48
  prepend = _ref.prepend,
41
49
  append = _ref.append,
42
- _ref$size = _ref.size,
43
- size = _ref$size === void 0 ? 'm' : _ref$size,
44
- expand = _ref.expand,
45
50
  rest = _objectWithoutProperties(_ref, _excluded);
46
51
 
52
+ var _useContext = (0, _react.useContext)(_tabs_context.EuiTabsContext),
53
+ size = _useContext.size,
54
+ expand = _useContext.expand;
55
+
47
56
  var euiTheme = (0, _services.useEuiTheme)();
48
57
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
49
58
  var disabled = _disabled || !isHrefValid; // Keep CSS classnames for reference
@@ -122,18 +131,6 @@ EuiTab.propTypes = {
122
131
  * Will be excluded from interactive effects.
123
132
  */
124
133
  append: _propTypes.default.node,
125
-
126
- /**
127
- * Evenly stretches each tab to fill the
128
- * horizontal space
129
- */
130
- expand: _propTypes.default.bool,
131
-
132
- /**
133
- * Sizes affect both font size and overall size.
134
- * Only use the `xl` size when displayed as page titles.
135
- */
136
- size: _propTypes.default.any,
137
134
  className: _propTypes.default.string,
138
135
  "aria-label": _propTypes.default.string,
139
136
  "data-test-subj": _propTypes.default.string,
@@ -254,18 +254,6 @@ EuiTabbedContent.propTypes = {
254
254
  * Will be excluded from interactive effects.
255
255
  */
256
256
  append: _propTypes.default.node,
257
-
258
- /**
259
- * Evenly stretches each tab to fill the
260
- * horizontal space
261
- */
262
- expand: _propTypes.default.bool,
263
-
264
- /**
265
- * Sizes affect both font size and overall size.
266
- * Only use the `xl` size when displayed as page titles.
267
- */
268
- size: _propTypes.default.any,
269
257
  className: _propTypes.default.string,
270
258
  "aria-label": _propTypes.default.string,
271
259
  "data-test-subj": _propTypes.default.string,
@@ -284,8 +272,6 @@ EuiTabbedContent.propTypes = {
284
272
  disabled: _propTypes.default.bool,
285
273
  prepend: _propTypes.default.node,
286
274
  append: _propTypes.default.node,
287
- expand: _propTypes.default.bool,
288
- size: _propTypes.default.any,
289
275
  className: _propTypes.default.string,
290
276
  "aria-label": _propTypes.default.string,
291
277
  "data-test-subj": _propTypes.default.string,
@@ -305,8 +291,6 @@ EuiTabbedContent.propTypes = {
305
291
  disabled: _propTypes.default.bool,
306
292
  prepend: _propTypes.default.node,
307
293
  append: _propTypes.default.node,
308
- expand: _propTypes.default.bool,
309
- size: _propTypes.default.any,
310
294
  className: _propTypes.default.string,
311
295
  "aria-label": _propTypes.default.string,
312
296
  "data-test-subj": _propTypes.default.string,
@@ -13,10 +13,10 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _services = require("../../services");
15
15
 
16
- var _clone_element = require("../../services/theme/clone_element");
17
-
18
16
  var _tabs = require("./tabs.styles");
19
17
 
18
+ var _tabs_context = require("./tabs_context");
19
+
20
20
  var _react2 = require("@emotion/react");
21
21
 
22
22
  var _excluded = ["children", "className", "bottomBorder", "expand", "size"];
@@ -50,24 +50,18 @@ var EuiTabs = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
50
50
  var classes = (0, _classnames.default)('euiTabs', className);
51
51
  var styles = (0, _tabs.euiTabsStyles)(euiTheme);
52
52
  var cssStyles = [styles.euiTabs, styles[size], bottomBorder && styles.bottomBorder];
53
-
54
- var tabItems = _react.default.Children.map(children, function (child) {
55
- if ( /*#__PURE__*/_react.default.isValidElement(child)) {
56
- return (0, _clone_element.cloneElementWithCss)(child, {
57
- // we're passing the parent `size` and `expand` down to the children
58
- size: size,
59
- expand: expand
60
- });
61
- }
62
- });
63
-
64
53
  return (0, _react2.jsx)("div", _extends({
65
54
  ref: ref,
66
55
  className: classes,
67
56
  css: cssStyles
68
57
  }, children && {
69
58
  role: 'tablist'
70
- }, rest), tabItems);
59
+ }, rest), (0, _react2.jsx)(_tabs_context.EuiTabsContext.Provider, {
60
+ value: {
61
+ expand: expand,
62
+ size: size
63
+ }
64
+ }, children));
71
65
  });
72
66
  exports.EuiTabs = EuiTabs;
73
67
  EuiTabs.displayName = 'EuiTabs';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.contextDefaults = exports.EuiTabsContext = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+ var contextDefaults = {
18
+ expand: false,
19
+ size: 'm'
20
+ };
21
+ exports.contextDefaults = contextDefaults;
22
+ var EuiTabsContext = /*#__PURE__*/(0, _react.createContext)(contextDefaults);
23
+ exports.EuiTabsContext = EuiTabsContext;
@@ -0,0 +1,234 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+ /// <reference types="../../../cypress/support"/>
12
+ import React, { useState } from 'react';
13
+ import { EuiDataGrid } from './index';
14
+ import { faker } from '@faker-js/faker';
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+ var columns = [{
17
+ id: 'Name'
18
+ }, {
19
+ id: 'Email',
20
+ cellActions: [function (_ref) {
21
+ var rowIndex = _ref.rowIndex,
22
+ columnId = _ref.columnId,
23
+ Component = _ref.Component;
24
+ var row = ++rowIndex;
25
+ return ___EmotionJSX(Component, {
26
+ onClick: function onClick() {},
27
+ iconType: "heart",
28
+ "aria-label": "Send love to ".concat(row, ", column \"").concat(columnId, "\" ")
29
+ }, "Send love");
30
+ }]
31
+ }, {
32
+ id: 'User ID',
33
+ schema: 'string'
34
+ }, {
35
+ id: 'Account balance'
36
+ }, {
37
+ id: 'Last purchase',
38
+ schema: 'datetime'
39
+ }, {
40
+ id: 'Favorite distro',
41
+ schema: 'favoriteDistro'
42
+ }];
43
+ var storeData = [];
44
+
45
+ for (var i = 1; i < 11; i++) {
46
+ storeData.push({
47
+ Name: "".concat(faker.name.lastName(), ", ").concat(faker.name.firstName(), " ").concat(faker.name.suffix()),
48
+ Email: "".concat(faker.internet.email()),
49
+ 'User ID': "".concat(faker.datatype.number({
50
+ min: 1000000,
51
+ max: 9999999
52
+ })),
53
+ 'Account balance': faker.finance.amount(),
54
+ 'Last purchase': "".concat(faker.date.past()),
55
+ 'Favorite distro': i % 2 === 0 ? 'Alma' : 'Debian'
56
+ });
57
+ }
58
+
59
+ var commaSeparateNumbers = function commaSeparateNumbers(numberString) {
60
+ // extract the groups-of-three digits that are right-aligned
61
+ return numberString.replace(/((\d{3})+)$/, function (match) {
62
+ return (// then replace each group of xyz digits with ,xyz
63
+ match.replace(/(\d{3})/g, ',$1')
64
+ );
65
+ });
66
+ };
67
+
68
+ var DataGrid = function DataGrid() {
69
+ var _useState = useState(columns.map(function (_ref2) {
70
+ var id = _ref2.id;
71
+ return id;
72
+ })),
73
+ _useState2 = _slicedToArray(_useState, 2),
74
+ visibleColumns = _useState2[0],
75
+ setVisibleColumns = _useState2[1];
76
+
77
+ var _useState3 = useState(storeData),
78
+ _useState4 = _slicedToArray(_useState3, 2),
79
+ data = _useState4[0],
80
+ setData = _useState4[1];
81
+
82
+ var _useState5 = useState([{
83
+ id: 'custom',
84
+ direction: 'asc'
85
+ }]),
86
+ _useState6 = _slicedToArray(_useState5, 2),
87
+ sortingColumns = _useState6[0],
88
+ setSortingColumns = _useState6[1];
89
+
90
+ var setSorting = function setSorting(sortingColumns) {
91
+ var sortedData = _toConsumableArray(data).sort(function (a, b) {
92
+ for (var _i = 0; _i < sortingColumns.length; _i++) {
93
+ var column = sortingColumns[_i];
94
+ var aValue = a[column.id];
95
+ var bValue = b[column.id];
96
+ if (aValue < bValue) return column.direction === 'asc' ? -1 : 1;
97
+ if (aValue > bValue) return column.direction === 'asc' ? 1 : -1;
98
+ }
99
+
100
+ return 0;
101
+ });
102
+
103
+ setData(sortedData);
104
+ setSortingColumns(sortingColumns);
105
+ };
106
+
107
+ return ___EmotionJSX(EuiDataGrid, {
108
+ "aria-label": "Data grid schema example",
109
+ columns: columns,
110
+ columnVisibility: {
111
+ visibleColumns: visibleColumns,
112
+ setVisibleColumns: setVisibleColumns
113
+ },
114
+ rowCount: data.length,
115
+ inMemory: {
116
+ level: 'sorting'
117
+ },
118
+ renderCellValue: function renderCellValue(_ref3) {
119
+ var rowIndex = _ref3.rowIndex,
120
+ columnId = _ref3.columnId,
121
+ schema = _ref3.schema;
122
+ var value = data[rowIndex][columnId];
123
+
124
+ if (schema === 'numeric') {
125
+ value = commaSeparateNumbers(value);
126
+ }
127
+
128
+ return value;
129
+ },
130
+ sorting: {
131
+ columns: sortingColumns,
132
+ onSort: setSorting
133
+ },
134
+ schemaDetectors: [{
135
+ type: 'favoriteDistro',
136
+ textTransform: 'capitalize',
137
+ detector: function detector(value) {
138
+ return value.toLowerCase() === 'alma' || value.toLowerCase() === 'debian' ? 1 : 0;
139
+ },
140
+ comparator: function comparator(a, b, direction) {
141
+ var aValue = a.toLowerCase() === 'alma';
142
+ var bValue = b.toLowerCase() === 'alma';
143
+ if (aValue < bValue) return direction === 'asc' ? 1 : -1;
144
+ if (aValue > bValue) return direction === 'asc' ? -1 : 1;
145
+ return 0;
146
+ },
147
+ sortTextAsc: 'Alma to Debian',
148
+ sortTextDesc: 'Debian to Alma',
149
+ icon: 'starFilled',
150
+ color: '#800080'
151
+ }]
152
+ });
153
+ };
154
+
155
+ beforeEach(function () {
156
+ cy.viewport(1280, 800); // large breakpoint
157
+
158
+ cy.mount(___EmotionJSX("div", {
159
+ style: {
160
+ width: '80%',
161
+ margin: '0 auto'
162
+ }
163
+ }, ___EmotionJSX(DataGrid, null)));
164
+ });
165
+ describe('EuiDataGrid', function () {
166
+ describe('Automated accessibility check', function () {
167
+ it('has zero violations on first render', function () {
168
+ cy.checkAxe();
169
+ });
170
+ it('has zero violations when the columns reorder menu is open', function () {
171
+ cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
172
+ cy.checkAxe();
173
+ });
174
+ it('has zero violations when the hide all columns button is clicked', function () {
175
+ cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
176
+ cy.get('button[data-test-subj="dataGridColumnSelectorHideAllButton"]').realClick(); // TODO: Log this issue and remove the skipFailures boolean when fixed
177
+
178
+ cy.checkAxe({
179
+ skipFailures: true
180
+ });
181
+ });
182
+ it('has zero violations when the columns reorder searchbox returns multiple results', function () {
183
+ cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
184
+ cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('a');
185
+ cy.get('div.euiSwitch--compressed').should(function ($s) {
186
+ expect($s).to.have.length(5);
187
+ });
188
+ cy.checkAxe();
189
+ });
190
+ it('has zero violations when the columns reorder searchbox returns 1 result', function () {
191
+ cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
192
+ cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('favorite');
193
+ cy.get('div.euiSwitch--compressed').should(function ($s) {
194
+ expect($s).to.have.length(1);
195
+ });
196
+ cy.checkAxe();
197
+ });
198
+ it('has zero violations when the columns reorder searchbox returns 0 results', function () {
199
+ cy.get('button[data-test-subj="dataGridColumnSelectorButton"]').realClick();
200
+ cy.get('input[data-test-subj="dataGridColumnSelectorSearch"]').type('x');
201
+ cy.get('div.euiSwitch--compressed').should(function ($s) {
202
+ expect($s).to.have.length(0);
203
+ });
204
+ cy.checkAxe();
205
+ });
206
+ it('has zero violations when the keyboard shortcut menu is open', function () {
207
+ cy.get('button[data-test-subj="dataGridKeyboardShortcutsButton"]').realClick();
208
+ cy.checkAxe();
209
+ });
210
+ it('has zero violations when the grid display menu is open', function () {
211
+ cy.get('button[data-test-subj="dataGridDisplaySelectorButton"]').realClick();
212
+ cy.checkAxe();
213
+ });
214
+ it('has zero violations when the column actions menu is open', function () {
215
+ cy.get('button.euiDataGridHeaderCell__button').first().realClick();
216
+ cy.checkAxe();
217
+ });
218
+ it('has zero violations when a cell expansion popover is open', function () {
219
+ cy.get('div[data-gridcell-visible-row-index="0"][data-gridcell-column-index="1"]').realClick();
220
+ cy.get('div[data-gridcell-visible-row-index="0"][data-gridcell-column-index="1"]').find('button.euiButtonIcon').last().realClick();
221
+ cy.checkAxe();
222
+ });
223
+ it('has zero violations when the Favorite Distro column has been sorted', function () {
224
+ cy.get('button.euiDataGridHeaderCell__button').last().realClick();
225
+ cy.get('button.euiListGroupItem__button').contains('Sort Alma to Debian').should('exist').realClick();
226
+ cy.checkAxe();
227
+ });
228
+ it('has zero violations when fullscreen is open', function () {
229
+ cy.get('button[data-test-subj="dataGridFullScreenButton"]').realClick();
230
+ cy.get('div.euiDataGrid--fullScreen').should('exist');
231
+ cy.checkAxe();
232
+ });
233
+ });
234
+ });
@@ -213,7 +213,9 @@ export var EuiRefreshInterval = /*#__PURE__*/function (_Component) {
213
213
  units = _this$state5.units;
214
214
  return ___EmotionJSX(RenderI18nTimeOptions, null, function (_ref3) {
215
215
  var refreshUnitsOptions = _ref3.refreshUnitsOptions;
216
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiFlexGroup, {
216
+ return ___EmotionJSX("fieldset", {
217
+ className: "euiQuickSelectPopover__panel"
218
+ }, ___EmotionJSX(EuiFlexGroup, {
217
219
  alignItems: "center",
218
220
  gutterSize: "s",
219
221
  responsive: false,
@@ -0,0 +1,73 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+ /// <reference types="../../../cypress/support"/>
11
+ import React, { useState } from 'react';
12
+ import moment from 'moment';
13
+ import { EuiDatePicker } from './date_picker';
14
+ import { EuiFormRow } from '../form';
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+
17
+ var DatePicker = function DatePicker() {
18
+ var _useState = useState(moment()),
19
+ _useState2 = _slicedToArray(_useState, 2),
20
+ startDate = _useState2[0],
21
+ setStartDate = _useState2[1];
22
+
23
+ var handleChange = function handleChange(date) {
24
+ setStartDate(date);
25
+ };
26
+
27
+ return ___EmotionJSX(EuiFormRow, {
28
+ label: "Select a date"
29
+ }, ___EmotionJSX(EuiDatePicker, {
30
+ selected: startDate,
31
+ onChange: handleChange
32
+ }));
33
+ };
34
+
35
+ beforeEach(function () {
36
+ cy.realMount(___EmotionJSX(DatePicker, null));
37
+ cy.get('input.euiDatePicker').should('exist');
38
+ });
39
+ describe('EuiDatePicker', function () {
40
+ describe('Automated accessibility check', function () {
41
+ it('has zero violations on first render', function () {
42
+ cy.checkAxe();
43
+ });
44
+ it('has zero violations when the calendar widget is expanded', function () {
45
+ cy.get('input.euiDatePicker').realClick();
46
+ cy.get('div.react-datepicker').should('exist');
47
+ cy.checkAxe();
48
+ });
49
+ it('has zero violations after picking a date with arrow keys', function () {
50
+ cy.realPress('Tab');
51
+ cy.get('div.react-datepicker').should('exist');
52
+ cy.repeatRealPress('ArrowDown');
53
+ cy.realPress('ArrowRight');
54
+ cy.realPress('Enter');
55
+ cy.get('div.react-datepicker').should('not.exist');
56
+ cy.checkAxe();
57
+ });
58
+ it('has zero violations after picking a date with dropdown menus', function () {
59
+ cy.realPress('Tab');
60
+ cy.get('div.react-datepicker').should('exist');
61
+ cy.repeatRealPress('Tab', 4);
62
+ cy.get('div.react-datepicker__month-read-view').should('have.focus');
63
+ cy.realPress('Space');
64
+ cy.repeatRealPress('ArrowDown');
65
+ cy.realPress('Enter');
66
+ cy.realPress('Tab');
67
+ cy.realPress('Space');
68
+ cy.repeatRealPress('ArrowDown');
69
+ cy.realPress('Enter');
70
+ cy.checkAxe();
71
+ });
72
+ });
73
+ });
@@ -38,10 +38,13 @@ export var EuiCommonlyUsedTimeRanges = function EuiCommonlyUsedTimeRanges(_ref)
38
38
  "data-test-subj": dataTestSubj
39
39
  }, label));
40
40
  });
41
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiTitle, {
41
+ return ___EmotionJSX("fieldset", {
42
+ className: "euiQuickSelectPopover__panel"
43
+ }, ___EmotionJSX(EuiTitle, {
42
44
  size: "xxxs"
43
45
  }, ___EmotionJSX("legend", {
44
- id: legendId
46
+ id: legendId,
47
+ className: "euiQuickSelectPopover__panelTitle"
45
48
  }, ___EmotionJSX(EuiI18n, {
46
49
  token: "euiCommonlyUsedTimeRanges.legend",
47
50
  default: "Commonly used"
@@ -173,7 +173,9 @@ export var EuiQuickSelect = /*#__PURE__*/function (_Component) {
173
173
  return value === timeUnits;
174
174
  });
175
175
  var timeUnit = matchedTimeUnit ? matchedTimeUnit.text : '';
176
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiI18n, {
176
+ return ___EmotionJSX("fieldset", {
177
+ className: "euiQuickSelectPopover__panel"
178
+ }, ___EmotionJSX(EuiI18n, {
177
179
  token: "euiQuickSelect.legendText",
178
180
  default: "Quick select a time range"
179
181
  }, function (legendText) {