@elastic/eui 90.0.0 → 91.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 (232) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +112 -80
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +112 -80
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.js +13 -2
  8. package/es/components/accordion/accordion_children/accordion_children.js +4 -3
  9. package/es/components/breadcrumbs/breadcrumb.js +5 -5
  10. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  11. package/es/components/button/button_display/_button_display.js +1 -1
  12. package/es/components/button/button_group/button_group.js +8 -10
  13. package/es/components/button/button_group/button_group_button.js +8 -51
  14. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  15. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  16. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  17. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
  18. package/es/components/combo_box/combo_box.js +7 -5
  19. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  20. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  21. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  22. package/es/components/combo_box/utils.js +23 -0
  23. package/es/components/control_bar/control_bar.js +5 -5
  24. package/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  25. package/es/components/datagrid/controls/column_selector.js +5 -6
  26. package/es/components/datagrid/controls/column_sorting.js +6 -9
  27. package/es/components/datagrid/controls/display_selector.js +21 -16
  28. package/es/components/datagrid/data_grid.js +3 -864
  29. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  30. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  31. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  32. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  33. package/es/components/facet/facet_button.js +1 -1
  34. package/es/components/filter_group/filter_group.styles.js +1 -1
  35. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  36. package/es/components/header/header_links/header_links.js +5 -5
  37. package/es/components/i18n/i18n.js +1 -0
  38. package/es/components/page/page_header/page_header_content.js +5 -5
  39. package/es/components/popover/input_popover.js +1 -1
  40. package/es/components/popover/popover.js +15 -27
  41. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  42. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  43. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  44. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  45. package/es/components/toast/global_toast_list.js +11 -1
  46. package/es/components/tour/tour_step.js +5 -5
  47. package/es/global_styling/mixins/_states.js +4 -1
  48. package/es/services/color/eui_palettes.js +0 -6
  49. package/es/services/color/index.js +1 -1
  50. package/es/services/hooks/useCombinedRefs.js +16 -9
  51. package/es/services/index.js +1 -2
  52. package/es/test/rtl/component_helpers.d.ts +2 -0
  53. package/es/test/rtl/component_helpers.js +40 -1
  54. package/eui.d.ts +96 -82
  55. package/i18ntokens.json +199 -181
  56. package/lib/components/accordion/accordion.js +13 -2
  57. package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  58. package/lib/components/breadcrumbs/breadcrumb.js +5 -5
  59. package/lib/components/button/button_display/_button_display.js +1 -1
  60. package/lib/components/button/button_group/button_group.js +7 -9
  61. package/lib/components/button/button_group/button_group_button.js +8 -51
  62. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  63. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  64. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  65. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  66. package/lib/components/combo_box/combo_box.js +7 -5
  67. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  68. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  69. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  70. package/lib/components/combo_box/utils.js +31 -0
  71. package/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  72. package/lib/components/datagrid/controls/column_selector.js +5 -6
  73. package/lib/components/datagrid/controls/column_sorting.js +5 -8
  74. package/lib/components/datagrid/controls/display_selector.js +21 -16
  75. package/lib/components/datagrid/data_grid.js +2 -863
  76. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  77. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  78. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  79. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  80. package/lib/components/facet/facet_button.js +1 -1
  81. package/lib/components/filter_group/filter_group.styles.js +1 -1
  82. package/lib/components/i18n/i18n.js +1 -0
  83. package/lib/components/popover/input_popover.js +1 -1
  84. package/lib/components/popover/popover.js +29 -35
  85. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  86. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  87. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  88. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  89. package/lib/components/toast/global_toast_list.js +11 -1
  90. package/lib/global_styling/mixins/_states.js +4 -1
  91. package/lib/services/color/eui_palettes.js +1 -8
  92. package/lib/services/color/index.js +0 -7
  93. package/lib/services/hooks/useCombinedRefs.js +19 -10
  94. package/lib/services/index.js +0 -15
  95. package/lib/test/rtl/component_helpers.d.ts +2 -0
  96. package/lib/test/rtl/component_helpers.js +41 -3
  97. package/optimize/es/components/accordion/accordion.js +5 -2
  98. package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
  99. package/optimize/es/components/button/button_group/button_group.js +7 -8
  100. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  101. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  102. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  103. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
  104. package/optimize/es/components/combo_box/combo_box.js +7 -5
  105. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  106. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  107. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  108. package/optimize/es/components/combo_box/utils.js +23 -0
  109. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  110. package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
  111. package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
  112. package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
  113. package/optimize/es/components/datagrid/data_grid.js +3 -3
  114. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  115. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  116. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  117. package/optimize/es/components/i18n/i18n.js +1 -0
  118. package/optimize/es/components/popover/input_popover.js +1 -1
  119. package/optimize/es/components/popover/popover.js +10 -22
  120. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  121. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  122. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  123. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  124. package/optimize/es/components/toast/global_toast_list.js +1 -1
  125. package/optimize/es/global_styling/mixins/_states.js +4 -1
  126. package/optimize/es/services/color/eui_palettes.js +0 -6
  127. package/optimize/es/services/color/index.js +1 -1
  128. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  129. package/optimize/es/services/index.js +1 -2
  130. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  131. package/optimize/es/test/rtl/component_helpers.js +40 -1
  132. package/optimize/lib/components/accordion/accordion.js +5 -2
  133. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  134. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  135. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  136. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  137. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  138. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  139. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  140. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  141. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  142. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  143. package/optimize/lib/components/combo_box/utils.js +31 -0
  144. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  145. package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
  146. package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
  147. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
  148. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  149. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  150. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  151. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  152. package/optimize/lib/components/i18n/i18n.js +1 -0
  153. package/optimize/lib/components/popover/input_popover.js +1 -1
  154. package/optimize/lib/components/popover/popover.js +24 -35
  155. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  156. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  157. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  158. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  159. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  160. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  161. package/optimize/lib/services/color/eui_palettes.js +1 -8
  162. package/optimize/lib/services/color/index.js +0 -7
  163. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  164. package/optimize/lib/services/index.js +0 -15
  165. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  166. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  167. package/package.json +10 -10
  168. package/src/components/combo_box/_combo_box.scss +46 -14
  169. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  170. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  171. package/src/components/datagrid/_data_grid_data_row.scss +1 -2
  172. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  173. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  174. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  175. package/src/global_styling/variables/_typography.scss +2 -2
  176. package/test-env/components/accordion/accordion.js +13 -2
  177. package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
  178. package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
  179. package/test-env/components/button/button_display/_button_display.js +1 -1
  180. package/test-env/components/button/button_group/button_group.js +7 -9
  181. package/test-env/components/button/button_group/button_group_button.js +8 -51
  182. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  183. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  184. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  185. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  186. package/test-env/components/combo_box/combo_box.js +7 -5
  187. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  188. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  189. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  190. package/test-env/components/combo_box/utils.js +31 -0
  191. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  192. package/test-env/components/datagrid/controls/column_selector.js +5 -6
  193. package/test-env/components/datagrid/controls/column_sorting.js +5 -8
  194. package/test-env/components/datagrid/controls/display_selector.js +21 -16
  195. package/test-env/components/datagrid/data_grid.js +2 -863
  196. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  197. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  198. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  199. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  200. package/test-env/components/facet/facet_button.js +1 -1
  201. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  202. package/test-env/components/i18n/i18n.js +1 -0
  203. package/test-env/components/popover/input_popover.js +1 -1
  204. package/test-env/components/popover/popover.js +29 -35
  205. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  206. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  207. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  208. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  209. package/test-env/components/toast/global_toast_list.js +11 -1
  210. package/test-env/global_styling/mixins/_states.js +4 -1
  211. package/test-env/services/color/eui_palettes.js +1 -8
  212. package/test-env/services/color/index.js +0 -7
  213. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  214. package/test-env/services/index.js +0 -15
  215. package/test-env/test/rtl/component_helpers.js +41 -3
  216. package/es/services/random.js +0 -94
  217. package/es/services/utils.js +0 -25
  218. package/es/test/patch_random.js +0 -18
  219. package/lib/services/random.js +0 -100
  220. package/lib/services/utils.js +0 -35
  221. package/lib/test/patch_random.js +0 -25
  222. package/optimize/es/services/random.js +0 -85
  223. package/optimize/es/services/utils.js +0 -25
  224. package/optimize/es/test/patch_random.js +0 -18
  225. package/optimize/lib/services/random.js +0 -91
  226. package/optimize/lib/services/utils.js +0 -35
  227. package/optimize/lib/test/patch_random.js +0 -25
  228. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  229. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  230. package/test-env/services/random.js +0 -91
  231. package/test-env/services/utils.js +0 -35
  232. package/test-env/test/patch_random.js +0 -25
@@ -284,7 +284,7 @@ var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
284
284
  var classes = (0, _classnames.default)('euiGlobalToastList', className);
285
285
  return (0, _react2.jsx)("div", _extends({
286
286
  "aria-live": "polite",
287
- role: "region",
287
+ role: "log",
288
288
  ref: listElement,
289
289
  css: cssStyles,
290
290
  className: classes
@@ -322,6 +322,16 @@ EuiGlobalToastList.propTypes = {
322
322
  * Optional callback that fires when a user clicks the "Clear all" button.
323
323
  */
324
324
  onClearAllToasts: _propTypes.default.func,
325
+ /**
326
+ * Defaults to the [log role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/log_role).
327
+ *
328
+ * The [alert role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role)
329
+ * can be considered only if *all* toasts in this list will require immediate user attention.
330
+ * Several alerts at once, and unnecessary alerts, will a create bad screen reader user experience.
331
+ *
332
+ * @default log
333
+ */
334
+ role: _propTypes.default.any,
325
335
  className: _propTypes.default.string,
326
336
  "aria-label": _propTypes.default.string,
327
337
  "data-test-subj": _propTypes.default.string,
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useEuiFocusRing = exports.euiOutline = exports.euiFocusRing = void 0;
7
7
  var _services = require("../../services");
8
+ var _functions = require("../functions");
8
9
  /*
9
10
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
11
  * or more contributor license agreements. Licensed under the Elastic License
@@ -35,7 +36,9 @@ var euiOutline = function euiOutline(_ref) {
35
36
  } else if (offset === 'outset') {
36
37
  outlineOffset = "".concat(outlineWidth);
37
38
  } else if (offset === 'center') {
38
- outlineOffset = "calc(".concat(outlineWidth, " / -2);");
39
+ outlineOffset = (0, _functions.mathWithUnits)(outlineWidth, function (x) {
40
+ return x / -2;
41
+ });
39
42
  }
40
43
 
41
44
  // This is a separate function from `euiFocusRing` because some EUI components
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiPaletteWarm = exports.euiPalettePositive = exports.euiPaletteNegative = exports.euiPaletteGray = exports.euiPaletteForTemperature = exports.euiPaletteForStatus = exports.euiPaletteForLightBackground = exports.euiPaletteForDarkBackground = exports.euiPaletteCool = exports.euiPaletteComplimentary = exports.euiPaletteComplementary = exports.euiPaletteColorBlindBehindText = exports.euiPaletteColorBlind = void 0;
6
+ exports.euiPaletteWarm = exports.euiPalettePositive = exports.euiPaletteNegative = exports.euiPaletteGray = exports.euiPaletteForTemperature = exports.euiPaletteForStatus = exports.euiPaletteForLightBackground = exports.euiPaletteForDarkBackground = exports.euiPaletteCool = exports.euiPaletteComplementary = exports.euiPaletteColorBlindBehindText = exports.euiPaletteColorBlind = void 0;
7
7
  var _chromaJs = _interopRequireDefault(require("chroma-js"));
8
8
  var _color_palette = require("./color_palette");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -164,14 +164,7 @@ var euiPaletteComplementary = function euiPaletteComplementary(steps) {
164
164
  }
165
165
  return euiPalette([euiPaletteColorBlind()[1], euiPaletteColorBlind()[7]], steps, true);
166
166
  };
167
-
168
- /**
169
- * The old typo'd name for this palette remains exported until the end of its deprecation period
170
- * @deprecated Use euiPaletteComplementary instead
171
- */
172
167
  exports.euiPaletteComplementary = euiPaletteComplementary;
173
- var euiPaletteComplimentary = euiPaletteComplementary;
174
- exports.euiPaletteComplimentary = euiPaletteComplimentary;
175
168
  var euiPaletteNegative = function euiPaletteNegative(steps) {
176
169
  if (steps === 1) {
177
170
  return [lightNegativeColor];
@@ -23,7 +23,6 @@ var _exportNames = {
23
23
  euiPaletteColorBlindBehindText: true,
24
24
  euiPaletteForStatus: true,
25
25
  euiPaletteForTemperature: true,
26
- euiPaletteComplimentary: true,
27
26
  euiPaletteComplementary: true,
28
27
  euiPaletteNegative: true,
29
28
  euiPalettePositive: true,
@@ -80,12 +79,6 @@ Object.defineProperty(exports, "euiPaletteComplementary", {
80
79
  return _eui_palettes.euiPaletteComplementary;
81
80
  }
82
81
  });
83
- Object.defineProperty(exports, "euiPaletteComplimentary", {
84
- enumerable: true,
85
- get: function get() {
86
- return _eui_palettes.euiPaletteComplimentary;
87
- }
88
- });
89
82
  Object.defineProperty(exports, "euiPaletteCool", {
90
83
  enumerable: true,
91
84
  get: function get() {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useCombinedRefs = void 0;
6
+ exports.useCombinedRefs = exports.setMultipleRefs = void 0;
7
7
  var _react = require("react");
8
8
  /*
9
9
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -22,14 +22,23 @@ var _react = require("react");
22
22
  */
23
23
  var useCombinedRefs = function useCombinedRefs(refs) {
24
24
  return (0, _react.useCallback)(function (node) {
25
- return refs.forEach(function (ref) {
26
- if (!ref) return;
27
- if (typeof ref === 'function') {
28
- ref(node);
29
- } else {
30
- ref.current = node;
31
- }
32
- });
25
+ return setMultipleRefs(refs, node);
33
26
  }, [refs]);
34
27
  };
35
- exports.useCombinedRefs = useCombinedRefs;
28
+
29
+ /**
30
+ * Non-hook util for setting multiple refs/ref types.
31
+ * Useful for non-functional components
32
+ */
33
+ exports.useCombinedRefs = useCombinedRefs;
34
+ var setMultipleRefs = function setMultipleRefs(refs, node) {
35
+ refs.forEach(function (ref) {
36
+ if (!ref) return;
37
+ if (typeof ref === 'function') {
38
+ ref(node);
39
+ } else {
40
+ ref.current = node;
41
+ }
42
+ });
43
+ };
44
+ exports.setMultipleRefs = setMultipleRefs;
@@ -27,7 +27,6 @@ var _exportNames = {
27
27
  desaturate: true,
28
28
  euiPaletteColorBlind: true,
29
29
  euiPaletteColorBlindBehindText: true,
30
- euiPaletteComplimentary: true,
31
30
  euiPaletteComplementary: true,
32
31
  euiPaletteCool: true,
33
32
  euiPaletteForDarkBackground: true,
@@ -72,7 +71,6 @@ var _exportNames = {
72
71
  Pager: true,
73
72
  calculatePopoverPosition: true,
74
73
  findPopoverPosition: true,
75
- Random: true,
76
74
  getSecureRelForTarget: true,
77
75
  Comparators: true,
78
76
  PropertySortType: true,
@@ -155,12 +153,6 @@ Object.defineProperty(exports, "RIGHT_ALIGNMENT", {
155
153
  return _alignment.RIGHT_ALIGNMENT;
156
154
  }
157
155
  });
158
- Object.defineProperty(exports, "Random", {
159
- enumerable: true,
160
- get: function get() {
161
- return _random.Random;
162
- }
163
- });
164
156
  Object.defineProperty(exports, "SortDirection", {
165
157
  enumerable: true,
166
158
  get: function get() {
@@ -257,12 +249,6 @@ Object.defineProperty(exports, "euiPaletteComplementary", {
257
249
  return _color.euiPaletteComplementary;
258
250
  }
259
251
  });
260
- Object.defineProperty(exports, "euiPaletteComplimentary", {
261
- enumerable: true,
262
- get: function get() {
263
- return _color.euiPaletteComplimentary;
264
- }
265
- });
266
252
  Object.defineProperty(exports, "euiPaletteCool", {
267
253
  enumerable: true,
268
254
  get: function get() {
@@ -643,7 +629,6 @@ Object.keys(_hooks).forEach(function (key) {
643
629
  var _number = require("./number");
644
630
  var _paging = require("./paging");
645
631
  var _popover = require("./popover");
646
- var _random = require("./random");
647
632
  var _security = require("./security");
648
633
  var _sort = require("./sort");
649
634
  var _string = require("./string");
@@ -10,3 +10,5 @@ export declare const waitForEuiToolTipVisible: () => Promise<void>;
10
10
  export declare const waitForEuiToolTipHidden: () => Promise<void>;
11
11
 
12
12
  export declare const showEuiComboBoxOptions: () => Promise<void>;
13
+
14
+ export declare const waitForEuiContextMenuPanelTransition: () => Promise<void>;
@@ -4,7 +4,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.waitForEuiToolTipVisible = exports.waitForEuiToolTipHidden = exports.waitForEuiPopoverOpen = exports.waitForEuiPopoverClose = exports.showEuiComboBoxOptions = void 0;
7
+ exports.waitForEuiToolTipVisible = exports.waitForEuiToolTipHidden = exports.waitForEuiPopoverOpen = exports.waitForEuiPopoverClose = exports.waitForEuiContextMenuPanelTransition = exports.showEuiComboBoxOptions = void 0;
8
8
  require("@testing-library/jest-dom");
9
9
  var _react = require("@testing-library/react");
10
10
  var _custom_render = require("./custom_render");
@@ -122,7 +122,7 @@ var waitForEuiToolTipHidden = /*#__PURE__*/function () {
122
122
  }();
123
123
 
124
124
  /**
125
- * Doot doo
125
+ * EuiComboBox
126
126
  */
127
127
  exports.waitForEuiToolTipHidden = waitForEuiToolTipHidden;
128
128
  var showEuiComboBoxOptions = /*#__PURE__*/function () {
@@ -148,4 +148,42 @@ var showEuiComboBoxOptions = /*#__PURE__*/function () {
148
148
  return _ref5.apply(this, arguments);
149
149
  };
150
150
  }();
151
- exports.showEuiComboBoxOptions = showEuiComboBoxOptions;
151
+
152
+ /**
153
+ * EuiContextMenu
154
+ */
155
+ exports.showEuiComboBoxOptions = showEuiComboBoxOptions;
156
+ var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
157
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
158
+ var getPanels;
159
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
160
+ while (1) switch (_context6.prev = _context6.next) {
161
+ case 0:
162
+ // Used document instead of container or screen due to context menus living in portals
163
+ getPanels = function getPanels() {
164
+ return document.querySelectorAll('.euiContextMenuPanel');
165
+ }; // 2 panels will appear for the transition animation
166
+ _context6.next = 3;
167
+ return (0, _react.waitFor)(function () {
168
+ expect(getPanels().length).toEqual(2);
169
+ });
170
+ case 3:
171
+ // Outgoing panel will be removed on animation end
172
+ _react.fireEvent.animationEnd(getPanels()[0]);
173
+ if (getPanels().length > 1) {
174
+ _react.fireEvent.animationEnd(getPanels()[1]);
175
+ }
176
+
177
+ // Transition/animation is done once we're back to 1 panel
178
+ expect(getPanels().length).toEqual(1);
179
+ case 6:
180
+ case "end":
181
+ return _context6.stop();
182
+ }
183
+ }, _callee6);
184
+ }));
185
+ return function waitForEuiContextMenuPanelTransition() {
186
+ return _ref6.apply(this, arguments);
187
+ };
188
+ }();
189
+ exports.waitForEuiContextMenuPanelTransition = waitForEuiContextMenuPanelTransition;
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
- var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
10
+ var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
11
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
  /*
@@ -96,6 +96,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
96
96
  children = _this$props3.children,
97
97
  className = _this$props3.className,
98
98
  id = _this$props3.id,
99
+ role = _this$props3.role,
99
100
  _this$props3$element = _this$props3.element,
100
101
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
101
102
  buttonElement = _this$props3.buttonElement,
@@ -141,6 +142,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
141
142
  onToggle: this.onToggle,
142
143
  extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
143
144
  }), ___EmotionJSX(EuiAccordionChildren, {
145
+ role: role,
144
146
  id: id,
145
147
  "aria-labelledby": buttonId,
146
148
  paddingSize: paddingSize,
@@ -162,6 +164,7 @@ _defineProperty(EuiAccordionClass, "defaultProps", {
162
164
  isDisabled: false,
163
165
  isLoadingMessage: false,
164
166
  element: 'div',
165
- buttonElement: 'button'
167
+ buttonElement: 'button',
168
+ role: 'group'
166
169
  });
167
170
  export var EuiAccordion = withEuiTheme(EuiAccordionClass);
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
4
+ var _excluded = ["role", "children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
5
5
  /*
6
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -18,7 +18,8 @@ import { EuiAccordionChildrenLoading } from './accordion_children_loading';
18
18
  import { euiAccordionChildrenStyles, euiAccordionChildWrapperStyles } from './accordion_children.styles';
19
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
20
  export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
21
- var children = _ref.children,
21
+ var role = _ref.role,
22
+ children = _ref.children,
22
23
  accordionChildrenRef = _ref.accordionChildrenRef,
23
24
  paddingSize = _ref.paddingSize,
24
25
  isLoading = _ref.isLoading,
@@ -63,7 +64,7 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
63
64
  css: wrapperCssStyles,
64
65
  style: heightInlineStyle,
65
66
  ref: accordionChildrenRef,
66
- role: "region",
67
+ role: role,
67
68
  tabIndex: -1
68
69
  // @ts-expect-error - inert property not yet available in React TS defs. TODO: Remove this once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60822 is merged
69
70
  ,
@@ -11,7 +11,7 @@ var _excluded = ["className", "buttonSize", "color", "idSelected", "idToSelected
11
11
 
12
12
  import classNames from 'classnames';
13
13
  import React from 'react';
14
- import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
14
+ import { useEuiTheme } from '../../../services';
15
15
  import { EuiScreenReaderOnly } from '../../accessibility';
16
16
  import { EuiButtonGroupButton } from './button_group_button';
17
17
  import { euiButtonGroupStyles, euiButtonGroupButtonsStyles } from './button_group.styles';
@@ -49,9 +49,6 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
49
49
  'euiButtonGroup-isDisabled': isDisabled
50
50
  }, className);
51
51
  var typeIsSingle = type === 'single';
52
- var nameIfSingle = useGeneratedHtmlId({
53
- conditionalId: name
54
- });
55
52
  return ___EmotionJSX("fieldset", _extends({
56
53
  css: wrapperCssStyles,
57
54
  className: classes
@@ -63,15 +60,17 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
63
60
  }, options.map(function (option, index) {
64
61
  return ___EmotionJSX(EuiButtonGroupButton, _extends({
65
62
  key: index,
66
- name: nameIfSingle,
67
63
  isDisabled: isDisabled
68
64
  }, option, {
69
- element: typeIsSingle ? 'label' : 'button',
65
+ onClick: typeIsSingle ? function () {
66
+ return onChange(option.id, option.value);
67
+ } : function () {
68
+ return onChange(option.id);
69
+ },
70
70
  isSelected: typeIsSingle ? option.id === idSelected : idToSelectedMap[option.id],
71
71
  color: color,
72
72
  size: buttonSize,
73
- isIconOnly: isIconOnly,
74
- onChange: onChange
73
+ isIconOnly: isIconOnly
75
74
  }));
76
75
  })));
77
76
  };
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "name", "onChange", "size", "value", "color", "element", "type"];
4
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
5
5
  /*
6
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -26,44 +26,11 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
26
26
  _ref$isSelected = _ref.isSelected,
27
27
  isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
28
28
  label = _ref.label,
29
- name = _ref.name,
30
- _onChange = _ref.onChange,
31
- size = _ref.size,
32
29
  value = _ref.value,
30
+ size = _ref.size,
33
31
  _ref$color = _ref.color,
34
32
  _color = _ref$color === void 0 ? 'primary' : _ref$color,
35
- _ref$element = _ref.element,
36
- _element = _ref$element === void 0 ? 'button' : _ref$element,
37
- _ref$type = _ref.type,
38
- type = _ref$type === void 0 ? 'button' : _ref$type,
39
33
  rest = _objectWithoutProperties(_ref, _excluded);
40
- // Force element to be a button if disabled
41
- var element = isDisabled ? 'button' : _element;
42
- var elementProps = {};
43
- var singleInput;
44
- if (element === 'label') {
45
- singleInput = ___EmotionJSX("input", {
46
- className: "euiScreenReaderOnly",
47
- name: name,
48
- checked: isSelected,
49
- disabled: isDisabled,
50
- value: value,
51
- type: "radio",
52
- onChange: function onChange() {
53
- return _onChange(id, value);
54
- },
55
- "data-test-subj": id
56
- });
57
- } else {
58
- elementProps = {
59
- 'data-test-subj': id,
60
- isSelected: isSelected,
61
- type: type,
62
- onClick: function onClick() {
63
- return _onChange(id);
64
- }
65
- };
66
- }
67
34
  var isCompressed = size === 'compressed';
68
35
  var color = isDisabled ? 'disabled' : _color;
69
36
  var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
@@ -93,7 +60,6 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
93
60
  return ___EmotionJSX(EuiButtonDisplay, _extends({
94
61
  css: cssStyles,
95
62
  className: buttonClasses,
96
- element: element,
97
63
  isDisabled: isDisabled,
98
64
  size: size === 'compressed' ? 's' : size,
99
65
  contentProps: {
@@ -104,6 +70,8 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
104
70
  ref: buttonTextRef,
105
71
  'data-text': innerText
106
72
  },
107
- title: innerText
108
- }, elementProps, rest), singleInput, label);
73
+ title: innerText,
74
+ "data-test-subj": id,
75
+ isSelected: isSelected
76
+ }, rest), label);
109
77
  };
@@ -50,22 +50,12 @@ export var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiT
50
50
  }
51
51
  };
52
52
  };
53
-
54
- /**
55
- * Focus utilities - made complex by the two different button styles
56
- * and the fact that `label`/`input` combos need :focus-within,
57
- * but `button` does not
58
- */
59
- var _outlineSelectors = function _outlineSelectors(outlineCss) {
60
- return /*#__PURE__*/css("&:is(button){&:focus-visible{", outlineCss, ";}}&:is(label){&:focus-within{", outlineCss, ";}@supports selector(:has(*)){/* Once all evergreen browsers support :has, we can remove\n @supports and the outline: none reset just use this selector */&:focus-within{outline:none;}&:has(:focus-visible){", outlineCss, ";}}}");
61
- };
62
53
  export var _compressedButtonFocusColor = function _compressedButtonFocusColor(euiThemeContext, color) {
63
- var euiTheme = euiThemeContext.euiTheme;
64
54
  var _euiButtonFillColor = euiButtonFillColor(euiThemeContext, color),
65
55
  backgroundColor = _euiButtonFillColor.backgroundColor;
66
- return _outlineSelectors("outline: ".concat(euiTheme.focus.width, " solid ").concat(backgroundColor, ";"));
56
+ return /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'center', backgroundColor), " &:is(.euiButtonGroupButton-isSelected){outline-offset:0;}}");
67
57
  };
68
58
  export var _uncompressedButtonFocus = function _uncompressedButtonFocus(euiThemeContext) {
69
59
  var euiTheme = euiThemeContext.euiTheme;
70
- return _outlineSelectors(euiOutline(euiThemeContext, 'inset', euiTheme.colors.fullShade));
60
+ return /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'inset', euiTheme.colors.fullShade), ";}");
71
61
  };
@@ -11,7 +11,7 @@ var _excluded = ["items", "className", "wrapperProps"];
11
11
 
12
12
  import React, { useContext } from 'react';
13
13
  import classNames from 'classnames';
14
- import { useEuiTheme } from '../../../services';
14
+ import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
15
15
  import { EuiCollapsibleNavContext } from '../context';
16
16
  import { EuiCollapsibleNavItem, EuiCollapsibleNavSubItems } from '../collapsible_nav_item/collapsible_nav_item';
17
17
  import { EuiCollapsedNavPopover } from '../collapsible_nav_item/collapsed/collapsed_nav_popover';
@@ -33,16 +33,21 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
33
33
  var euiTheme = useEuiTheme();
34
34
  var styles = euiCollapsibleNavGroupStyles(euiTheme);
35
35
  var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
36
+ var labelledById = useGeneratedHtmlId();
36
37
  return ___EmotionJSX("div", _extends({}, wrapperProps, {
37
38
  className: classes,
38
39
  css: cssStyles
39
40
  }), isCollapsed && isPush ? ___EmotionJSX(EuiCollapsedNavPopover, _extends({
40
41
  className: classes,
41
42
  items: items
42
- }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({}, props, {
43
+ }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({
44
+ id: labelledById
45
+ }, props, {
43
46
  css: styles.euiCollapsibleNavGroup__title
44
47
  })), ___EmotionJSX(EuiCollapsibleNavSubItems, {
45
48
  items: items,
46
- isGroup: true
49
+ isGroup: true,
50
+ role: "group",
51
+ "aria-labelledby": props.id || labelledById
47
52
  })));
48
53
  };
@@ -11,7 +11,7 @@ var _excluded = ["className", "header", "href", "items", "isSubItem", "isSelecte
11
11
 
12
12
  import React from 'react';
13
13
  import classNames from 'classnames';
14
- import { useEuiTheme } from '../../../services';
14
+ import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
15
15
  import { EuiCollapsibleNavSubItems } from './collapsible_nav_item';
16
16
  import { euiCollapsibleNavItemVariables } from './collapsible_nav_item.styles';
17
17
  import { EuiCollapsibleNavLink } from './collapsible_nav_link';
@@ -44,10 +44,12 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
44
44
  }
45
45
  } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
46
46
 
47
+ var labelledById = useGeneratedHtmlId();
47
48
  return ___EmotionJSX("div", _extends({
48
49
  className: classes
49
50
  }, cssStyles, rest), ___EmotionJSX(EuiCollapsibleNavLink, _extends({
50
- href: href
51
+ href: href,
52
+ id: labelledById
51
53
  }, linkProps, {
52
54
  isSelected: isSelected,
53
55
  isSubItem: isSubItem,
@@ -55,6 +57,8 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
55
57
  }), header), ___EmotionJSX(EuiCollapsibleNavSubItems, {
56
58
  items: items,
57
59
  isSubItem: isSubItem,
58
- className: "euiCollapsibleNavGroup__children"
60
+ className: "euiCollapsibleNavGroup__children",
61
+ role: "group",
62
+ "aria-labelledby": (linkProps === null || linkProps === void 0 ? void 0 : linkProps.id) || labelledById
59
63
  }));
60
64
  };
@@ -405,14 +405,16 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
405
405
  var _this$props10 = _this.props,
406
406
  onSearchChange = _this$props10.onSearchChange,
407
407
  delimiter = _this$props10.delimiter;
408
- if (onSearchChange) {
409
- var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
410
- onSearchChange(searchValue, _hasMatchingOptions);
411
- }
412
408
  _this.setState({
413
409
  searchValue: searchValue
414
410
  }, function () {
415
- if (searchValue && _this.state.isListOpen === false) _this.openList();
411
+ if (searchValue && _this.state.isListOpen === false) {
412
+ _this.openList();
413
+ }
414
+ if (onSearchChange) {
415
+ var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
416
+ onSearchChange(searchValue, _hasMatchingOptions);
417
+ }
416
418
  });
417
419
  if (delimiter && searchValue.endsWith(delimiter)) {
418
420
  _this.setCustomOptions(false);