@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,111 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ var _react = _interopRequireWildcard(require("react"));
6
+
7
+ var _delay_render = require("./delay_render");
8
+
9
+ var _form = require("../form");
10
+
11
+ var _flex = require("../flex");
12
+
13
+ var _loading = require("../loading");
14
+
15
+ var _react2 = require("@emotion/react");
16
+
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+
23
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
+
25
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
+
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
28
+
29
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
30
+
31
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
32
+
33
+ var DelayRender = function DelayRender() {
34
+ var _useState = (0, _react.useState)(1000),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ minimumDelay = _useState2[0],
37
+ setDelay = _useState2[1];
38
+
39
+ var _useState3 = (0, _react.useState)(false),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ render = _useState4[0],
42
+ setRender = _useState4[1];
43
+
44
+ var onChangeMinimumDelay = function onChangeMinimumDelay(event) {
45
+ setDelay(parseInt(event.target.value, 10));
46
+ };
47
+
48
+ var onChangeHide = function onChangeHide(event) {
49
+ setRender(event.target.checked);
50
+ };
51
+
52
+ var status = render ? 'showing' : 'hidden';
53
+ var label = "Child (".concat(status, ")");
54
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_form.EuiFormRow, null, (0, _react2.jsx)(_form.EuiCheckbox, {
55
+ id: "dummy-id",
56
+ checked: render,
57
+ onChange: onChangeHide,
58
+ label: "Show child"
59
+ })), (0, _react2.jsx)(_form.EuiFormRow, {
60
+ label: "Minimum delay"
61
+ }, (0, _react2.jsx)(_form.EuiFieldNumber, {
62
+ value: minimumDelay,
63
+ onChange: onChangeMinimumDelay
64
+ })), (0, _react2.jsx)(_form.EuiFormRow, {
65
+ label: label
66
+ }, render ? (0, _react2.jsx)(_delay_render.EuiDelayRender, {
67
+ delay: minimumDelay
68
+ }, (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
69
+ size: "m"
70
+ })) : (0, _react2.jsx)(_react.default.Fragment, null))));
71
+ };
72
+
73
+ beforeEach(function () {
74
+ cy.realMount((0, _react2.jsx)(DelayRender, null));
75
+ });
76
+ describe('EuiDelayRender', function () {
77
+ describe('Automated accessibility check', function () {
78
+ it('has zero violations on first render', function () {
79
+ cy.checkAxe();
80
+ });
81
+ it('has zero violations when the show child input is checked', function () {
82
+ cy.get('input.euiCheckbox__input').realClick();
83
+ cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
84
+ timeout: 5000
85
+ }).should('exist');
86
+ cy.checkAxe();
87
+ });
88
+ it('has zero violations when the show child input is pressed', function () {
89
+ cy.realPress('Tab');
90
+ cy.get('input.euiCheckbox__input').should('have.focus');
91
+ cy.realPress('Space');
92
+ cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
93
+ timeout: 5000
94
+ }).should('exist');
95
+ cy.checkAxe();
96
+ });
97
+ it('has zero violations when the show child input is toggled', function () {
98
+ cy.realPress('Tab');
99
+ cy.get('input.euiCheckbox__input').should('have.focus');
100
+ cy.realPress('Space');
101
+ cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
102
+ timeout: 5000
103
+ });
104
+ cy.realPress('Space');
105
+ cy.get('div.euiFormRow__fieldWrapper').last().find('span[role="progressbar"]', {
106
+ timeout: 5000
107
+ }).should('not.exist');
108
+ cy.checkAxe();
109
+ });
110
+ });
111
+ });
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _button = require("../button");
6
+
7
+ var _empty_prompt = require("./empty_prompt");
8
+
9
+ var _link = require("../link");
10
+
11
+ var _title = require("../title");
12
+
13
+ var _react2 = require("@emotion/react");
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ /*
18
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
+ * or more contributor license agreements. Licensed under the Elastic License
20
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
21
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
22
+ * Side Public License, v 1.
23
+ */
24
+ /// <reference types="../../../cypress/support"/>
25
+ var EmptyPrompt = function EmptyPrompt(_ref) {
26
+ var addCaseSpy = _ref.addCaseSpy,
27
+ addLinkSpy = _ref.addLinkSpy;
28
+ return (0, _react2.jsx)(_empty_prompt.EuiEmptyPrompt, {
29
+ iconType: "logoSecurity",
30
+ title: (0, _react2.jsx)("h2", null, "Start adding cases"),
31
+ body: (0, _react2.jsx)("p", null, "Add a new case or change your filter settings."),
32
+ actions: (0, _react2.jsx)(_button.EuiButton, {
33
+ color: "primary",
34
+ onClick: addCaseSpy,
35
+ fill: true
36
+ }, "Add a case"),
37
+ footer: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_title.EuiTitle, {
38
+ size: "xxs"
39
+ }, (0, _react2.jsx)("h3", null, "Want to learn more?")), (0, _react2.jsx)(_link.EuiLink, {
40
+ href: "#",
41
+ onClick: addLinkSpy
42
+ }, "Read the docs"))
43
+ });
44
+ };
45
+
46
+ beforeEach(function () {
47
+ var addCaseSpy = cy.spy().as('addCaseSpy');
48
+ var addLinkSpy = cy.spy().as('addLinkSpy');
49
+ cy.viewport(1024, 768); // medium breakpoint
50
+
51
+ cy.realMount((0, _react2.jsx)(EmptyPrompt, {
52
+ addCaseSpy: addCaseSpy,
53
+ addLinkSpy: addLinkSpy
54
+ }));
55
+ });
56
+ describe('EuiEmptyPrompt', function () {
57
+ describe('Automated accessibility check', function () {
58
+ it('has zero violations on first render', function () {
59
+ cy.checkAxe();
60
+ });
61
+ it('has zero violations after clicking Add a case button', function () {
62
+ cy.get('button.euiButton').contains('Add a case').realClick();
63
+ cy.get('@addCaseSpy').should('have.been.called');
64
+ cy.checkAxe();
65
+ });
66
+ it('has zero violations after clicking Read the docs link', function () {
67
+ cy.get('a.euiLink').contains('Read the docs').realClick();
68
+ cy.get('@addLinkSpy').should('have.been.called');
69
+ cy.checkAxe();
70
+ });
71
+ });
72
+ });
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _button = require("../button");
6
+
7
+ var _error_boundary = require("./error_boundary");
8
+
9
+ var _spacer = require("../spacer");
10
+
11
+ var _react2 = require("@emotion/react");
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ /*
16
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
+ * or more contributor license agreements. Licensed under the Elastic License
18
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
19
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
20
+ * Side Public License, v 1.
21
+ */
22
+ /// <reference types="../../../cypress/support"/>
23
+ var handleFocus = function handleFocus() {
24
+ var target = document.querySelector('pre.euiCodeBlock__pre');
25
+ target.focus();
26
+ };
27
+
28
+ describe('EuiErrorBoundary', function () {
29
+ describe('Automated accessibility check when an error is thrown', function () {
30
+ var BadComponent = function BadComponent() {
31
+ throw new Error('Throw the error.');
32
+ };
33
+
34
+ beforeEach(function () {
35
+ cy.on('uncaught:exception', function (err) {
36
+ if (err.message.includes('Throw the error')) {
37
+ return false;
38
+ }
39
+ });
40
+ cy.viewport(1024, 768); // medium breakpoint
41
+
42
+ cy.realMount((0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_button.EuiButton, {
43
+ color: "primary",
44
+ onClick: handleFocus,
45
+ "data-test-subj": "cy-error-boundary-button"
46
+ }, "Press to focus"), (0, _react2.jsx)(_spacer.EuiSpacer, null), (0, _react2.jsx)(_error_boundary.EuiErrorBoundary, null, (0, _react2.jsx)(BadComponent, null))));
47
+ });
48
+ it('has zero violations on first render', function () {
49
+ cy.checkAxe();
50
+ });
51
+ it('has zero violations and accepts focus when the button is pressed', function () {
52
+ cy.realPress('Tab');
53
+ cy.realPress('Enter');
54
+ cy.get('pre.euiCodeBlock__pre').should('have.focus');
55
+ cy.checkAxe();
56
+ });
57
+ });
58
+ describe('Automated accessibility check when no error is thrown', function () {
59
+ var GoodComponent = function GoodComponent() {
60
+ return (0, _react2.jsx)("div", {
61
+ "data-test-subj": "cy-good-component"
62
+ }, "This is a properly rendered component.");
63
+ };
64
+
65
+ beforeEach(function () {
66
+ cy.viewport(1024, 768); // medium breakpoint
67
+
68
+ cy.realMount((0, _react2.jsx)(_error_boundary.EuiErrorBoundary, null, (0, _react2.jsx)(GoodComponent, null)));
69
+ });
70
+ it('has zero violations when no violations are thrown', function () {
71
+ cy.get('div[data-test-subj="cy-good-component"]').should('exist');
72
+ cy.checkAxe();
73
+ });
74
+ });
75
+ });
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports._EuiErrorBoundary = exports.EuiErrorBoundary = void 0;
8
+ exports.EuiErrorMessage = exports.EuiErrorBoundary = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
@@ -25,7 +25,8 @@ var _error_boundary = require("./error_boundary.styles");
25
25
 
26
26
  var _react2 = require("@emotion/react");
27
27
 
28
- var _excluded = ["className", "children", "data-test-subj", "theme"];
28
+ var _excluded = ["children"],
29
+ _excluded2 = ["errorMessage", "className", "data-test-subj"];
29
30
 
30
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
32
 
@@ -59,15 +60,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
59
60
 
60
61
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
61
62
 
62
- var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
63
- _inherits(_EuiErrorBoundary, _Component);
63
+ var EuiErrorBoundary = /*#__PURE__*/function (_Component) {
64
+ _inherits(EuiErrorBoundary, _Component);
64
65
 
65
- var _super = _createSuper(_EuiErrorBoundary);
66
+ var _super = _createSuper(EuiErrorBoundary);
66
67
 
67
- function _EuiErrorBoundary(props) {
68
+ function EuiErrorBoundary(props) {
68
69
  var _this;
69
70
 
70
- _classCallCheck(this, _EuiErrorBoundary);
71
+ _classCallCheck(this, EuiErrorBoundary);
71
72
 
72
73
  _this = _super.call(this, props);
73
74
  var errorState = {
@@ -78,7 +79,7 @@ var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
78
79
  return _this;
79
80
  }
80
81
 
81
- _createClass(_EuiErrorBoundary, [{
82
+ _createClass(EuiErrorBoundary, [{
82
83
  key: "componentDidCatch",
83
84
  value: function componentDidCatch(_ref) {
84
85
  var message = _ref.message,
@@ -98,38 +99,30 @@ var _EuiErrorBoundary = /*#__PURE__*/function (_Component) {
98
99
  key: "render",
99
100
  value: function render() {
100
101
  var _this$props = this.props,
101
- className = _this$props.className,
102
102
  children = _this$props.children,
103
- _dataTestSubj = _this$props['data-test-subj'],
104
- theme = _this$props.theme,
105
103
  rest = _objectWithoutProperties(_this$props, _excluded);
106
104
 
107
- var dataTestSubj = (0, _classnames.default)('euiErrorBoundary', _dataTestSubj);
108
- var styles = (0, _error_boundary.euiErrorBoundaryStyles)(theme);
109
-
110
105
  if (this.state.hasError) {
111
106
  // You can render any custom fallback UI
112
- return (0, _react2.jsx)("div", _extends({
113
- css: styles.euiErrorBoundary,
114
- className: (0, _classnames.default)('euiErrorBoundary', className),
115
- "data-test-subj": dataTestSubj
116
- }, rest), (0, _react2.jsx)(_code.EuiCodeBlock, null, (0, _react2.jsx)(_title.EuiTitle, {
117
- size: "xs"
118
- }, (0, _react2.jsx)("p", null, (0, _react2.jsx)(_i18n.EuiI18n, {
119
- token: "euiErrorBoundary.error",
120
- default: "Error"
121
- }))), this.state.error));
107
+ return (0, _react2.jsx)(EuiErrorMessage, _extends({}, rest, {
108
+ errorMessage: this.state.error
109
+ }));
122
110
  }
123
111
 
124
112
  return children;
125
113
  }
126
114
  }]);
127
115
 
128
- return _EuiErrorBoundary;
116
+ return EuiErrorBoundary;
129
117
  }(_react.Component);
118
+ /**
119
+ * Split out into a separate styling-only component for easier use of hooks,
120
+ * and also for internal re-use by EUI's docs/playgrounds
121
+ */
122
+
130
123
 
131
- exports._EuiErrorBoundary = _EuiErrorBoundary;
132
- _EuiErrorBoundary.propTypes = {
124
+ exports.EuiErrorBoundary = EuiErrorBoundary;
125
+ EuiErrorBoundary.propTypes = {
133
126
  className: _propTypes.default.string,
134
127
  "aria-label": _propTypes.default.string,
135
128
  "data-test-subj": _propTypes.default.string,
@@ -140,5 +133,32 @@ _EuiErrorBoundary.propTypes = {
140
133
  */
141
134
  children: _propTypes.default.node.isRequired
142
135
  };
143
- var EuiErrorBoundary = (0, _services.withEuiTheme)(_EuiErrorBoundary);
144
- exports.EuiErrorBoundary = EuiErrorBoundary;
136
+
137
+ var EuiErrorMessage = function EuiErrorMessage(_ref2) {
138
+ var errorMessage = _ref2.errorMessage,
139
+ className = _ref2.className,
140
+ dataTestSubj = _ref2['data-test-subj'],
141
+ rest = _objectWithoutProperties(_ref2, _excluded2);
142
+
143
+ var euiTheme = (0, _services.useEuiTheme)();
144
+ var styles = (0, _error_boundary.euiErrorBoundaryStyles)(euiTheme);
145
+ return (0, _react2.jsx)("div", _extends({
146
+ css: styles.euiErrorBoundary,
147
+ className: (0, _classnames.default)('euiErrorBoundary', className),
148
+ "data-test-subj": (0, _classnames.default)('euiErrorBoundary', dataTestSubj)
149
+ }, rest), (0, _react2.jsx)(_code.EuiCodeBlock, null, (0, _react2.jsx)(_title.EuiTitle, {
150
+ size: "xs"
151
+ }, (0, _react2.jsx)("p", null, (0, _react2.jsx)(_i18n.EuiI18n, {
152
+ token: "euiErrorBoundary.error",
153
+ default: "Error"
154
+ }))), errorMessage));
155
+ };
156
+
157
+ exports.EuiErrorMessage = EuiErrorMessage;
158
+ EuiErrorMessage.propTypes = {
159
+ className: _propTypes.default.string,
160
+ "aria-label": _propTypes.default.string,
161
+ "data-test-subj": _propTypes.default.string,
162
+ css: _propTypes.default.any,
163
+ errorMessage: _propTypes.default.string
164
+ };
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ var _react = _interopRequireWildcard(require("react"));
6
+
7
+ var _expression = require("./expression");
8
+
9
+ var _form = require("../form");
10
+
11
+ var _flex = require("../flex");
12
+
13
+ var _panel = require("../panel");
14
+
15
+ var _popover = require("../popover");
16
+
17
+ var _services = require("../../services");
18
+
19
+ var _react2 = require("@emotion/react");
20
+
21
+ 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); }
22
+
23
+ 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; }
24
+
25
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
26
+
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+
29
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
+
31
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
+
33
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
34
+
35
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
+
37
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
38
+
39
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
40
+
41
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
+
43
+ describe('EuiExpression', function () {
44
+ var BaseExpression = function BaseExpression() {
45
+ var _useState = (0, _react.useState)({
46
+ isOpen: false,
47
+ value: 'count()'
48
+ }),
49
+ _useState2 = _slicedToArray(_useState, 2),
50
+ example1 = _useState2[0],
51
+ setExample1 = _useState2[1];
52
+
53
+ var _useState3 = (0, _react.useState)({
54
+ value: 100,
55
+ description: 'Is above'
56
+ }),
57
+ _useState4 = _slicedToArray(_useState3, 2),
58
+ example2 = _useState4[0],
59
+ setExample2 = _useState4[1];
60
+
61
+ var expressionPopoverId__1 = (0, _services.useGeneratedHtmlId)({
62
+ prefix: 'expressionPopover',
63
+ suffix: 'first'
64
+ });
65
+ var expressionPopoverId__2 = (0, _services.useGeneratedHtmlId)({
66
+ prefix: 'expressionPopover',
67
+ suffix: 'second'
68
+ });
69
+
70
+ var openExample1 = function openExample1() {
71
+ setExample1(_objectSpread(_objectSpread({}, example1), {}, {
72
+ isOpen: true
73
+ }));
74
+ setExample2(_objectSpread(_objectSpread({}, example2), {}, {
75
+ isOpen: false
76
+ }));
77
+ };
78
+
79
+ var closeExample1 = function closeExample1() {
80
+ setExample1(_objectSpread(_objectSpread({}, example1), {}, {
81
+ isOpen: false
82
+ }));
83
+ };
84
+
85
+ var openExample2 = function openExample2() {
86
+ setExample1(_objectSpread(_objectSpread({}, example1), {}, {
87
+ isOpen: false
88
+ }));
89
+ setExample2(_objectSpread(_objectSpread({}, example2), {}, {
90
+ isOpen: true
91
+ }));
92
+ };
93
+
94
+ var closeExample2 = function closeExample2() {
95
+ setExample2(_objectSpread(_objectSpread({}, example2), {}, {
96
+ isOpen: false
97
+ }));
98
+ };
99
+
100
+ var changeExample1 = function changeExample1(event) {
101
+ setExample1(_objectSpread(_objectSpread({}, example1), {}, {
102
+ value: event.target.value
103
+ }));
104
+ };
105
+
106
+ var changeExample2Value = function changeExample2Value(e) {
107
+ var sanitizedValue = parseInt(e.target.value, 10);
108
+ setExample2(_objectSpread(_objectSpread({}, example2), {}, {
109
+ value: isNaN(sanitizedValue) ? '' : sanitizedValue
110
+ }));
111
+ };
112
+
113
+ var changeExample2Description = function changeExample2Description(event) {
114
+ setExample2(_objectSpread(_objectSpread({}, example2), {}, {
115
+ description: event.target.value
116
+ }));
117
+ };
118
+
119
+ var renderPopover1 = function renderPopover1() {
120
+ return (0, _react2.jsx)("div", {
121
+ "data-test-subj": "cy-expression-popover-1"
122
+ }, (0, _react2.jsx)(_popover.EuiPopoverTitle, null, "When"), (0, _react2.jsx)(_form.EuiSelect, {
123
+ compressed: true,
124
+ value: example1.value,
125
+ onChange: changeExample1,
126
+ options: [{
127
+ value: 'count()',
128
+ text: 'count()'
129
+ }, {
130
+ value: 'average()',
131
+ text: 'average()'
132
+ }, {
133
+ value: 'sum()',
134
+ text: 'sum()'
135
+ }, {
136
+ value: 'median()',
137
+ text: 'median()'
138
+ }, {
139
+ value: 'min()',
140
+ text: 'min()'
141
+ }, {
142
+ value: 'max()',
143
+ text: 'max()'
144
+ }]
145
+ }));
146
+ };
147
+
148
+ var renderPopover2 = function renderPopover2() {
149
+ return (0, _react2.jsx)("div", {
150
+ "data-test-subj": "cy-expression-popover-2"
151
+ }, (0, _react2.jsx)(_flex.EuiFlexGroup, {
152
+ gutterSize: "s"
153
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
154
+ grow: false,
155
+ style: {
156
+ width: 150
157
+ }
158
+ }, (0, _react2.jsx)(_form.EuiSelect, {
159
+ compressed: true,
160
+ value: example2.description,
161
+ onChange: changeExample2Description,
162
+ options: [{
163
+ value: 'Is above',
164
+ text: 'Is above'
165
+ }, {
166
+ value: 'Is below',
167
+ text: 'Is below'
168
+ }, {
169
+ value: 'Is exactly',
170
+ text: 'Is exactly'
171
+ }]
172
+ })), (0, _react2.jsx)(_flex.EuiFlexItem, {
173
+ grow: false,
174
+ style: {
175
+ width: 100
176
+ }
177
+ }, (0, _react2.jsx)(_form.EuiFieldNumber, {
178
+ compressed: true,
179
+ value: example2.value,
180
+ onChange: changeExample2Value
181
+ }))));
182
+ };
183
+
184
+ return (0, _react2.jsx)(_panel.EuiPanel, null, (0, _react2.jsx)(_flex.EuiFlexGroup, {
185
+ gutterSize: "s"
186
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
187
+ grow: false
188
+ }, (0, _react2.jsx)(_popover.EuiPopover, {
189
+ id: expressionPopoverId__1,
190
+ button: (0, _react2.jsx)(_expression.EuiExpression, {
191
+ description: "when",
192
+ value: example1.value,
193
+ isActive: example1.isOpen,
194
+ onClick: openExample1
195
+ }),
196
+ isOpen: example1.isOpen,
197
+ closePopover: closeExample1,
198
+ panelPaddingSize: "s",
199
+ anchorPosition: "downLeft"
200
+ }, renderPopover1())), (0, _react2.jsx)(_flex.EuiFlexItem, {
201
+ grow: false
202
+ }, (0, _react2.jsx)(_popover.EuiPopover, {
203
+ id: expressionPopoverId__2,
204
+ panelPaddingSize: "s",
205
+ button: (0, _react2.jsx)(_expression.EuiExpression, {
206
+ description: example2.description,
207
+ value: example2.value,
208
+ isActive: example2.isOpen,
209
+ onClick: openExample2
210
+ }),
211
+ isOpen: example2.isOpen,
212
+ closePopover: closeExample2,
213
+ anchorPosition: "downLeft"
214
+ }, renderPopover2()))));
215
+ };
216
+
217
+ beforeEach(function () {
218
+ cy.viewport(1024, 768); // medium breakpoint
219
+
220
+ cy.realMount((0, _react2.jsx)(BaseExpression, null));
221
+ });
222
+ describe('Automated accessibility check', function () {
223
+ it('has zero violations on first render', function () {
224
+ cy.checkAxe();
225
+ });
226
+ it('has zero violations when count popover is open', function () {
227
+ cy.get('button').contains(/When count\(\)/i).realClick();
228
+ cy.get('div[data-test-subj="cy-expression-popover-1"]').should('exist');
229
+ cy.checkAxe();
230
+ });
231
+ it('has zero violations when is above popover is open', function () {
232
+ cy.get('button').contains(/Is above 100/i).realClick();
233
+ cy.get('div[data-test-subj="cy-expression-popover-2"]').should('exist');
234
+ cy.checkAxe();
235
+ });
236
+ it('has zero violations when first popover is interacted with by keyboard', function () {
237
+ cy.realPress('Tab');
238
+ cy.get('button').contains(/When count\(\)/i).should('have.focus');
239
+ cy.realPress('Enter');
240
+ cy.get('div[data-test-subj="cy-expression-popover-1"]').should('exist');
241
+ cy.realPress('Tab');
242
+ cy.realPress(['a', 'v', 'g']);
243
+ cy.realPress('Escape');
244
+ cy.get('button').contains(/When average\(\)/i).should('have.focus');
245
+ cy.checkAxe();
246
+ });
247
+ it('has zero violations when second popover is interacted with by keyboard', function () {
248
+ cy.repeatRealPress('Tab');
249
+ cy.get('button').contains(/Is above 100/i).should('have.focus');
250
+ cy.realPress('Enter');
251
+ cy.get('div[data-test-subj="cy-expression-popover-2"]').should('exist');
252
+ cy.realPress('Tab');
253
+ cy.realPress(['I', 's', ' ', 'e']);
254
+ cy.realPress('Tab');
255
+ cy.repeatRealPress('Delete', 3);
256
+ cy.realPress(['5', '0', '0']);
257
+ cy.realPress('Escape');
258
+ cy.get('button').contains(/Is exactly 500/i).should('have.focus');
259
+ cy.checkAxe();
260
+ });
261
+ });
262
+ });