@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
@@ -0,0 +1,120 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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 { EuiBadge } from '../badge';
14
+ import { EuiButton } from '../button';
15
+ import { EuiCheckboxGroup, EuiFieldText } from '../form';
16
+ import { EuiFocusTrap } from './focus_trap';
17
+ import { EuiSpacer } from '../spacer';
18
+ import { EuiPanel } from '../panel';
19
+ import { EuiText } from '../text';
20
+ import { useGeneratedHtmlId } from '../../services';
21
+ import { jsx as ___EmotionJSX } from "@emotion/react";
22
+
23
+ var CheckboxGroup = function CheckboxGroup() {
24
+ var checkboxGroupItemId__1 = useGeneratedHtmlId({
25
+ prefix: 'checkboxGroupItem',
26
+ suffix: 'first'
27
+ });
28
+ var checkboxGroupItemId__2 = useGeneratedHtmlId({
29
+ prefix: 'checkboxGroupItem',
30
+ suffix: 'second'
31
+ });
32
+ var checkboxes = [{
33
+ id: checkboxGroupItemId__1,
34
+ label: 'Option one is checked by default'
35
+ }, {
36
+ id: checkboxGroupItemId__2,
37
+ label: 'Option two'
38
+ }];
39
+
40
+ var _useState = useState(_defineProperty({}, checkboxGroupItemId__1, true)),
41
+ _useState2 = _slicedToArray(_useState, 1),
42
+ checkboxIdToSelectedMap = _useState2[0];
43
+
44
+ return ___EmotionJSX(EuiCheckboxGroup, {
45
+ options: checkboxes,
46
+ idToSelectedMap: checkboxIdToSelectedMap,
47
+ onChange: function onChange() {}
48
+ });
49
+ };
50
+
51
+ var FocusTrap = function FocusTrap() {
52
+ var _useState4 = useState(true),
53
+ _useState5 = _slicedToArray(_useState4, 2),
54
+ isDisabled = _useState5[0],
55
+ changeDisabled = _useState5[1];
56
+
57
+ var toggleDisabled = function toggleDisabled() {
58
+ return changeDisabled(!isDisabled);
59
+ };
60
+
61
+ return ___EmotionJSX("div", {
62
+ "data-test-subj": "cy-trap-container"
63
+ }, ___EmotionJSX(EuiBadge, {
64
+ "data-test-subj": "cy-trap-message"
65
+ }, "Trap is ", isDisabled ? 'disabled' : 'enabled'), ___EmotionJSX(EuiSpacer, {
66
+ size: "s"
67
+ }), ___EmotionJSX(EuiFocusTrap, {
68
+ disabled: isDisabled
69
+ }, ___EmotionJSX(EuiPanel, null, ___EmotionJSX(EuiFieldText, {
70
+ "data-test-subj": "cy-input-one",
71
+ placeholder: "Placeholder text first input",
72
+ value: "",
73
+ onChange: function onChange() {},
74
+ "aria-label": "First focusable input"
75
+ }), ___EmotionJSX(EuiSpacer, {
76
+ size: "m"
77
+ }), ___EmotionJSX(CheckboxGroup, null), ___EmotionJSX(EuiSpacer, {
78
+ size: "m"
79
+ }), ___EmotionJSX(EuiButton, {
80
+ onClick: toggleDisabled,
81
+ "data-test-subj": "cy-focus-trap-button"
82
+ }, "".concat(!isDisabled ? 'Disable' : 'Enable', " Focus Trap")))), ___EmotionJSX(EuiSpacer, {
83
+ size: "l"
84
+ }), ___EmotionJSX(EuiText, null, "The button below is not focusable by keyboard as long as the focus trap is enabled."), ___EmotionJSX(EuiButton, {
85
+ onClick: function onClick() {},
86
+ "data-test-subj": "cy-external-button"
87
+ }, "External Focusable Element"));
88
+ };
89
+
90
+ beforeEach(function () {
91
+ cy.viewport(1024, 768); // medium breakpoint
92
+
93
+ cy.realMount(___EmotionJSX(FocusTrap, null));
94
+ });
95
+ describe('EuiFocusTrap', function () {
96
+ describe('Automated accessibility check', function () {
97
+ it('has zero violations on first render', function () {
98
+ cy.checkAxe();
99
+ });
100
+ it('has zero violations when the focus trap is enabled', function () {
101
+ cy.get('button[data-test-subj="cy-focus-trap-button"]').realClick();
102
+ cy.get('span[ data-test-subj="cy-trap-message"]').should('have.text', 'Trap is enabled');
103
+ cy.checkAxe();
104
+ });
105
+ });
106
+ describe('Accessibility checks for keyboard navigation', function () {
107
+ it('allows the button outside the FocusTrap to receive focus', function () {
108
+ cy.repeatRealPress('Tab', 5);
109
+ cy.get('button[data-test-subj="cy-external-button"]').should('have.focus');
110
+ cy.checkAxe();
111
+ });
112
+ it('prevents the button outside the FocusTrap from receiving focus', function () {
113
+ cy.repeatRealPress('Tab', 4);
114
+ cy.realPress('Enter');
115
+ cy.realPress('Tab');
116
+ cy.get('input[data-test-subj="cy-input-one"]').should('have.focus');
117
+ cy.checkAxe();
118
+ });
119
+ });
120
+ });
@@ -222,6 +222,7 @@ export var EuiFilePicker = /*#__PURE__*/function (_Component) {
222
222
  id: promptId
223
223
  }, ___EmotionJSX(EuiIcon, {
224
224
  className: "euiFilePicker__icon",
225
+ color: disabled ? 'subdued' : 'primary',
225
226
  type: "importAction",
226
227
  size: normalFormControl ? 'm' : 'l',
227
228
  "aria-hidden": "true"
@@ -0,0 +1,364 @@
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 { EuiAvatar } from '../avatar';
13
+ import { EuiFlexGroup, EuiFlexItem } from '../flex';
14
+ import { EuiHeaderBreadcrumbs } from './header_breadcrumbs';
15
+ import { EuiHeader } from './header';
16
+ import { EuiHeaderLogo } from './header_logo';
17
+ import { EuiHeaderSectionItemButton, EuiHeaderSectionItem, EuiHeaderSection } from './header_section';
18
+ import { EuiIcon } from '../icon';
19
+ import { EuiKeyPadMenu, EuiKeyPadMenuItem } from '../key_pad_menu';
20
+ import { EuiLink } from '../link';
21
+ import { EuiPopover, EuiPopoverTitle } from '../popover';
22
+ import { EuiSelectable, EuiSelectableMessage, EuiSelectableTemplateSitewide } from '../selectable';
23
+ import { EuiSpacer } from '../spacer';
24
+ import { EuiText } from '../text';
25
+ import { useGeneratedHtmlId } from '../../services';
26
+ import { jsx as ___EmotionJSX } from "@emotion/react";
27
+
28
+ var Header = function Header() {
29
+ var renderLogo = function renderLogo() {
30
+ return ___EmotionJSX(EuiHeaderLogo, {
31
+ iconType: "logoElastic",
32
+ href: "#",
33
+ onClick: function onClick(e) {
34
+ return e.preventDefault();
35
+ },
36
+ "aria-label": "Go to home page"
37
+ });
38
+ };
39
+
40
+ var renderBreadcrumbs = function renderBreadcrumbs() {
41
+ var breadcrumbs = [{
42
+ text: 'Management',
43
+ href: '#',
44
+ onClick: function onClick(e) {
45
+ e.preventDefault();
46
+ },
47
+ 'data-test-subj': 'breadcrumbsAnimals',
48
+ className: 'customClass'
49
+ }, {
50
+ text: 'Truncation test is here for a really long item',
51
+ href: '#',
52
+ onClick: function onClick(e) {
53
+ e.preventDefault();
54
+ }
55
+ }, {
56
+ text: 'Hidden',
57
+ 'data-test-subj': 'cy-breadcrumb-hidden',
58
+ href: '#',
59
+ onClick: function onClick(e) {
60
+ e.preventDefault();
61
+ }
62
+ }, {
63
+ text: 'Users',
64
+ href: '#',
65
+ onClick: function onClick(e) {
66
+ e.preventDefault();
67
+ }
68
+ }, {
69
+ text: 'Create'
70
+ }];
71
+ return ___EmotionJSX(EuiHeaderBreadcrumbs, {
72
+ "aria-label": "Header breadcrumbs example",
73
+ breadcrumbs: breadcrumbs
74
+ });
75
+ };
76
+
77
+ var search = ___EmotionJSX(EuiSelectableTemplateSitewide, {
78
+ options: [],
79
+ searchProps: {
80
+ compressed: true
81
+ },
82
+ popoverButton: ___EmotionJSX(EuiHeaderSectionItemButton, {
83
+ "aria-label": "Sitewide search"
84
+ }, ___EmotionJSX(EuiIcon, {
85
+ type: "search",
86
+ size: "m"
87
+ })),
88
+ emptyMessage: ___EmotionJSX(EuiSelectableMessage, {
89
+ style: {
90
+ minHeight: 300
91
+ },
92
+ "data-test-subj": "cy-search-menu"
93
+ }, ___EmotionJSX("p", null, "Please see the component page for", ' ', ___EmotionJSX("strong", null, "EuiSelectableTemplateSitewide"), "on how to configure your sitewide search."))
94
+ });
95
+
96
+ return ___EmotionJSX(EuiHeader, null, ___EmotionJSX(EuiHeaderSection, {
97
+ grow: false
98
+ }, ___EmotionJSX(EuiHeaderSectionItem, {
99
+ border: "right"
100
+ }, renderLogo()), ___EmotionJSX(EuiHeaderSectionItem, {
101
+ border: "right"
102
+ }, ___EmotionJSX(HeaderSpacesMenu, null))), renderBreadcrumbs(), ___EmotionJSX(EuiHeaderSection, {
103
+ side: "right"
104
+ }, ___EmotionJSX(EuiHeaderSectionItem, null, search), ___EmotionJSX(EuiHeaderSectionItem, null, ___EmotionJSX(HeaderUserMenu, null)), ___EmotionJSX(EuiHeaderSectionItem, null, ___EmotionJSX(HeaderAppMenu, null))));
105
+ };
106
+
107
+ var HeaderUserMenu = function HeaderUserMenu() {
108
+ var headerUserPopoverId = useGeneratedHtmlId({
109
+ prefix: 'headerUserPopover'
110
+ });
111
+
112
+ var _useState = useState(false),
113
+ _useState2 = _slicedToArray(_useState, 2),
114
+ isOpen = _useState2[0],
115
+ setIsOpen = _useState2[1];
116
+
117
+ var onMenuButtonClick = function onMenuButtonClick() {
118
+ setIsOpen(!isOpen);
119
+ };
120
+
121
+ var closeMenu = function closeMenu() {
122
+ setIsOpen(false);
123
+ };
124
+
125
+ var button = ___EmotionJSX(EuiHeaderSectionItemButton, {
126
+ "aria-controls": headerUserPopoverId,
127
+ "aria-expanded": isOpen,
128
+ "aria-haspopup": "true",
129
+ "aria-label": "Account menu",
130
+ onClick: onMenuButtonClick
131
+ }, ___EmotionJSX(EuiAvatar, {
132
+ name: "John Username",
133
+ size: "s"
134
+ }));
135
+
136
+ return ___EmotionJSX(EuiPopover, {
137
+ id: headerUserPopoverId,
138
+ button: button,
139
+ isOpen: isOpen,
140
+ anchorPosition: "downRight",
141
+ closePopover: closeMenu,
142
+ panelPaddingSize: "none",
143
+ "data-test-subj": "cy-account-menu"
144
+ }, ___EmotionJSX("div", {
145
+ style: {
146
+ width: 320
147
+ }
148
+ }, ___EmotionJSX(EuiFlexGroup, {
149
+ gutterSize: "m",
150
+ className: "euiHeaderProfile",
151
+ responsive: false
152
+ }, ___EmotionJSX(EuiFlexItem, {
153
+ grow: false
154
+ }, ___EmotionJSX(EuiAvatar, {
155
+ name: "John Username",
156
+ size: "xl"
157
+ })), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiText, null, ___EmotionJSX("p", null, "John Username")), ___EmotionJSX(EuiSpacer, {
158
+ size: "m"
159
+ }), ___EmotionJSX(EuiFlexGroup, null, ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiFlexGroup, {
160
+ justifyContent: "spaceBetween"
161
+ }, ___EmotionJSX(EuiFlexItem, {
162
+ grow: false
163
+ }, ___EmotionJSX(EuiLink, null, "Edit profile")), ___EmotionJSX(EuiFlexItem, {
164
+ grow: false
165
+ }, ___EmotionJSX(EuiLink, null, "Log out")))))))));
166
+ };
167
+
168
+ var HeaderSpacesMenu = function HeaderSpacesMenu() {
169
+ var headerSpacesPopoverId = useGeneratedHtmlId({
170
+ prefix: 'headerSpacesPopover'
171
+ });
172
+ var spacesValues = [{
173
+ label: 'Sales team',
174
+ prepend: ___EmotionJSX(EuiAvatar, {
175
+ type: "space",
176
+ name: "Sales Team",
177
+ size: "s"
178
+ }),
179
+ checked: 'on'
180
+ }, {
181
+ label: 'Engineering',
182
+ prepend: ___EmotionJSX(EuiAvatar, {
183
+ type: "space",
184
+ name: "Engineering",
185
+ size: "s"
186
+ })
187
+ }];
188
+
189
+ var _useState3 = useState(spacesValues),
190
+ _useState4 = _slicedToArray(_useState3, 2),
191
+ spaces = _useState4[0],
192
+ setSpaces = _useState4[1];
193
+
194
+ var _useState5 = useState(spaces.filter(function (option) {
195
+ return option.checked;
196
+ })[0]),
197
+ _useState6 = _slicedToArray(_useState5, 2),
198
+ selectedSpace = _useState6[0],
199
+ setSelectedSpace = _useState6[1];
200
+
201
+ var _useState7 = useState(false),
202
+ _useState8 = _slicedToArray(_useState7, 2),
203
+ isOpen = _useState8[0],
204
+ setIsOpen = _useState8[1];
205
+
206
+ var isListExtended = function isListExtended() {
207
+ return spaces.length > 4 ? true : false;
208
+ };
209
+
210
+ var onMenuButtonClick = function onMenuButtonClick() {
211
+ setIsOpen(!isOpen);
212
+ };
213
+
214
+ var closePopover = function closePopover() {
215
+ setIsOpen(false);
216
+ };
217
+
218
+ var onChange = function onChange(options) {
219
+ setSpaces(options);
220
+ setSelectedSpace(options.filter(function (option) {
221
+ return option.checked;
222
+ })[0]);
223
+ setIsOpen(false);
224
+ };
225
+
226
+ var button = ___EmotionJSX(EuiHeaderSectionItemButton, {
227
+ "aria-controls": headerSpacesPopoverId,
228
+ "aria-expanded": isOpen,
229
+ "aria-haspopup": "true",
230
+ "aria-label": "Spaces menu",
231
+ onClick: onMenuButtonClick
232
+ }, selectedSpace.prepend);
233
+
234
+ return ___EmotionJSX(EuiPopover, {
235
+ id: headerSpacesPopoverId,
236
+ button: button,
237
+ isOpen: isOpen,
238
+ anchorPosition: "downLeft",
239
+ closePopover: closePopover,
240
+ panelPaddingSize: "none"
241
+ }, ___EmotionJSX(EuiSelectable, {
242
+ searchable: isListExtended(),
243
+ searchProps: {
244
+ placeholder: 'Find a space',
245
+ compressed: true
246
+ },
247
+ options: spaces,
248
+ singleSelection: "always",
249
+ style: {
250
+ width: 300
251
+ },
252
+ onChange: onChange,
253
+ listProps: {
254
+ rowHeight: 40,
255
+ showIcons: false
256
+ },
257
+ "data-test-subj": "cy-spaces-menu"
258
+ }, function (list, search) {
259
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiPopoverTitle, {
260
+ paddingSize: "s"
261
+ }, search || 'Your spaces'), list);
262
+ }));
263
+ };
264
+
265
+ var HeaderAppMenu = function HeaderAppMenu() {
266
+ var headerAppPopoverId = useGeneratedHtmlId({
267
+ prefix: 'headerAppPopover'
268
+ });
269
+ var headerAppKeyPadMenuId = useGeneratedHtmlId({
270
+ prefix: 'headerAppKeyPadMenu'
271
+ });
272
+
273
+ var _useState9 = useState(false),
274
+ _useState10 = _slicedToArray(_useState9, 2),
275
+ isOpen = _useState10[0],
276
+ setIsOpen = _useState10[1];
277
+
278
+ var onMenuButtonClick = function onMenuButtonClick() {
279
+ setIsOpen(!isOpen);
280
+ };
281
+
282
+ var closeMenu = function closeMenu() {
283
+ setIsOpen(false);
284
+ };
285
+
286
+ var button = ___EmotionJSX(EuiHeaderSectionItemButton, {
287
+ "aria-controls": headerAppKeyPadMenuId,
288
+ "aria-expanded": isOpen,
289
+ "aria-haspopup": "true",
290
+ "aria-label": "Apps menu with 1 new app",
291
+ notification: "1",
292
+ onClick: onMenuButtonClick
293
+ }, ___EmotionJSX(EuiIcon, {
294
+ type: "apps",
295
+ size: "m"
296
+ }));
297
+
298
+ return ___EmotionJSX(EuiPopover, {
299
+ id: headerAppPopoverId,
300
+ button: button,
301
+ isOpen: isOpen,
302
+ anchorPosition: "downRight",
303
+ closePopover: closeMenu
304
+ }, ___EmotionJSX(EuiKeyPadMenu, {
305
+ id: headerAppKeyPadMenuId,
306
+ style: {
307
+ width: 288
308
+ },
309
+ "data-test-subj": "cy-apps-menu"
310
+ }, ___EmotionJSX(EuiKeyPadMenuItem, {
311
+ label: "Discover"
312
+ }, ___EmotionJSX(EuiIcon, {
313
+ type: "discoverApp",
314
+ size: "l"
315
+ })), ___EmotionJSX(EuiKeyPadMenuItem, {
316
+ label: "Dashboard"
317
+ }, ___EmotionJSX(EuiIcon, {
318
+ type: "dashboardApp",
319
+ size: "l"
320
+ })), ___EmotionJSX(EuiKeyPadMenuItem, {
321
+ label: "Dev Tools"
322
+ }, ___EmotionJSX(EuiIcon, {
323
+ type: "devToolsApp",
324
+ size: "l"
325
+ }))));
326
+ };
327
+
328
+ beforeEach(function () {
329
+ cy.viewport(1024, 768); // medium breakpoint
330
+
331
+ cy.realMount(___EmotionJSX(Header, null));
332
+ });
333
+ describe('EuiHeader', function () {
334
+ describe('Automated accessibility check', function () {
335
+ it('has zero violations on first render', function () {
336
+ cy.checkAxe();
337
+ });
338
+ it('has zero violations when Spaces menu is expanded', function () {
339
+ cy.get('button[aria-label="Spaces menu"]').realClick();
340
+ cy.get('div[data-test-subj="cy-spaces-menu"]').should('exist');
341
+ cy.checkAxe();
342
+ });
343
+ it('has zero violations when Account menu is expanded', function () {
344
+ cy.get('button[aria-label="Account menu"]').realClick();
345
+ cy.get('div[data-test-subj="cy-account-menu"]').should('exist');
346
+ cy.checkAxe();
347
+ });
348
+ it('has zero violations when Sitewide search is expanded', function () {
349
+ cy.get('button[aria-label="Sitewide search"]').realClick();
350
+ cy.get('div[data-test-subj="cy-search-menu"]').should('exist');
351
+ cy.checkAxe();
352
+ });
353
+ it('has zero violations when Apps menu is expanded', function () {
354
+ cy.get('button[aria-label="Apps menu with 1 new app"]').realClick();
355
+ cy.get('ul[data-test-subj="cy-apps-menu"]').should('exist');
356
+ cy.checkAxe();
357
+ });
358
+ it('has zero violations when a hidden breadcrumb is expanded', function () {
359
+ cy.get('button[aria-label="See collapsed breadcrumbs"]').realClick();
360
+ cy.get('a[data-test-subj="cy-breadcrumb-hidden"]').should('exist');
361
+ cy.checkAxe();
362
+ });
363
+ });
364
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ /// <reference types="../../../cypress/support"/>
9
+ import React from 'react';
10
+ import { EuiIcon } from './icon';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ describe('EuiIcons', function () {
13
+ describe('Automated accessibility check for ML icons', function () {
14
+ var MLIcons = ['dataVisualizer', 'createAdvancedJob', 'classificationJob', 'createMultiMetricJob', 'outlierDetectionJob', 'createPopulationJob', 'regressionJob', 'createSingleMetricJob'];
15
+
16
+ var MLGrid = function MLGrid() {
17
+ return ___EmotionJSX("div", null, MLIcons.map(function (glyph) {
18
+ return ___EmotionJSX(EuiIcon, {
19
+ className: "eui-alignMiddle",
20
+ type: glyph
21
+ });
22
+ }));
23
+ };
24
+
25
+ it('has zero violations on first render', function () {
26
+ cy.mount(___EmotionJSX(MLGrid, null));
27
+ cy.get('div[data-cy-root]').find('svg', {
28
+ timeout: 5000
29
+ }).should('have.length', 8);
30
+ cy.checkAxe();
31
+ });
32
+ });
33
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ /// <reference types="../../../cypress/support"/>
9
+ import React from 'react';
10
+ import { EuiIcon } from './icon';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ describe('EuiIcons', function () {
13
+ describe('Automated accessibility check for app icons', function () {
14
+ var AppIcons = ['addDataApp', 'advancedSettingsApp', 'agentApp', 'apmApp', 'appSearchApp', 'auditbeatApp', 'canvasApp', 'casesApp', 'codeApp', 'consoleApp', 'crossClusterReplicationApp', 'dashboardApp', 'devToolsApp', 'discoverApp', 'emsApp', 'filebeatApp', 'fleetApp', 'gisApp', 'graphApp', 'grokApp', 'heartbeatApp', 'indexManagementApp', 'indexPatternApp', 'indexRollupApp', 'lensApp', 'logsApp', 'machineLearningApp', 'managementApp', 'metricbeatApp', 'metricsApp', 'monitoringApp', 'notebookApp', 'packetbeatApp', 'pipelineApp', 'recentlyViewedApp', 'reportingApp', 'savedObjectsApp', 'searchProfilerApp', 'securityAnalyticsApp', 'securityApp', 'spacesApp', 'sqlApp', 'timelionApp', 'upgradeAssistantApp', 'uptimeApp', 'usersRolesApp', 'visualizeApp', 'watchesApp', 'workplaceSearchApp'];
15
+
16
+ var AppGrid = function AppGrid() {
17
+ return ___EmotionJSX("div", null, AppIcons.map(function (glyph) {
18
+ return ___EmotionJSX(EuiIcon, {
19
+ className: "eui-alignMiddle",
20
+ type: glyph
21
+ });
22
+ }));
23
+ };
24
+
25
+ it('has zero violations on first render', function () {
26
+ cy.mount(___EmotionJSX(AppGrid, null));
27
+ cy.get('div[data-cy-root]').find('svg', {
28
+ timeout: 5000
29
+ }).should('have.length', 49);
30
+ cy.checkAxe();
31
+ });
32
+ });
33
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ /// <reference types="../../../cypress/support"/>
9
+ import React from 'react';
10
+ import { EuiIcon } from './icon';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ describe('EuiIcons', function () {
13
+ describe('Automated accessibility check for editor icons', function () {
14
+ var EditorIcons = ['editorAlignCenter', 'editorAlignLeft', 'editorAlignRight', 'editorBold', 'editorChecklist', 'editorCodeBlock', 'editorComment', 'editorDistributeHorizontal', 'editorDistributeVertical', 'editorHeading', 'editorItalic', 'editorItemAlignBottom', 'editorItemAlignCenter', 'editorItemAlignLeft', 'editorItemAlignMiddle', 'editorItemAlignRight', 'editorItemAlignTop', 'editorLink', 'editorOrderedList', 'editorPositionBottomLeft', 'editorPositionBottomRight', 'editorPositionTopLeft', 'editorPositionTopRight', 'editorRedo', 'editorStrike', 'editorTable', 'editorUnderline', 'editorUndo', 'editorUnorderedList'];
15
+
16
+ var EditorGrid = function EditorGrid() {
17
+ return ___EmotionJSX("div", null, EditorIcons.map(function (glyph) {
18
+ return ___EmotionJSX(EuiIcon, {
19
+ className: "eui-alignMiddle",
20
+ type: glyph
21
+ });
22
+ }));
23
+ };
24
+
25
+ it('has zero violations on first render', function () {
26
+ cy.mount(___EmotionJSX(EditorGrid, null));
27
+ cy.get('div[data-cy-root]').find('svg', {
28
+ timeout: 5000
29
+ }).should('have.length', 29);
30
+ cy.checkAxe();
31
+ });
32
+ });
33
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ /// <reference types="../../../cypress/support"/>
9
+ import React from 'react';
10
+ import { EuiIcon } from './icon';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ describe('EuiIcons', function () {
13
+ describe('Automated accessibility check for Elastic logos', function () {
14
+ var ElasticLogos = ['logoElastic', 'logoElasticStack', 'logoElasticsearch', 'logoAppSearch', 'logoBeats', 'logoBusinessAnalytics', 'logoCloud', 'logoCloudEnterprise', 'logoEnterpriseSearch', 'logoKibana', 'logoLogging', 'logoLogstash', 'logoMaps', 'logoMetrics', 'logoObservability', 'logoSecurity', 'logoSiteSearch', 'logoUptime', 'logoWorkplaceSearch'];
15
+
16
+ var ElasticGrid = function ElasticGrid() {
17
+ return ___EmotionJSX("div", null, ElasticLogos.map(function (glyph) {
18
+ return ___EmotionJSX(EuiIcon, {
19
+ className: "eui-alignMiddle",
20
+ type: glyph
21
+ });
22
+ }));
23
+ };
24
+
25
+ it('has zero violations on first render', function () {
26
+ cy.mount(___EmotionJSX(ElasticGrid, null));
27
+ cy.get('div[data-cy-root]').find('svg', {
28
+ timeout: 5000
29
+ }).should('have.length', 19);
30
+ cy.checkAxe();
31
+ });
32
+ });
33
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ /// <reference types="../../../cypress/support"/>
9
+ import React from 'react';
10
+ import { EuiIcon } from './icon';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ describe('EuiIcons', function () {
13
+ describe('Automated accessibility check for glyph icons', function () {
14
+ var GlyphIcons = ['accessibility', 'aggregate', 'alert', 'analyzeEvent', 'annotation', 'apmTrace', 'apps', 'arrowDown', 'arrowLeft', 'arrowRight', 'arrowUp', 'arrowStart', 'arrowEnd', 'article', 'asterisk', 'beaker', 'bell', 'bellSlash', 'beta', 'bolt', 'boxesHorizontal', 'boxesVertical', 'branch', 'branchUser', 'broom', 'brush', 'bug', 'bullseye', 'calendar', 'check', 'checkInCircleFilled', 'cheer', 'clock', 'cloudDrizzle', 'cloudStormy', 'cloudSunny', 'cluster', 'color', 'compute', 'console', 'container', 'continuityAbove', 'continuityAboveBelow', 'continuityBelow', 'continuityWithin', 'controlsHorizontal', 'controlsVertical', 'copy', 'copyClipboard', 'cross', 'crosshairs', 'crossInACircleFilled', 'currency', 'cut', 'database', 'desktop', 'discuss', 'document', 'documents', 'documentEdit', 'documentation', 'dot', 'dotInCircle', 'doubleArrowLeft', 'doubleArrowRight', 'download', 'email', 'empty', 'eql', 'eraser', 'exit', 'expand', 'expandMini', 'exportAction', 'eye', 'eyeClosed', 'faceHappy', 'faceNeutral', 'faceSad', 'filter', 'filterExclude', 'filterIgnore', 'filterInclude', 'filterInCircle', 'flag', 'fold', 'folderCheck', 'folderClosed', 'folderExclamation', 'folderOpen', 'frameNext', 'framePrevious', 'fullScreen', 'fullScreenExit', 'function', 'gear', 'glasses', 'globe', 'grab', 'grabHorizontal', 'grid', 'heart', 'heatmap', 'help', 'home', 'iInCircle', 'image', 'importAction', 'indexClose', 'indexEdit', 'indexFlush', 'indexMapping', 'indexOpen', 'indexRuntime', 'indexSettings', 'indexTemporary', 'infinity', 'inputOutput', 'inspect', 'invert', 'ip', 'keyboard', 'kqlField', 'kqlFunction', 'kqlOperand', 'kqlSelector', 'kqlValue', 'kubernetesNode', 'kubernetesPod', 'launch', 'layers', 'lettering', 'lineDashed', 'lineDotted', 'lineSolid', 'link', 'list', 'listAdd', 'lock', 'lockOpen', 'logstashFilter', 'logstashIf', 'logstashInput', 'logstashOutput', 'logstashQueue', 'magnifyWithExclamation', 'magnifyWithMinus', 'magnifyWithPlus', 'magnet', 'mapMarker', 'memory', 'merge', 'menu', 'menuDown', 'menuLeft', 'menuRight', 'menuUp', 'minimize', 'minus', 'minusInCircle', 'minusInCircleFilled', 'mobile', 'moon', 'namespace', 'nested', 'node', 'number', 'offline', 'online', 'package', 'pageSelect', 'pagesSelect', 'paperClip', 'partial', 'pause', 'payment', 'pencil', 'percent', 'pin', 'pinFilled', 'play', 'playFilled', 'plus', 'plusInCircle', 'plusInCircleFilled', 'popout', 'push', 'questionInCircle', 'quote', 'refresh', 'reporter', 'returnKey', 'save', 'scale', 'search', 'securitySignal', 'securitySignalDetected', 'securitySignalResolved', 'sessionViewer', 'shard', 'share', 'snowflake', 'sortable', 'sortAscending', 'sortDescending', 'sortDown', 'sortLeft', 'sortRight', 'sortUp', 'spaces', 'starEmpty', 'starEmptySpace', 'starFilled', 'starFilledSpace', 'starMinusEmpty', 'starMinusFilled', 'starPlusEmpty', 'starPlusFilled', 'stats', 'stop', 'stopFilled', 'stopSlash', 'storage', 'string', 'submodule', 'sun', 'symlink', 'tableOfContents', 'tableDensityExpanded', 'tableDensityCompact', 'tableDensityNormal', 'tag', 'tear', 'temperature', 'timeline', 'timeRefresh', 'timeslider', 'training', 'trash', 'unfold', 'unlink', 'user', 'userAvatar', 'users', 'vector', 'videoPlayer', 'visArea', 'visAreaStacked', 'visBarHorizontal', 'visBarHorizontalStacked', 'visBarVertical', 'visBarVerticalStacked', 'visGauge', 'visGoal', 'visLine', 'visMapCoordinate', 'visMapRegion', 'visMetric', 'visPie', 'visTable', 'visTagCloud', 'visText', 'visTimelion', 'visVega', 'visVisualBuilder', 'wordWrap', 'wordWrapDisabled', 'wrench'];
15
+
16
+ var GlyphGrid = function GlyphGrid() {
17
+ return ___EmotionJSX("div", null, GlyphIcons.map(function (glyph) {
18
+ return ___EmotionJSX(EuiIcon, {
19
+ className: "eui-alignMiddle",
20
+ type: glyph
21
+ });
22
+ }));
23
+ };
24
+
25
+ it('has zero violations on first render', function () {
26
+ cy.mount(___EmotionJSX(GlyphGrid, null));
27
+ cy.get('svg[data-icon-type="wrench"]', {
28
+ timeout: 5000
29
+ }).should('exist');
30
+ cy.checkAxe();
31
+ });
32
+ });
33
+ });