@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
@@ -1,3 +1,4 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/createClass";
3
4
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -19,52 +20,99 @@ import React, { Component } from 'react';
19
20
  import moment from 'moment'; // eslint-disable-line import/named
20
21
 
21
22
  import dateMath from '@elastic/datemath';
22
- import { EuiDatePicker } from '../../date_picker';
23
+ import { keys } from '../../../../services';
23
24
  import { EuiFormRow, EuiFieldText, EuiFormLabel } from '../../../form';
25
+ import { EuiCode } from '../../../code';
24
26
  import { EuiI18n } from '../../../i18n';
27
+ import { EuiDatePicker } from '../../date_picker';
25
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
+ // Allow users to paste in and have the datepicker parse multiple common date formats,
30
+ // in addition to the configured displayed `dateFormat` prop
31
+ var ALLOWED_USER_DATE_FORMATS = [moment.ISO_8601, moment.RFC_2822, 'X' // Unix timestamp in seconds
32
+ ];
33
+
26
34
  export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
27
35
  _inherits(EuiAbsoluteTab, _Component);
28
36
  var _super = _createSuper(EuiAbsoluteTab);
37
+ // Store outside of state as a ref for faster/unbatched updates
38
+
29
39
  function EuiAbsoluteTab(props) {
30
40
  var _this;
31
41
  _classCallCheck(this, EuiAbsoluteTab);
32
42
  _this = _super.call(this, props);
33
43
  _defineProperty(_assertThisInitialized(_this), "state", void 0);
34
- _defineProperty(_assertThisInitialized(_this), "handleChange", function (date, event) {
44
+ _defineProperty(_assertThisInitialized(_this), "isParsing", false);
45
+ _defineProperty(_assertThisInitialized(_this), "handleChange", function (date) {
35
46
  var onChange = _this.props.onChange;
36
47
  if (date === null) {
37
48
  return;
38
49
  }
39
- onChange(date.toISOString(), event);
50
+ onChange(date.toISOString());
40
51
  var valueAsMoment = moment(date);
41
52
  _this.setState({
42
53
  valueAsMoment: valueAsMoment,
43
54
  textInputValue: valueAsMoment.format(_this.props.dateFormat),
55
+ hasUnparsedText: false,
44
56
  isTextInvalid: false
45
57
  });
46
58
  });
47
59
  _defineProperty(_assertThisInitialized(_this), "handleTextChange", function (event) {
48
- var onChange = _this.props.onChange;
49
- var valueAsMoment = moment(event.target.value, _this.props.dateFormat, true);
50
- var dateIsValid = valueAsMoment.isValid();
51
- if (dateIsValid) {
52
- onChange(valueAsMoment.toISOString(), event);
53
- }
60
+ if (_this.isParsing) return;
54
61
  _this.setState({
55
62
  textInputValue: event.target.value,
56
- isTextInvalid: !dateIsValid,
57
- valueAsMoment: dateIsValid ? valueAsMoment : null
63
+ hasUnparsedText: true,
64
+ isTextInvalid: false
58
65
  });
59
66
  });
67
+ _defineProperty(_assertThisInitialized(_this), "parseUserDateInput", function (textInputValue) {
68
+ _this.isParsing = true;
69
+ // Wait a tick for state to finish updating (whatever gets returned),
70
+ // and then allow `onChange` user input to continue setting state
71
+ requestAnimationFrame(function () {
72
+ _this.isParsing = false;
73
+ });
74
+ var invalidDateState = {
75
+ textInputValue: textInputValue,
76
+ isTextInvalid: true,
77
+ valueAsMoment: null
78
+ };
79
+ if (!textInputValue) {
80
+ return _this.setState(invalidDateState);
81
+ }
82
+ var _this$props = _this.props,
83
+ onChange = _this$props.onChange,
84
+ dateFormat = _this$props.dateFormat;
85
+
86
+ // Attempt to parse with passed `dateFormat`
87
+ var valueAsMoment = moment(textInputValue, dateFormat, true);
88
+ var dateIsValid = valueAsMoment.isValid();
89
+
90
+ // If not valid, try a few other other standardized formats
91
+ if (!dateIsValid) {
92
+ valueAsMoment = moment(textInputValue, ALLOWED_USER_DATE_FORMATS, true);
93
+ dateIsValid = valueAsMoment.isValid();
94
+ }
95
+ if (dateIsValid) {
96
+ onChange(valueAsMoment.toISOString());
97
+ _this.setState({
98
+ textInputValue: valueAsMoment.format(_this.props.dateFormat),
99
+ valueAsMoment: valueAsMoment,
100
+ hasUnparsedText: false,
101
+ isTextInvalid: false
102
+ });
103
+ } else {
104
+ _this.setState(invalidDateState);
105
+ }
106
+ });
60
107
  var parsedValue = dateMath.parse(props.value, {
61
108
  roundUp: props.roundUp
62
109
  });
63
110
  var _valueAsMoment = parsedValue && parsedValue.isValid() ? parsedValue : moment();
64
- var textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
111
+ var _textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
65
112
  _this.state = {
113
+ hasUnparsedText: false,
66
114
  isTextInvalid: false,
67
- textInputValue: textInputValue,
115
+ textInputValue: _textInputValue,
68
116
  valueAsMoment: _valueAsMoment
69
117
  };
70
118
  return _this;
@@ -73,17 +121,18 @@ export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
73
121
  key: "render",
74
122
  value: function render() {
75
123
  var _this2 = this;
76
- var _this$props = this.props,
77
- dateFormat = _this$props.dateFormat,
78
- timeFormat = _this$props.timeFormat,
79
- locale = _this$props.locale,
80
- utcOffset = _this$props.utcOffset,
81
- labelPrefix = _this$props.labelPrefix;
124
+ var _this$props2 = this.props,
125
+ dateFormat = _this$props2.dateFormat,
126
+ timeFormat = _this$props2.timeFormat,
127
+ locale = _this$props2.locale,
128
+ utcOffset = _this$props2.utcOffset,
129
+ labelPrefix = _this$props2.labelPrefix;
82
130
  var _this$state = this.state,
83
131
  valueAsMoment = _this$state.valueAsMoment,
84
132
  isTextInvalid = _this$state.isTextInvalid,
133
+ hasUnparsedText = _this$state.hasUnparsedText,
85
134
  textInputValue = _this$state.textInputValue;
86
- return ___EmotionJSX("div", null, ___EmotionJSX(EuiDatePicker, {
135
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiDatePicker, {
87
136
  inline: true,
88
137
  showTimeSelect: true,
89
138
  shadow: false,
@@ -94,22 +143,34 @@ export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
94
143
  locale: locale,
95
144
  utcOffset: utcOffset
96
145
  }), ___EmotionJSX(EuiI18n, {
97
- token: "euiAbsoluteTab.dateFormatError",
98
- default: "Expected format: {dateFormat}",
146
+ tokens: ['euiAbsoluteTab.dateFormatHint', 'euiAbsoluteTab.dateFormatError'],
147
+ defaults: ['Press the Enter key to parse as a date.', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.'],
99
148
  values: {
100
- dateFormat: dateFormat
149
+ dateFormat: ___EmotionJSX(EuiCode, null, dateFormat)
101
150
  }
102
- }, function (dateFormatError) {
151
+ }, function (_ref) {
152
+ var _ref2 = _slicedToArray(_ref, 2),
153
+ dateFormatHint = _ref2[0],
154
+ dateFormatError = _ref2[1];
103
155
  return ___EmotionJSX(EuiFormRow, {
104
156
  className: "euiSuperDatePicker__absoluteDateFormRow",
105
157
  isInvalid: isTextInvalid,
106
- error: isTextInvalid ? dateFormatError : undefined
158
+ error: isTextInvalid ? dateFormatError : undefined,
159
+ helpText: hasUnparsedText ? isTextInvalid ? dateFormatHint : [dateFormatHint, dateFormatError] : undefined
107
160
  }, ___EmotionJSX(EuiFieldText, {
108
161
  compressed: true,
109
162
  isInvalid: isTextInvalid,
110
163
  value: textInputValue,
111
164
  onChange: _this2.handleTextChange,
112
- "data-test-subj": 'superDatePickerAbsoluteDateInput',
165
+ onPaste: function onPaste(event) {
166
+ _this2.parseUserDateInput(event.clipboardData.getData('text'));
167
+ },
168
+ onKeyDown: function onKeyDown(event) {
169
+ if (event.key === keys.ENTER) {
170
+ _this2.parseUserDateInput(textInputValue);
171
+ }
172
+ },
173
+ "data-test-subj": "superDatePickerAbsoluteDateInput",
113
174
  prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
114
175
  }));
115
176
  }));
@@ -79,8 +79,7 @@ export var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
79
79
  button: quickSelectButton,
80
80
  isOpen: isOpen,
81
81
  closePopover: closePopover,
82
- anchorPosition: "downLeft",
83
- anchorClassName: "euiQuickSelectPopover__anchor"
82
+ anchorPosition: "downLeft"
84
83
  }, ___EmotionJSX(EuiQuickSelectPanels, _extends({}, props, {
85
84
  applyTime: applyTime,
86
85
  prevQuickSelect: prevQuickSelect
@@ -28,7 +28,7 @@ export var euiFilterGroupStyles = function euiFilterGroupStyles(euiThemeContext)
28
28
  controlCompressedBorderRadius = _euiFormVariables.controlCompressedBorderRadius,
29
29
  controlCompressedHeight = _euiFormVariables.controlCompressedHeight;
30
30
  return {
31
- euiFilterGroup: /*#__PURE__*/css("display:inline-flex;", logicalCSS('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", euiFilterButtonDisplay(euiThemeContext), ";}.euiPopover__anchor{display:block;.euiFilterButton{", logicalCSS('width', '100%'), ";}}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", euiBreakpoint(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
31
+ euiFilterGroup: /*#__PURE__*/css("display:inline-flex;", logicalCSS('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", euiFilterButtonDisplay(euiThemeContext), ";}.euiPopover>.euiFilterButton{", logicalCSS('width', '100%'), ";}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", euiBreakpoint(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
32
32
  fullWidth: _ref,
33
33
  uncompressed: /*#__PURE__*/css("border-radius:", controlBorderRadius, ";", buttonChildrenBorderRadii(controlBorderRadius), ";;label:uncompressed;"),
34
34
  compressed: /*#__PURE__*/css("border-radius:", controlCompressedBorderRadius, ";", buttonChildrenBorderRadii(controlCompressedBorderRadius), " .euiFilterButton{", logicalCSS('height', controlCompressedHeight), ";};label:compressed;"),
@@ -70,6 +70,7 @@ var EuiI18n = function EuiI18n(props) {
70
70
  i18nMapping: mapping,
71
71
  i18nMappingFunc: mappingFunc,
72
72
  valueDefault: props.defaults[idx],
73
+ values: props.values,
73
74
  render: render
74
75
  });
75
76
  }));
@@ -169,7 +169,7 @@ export var EuiInputPopover = function EuiInputPopover(_ref) {
169
169
  css: /*#__PURE__*/css(fullWidth ? undefined : logicalCSS('max-width', form.maxWidth), ";label:EuiInputPopover;"),
170
170
  display: display,
171
171
  button: input,
172
- buttonRef: inputRef,
172
+ popoverRef: inputRef,
173
173
  panelRef: panelRef,
174
174
  ref: popoverClassRef,
175
175
  closePopover: closePopover,
@@ -1,4 +1,3 @@
1
- import { css as _css } from "@emotion/react";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
3
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
@@ -28,6 +27,7 @@ import classNames from 'classnames';
28
27
  import { focusable } from 'tabbable';
29
28
  import { EuiFocusTrap } from '../focus_trap';
30
29
  import { keys, getTransitionTimings, getWaitDuration, performOnFrame, htmlIdGenerator } from '../../services';
30
+ import { setMultipleRefs } from '../../services/hooks/useCombinedRefs';
31
31
  import { EuiScreenReaderOnly } from '../accessibility';
32
32
  import { EuiPortal } from '../portal';
33
33
  import { EuiMutationObserver } from '../observer/mutation_observer';
@@ -257,9 +257,9 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
257
257
  window.addEventListener('resize', _this.positionPopoverFluid);
258
258
  }
259
259
  });
260
- _defineProperty(_assertThisInitialized(_this), "buttonRef", function (node) {
260
+ _defineProperty(_assertThisInitialized(_this), "popoverRef", function (node) {
261
261
  _this.button = node;
262
- _this.props.buttonRef && _this.props.buttonRef(node);
262
+ setMultipleRefs([_this.props.popoverRef, _this.props.buttonRef], node);
263
263
  });
264
264
  _this.state = {
265
265
  prevProps: {
@@ -378,12 +378,12 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
378
378
  var tabIndexProp = (_panelProps$tabIndex = panelProps === null || panelProps === void 0 ? void 0 : panelProps.tabIndex) !== null && _panelProps$tabIndex !== void 0 ? _panelProps$tabIndex : _tabIndexProp;
379
379
  var styles = euiPopoverStyles();
380
380
  var popoverStyles = [styles.euiPopover, {
381
- display: display
381
+ display: display,
382
+ label: display
382
383
  }];
383
384
  var classes = classNames('euiPopover', {
384
385
  'euiPopover-isOpen': this.state.isOpening
385
- }, className);
386
- var anchorClasses = classNames('euiPopover__anchor', anchorClassName);
386
+ }, className, anchorClassName);
387
387
  var showArrow = hasArrow && !attachToAnchor;
388
388
  var panel;
389
389
  if (!this.state.suppressingPopover && (isOpen || this.state.isClosing)) {
@@ -473,29 +473,17 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
473
473
  return ___EmotionJSX("div", _extends({
474
474
  css: popoverStyles,
475
475
  className: classes,
476
- ref: popoverRef
477
- }, rest), ___EmotionJSX("div", {
478
- css: /*#__PURE__*/_css({
479
- display: display
480
- }, ";label:render;"),
481
- className: anchorClasses,
482
- ref: this.buttonRef
483
- }, button instanceof HTMLElement ? null : button), panel);
476
+ ref: this.popoverRef
477
+ }, rest), button instanceof HTMLElement ? null : button, panel);
484
478
  } else {
485
479
  return ___EmotionJSX(EuiOutsideClickDetector, {
486
480
  onOutsideClick: this.closePopover
487
481
  }, ___EmotionJSX("div", _extends({
488
482
  css: popoverStyles,
489
483
  className: classes,
490
- ref: popoverRef,
484
+ ref: this.popoverRef,
491
485
  onKeyDown: this.onKeyDown
492
- }, rest), ___EmotionJSX("div", {
493
- css: /*#__PURE__*/_css({
494
- display: display
495
- }, ";label:render;"),
496
- className: anchorClasses,
497
- ref: this.buttonRef
498
- }, button instanceof HTMLElement ? null : button), panel));
486
+ }, rest), button instanceof HTMLElement ? null : button, panel));
499
487
  }
500
488
  }
501
489
  }], [{
@@ -7,13 +7,11 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
- import { euiBackgroundColor, logicals, logicalSizeCSS } from '../../../global_styling';
10
+ import { logicals, logicalSizeCSS } from '../../../global_styling';
11
11
  export var popoverArrowSize = 'm';
12
12
  export var euiPopoverArrowStyles = function euiPopoverArrowStyles(euiThemeContext) {
13
13
  var euiTheme = euiThemeContext.euiTheme;
14
-
15
- // Match the background color of panels
16
- var borderColor = euiBackgroundColor(euiThemeContext, 'plain');
14
+ var borderColor = 'var(--euiPopoverBackgroundColor)';
17
15
  var arrowSize = euiTheme.size[popoverArrowSize];
18
16
  return {
19
17
  // Base
@@ -35,7 +35,8 @@ export var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
35
35
  var euiThemeContext = useEuiTheme();
36
36
  var cssStyles = useMemo(function () {
37
37
  var styles = euiPopoverPanelStyles(euiThemeContext);
38
- var sharedStyles = [styles.euiPopover__panel, isOpen && styles.isOpen];
38
+ var colorMode = euiThemeContext.colorMode.toLowerCase();
39
+ var sharedStyles = [styles.euiPopover__panel, styles[colorMode], isOpen && styles.isOpen];
39
40
  if (hasDragDrop) {
40
41
  return [].concat(sharedStyles, [styles.hasDragDrop.hasDragDrop, position && styles.hasDragDrop[position]]);
41
42
  }
@@ -10,6 +10,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
10
10
  import { css } from '@emotion/react';
11
11
  import { euiShadow, euiShadowFlat, euiShadowMedium } from '../../../themes/amsterdam/global_styling/mixins';
12
12
  import { getShadowColor } from '../../../themes/amsterdam/global_styling/functions';
13
+ import { tint } from '../../../services';
13
14
  import { euiCanAnimate, logicalCSS, mathWithUnits } from '../../../global_styling';
14
15
  export var openAnimationTiming = 'slow';
15
16
 
@@ -17,6 +18,7 @@ export var openAnimationTiming = 'slow';
17
18
  * 1. Can expand further, but it looks weird if it's smaller than the originating button.
18
19
  * 2. Animation happens on the panel. But don't animate position when using the attached mode like for inputs
19
20
  * 3. Make sure the panel stays within the window.
21
+ * 4. Make the popover lighter on dark mode (too hard to distinguish from plain bgs otherwise), and set a CSS var for the arrow to use
20
22
  */
21
23
  var _ref = process.env.NODE_ENV === "production" ? {
22
24
  name: "j5y6yx-isOpen",
@@ -37,8 +39,11 @@ export var euiPopoverPanelStyles = function euiPopoverPanelStyles(euiThemeContex
37
39
  }));
38
40
  return {
39
41
  // Base
40
- euiPopover__panel: /*#__PURE__*/css("position:absolute;", logicalCSS('min-width', "".concat(euiTheme.base * 7, "px")), logicalCSS('max-width', "calc(100vw - ".concat(euiTheme.size.xl, ")")), "backface-visibility:hidden;pointer-events:none;opacity:0;", euiCanAnimate, "{transition:", opacityTransition, ",", transformTransition, ";}&:focus{outline-offset:0;};label:euiPopover__panel;"),
42
+ euiPopover__panel: /*#__PURE__*/css("position:absolute;", logicalCSS('min-width', "".concat(euiTheme.base * 7, "px")), logicalCSS('max-width', "calc(100vw - ".concat(euiTheme.size.xl, ")")), "backface-visibility:hidden;pointer-events:none;opacity:0;background-color:var(--euiPopoverBackgroundColor);", euiCanAnimate, "{transition:", opacityTransition, ",", transformTransition, ";}&:focus{outline-offset:0;};label:euiPopover__panel;"),
41
43
  isOpen: _ref,
44
+ /* 4 */
45
+ light: /*#__PURE__*/css("--euiPopoverBackgroundColor:", euiTheme.colors.emptyShade, ";;label:light;"),
46
+ dark: /*#__PURE__*/css("--euiPopoverBackgroundColor:", tint(euiTheme.colors.emptyShade, 0.025), ";;label:dark;"),
42
47
  // Regular popover with an arrow, a transform animation/transition, and a
43
48
  // drop shadow via `filter` (which automatically handles the arrow)
44
49
  hasTransform: {
@@ -14,7 +14,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
14
14
  * Side Public License, v 1.
15
15
  */
16
16
 
17
- import React, { useState, useMemo } from 'react';
17
+ import React, { useState, useMemo, useCallback } from 'react';
18
18
  import classNames from 'classnames';
19
19
  import { useCombinedRefs, useCurrentEuiBreakpoint } from '../../../services';
20
20
  import { EuiSelectable } from '../selectable';
@@ -67,9 +67,11 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
67
67
  setPopoverIsOpen(false);
68
68
  _closePopover && _closePopover();
69
69
  };
70
- var togglePopover = function togglePopover() {
71
- setPopoverIsOpen(!popoverIsOpen);
72
- };
70
+ var togglePopover = useCallback(function () {
71
+ setPopoverIsOpen(function (isOpen) {
72
+ return !isOpen;
73
+ });
74
+ }, []);
73
75
 
74
76
  // Width applied to the internal div
75
77
  var popoverWidth = width || 600;
@@ -144,16 +146,16 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
144
146
  if (!currentBreakpoint) return false;
145
147
  return popoverButtonBreakpoints.includes(currentBreakpoint);
146
148
  }, [currentBreakpoint, popoverButtonBreakpoints]);
147
- var popoverTrigger;
148
- if (popoverButton && canShowPopoverButton) {
149
- popoverTrigger = /*#__PURE__*/React.cloneElement(popoverButton, _objectSpread(_objectSpread({}, popoverButton.props), {}, {
149
+ var popoverTrigger = useMemo(function () {
150
+ if (!popoverButton || !canShowPopoverButton) return;
151
+ return ___EmotionJSX("span", {
152
+ className: "euiSelectableTemplateSitewide__popoverTrigger",
150
153
  onClick: togglePopover,
151
154
  onKeyDown: function onKeyDown(e) {
152
- // Selectable preventsDefault on Enter which kills browser controls for pressing the button
153
- e.stopPropagation();
155
+ return e.stopPropagation();
154
156
  }
155
- }));
156
- }
157
+ }, popoverButton);
158
+ }, [popoverButton, canShowPopoverButton, togglePopover]);
157
159
  return ___EmotionJSX(EuiSelectable, _extends({
158
160
  isLoading: isLoading,
159
161
  options: formattedOptions,
@@ -263,7 +263,7 @@ export var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
263
263
  var classes = classNames('euiGlobalToastList', className);
264
264
  return ___EmotionJSX("div", _extends({
265
265
  "aria-live": "polite",
266
- role: "region",
266
+ role: "log",
267
267
  ref: listElement,
268
268
  css: cssStyles,
269
269
  className: classes
@@ -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
@@ -148,12 +148,6 @@ export var euiPaletteComplementary = function euiPaletteComplementary(steps) {
148
148
  }
149
149
  return euiPalette([euiPaletteColorBlind()[1], euiPaletteColorBlind()[7]], steps, true);
150
150
  };
151
-
152
- /**
153
- * The old typo'd name for this palette remains exported until the end of its deprecation period
154
- * @deprecated Use euiPaletteComplementary instead
155
- */
156
- export var euiPaletteComplimentary = euiPaletteComplementary;
157
151
  export var euiPaletteNegative = function euiPaletteNegative(steps) {
158
152
  if (steps === 1) {
159
153
  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>;
@@ -114,8 +114,9 @@ export var waitForEuiToolTipHidden = /*#__PURE__*/function () {
114
114
  }();
115
115
 
116
116
  /**
117
- * Doot doo
117
+ * EuiComboBox
118
118
  */
119
+
119
120
  export var showEuiComboBoxOptions = /*#__PURE__*/function () {
120
121
  var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
121
122
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
@@ -138,4 +139,42 @@ export var showEuiComboBoxOptions = /*#__PURE__*/function () {
138
139
  return function showEuiComboBoxOptions() {
139
140
  return _ref5.apply(this, arguments);
140
141
  };
142
+ }();
143
+
144
+ /**
145
+ * EuiContextMenu
146
+ */
147
+
148
+ export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
149
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
150
+ var getPanels;
151
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
152
+ while (1) switch (_context6.prev = _context6.next) {
153
+ case 0:
154
+ // Used document instead of container or screen due to context menus living in portals
155
+ getPanels = function getPanels() {
156
+ return document.querySelectorAll('.euiContextMenuPanel');
157
+ }; // 2 panels will appear for the transition animation
158
+ _context6.next = 3;
159
+ return waitFor(function () {
160
+ expect(getPanels().length).toEqual(2);
161
+ });
162
+ case 3:
163
+ // Outgoing panel will be removed on animation end
164
+ fireEvent.animationEnd(getPanels()[0]);
165
+ if (getPanels().length > 1) {
166
+ fireEvent.animationEnd(getPanels()[1]);
167
+ }
168
+
169
+ // Transition/animation is done once we're back to 1 panel
170
+ expect(getPanels().length).toEqual(1);
171
+ case 6:
172
+ case "end":
173
+ return _context6.stop();
174
+ }
175
+ }, _callee6);
176
+ }));
177
+ return function waitForEuiContextMenuPanelTransition() {
178
+ return _ref6.apply(this, arguments);
179
+ };
141
180
  }();
@@ -23,7 +23,7 @@ var _accordion_trigger = require("./accordion_trigger");
23
23
  var _accordion_children = require("./accordion_children");
24
24
  var _accordion = require("./accordion.styles");
25
25
  var _react2 = require("@emotion/react");
26
- var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
26
+ var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
27
27
  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); }
28
28
  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; }
29
29
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -105,6 +105,7 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
105
105
  children = _this$props3.children,
106
106
  className = _this$props3.className,
107
107
  id = _this$props3.id,
108
+ role = _this$props3.role,
108
109
  _this$props3$element = _this$props3.element,
109
110
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
110
111
  buttonElement = _this$props3.buttonElement,
@@ -150,6 +151,7 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
150
151
  onToggle: this.onToggle,
151
152
  extraAction: isLoading ? (0, _react2.jsx)(_loading.EuiLoadingSpinner, null) : extraAction
152
153
  }), (0, _react2.jsx)(_accordion_children.EuiAccordionChildren, {
154
+ role: role,
153
155
  id: id,
154
156
  "aria-labelledby": buttonId,
155
157
  paddingSize: paddingSize,
@@ -172,7 +174,8 @@ exports.EuiAccordionClass = EuiAccordionClass;
172
174
  isDisabled: false,
173
175
  isLoadingMessage: false,
174
176
  element: 'div',
175
- buttonElement: 'button'
177
+ buttonElement: 'button',
178
+ role: 'group'
176
179
  });
177
180
  var EuiAccordion = (0, _services.withEuiTheme)(EuiAccordionClass);
178
181
  exports.EuiAccordion = EuiAccordion;