@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
@@ -23,7 +23,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
23
23
  * Side Public License, v 1.
24
24
  */
25
25
 
26
- import React, { useState, useMemo } from 'react';
26
+ import React, { useState, useMemo, useCallback } from 'react';
27
27
  import PropTypes from "prop-types";
28
28
  import classNames from 'classnames';
29
29
  import { useCombinedRefs, useCurrentEuiBreakpoint } from '../../../services';
@@ -77,9 +77,11 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
77
77
  setPopoverIsOpen(false);
78
78
  _closePopover && _closePopover();
79
79
  };
80
- var togglePopover = function togglePopover() {
81
- setPopoverIsOpen(!popoverIsOpen);
82
- };
80
+ var togglePopover = useCallback(function () {
81
+ setPopoverIsOpen(function (isOpen) {
82
+ return !isOpen;
83
+ });
84
+ }, []);
83
85
 
84
86
  // Width applied to the internal div
85
87
  var popoverWidth = width || 600;
@@ -154,16 +156,16 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
154
156
  if (!currentBreakpoint) return false;
155
157
  return popoverButtonBreakpoints.includes(currentBreakpoint);
156
158
  }, [currentBreakpoint, popoverButtonBreakpoints]);
157
- var popoverTrigger;
158
- if (popoverButton && canShowPopoverButton) {
159
- popoverTrigger = /*#__PURE__*/React.cloneElement(popoverButton, _objectSpread(_objectSpread({}, popoverButton.props), {}, {
159
+ var popoverTrigger = useMemo(function () {
160
+ if (!popoverButton || !canShowPopoverButton) return;
161
+ return ___EmotionJSX("span", {
162
+ className: "euiSelectableTemplateSitewide__popoverTrigger",
160
163
  onClick: togglePopover,
161
164
  onKeyDown: function onKeyDown(e) {
162
- // Selectable preventsDefault on Enter which kills browser controls for pressing the button
163
- e.stopPropagation();
165
+ return e.stopPropagation();
164
166
  }
165
- }));
166
- }
167
+ }, popoverButton);
168
+ }, [popoverButton, canShowPopoverButton, togglePopover]);
167
169
  return ___EmotionJSX(EuiSelectable, _extends({
168
170
  isLoading: isLoading,
169
171
  options: formattedOptions,
@@ -273,7 +273,7 @@ export var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
273
273
  var classes = classNames('euiGlobalToastList', className);
274
274
  return ___EmotionJSX("div", _extends({
275
275
  "aria-live": "polite",
276
- role: "region",
276
+ role: "log",
277
277
  ref: listElement,
278
278
  css: cssStyles,
279
279
  className: classes
@@ -310,6 +310,16 @@ EuiGlobalToastList.propTypes = {
310
310
  * Optional callback that fires when a user clicks the "Clear all" button.
311
311
  */
312
312
  onClearAllToasts: PropTypes.func,
313
+ /**
314
+ * Defaults to the [log role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/log_role).
315
+ *
316
+ * The [alert role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role)
317
+ * can be considered only if *all* toasts in this list will require immediate user attention.
318
+ * Several alerts at once, and unnecessary alerts, will a create bad screen reader user experience.
319
+ *
320
+ * @default log
321
+ */
322
+ role: PropTypes.any,
313
323
  className: PropTypes.string,
314
324
  "aria-label": PropTypes.string,
315
325
  "data-test-subj": PropTypes.string,
@@ -222,6 +222,8 @@ EuiTourStep.propTypes = {
222
222
  css: PropTypes.any,
223
223
  /**
224
224
  * Class name passed to the direct parent of the button
225
+ *
226
+ * @deprecated Use `className` instead
225
227
  */
226
228
  anchorClassName: PropTypes.string,
227
229
  /**
@@ -233,6 +235,9 @@ EuiTourStep.propTypes = {
233
235
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
234
236
  */
235
237
  attachToAnchor: PropTypes.bool,
238
+ /**
239
+ * @deprecated Use `popoverRef` instead
240
+ */
236
241
  buttonRef: PropTypes.any,
237
242
  /**
238
243
  * Restrict the popover's position within this element
@@ -301,11 +306,6 @@ EuiTourStep.propTypes = {
301
306
  */
302
307
  grow: PropTypes.bool,
303
308
  panelRef: PropTypes.any,
304
- /**
305
- * Background color of the panel;
306
- * Usually a lightened form of the brand colors
307
- */
308
- color: PropTypes.any,
309
309
  className: PropTypes.string,
310
310
  "aria-label": PropTypes.string,
311
311
  "data-test-subj": PropTypes.string,
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  import { useEuiTheme } from '../../services';
10
+ import { mathWithUnits } from '../functions';
10
11
  /**
11
12
  * It is best practice to utilize the browser's default `outline` property for handling focus rings.
12
13
  * However, some components need to be forced to have the same behavior, or adjust the display.
@@ -29,7 +30,9 @@ export var euiOutline = function euiOutline(_ref) {
29
30
  } else if (offset === 'outset') {
30
31
  outlineOffset = "".concat(outlineWidth);
31
32
  } else if (offset === 'center') {
32
- outlineOffset = "calc(".concat(outlineWidth, " / -2);");
33
+ outlineOffset = mathWithUnits(outlineWidth, function (x) {
34
+ return x / -2;
35
+ });
33
36
  }
34
37
 
35
38
  // This is a separate function from `euiFocusRing` because some EUI components
@@ -153,12 +153,6 @@ export var euiPaletteComplementary = function euiPaletteComplementary(steps) {
153
153
  }
154
154
  return euiPalette([euiPaletteColorBlind()[1], euiPaletteColorBlind()[7]], steps, true);
155
155
  };
156
-
157
- /**
158
- * The old typo'd name for this palette remains exported until the end of its deprecation period
159
- * @deprecated Use euiPaletteComplementary instead
160
- */
161
- export var euiPaletteComplimentary = euiPaletteComplementary;
162
156
  export var euiPaletteNegative = function euiPaletteNegative(steps) {
163
157
  if (steps === 1) {
164
158
  return [lightNegativeColor];
@@ -17,7 +17,7 @@ export { rgbToHsv } from './rgb_to_hsv';
17
17
  export { calculateContrast, calculateLuminance } from './luminance_and_contrast';
18
18
  export { VISUALIZATION_COLORS, DEFAULT_VISUALIZATION_COLOR } from './visualization_colors';
19
19
  export { colorPalette } from './color_palette';
20
- export { euiPaletteForLightBackground, euiPaletteForDarkBackground, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteComplimentary, euiPaletteComplementary, euiPaletteNegative, euiPalettePositive, euiPaletteCool, euiPaletteWarm, euiPaletteGray } from './eui_palettes';
20
+ export { euiPaletteForLightBackground, euiPaletteForDarkBackground, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteComplementary, euiPaletteNegative, euiPalettePositive, euiPaletteCool, euiPaletteWarm, euiPaletteGray } from './eui_palettes';
21
21
  export { getSteppedGradient } from './stepped_gradient';
22
22
  export * from './manipulation';
23
23
  export * from './contrast';
@@ -7,7 +7,6 @@
7
7
  */
8
8
 
9
9
  import { useCallback } from 'react';
10
-
11
10
  /*
12
11
  * For use when a component needs to set `ref` objects from multiple sources.
13
12
  * For instance, if a component accepts a `ref` prop but also needs its own
@@ -17,13 +16,21 @@ import { useCallback } from 'react';
17
16
  */
18
17
  export var useCombinedRefs = function useCombinedRefs(refs) {
19
18
  return useCallback(function (node) {
20
- return refs.forEach(function (ref) {
21
- if (!ref) return;
22
- if (typeof ref === 'function') {
23
- ref(node);
24
- } else {
25
- ref.current = node;
26
- }
27
- });
19
+ return setMultipleRefs(refs, node);
28
20
  }, [refs]);
21
+ };
22
+
23
+ /**
24
+ * Non-hook util for setting multiple refs/ref types.
25
+ * Useful for non-functional components
26
+ */
27
+ export var setMultipleRefs = function setMultipleRefs(refs, node) {
28
+ refs.forEach(function (ref) {
29
+ if (!ref) return;
30
+ if (typeof ref === 'function') {
31
+ ref(node);
32
+ } else {
33
+ ref.current = node;
34
+ }
35
+ });
29
36
  };
@@ -12,7 +12,7 @@ export { htmlIdGenerator, useGeneratedHtmlId } from './accessibility';
12
12
  export { CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT } from './alignment';
13
13
  export { CurrentEuiBreakpointContext, CurrentEuiBreakpointProvider, useCurrentEuiBreakpoint, useIsWithinBreakpoints, useIsWithinMaxBreakpoint, useIsWithinMinBreakpoint } from './breakpoint';
14
14
  export { CanvasTextUtils } from './canvas';
15
- export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplimentary, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray, euiPaletteNegative, euiPalettePositive, euiPaletteWarm, getSteppedGradient, hexToHsv, hexToRgb, hsvToHex, hsvToRgb, isColorDark, isValidHex, lightness, makeDisabledContrastColor, makeHighContrastColor, rgbToHex, rgbToHsv, saturate, shade, shadeOrTint, tint, tintOrShade, transparentize, VISUALIZATION_COLORS, wcagContrastMin } from './color';
15
+ export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray, euiPaletteNegative, euiPalettePositive, euiPaletteWarm, getSteppedGradient, hexToHsv, hexToRgb, hsvToHex, hsvToRgb, isColorDark, isValidHex, lightness, makeDisabledContrastColor, makeHighContrastColor, rgbToHex, rgbToHsv, saturate, shade, shadeOrTint, tint, tintOrShade, transparentize, VISUALIZATION_COLORS, wcagContrastMin } from './color';
16
16
  export { useColorPickerState, useColorStopsState } from './color_picker';
17
17
  export * from './console';
18
18
  export { copyToClipboard } from './copy_to_clipboard';
@@ -23,7 +23,6 @@ export * from './hooks';
23
23
  export { isEvenlyDivisibleBy, isWithinRange } from './number';
24
24
  export { Pager } from './paging';
25
25
  export { calculatePopoverPosition, findPopoverPosition } from './popover';
26
- export { Random } from './random';
27
26
  export { getSecureRelForTarget } from './security';
28
27
  export { Comparators, PropertySortType, SortableProperties, SortDirection, SortDirectionType } from './sort';
29
28
  export { slugify, toInitials, toSentenceCase } from './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>;
@@ -116,8 +116,9 @@ export var waitForEuiToolTipHidden = /*#__PURE__*/function () {
116
116
  }();
117
117
 
118
118
  /**
119
- * Doot doo
119
+ * EuiComboBox
120
120
  */
121
+
121
122
  export var showEuiComboBoxOptions = /*#__PURE__*/function () {
122
123
  var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
123
124
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
@@ -140,4 +141,42 @@ export var showEuiComboBoxOptions = /*#__PURE__*/function () {
140
141
  return function showEuiComboBoxOptions() {
141
142
  return _ref5.apply(this, arguments);
142
143
  };
144
+ }();
145
+
146
+ /**
147
+ * EuiContextMenu
148
+ */
149
+
150
+ export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
151
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
152
+ var getPanels;
153
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
154
+ while (1) switch (_context6.prev = _context6.next) {
155
+ case 0:
156
+ // Used document instead of container or screen due to context menus living in portals
157
+ getPanels = function getPanels() {
158
+ return document.querySelectorAll('.euiContextMenuPanel');
159
+ }; // 2 panels will appear for the transition animation
160
+ _context6.next = 3;
161
+ return waitFor(function () {
162
+ expect(getPanels().length).toEqual(2);
163
+ });
164
+ case 3:
165
+ // Outgoing panel will be removed on animation end
166
+ fireEvent.animationEnd(getPanels()[0]);
167
+ if (getPanels().length > 1) {
168
+ fireEvent.animationEnd(getPanels()[1]);
169
+ }
170
+
171
+ // Transition/animation is done once we're back to 1 panel
172
+ expect(getPanels().length).toEqual(1);
173
+ case 6:
174
+ case "end":
175
+ return _context6.stop();
176
+ }
177
+ }, _callee6);
178
+ }));
179
+ return function waitForEuiContextMenuPanelTransition() {
180
+ return _ref6.apply(this, arguments);
181
+ };
143
182
  }();