@elastic/eui 71.1.0 → 72.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/eui_charts_theme.js +13 -1
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +20 -176
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +20 -176
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/basic_table/basic_table.js +2 -2
  8. package/es/components/basic_table/in_memory_table.js +3 -6
  9. package/es/components/basic_table/table.a11y.js +128 -0
  10. package/es/components/color_picker/color_picker.styles.js +16 -0
  11. package/es/components/color_picker/color_stops/color_stop_thumb.js +19 -7
  12. package/es/components/color_picker/color_stops/color_stop_thumb.styles.js +59 -0
  13. package/es/components/color_picker/color_stops/color_stops.js +25 -15
  14. package/es/components/color_picker/color_stops/color_stops.styles.js +65 -0
  15. package/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  16. package/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  17. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  18. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +160 -173
  19. package/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  20. package/es/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  21. package/es/components/error_boundary/error_boundary.a11y.js +67 -0
  22. package/es/components/expression/expression.a11y.js +254 -0
  23. package/es/components/filter_group/filter_group.a11y.js +281 -0
  24. package/es/components/focus_trap/focus_trap.a11y.js +131 -0
  25. package/es/components/form/file_picker/file_picker.js +1 -0
  26. package/es/components/form/range/range_highlight.styles.js +1 -1
  27. package/es/components/form/range/range_levels.styles.js +1 -1
  28. package/es/components/form/range/range_track.js +5 -2
  29. package/es/components/header/header.a11y.js +374 -0
  30. package/es/components/icon/icon_ML.a11y.js +33 -0
  31. package/es/components/icon/icon_apps.a11y.js +33 -0
  32. package/es/components/icon/icon_editor.a11y.js +33 -0
  33. package/es/components/icon/icon_elastic.a11y.js +33 -0
  34. package/es/components/icon/icon_glyphs.a11y.js +33 -0
  35. package/es/components/icon/icon_tokens.a11y.js +33 -0
  36. package/es/components/image/image.a11y.js +55 -0
  37. package/es/components/key_pad_menu/key_pad_menu.a11y.js +158 -0
  38. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  39. package/es/components/popover/popover.js +2 -2
  40. package/es/components/selectable/selectable.js +4 -3
  41. package/es/components/selectable/selectable_list/selectable_list.js +17 -5
  42. package/es/components/table/table_footer_cell.js +1 -1
  43. package/es/components/table/table_header_cell.js +1 -1
  44. package/es/components/table/table_row_cell.js +2 -2
  45. package/es/components/tabs/tab.js +7 -17
  46. package/es/components/tabs/tabbed_content/tabbed_content.js +0 -16
  47. package/es/components/tabs/tabs.js +7 -11
  48. package/es/components/tabs/tabs_context.js +13 -0
  49. package/es/services/color/manipulation.js +9 -0
  50. package/es/services/index.js +11 -11
  51. package/eui.d.ts +195 -138
  52. package/i18ntokens.json +46 -30
  53. package/lib/components/basic_table/basic_table.js +2 -2
  54. package/lib/components/basic_table/in_memory_table.js +3 -6
  55. package/lib/components/basic_table/table.a11y.js +139 -0
  56. package/lib/components/color_picker/color_picker.styles.js +26 -0
  57. package/lib/components/color_picker/color_stops/color_stop_thumb.js +19 -6
  58. package/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +69 -0
  59. package/lib/components/color_picker/color_stops/color_stops.js +25 -14
  60. package/lib/components/color_picker/color_stops/color_stops.styles.js +73 -0
  61. package/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  62. package/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  63. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  64. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +155 -168
  65. package/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  66. package/lib/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  67. package/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  68. package/lib/components/expression/expression.a11y.js +262 -0
  69. package/lib/components/filter_group/filter_group.a11y.js +287 -0
  70. package/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  71. package/lib/components/form/file_picker/file_picker.js +1 -0
  72. package/lib/components/form/range/range_highlight.styles.js +1 -1
  73. package/lib/components/form/range/range_levels.styles.js +1 -1
  74. package/lib/components/form/range/range_track.js +6 -2
  75. package/lib/components/header/header.a11y.js +385 -0
  76. package/lib/components/icon/icon_ML.a11y.js +40 -0
  77. package/lib/components/icon/icon_apps.a11y.js +40 -0
  78. package/lib/components/icon/icon_editor.a11y.js +40 -0
  79. package/lib/components/icon/icon_elastic.a11y.js +40 -0
  80. package/lib/components/icon/icon_glyphs.a11y.js +40 -0
  81. package/lib/components/icon/icon_tokens.a11y.js +40 -0
  82. package/lib/components/image/image.a11y.js +61 -0
  83. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +163 -0
  84. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  85. package/lib/components/popover/popover.js +2 -2
  86. package/lib/components/selectable/selectable.js +4 -3
  87. package/lib/components/selectable/selectable_list/selectable_list.js +17 -5
  88. package/lib/components/table/table_footer_cell.js +1 -1
  89. package/lib/components/table/table_header_cell.js +1 -1
  90. package/lib/components/table/table_row_cell.js +2 -2
  91. package/lib/components/tabs/tab.js +14 -17
  92. package/lib/components/tabs/tabbed_content/tabbed_content.js +0 -16
  93. package/lib/components/tabs/tabs.js +8 -14
  94. package/lib/components/tabs/tabs_context.js +23 -0
  95. package/lib/services/color/manipulation.js +14 -2
  96. package/lib/services/index.js +65 -58
  97. package/optimize/es/components/basic_table/table.a11y.js +128 -0
  98. package/optimize/es/components/color_picker/color_picker.styles.js +16 -0
  99. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.js +19 -7
  100. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.styles.js +59 -0
  101. package/optimize/es/components/color_picker/color_stops/color_stops.js +25 -15
  102. package/optimize/es/components/color_picker/color_stops/color_stops.styles.js +65 -0
  103. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  104. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  105. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  106. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +145 -169
  107. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  108. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  109. package/optimize/es/components/error_boundary/error_boundary.a11y.js +67 -0
  110. package/optimize/es/components/expression/expression.a11y.js +243 -0
  111. package/optimize/es/components/filter_group/filter_group.a11y.js +271 -0
  112. package/optimize/es/components/focus_trap/focus_trap.a11y.js +120 -0
  113. package/optimize/es/components/form/file_picker/file_picker.js +1 -0
  114. package/optimize/es/components/form/range/range_highlight.styles.js +1 -1
  115. package/optimize/es/components/form/range/range_levels.styles.js +1 -1
  116. package/optimize/es/components/form/range/range_track.js +5 -2
  117. package/optimize/es/components/header/header.a11y.js +364 -0
  118. package/optimize/es/components/icon/icon_ML.a11y.js +33 -0
  119. package/optimize/es/components/icon/icon_apps.a11y.js +33 -0
  120. package/optimize/es/components/icon/icon_editor.a11y.js +33 -0
  121. package/optimize/es/components/icon/icon_elastic.a11y.js +33 -0
  122. package/optimize/es/components/icon/icon_glyphs.a11y.js +33 -0
  123. package/optimize/es/components/icon/icon_tokens.a11y.js +33 -0
  124. package/optimize/es/components/image/image.a11y.js +55 -0
  125. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +148 -0
  126. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  127. package/optimize/es/components/popover/popover.js +2 -2
  128. package/optimize/es/components/selectable/selectable.js +2 -2
  129. package/optimize/es/components/selectable/selectable_list/selectable_list.js +15 -4
  130. package/optimize/es/components/tabs/tab.js +7 -5
  131. package/optimize/es/components/tabs/tabs.js +7 -11
  132. package/optimize/es/components/tabs/tabs_context.js +13 -0
  133. package/optimize/es/services/color/manipulation.js +9 -0
  134. package/optimize/es/services/index.js +11 -11
  135. package/optimize/lib/components/basic_table/table.a11y.js +139 -0
  136. package/optimize/lib/components/color_picker/color_picker.styles.js +26 -0
  137. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.js +19 -6
  138. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +69 -0
  139. package/optimize/lib/components/color_picker/color_stops/color_stops.js +25 -14
  140. package/optimize/lib/components/color_picker/color_stops/color_stops.styles.js +73 -0
  141. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  142. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  143. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  144. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +146 -167
  145. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  146. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  147. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  148. package/optimize/lib/components/expression/expression.a11y.js +254 -0
  149. package/optimize/lib/components/filter_group/filter_group.a11y.js +287 -0
  150. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  151. package/optimize/lib/components/form/file_picker/file_picker.js +1 -0
  152. package/optimize/lib/components/form/range/range_highlight.styles.js +1 -1
  153. package/optimize/lib/components/form/range/range_levels.styles.js +1 -1
  154. package/optimize/lib/components/form/range/range_track.js +6 -2
  155. package/optimize/lib/components/header/header.a11y.js +385 -0
  156. package/optimize/lib/components/icon/icon_ML.a11y.js +40 -0
  157. package/optimize/lib/components/icon/icon_apps.a11y.js +40 -0
  158. package/optimize/lib/components/icon/icon_editor.a11y.js +40 -0
  159. package/optimize/lib/components/icon/icon_elastic.a11y.js +40 -0
  160. package/optimize/lib/components/icon/icon_glyphs.a11y.js +40 -0
  161. package/optimize/lib/components/icon/icon_tokens.a11y.js +40 -0
  162. package/optimize/lib/components/image/image.a11y.js +61 -0
  163. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +163 -0
  164. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  165. package/optimize/lib/components/popover/popover.js +2 -2
  166. package/optimize/lib/components/selectable/selectable.js +2 -2
  167. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +15 -4
  168. package/optimize/lib/components/tabs/tab.js +15 -5
  169. package/optimize/lib/components/tabs/tabs.js +8 -14
  170. package/optimize/lib/components/tabs/tabs_context.js +23 -0
  171. package/optimize/lib/services/color/manipulation.js +14 -2
  172. package/optimize/lib/services/index.js +65 -58
  173. package/package.json +4 -6
  174. package/src/components/color_picker/_index.scss +0 -1
  175. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +14 -0
  176. package/src/components/form/file_picker/_file_picker.scss +14 -14
  177. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  178. package/test-env/components/basic_table/basic_table.js +2 -2
  179. package/test-env/components/basic_table/in_memory_table.js +3 -6
  180. package/test-env/components/basic_table/table.a11y.js +139 -0
  181. package/test-env/components/color_picker/color_picker.styles.js +26 -0
  182. package/test-env/components/color_picker/color_stops/color_stop_thumb.js +19 -6
  183. package/test-env/components/color_picker/color_stops/color_stop_thumb.styles.js +69 -0
  184. package/test-env/components/color_picker/color_stops/color_stops.js +25 -14
  185. package/test-env/components/color_picker/color_stops/color_stops.styles.js +73 -0
  186. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  187. package/test-env/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  188. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  189. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +153 -166
  190. package/test-env/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  191. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  192. package/test-env/components/error_boundary/error_boundary.a11y.js +75 -0
  193. package/test-env/components/expression/expression.a11y.js +254 -0
  194. package/test-env/components/filter_group/filter_group.a11y.js +287 -0
  195. package/test-env/components/focus_trap/focus_trap.a11y.js +140 -0
  196. package/test-env/components/form/file_picker/file_picker.js +1 -0
  197. package/test-env/components/form/range/range_highlight.styles.js +1 -1
  198. package/test-env/components/form/range/range_levels.styles.js +1 -1
  199. package/test-env/components/form/range/range_track.js +6 -2
  200. package/test-env/components/header/header.a11y.js +385 -0
  201. package/test-env/components/icon/icon_ML.a11y.js +40 -0
  202. package/test-env/components/icon/icon_apps.a11y.js +40 -0
  203. package/test-env/components/icon/icon_editor.a11y.js +40 -0
  204. package/test-env/components/icon/icon_elastic.a11y.js +40 -0
  205. package/test-env/components/icon/icon_glyphs.a11y.js +40 -0
  206. package/test-env/components/icon/icon_tokens.a11y.js +40 -0
  207. package/test-env/components/image/image.a11y.js +61 -0
  208. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +163 -0
  209. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  210. package/test-env/components/popover/popover.js +2 -2
  211. package/test-env/components/selectable/selectable.js +4 -3
  212. package/test-env/components/selectable/selectable_list/selectable_list.js +17 -5
  213. package/test-env/components/table/table_footer_cell.js +1 -1
  214. package/test-env/components/table/table_header_cell.js +1 -1
  215. package/test-env/components/table/table_row_cell.js +2 -2
  216. package/test-env/components/tabs/tab.js +15 -17
  217. package/test-env/components/tabs/tabbed_content/tabbed_content.js +0 -16
  218. package/test-env/components/tabs/tabs.js +8 -14
  219. package/test-env/components/tabs/tabs_context.js +23 -0
  220. package/test-env/services/color/manipulation.js +14 -2
  221. package/test-env/services/index.js +65 -58
  222. package/src/components/color_picker/color_stops/_color_stops.scss +0 -101
  223. package/src/components/color_picker/color_stops/_index.scss +0 -1
  224. package/src/themes/amsterdam/overrides/_color_stops.scss +0 -58
@@ -0,0 +1,140 @@
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 _badge = require("../badge");
8
+
9
+ var _button = require("../button");
10
+
11
+ var _form = require("../form");
12
+
13
+ var _focus_trap = require("./focus_trap");
14
+
15
+ var _spacer = require("../spacer");
16
+
17
+ var _panel = require("../panel");
18
+
19
+ var _text = require("../text");
20
+
21
+ var _services = require("../../services");
22
+
23
+ var _react2 = require("@emotion/react");
24
+
25
+ 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); }
26
+
27
+ 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; }
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
+ var CheckboxGroup = function CheckboxGroup() {
44
+ var checkboxGroupItemId__1 = (0, _services.useGeneratedHtmlId)({
45
+ prefix: 'checkboxGroupItem',
46
+ suffix: 'first'
47
+ });
48
+ var checkboxGroupItemId__2 = (0, _services.useGeneratedHtmlId)({
49
+ prefix: 'checkboxGroupItem',
50
+ suffix: 'second'
51
+ });
52
+ var checkboxes = [{
53
+ id: checkboxGroupItemId__1,
54
+ label: 'Option one is checked by default'
55
+ }, {
56
+ id: checkboxGroupItemId__2,
57
+ label: 'Option two'
58
+ }];
59
+
60
+ var _useState = (0, _react.useState)(_defineProperty({}, checkboxGroupItemId__1, true)),
61
+ _useState2 = _slicedToArray(_useState, 1),
62
+ checkboxIdToSelectedMap = _useState2[0];
63
+
64
+ return (0, _react2.jsx)(_form.EuiCheckboxGroup, {
65
+ options: checkboxes,
66
+ idToSelectedMap: checkboxIdToSelectedMap,
67
+ onChange: function onChange() {}
68
+ });
69
+ };
70
+
71
+ var FocusTrap = function FocusTrap() {
72
+ var _useState4 = (0, _react.useState)(true),
73
+ _useState5 = _slicedToArray(_useState4, 2),
74
+ isDisabled = _useState5[0],
75
+ changeDisabled = _useState5[1];
76
+
77
+ var toggleDisabled = function toggleDisabled() {
78
+ return changeDisabled(!isDisabled);
79
+ };
80
+
81
+ return (0, _react2.jsx)("div", {
82
+ "data-test-subj": "cy-trap-container"
83
+ }, (0, _react2.jsx)(_badge.EuiBadge, {
84
+ "data-test-subj": "cy-trap-message"
85
+ }, "Trap is ", isDisabled ? 'disabled' : 'enabled'), (0, _react2.jsx)(_spacer.EuiSpacer, {
86
+ size: "s"
87
+ }), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
88
+ disabled: isDisabled
89
+ }, (0, _react2.jsx)(_panel.EuiPanel, null, (0, _react2.jsx)(_form.EuiFieldText, {
90
+ "data-test-subj": "cy-input-one",
91
+ placeholder: "Placeholder text first input",
92
+ value: "",
93
+ onChange: function onChange() {},
94
+ "aria-label": "First focusable input"
95
+ }), (0, _react2.jsx)(_spacer.EuiSpacer, {
96
+ size: "m"
97
+ }), (0, _react2.jsx)(CheckboxGroup, null), (0, _react2.jsx)(_spacer.EuiSpacer, {
98
+ size: "m"
99
+ }), (0, _react2.jsx)(_button.EuiButton, {
100
+ onClick: toggleDisabled,
101
+ "data-test-subj": "cy-focus-trap-button"
102
+ }, "".concat(!isDisabled ? 'Disable' : 'Enable', " Focus Trap")))), (0, _react2.jsx)(_spacer.EuiSpacer, {
103
+ size: "l"
104
+ }), (0, _react2.jsx)(_text.EuiText, null, "The button below is not focusable by keyboard as long as the focus trap is enabled."), (0, _react2.jsx)(_button.EuiButton, {
105
+ onClick: function onClick() {},
106
+ "data-test-subj": "cy-external-button"
107
+ }, "External Focusable Element"));
108
+ };
109
+
110
+ beforeEach(function () {
111
+ cy.viewport(1024, 768); // medium breakpoint
112
+
113
+ cy.realMount((0, _react2.jsx)(FocusTrap, null));
114
+ });
115
+ describe('EuiFocusTrap', function () {
116
+ describe('Automated accessibility check', function () {
117
+ it('has zero violations on first render', function () {
118
+ cy.checkAxe();
119
+ });
120
+ it('has zero violations when the focus trap is enabled', function () {
121
+ cy.get('button[data-test-subj="cy-focus-trap-button"]').realClick();
122
+ cy.get('span[ data-test-subj="cy-trap-message"]').should('have.text', 'Trap is enabled');
123
+ cy.checkAxe();
124
+ });
125
+ });
126
+ describe('Accessibility checks for keyboard navigation', function () {
127
+ it('allows the button outside the FocusTrap to receive focus', function () {
128
+ cy.repeatRealPress('Tab', 5);
129
+ cy.get('button[data-test-subj="cy-external-button"]').should('have.focus');
130
+ cy.checkAxe();
131
+ });
132
+ it('prevents the button outside the FocusTrap from receiving focus', function () {
133
+ cy.repeatRealPress('Tab', 4);
134
+ cy.realPress('Enter');
135
+ cy.realPress('Tab');
136
+ cy.get('input[data-test-subj="cy-input-one"]').should('have.focus');
137
+ cy.checkAxe();
138
+ });
139
+ });
140
+ });
@@ -260,6 +260,7 @@ var EuiFilePicker = /*#__PURE__*/function (_Component) {
260
260
  id: promptId
261
261
  }, (0, _react2.jsx)(_icon.EuiIcon, {
262
262
  className: "euiFilePicker__icon",
263
+ color: disabled ? 'subdued' : 'primary',
263
264
  type: "importAction",
264
265
  size: normalFormControl ? 'm' : 'l',
265
266
  "aria-hidden": "true"
@@ -29,7 +29,7 @@ exports.euiRangeHighlightStyles = euiRangeHighlightStyles;
29
29
  var euiRangeHighlightProgressStyles = function euiRangeHighlightProgressStyles(euiThemeContext) {
30
30
  var range = (0, _range.euiRangeVariables)(euiThemeContext);
31
31
  return {
32
- euiRangeHighlight__progress: /*#__PURE__*/(0, _react.css)("block-size:", range.highlightHeight, ";border-radius:", range.trackBorderRadius, ";background-color:", range.highlightColor, ";border-color:", range.highlightColor, ";.euiRangeSlider:focus-visible~.euiRangeHighlight &,.euiRangeThumb:focus-visible~.euiRangeHighlight &,.euiRangeDraggable:focus~.euiRangeHighlight &{background-color:", range.focusColor, ";};label:euiRangeHighlight__progress;")
32
+ euiRangeHighlight__progress: /*#__PURE__*/(0, _react.css)("block-size:", range.highlightHeight, ";border-radius:", range.trackBorderRadius, ";background-color:", range.highlightColor, ";.euiRangeSlider:focus-visible~.euiRangeHighlight &,.euiRangeThumb:focus-visible~.euiRangeHighlight &,.euiRangeDraggable:focus~.euiRangeHighlight &{background-color:", range.focusColor, ";};label:euiRangeHighlight__progress;")
33
33
  };
34
34
  };
35
35
 
@@ -29,7 +29,7 @@ var euiRangeLevelsStyles = function euiRangeLevelsStyles(euiThemeContext) {
29
29
  var stripesBackground = "repeating-linear-gradient(\n -45deg,\n ".concat((0, _services.transparentize)(stripeColor, 0.5), ",\n ").concat((0, _services.transparentize)(stripeColor, 0.5), " 25%,\n ").concat((0, _services.transparentize)(stripeColor, 0.7), " 25%,\n ").concat((0, _services.transparentize)(stripeColor, 0.7), " 50%,\n ").concat((0, _services.transparentize)(stripeColor, 0.5), " 50%\n )");
30
30
  return {
31
31
  euiRangeLevels: /*#__PURE__*/(0, _react.css)("display:flex;justify-content:stretch;position:absolute;inset-inline:0;inset-block-start:", range.trackTopPositionWithoutTicks, ";z-index:", range.levelsZIndex, ";;label:euiRangeLevels;"),
32
- hasRange: /*#__PURE__*/(0, _react.css)("&::after{content:'';position:absolute;block-size:", range.trackHeight, ";inline-size:100%;background-image:", stripesBackground, ";background-size:", euiTheme.size.s, " ", euiTheme.size.s, ";border-radius:", range.trackBorderRadius, ";};label:hasRange;"),
32
+ hasRange: /*#__PURE__*/(0, _react.css)("&::after{content:'';position:absolute;block-size:", range.trackHeight, ";inline-size:100%;background-image:", stripesBackground, ";background-size:", euiTheme.size.xs, " ", euiTheme.size.xs, ";border-radius:", range.trackBorderRadius, ";};label:hasRange;"),
33
33
  hasTicks: /*#__PURE__*/(0, _react.css)("inset-block-start:", range.trackTopPositionWithTicks, ";;label:hasTicks;")
34
34
  };
35
35
  };
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
14
16
  var _range = _interopRequireDefault(require("lodash/range"));
15
17
 
16
18
  var _services = require("../../../services");
@@ -23,7 +25,7 @@ var _range_track = require("./range_track.styles");
23
25
 
24
26
  var _react2 = require("@emotion/react");
25
27
 
26
- var _excluded = ["children", "disabled", "max", "min", "step", "showTicks", "tickInterval", "ticks", "levels", "onChange", "value", "compressed", "showRange"];
28
+ var _excluded = ["children", "disabled", "max", "min", "step", "showTicks", "tickInterval", "ticks", "levels", "onChange", "value", "compressed", "showRange", "className"];
27
29
 
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
@@ -63,6 +65,7 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
63
65
  value = _ref.value,
64
66
  compressed = _ref.compressed,
65
67
  showRange = _ref.showRange,
68
+ className = _ref.className,
66
69
  rest = _objectWithoutProperties(_ref, _excluded);
67
70
 
68
71
  (0, _react.useEffect)(function () {
@@ -122,8 +125,9 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
122
125
  trackWidth = _useState2[0],
123
126
  setTrackWidth = _useState2[1];
124
127
 
128
+ var classes = (0, _classnames.default)('euiRangeTrack', className);
125
129
  return (0, _react2.jsx)("div", _extends({
126
- className: "euiRangeTrack",
130
+ className: classes,
127
131
  css: cssStyles
128
132
  }, rest, {
129
133
  ref: function ref(node) {
@@ -0,0 +1,385 @@
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 _avatar = require("../avatar");
8
+
9
+ var _flex = require("../flex");
10
+
11
+ var _header_breadcrumbs = require("./header_breadcrumbs");
12
+
13
+ var _header = require("./header");
14
+
15
+ var _header_logo = require("./header_logo");
16
+
17
+ var _header_section = require("./header_section");
18
+
19
+ var _icon = require("../icon");
20
+
21
+ var _key_pad_menu = require("../key_pad_menu");
22
+
23
+ var _link = require("../link");
24
+
25
+ var _popover = require("../popover");
26
+
27
+ var _selectable = require("../selectable");
28
+
29
+ var _spacer = require("../spacer");
30
+
31
+ var _text = require("../text");
32
+
33
+ var _services = require("../../services");
34
+
35
+ var _react2 = require("@emotion/react");
36
+
37
+ 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); }
38
+
39
+ 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; }
40
+
41
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
42
+
43
+ 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."); }
44
+
45
+ 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); }
46
+
47
+ 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; }
48
+
49
+ 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; }
50
+
51
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
52
+
53
+ var Header = function Header() {
54
+ var renderLogo = function renderLogo() {
55
+ return (0, _react2.jsx)(_header_logo.EuiHeaderLogo, {
56
+ iconType: "logoElastic",
57
+ href: "#",
58
+ onClick: function onClick(e) {
59
+ return e.preventDefault();
60
+ },
61
+ "aria-label": "Go to home page"
62
+ });
63
+ };
64
+
65
+ var renderBreadcrumbs = function renderBreadcrumbs() {
66
+ var breadcrumbs = [{
67
+ text: 'Management',
68
+ href: '#',
69
+ onClick: function onClick(e) {
70
+ e.preventDefault();
71
+ },
72
+ 'data-test-subj': 'breadcrumbsAnimals',
73
+ className: 'customClass'
74
+ }, {
75
+ text: 'Truncation test is here for a really long item',
76
+ href: '#',
77
+ onClick: function onClick(e) {
78
+ e.preventDefault();
79
+ }
80
+ }, {
81
+ text: 'Hidden',
82
+ 'data-test-subj': 'cy-breadcrumb-hidden',
83
+ href: '#',
84
+ onClick: function onClick(e) {
85
+ e.preventDefault();
86
+ }
87
+ }, {
88
+ text: 'Users',
89
+ href: '#',
90
+ onClick: function onClick(e) {
91
+ e.preventDefault();
92
+ }
93
+ }, {
94
+ text: 'Create'
95
+ }];
96
+ return (0, _react2.jsx)(_header_breadcrumbs.EuiHeaderBreadcrumbs, {
97
+ "aria-label": "Header breadcrumbs example",
98
+ breadcrumbs: breadcrumbs
99
+ });
100
+ };
101
+
102
+ var search = (0, _react2.jsx)(_selectable.EuiSelectableTemplateSitewide, {
103
+ options: [],
104
+ searchProps: {
105
+ compressed: true
106
+ },
107
+ popoverButton: (0, _react2.jsx)(_header_section.EuiHeaderSectionItemButton, {
108
+ "aria-label": "Sitewide search"
109
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
110
+ type: "search",
111
+ size: "m"
112
+ })),
113
+ emptyMessage: (0, _react2.jsx)(_selectable.EuiSelectableMessage, {
114
+ style: {
115
+ minHeight: 300
116
+ },
117
+ "data-test-subj": "cy-search-menu"
118
+ }, (0, _react2.jsx)("p", null, "Please see the component page for", ' ', (0, _react2.jsx)("strong", null, "EuiSelectableTemplateSitewide"), "on how to configure your sitewide search."))
119
+ });
120
+ return (0, _react2.jsx)(_header.EuiHeader, null, (0, _react2.jsx)(_header_section.EuiHeaderSection, {
121
+ grow: false
122
+ }, (0, _react2.jsx)(_header_section.EuiHeaderSectionItem, {
123
+ border: "right"
124
+ }, renderLogo()), (0, _react2.jsx)(_header_section.EuiHeaderSectionItem, {
125
+ border: "right"
126
+ }, (0, _react2.jsx)(HeaderSpacesMenu, null))), renderBreadcrumbs(), (0, _react2.jsx)(_header_section.EuiHeaderSection, {
127
+ side: "right"
128
+ }, (0, _react2.jsx)(_header_section.EuiHeaderSectionItem, null, search), (0, _react2.jsx)(_header_section.EuiHeaderSectionItem, null, (0, _react2.jsx)(HeaderUserMenu, null)), (0, _react2.jsx)(_header_section.EuiHeaderSectionItem, null, (0, _react2.jsx)(HeaderAppMenu, null))));
129
+ };
130
+
131
+ var HeaderUserMenu = function HeaderUserMenu() {
132
+ var headerUserPopoverId = (0, _services.useGeneratedHtmlId)({
133
+ prefix: 'headerUserPopover'
134
+ });
135
+
136
+ var _useState = (0, _react.useState)(false),
137
+ _useState2 = _slicedToArray(_useState, 2),
138
+ isOpen = _useState2[0],
139
+ setIsOpen = _useState2[1];
140
+
141
+ var onMenuButtonClick = function onMenuButtonClick() {
142
+ setIsOpen(!isOpen);
143
+ };
144
+
145
+ var closeMenu = function closeMenu() {
146
+ setIsOpen(false);
147
+ };
148
+
149
+ var button = (0, _react2.jsx)(_header_section.EuiHeaderSectionItemButton, {
150
+ "aria-controls": headerUserPopoverId,
151
+ "aria-expanded": isOpen,
152
+ "aria-haspopup": "true",
153
+ "aria-label": "Account menu",
154
+ onClick: onMenuButtonClick
155
+ }, (0, _react2.jsx)(_avatar.EuiAvatar, {
156
+ name: "John Username",
157
+ size: "s"
158
+ }));
159
+ return (0, _react2.jsx)(_popover.EuiPopover, {
160
+ id: headerUserPopoverId,
161
+ button: button,
162
+ isOpen: isOpen,
163
+ anchorPosition: "downRight",
164
+ closePopover: closeMenu,
165
+ panelPaddingSize: "none",
166
+ "data-test-subj": "cy-account-menu"
167
+ }, (0, _react2.jsx)("div", {
168
+ style: {
169
+ width: 320
170
+ }
171
+ }, (0, _react2.jsx)(_flex.EuiFlexGroup, {
172
+ gutterSize: "m",
173
+ className: "euiHeaderProfile",
174
+ responsive: false
175
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
176
+ grow: false
177
+ }, (0, _react2.jsx)(_avatar.EuiAvatar, {
178
+ name: "John Username",
179
+ size: "xl"
180
+ })), (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_text.EuiText, null, (0, _react2.jsx)("p", null, "John Username")), (0, _react2.jsx)(_spacer.EuiSpacer, {
181
+ size: "m"
182
+ }), (0, _react2.jsx)(_flex.EuiFlexGroup, null, (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_flex.EuiFlexGroup, {
183
+ justifyContent: "spaceBetween"
184
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
185
+ grow: false
186
+ }, (0, _react2.jsx)(_link.EuiLink, null, "Edit profile")), (0, _react2.jsx)(_flex.EuiFlexItem, {
187
+ grow: false
188
+ }, (0, _react2.jsx)(_link.EuiLink, null, "Log out")))))))));
189
+ };
190
+
191
+ var HeaderSpacesMenu = function HeaderSpacesMenu() {
192
+ var headerSpacesPopoverId = (0, _services.useGeneratedHtmlId)({
193
+ prefix: 'headerSpacesPopover'
194
+ });
195
+ var spacesValues = [{
196
+ label: 'Sales team',
197
+ prepend: (0, _react2.jsx)(_avatar.EuiAvatar, {
198
+ type: "space",
199
+ name: "Sales Team",
200
+ size: "s"
201
+ }),
202
+ checked: 'on'
203
+ }, {
204
+ label: 'Engineering',
205
+ prepend: (0, _react2.jsx)(_avatar.EuiAvatar, {
206
+ type: "space",
207
+ name: "Engineering",
208
+ size: "s"
209
+ })
210
+ }];
211
+
212
+ var _useState3 = (0, _react.useState)(spacesValues),
213
+ _useState4 = _slicedToArray(_useState3, 2),
214
+ spaces = _useState4[0],
215
+ setSpaces = _useState4[1];
216
+
217
+ var _useState5 = (0, _react.useState)(spaces.filter(function (option) {
218
+ return option.checked;
219
+ })[0]),
220
+ _useState6 = _slicedToArray(_useState5, 2),
221
+ selectedSpace = _useState6[0],
222
+ setSelectedSpace = _useState6[1];
223
+
224
+ var _useState7 = (0, _react.useState)(false),
225
+ _useState8 = _slicedToArray(_useState7, 2),
226
+ isOpen = _useState8[0],
227
+ setIsOpen = _useState8[1];
228
+
229
+ var isListExtended = function isListExtended() {
230
+ return spaces.length > 4 ? true : false;
231
+ };
232
+
233
+ var onMenuButtonClick = function onMenuButtonClick() {
234
+ setIsOpen(!isOpen);
235
+ };
236
+
237
+ var closePopover = function closePopover() {
238
+ setIsOpen(false);
239
+ };
240
+
241
+ var onChange = function onChange(options) {
242
+ setSpaces(options);
243
+ setSelectedSpace(options.filter(function (option) {
244
+ return option.checked;
245
+ })[0]);
246
+ setIsOpen(false);
247
+ };
248
+
249
+ var button = (0, _react2.jsx)(_header_section.EuiHeaderSectionItemButton, {
250
+ "aria-controls": headerSpacesPopoverId,
251
+ "aria-expanded": isOpen,
252
+ "aria-haspopup": "true",
253
+ "aria-label": "Spaces menu",
254
+ onClick: onMenuButtonClick
255
+ }, selectedSpace.prepend);
256
+ return (0, _react2.jsx)(_popover.EuiPopover, {
257
+ id: headerSpacesPopoverId,
258
+ button: button,
259
+ isOpen: isOpen,
260
+ anchorPosition: "downLeft",
261
+ closePopover: closePopover,
262
+ panelPaddingSize: "none"
263
+ }, (0, _react2.jsx)(_selectable.EuiSelectable, {
264
+ searchable: isListExtended(),
265
+ searchProps: {
266
+ placeholder: 'Find a space',
267
+ compressed: true
268
+ },
269
+ options: spaces,
270
+ singleSelection: "always",
271
+ style: {
272
+ width: 300
273
+ },
274
+ onChange: onChange,
275
+ listProps: {
276
+ rowHeight: 40,
277
+ showIcons: false
278
+ },
279
+ "data-test-subj": "cy-spaces-menu"
280
+ }, function (list, search) {
281
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_popover.EuiPopoverTitle, {
282
+ paddingSize: "s"
283
+ }, search || 'Your spaces'), list);
284
+ }));
285
+ };
286
+
287
+ var HeaderAppMenu = function HeaderAppMenu() {
288
+ var headerAppPopoverId = (0, _services.useGeneratedHtmlId)({
289
+ prefix: 'headerAppPopover'
290
+ });
291
+ var headerAppKeyPadMenuId = (0, _services.useGeneratedHtmlId)({
292
+ prefix: 'headerAppKeyPadMenu'
293
+ });
294
+
295
+ var _useState9 = (0, _react.useState)(false),
296
+ _useState10 = _slicedToArray(_useState9, 2),
297
+ isOpen = _useState10[0],
298
+ setIsOpen = _useState10[1];
299
+
300
+ var onMenuButtonClick = function onMenuButtonClick() {
301
+ setIsOpen(!isOpen);
302
+ };
303
+
304
+ var closeMenu = function closeMenu() {
305
+ setIsOpen(false);
306
+ };
307
+
308
+ var button = (0, _react2.jsx)(_header_section.EuiHeaderSectionItemButton, {
309
+ "aria-controls": headerAppKeyPadMenuId,
310
+ "aria-expanded": isOpen,
311
+ "aria-haspopup": "true",
312
+ "aria-label": "Apps menu with 1 new app",
313
+ notification: "1",
314
+ onClick: onMenuButtonClick
315
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
316
+ type: "apps",
317
+ size: "m"
318
+ }));
319
+ return (0, _react2.jsx)(_popover.EuiPopover, {
320
+ id: headerAppPopoverId,
321
+ button: button,
322
+ isOpen: isOpen,
323
+ anchorPosition: "downRight",
324
+ closePopover: closeMenu
325
+ }, (0, _react2.jsx)(_key_pad_menu.EuiKeyPadMenu, {
326
+ id: headerAppKeyPadMenuId,
327
+ style: {
328
+ width: 288
329
+ },
330
+ "data-test-subj": "cy-apps-menu"
331
+ }, (0, _react2.jsx)(_key_pad_menu.EuiKeyPadMenuItem, {
332
+ label: "Discover"
333
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
334
+ type: "discoverApp",
335
+ size: "l"
336
+ })), (0, _react2.jsx)(_key_pad_menu.EuiKeyPadMenuItem, {
337
+ label: "Dashboard"
338
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
339
+ type: "dashboardApp",
340
+ size: "l"
341
+ })), (0, _react2.jsx)(_key_pad_menu.EuiKeyPadMenuItem, {
342
+ label: "Dev Tools"
343
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
344
+ type: "devToolsApp",
345
+ size: "l"
346
+ }))));
347
+ };
348
+
349
+ beforeEach(function () {
350
+ cy.viewport(1024, 768); // medium breakpoint
351
+
352
+ cy.realMount((0, _react2.jsx)(Header, null));
353
+ });
354
+ describe('EuiHeader', function () {
355
+ describe('Automated accessibility check', function () {
356
+ it('has zero violations on first render', function () {
357
+ cy.checkAxe();
358
+ });
359
+ it('has zero violations when Spaces menu is expanded', function () {
360
+ cy.get('button[aria-label="Spaces menu"]').realClick();
361
+ cy.get('div[data-test-subj="cy-spaces-menu"]').should('exist');
362
+ cy.checkAxe();
363
+ });
364
+ it('has zero violations when Account menu is expanded', function () {
365
+ cy.get('button[aria-label="Account menu"]').realClick();
366
+ cy.get('div[data-test-subj="cy-account-menu"]').should('exist');
367
+ cy.checkAxe();
368
+ });
369
+ it('has zero violations when Sitewide search is expanded', function () {
370
+ cy.get('button[aria-label="Sitewide search"]').realClick();
371
+ cy.get('div[data-test-subj="cy-search-menu"]').should('exist');
372
+ cy.checkAxe();
373
+ });
374
+ it('has zero violations when Apps menu is expanded', function () {
375
+ cy.get('button[aria-label="Apps menu with 1 new app"]').realClick();
376
+ cy.get('ul[data-test-subj="cy-apps-menu"]').should('exist');
377
+ cy.checkAxe();
378
+ });
379
+ it('has zero violations when a hidden breadcrumb is expanded', function () {
380
+ cy.get('button[aria-label="See collapsed breadcrumbs"]').realClick();
381
+ cy.get('a[data-test-subj="cy-breadcrumb-hidden"]').should('exist');
382
+ cy.checkAxe();
383
+ });
384
+ });
385
+ });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _icon = require("./icon");
6
+
7
+ var _react2 = require("@emotion/react");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ /// <reference types="../../../cypress/support"/>
19
+ describe('EuiIcons', function () {
20
+ describe('Automated accessibility check for ML icons', function () {
21
+ var MLIcons = ['dataVisualizer', 'createAdvancedJob', 'classificationJob', 'createMultiMetricJob', 'outlierDetectionJob', 'createPopulationJob', 'regressionJob', 'createSingleMetricJob'];
22
+
23
+ var MLGrid = function MLGrid() {
24
+ return (0, _react2.jsx)("div", null, MLIcons.map(function (glyph) {
25
+ return (0, _react2.jsx)(_icon.EuiIcon, {
26
+ className: "eui-alignMiddle",
27
+ type: glyph
28
+ });
29
+ }));
30
+ };
31
+
32
+ it('has zero violations on first render', function () {
33
+ cy.mount((0, _react2.jsx)(MLGrid, null));
34
+ cy.get('div[data-cy-root]').find('svg', {
35
+ timeout: 5000
36
+ }).should('have.length', 8);
37
+ cy.checkAxe();
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _icon = require("./icon");
6
+
7
+ var _react2 = require("@emotion/react");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ /// <reference types="../../../cypress/support"/>
19
+ describe('EuiIcons', function () {
20
+ describe('Automated accessibility check for app icons', function () {
21
+ 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'];
22
+
23
+ var AppGrid = function AppGrid() {
24
+ return (0, _react2.jsx)("div", null, AppIcons.map(function (glyph) {
25
+ return (0, _react2.jsx)(_icon.EuiIcon, {
26
+ className: "eui-alignMiddle",
27
+ type: glyph
28
+ });
29
+ }));
30
+ };
31
+
32
+ it('has zero violations on first render', function () {
33
+ cy.mount((0, _react2.jsx)(AppGrid, null));
34
+ cy.get('div[data-cy-root]').find('svg', {
35
+ timeout: 5000
36
+ }).should('have.length', 49);
37
+ cy.checkAxe();
38
+ });
39
+ });
40
+ });