@elastic/eui 116.3.0 → 116.3.1-snapshot.1782148316870

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 (199) hide show
  1. package/es/components/avatar/avatar.js +4 -0
  2. package/es/components/avatar/avatar.styles.js +16 -16
  3. package/es/components/banner/banner.js +1 -2
  4. package/es/components/banner/banner.styles.js +1 -1
  5. package/es/components/basic_table/basic_table.js +35 -5
  6. package/es/components/basic_table/basic_table.styles.js +19 -1
  7. package/es/components/basic_table/in_memory_table.js +17 -0
  8. package/es/components/basic_table/index.js +2 -1
  9. package/es/components/basic_table/pagination_bar.js +19 -4
  10. package/es/components/basic_table/pagination_bar.styles.js +21 -0
  11. package/es/components/basic_table/panel.styles.js +14 -0
  12. package/es/components/basic_table/use_panel_props.js +28 -0
  13. package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
  14. package/es/components/date_picker/date_picker.js +1 -1
  15. package/es/components/flyout/flyout.component.js +10 -6
  16. package/es/components/flyout/flyout_menu.js +122 -19
  17. package/es/components/flyout/flyout_menu.styles.js +2 -1
  18. package/es/components/flyout/manager/actions.js +20 -0
  19. package/es/components/flyout/manager/flyout_child.js +23 -1
  20. package/es/components/flyout/manager/flyout_managed.js +65 -19
  21. package/es/components/flyout/manager/hooks.js +1 -1
  22. package/es/components/flyout/manager/index.js +2 -2
  23. package/es/components/flyout/manager/reducer.js +32 -8
  24. package/es/components/flyout/manager/selectors.js +8 -2
  25. package/es/components/flyout/manager/store.js +35 -2
  26. package/es/components/flyout/use_flyout_menu.js +2 -2
  27. package/es/components/form/field_password/field_password.styles.js +1 -1
  28. package/es/components/form/field_search/field_search.styles.js +1 -1
  29. package/es/components/form/form.styles.js +1 -1
  30. package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
  31. package/es/components/form/select/select.styles.js +1 -1
  32. package/es/components/form/text_area/text_area.styles.js +1 -1
  33. package/es/components/form/validatable_control/validatable_control.js +8 -55
  34. package/es/components/table/mobile/table_sort_mobile.js +64 -103
  35. package/es/components/table/store/use_unique_column_id.js +25 -0
  36. package/es/components/table/table_header_cell.js +7 -8
  37. package/es/components/table/table_header_cell_checkbox.js +5 -6
  38. package/es/components/tool_tip/tool_tip.js +61 -30
  39. package/es/components/tool_tip/tool_tip_anchor.js +5 -5
  40. package/es/components/tool_tip/tool_tip_manager.js +27 -2
  41. package/eui.d.ts +679 -530
  42. package/i18ntokens.json +810 -738
  43. package/lib/components/avatar/avatar.js +4 -0
  44. package/lib/components/avatar/avatar.styles.js +16 -16
  45. package/lib/components/banner/banner.js +1 -2
  46. package/lib/components/banner/banner.styles.js +1 -1
  47. package/lib/components/basic_table/basic_table.js +34 -4
  48. package/lib/components/basic_table/basic_table.styles.js +19 -1
  49. package/lib/components/basic_table/in_memory_table.js +17 -0
  50. package/lib/components/basic_table/index.js +8 -1
  51. package/lib/components/basic_table/pagination_bar.js +19 -4
  52. package/lib/components/basic_table/pagination_bar.styles.js +26 -0
  53. package/lib/components/basic_table/panel.styles.js +20 -0
  54. package/lib/components/basic_table/use_panel_props.js +33 -0
  55. package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
  56. package/lib/components/date_picker/date_picker.js +1 -1
  57. package/lib/components/flyout/flyout.component.js +10 -6
  58. package/lib/components/flyout/flyout_menu.js +120 -19
  59. package/lib/components/flyout/flyout_menu.styles.js +2 -1
  60. package/lib/components/flyout/manager/actions.js +21 -1
  61. package/lib/components/flyout/manager/flyout_child.js +23 -1
  62. package/lib/components/flyout/manager/flyout_managed.js +41 -17
  63. package/lib/components/flyout/manager/hooks.js +6 -0
  64. package/lib/components/flyout/manager/index.js +12 -0
  65. package/lib/components/flyout/manager/reducer.js +31 -7
  66. package/lib/components/flyout/manager/selectors.js +9 -3
  67. package/lib/components/flyout/manager/store.js +34 -1
  68. package/lib/components/flyout/use_flyout_menu.js +2 -2
  69. package/lib/components/form/field_password/field_password.styles.js +1 -1
  70. package/lib/components/form/field_search/field_search.styles.js +1 -1
  71. package/lib/components/form/form.styles.js +1 -1
  72. package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
  73. package/lib/components/form/select/select.styles.js +1 -1
  74. package/lib/components/form/text_area/text_area.styles.js +1 -1
  75. package/lib/components/form/validatable_control/validatable_control.js +7 -52
  76. package/lib/components/table/mobile/table_sort_mobile.js +71 -108
  77. package/lib/components/table/store/use_unique_column_id.js +34 -0
  78. package/lib/components/table/table_header_cell.js +7 -8
  79. package/lib/components/table/table_header_cell_checkbox.js +5 -6
  80. package/lib/components/tool_tip/tool_tip.js +59 -29
  81. package/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  82. package/lib/components/tool_tip/tool_tip_manager.js +27 -2
  83. package/optimize/es/components/avatar/avatar.js +4 -0
  84. package/optimize/es/components/avatar/avatar.styles.js +16 -16
  85. package/optimize/es/components/banner/banner.js +1 -2
  86. package/optimize/es/components/banner/banner.styles.js +1 -1
  87. package/optimize/es/components/basic_table/basic_table.js +18 -5
  88. package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
  89. package/optimize/es/components/basic_table/index.js +2 -1
  90. package/optimize/es/components/basic_table/pagination_bar.js +19 -4
  91. package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
  92. package/optimize/es/components/basic_table/panel.styles.js +14 -0
  93. package/optimize/es/components/basic_table/use_panel_props.js +28 -0
  94. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
  95. package/optimize/es/components/date_picker/date_picker.js +1 -1
  96. package/optimize/es/components/flyout/flyout.component.js +10 -6
  97. package/optimize/es/components/flyout/flyout_menu.js +99 -18
  98. package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
  99. package/optimize/es/components/flyout/manager/actions.js +20 -0
  100. package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
  101. package/optimize/es/components/flyout/manager/hooks.js +1 -1
  102. package/optimize/es/components/flyout/manager/index.js +2 -2
  103. package/optimize/es/components/flyout/manager/reducer.js +32 -8
  104. package/optimize/es/components/flyout/manager/selectors.js +8 -2
  105. package/optimize/es/components/flyout/manager/store.js +35 -2
  106. package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
  107. package/optimize/es/components/form/field_password/field_password.styles.js +1 -1
  108. package/optimize/es/components/form/field_search/field_search.styles.js +1 -1
  109. package/optimize/es/components/form/form.styles.js +1 -1
  110. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
  111. package/optimize/es/components/form/select/select.styles.js +1 -1
  112. package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
  113. package/optimize/es/components/form/validatable_control/validatable_control.js +7 -48
  114. package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
  115. package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
  116. package/optimize/es/components/table/table_header_cell.js +7 -8
  117. package/optimize/es/components/table/table_header_cell_checkbox.js +5 -6
  118. package/optimize/es/components/tool_tip/tool_tip.js +58 -30
  119. package/optimize/es/components/tool_tip/tool_tip_anchor.js +5 -5
  120. package/optimize/es/components/tool_tip/tool_tip_manager.js +27 -2
  121. package/optimize/lib/components/avatar/avatar.js +4 -0
  122. package/optimize/lib/components/avatar/avatar.styles.js +16 -16
  123. package/optimize/lib/components/banner/banner.js +1 -2
  124. package/optimize/lib/components/banner/banner.styles.js +1 -1
  125. package/optimize/lib/components/basic_table/basic_table.js +17 -4
  126. package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
  127. package/optimize/lib/components/basic_table/index.js +8 -1
  128. package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
  129. package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
  130. package/optimize/lib/components/basic_table/panel.styles.js +20 -0
  131. package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
  132. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
  133. package/optimize/lib/components/date_picker/date_picker.js +1 -1
  134. package/optimize/lib/components/flyout/flyout.component.js +10 -6
  135. package/optimize/lib/components/flyout/flyout_menu.js +98 -18
  136. package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
  137. package/optimize/lib/components/flyout/manager/actions.js +21 -1
  138. package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
  139. package/optimize/lib/components/flyout/manager/hooks.js +6 -0
  140. package/optimize/lib/components/flyout/manager/index.js +12 -0
  141. package/optimize/lib/components/flyout/manager/reducer.js +31 -7
  142. package/optimize/lib/components/flyout/manager/selectors.js +9 -3
  143. package/optimize/lib/components/flyout/manager/store.js +34 -1
  144. package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
  145. package/optimize/lib/components/form/field_password/field_password.styles.js +1 -1
  146. package/optimize/lib/components/form/field_search/field_search.styles.js +1 -1
  147. package/optimize/lib/components/form/form.styles.js +1 -1
  148. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
  149. package/optimize/lib/components/form/select/select.styles.js +1 -1
  150. package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
  151. package/optimize/lib/components/form/validatable_control/validatable_control.js +6 -49
  152. package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
  153. package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
  154. package/optimize/lib/components/table/table_header_cell.js +7 -8
  155. package/optimize/lib/components/table/table_header_cell_checkbox.js +5 -6
  156. package/optimize/lib/components/tool_tip/tool_tip.js +57 -29
  157. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  158. package/optimize/lib/components/tool_tip/tool_tip_manager.js +27 -2
  159. package/package.json +8 -5
  160. package/test-env/components/avatar/avatar.js +4 -0
  161. package/test-env/components/avatar/avatar.styles.js +16 -16
  162. package/test-env/components/banner/banner.js +1 -2
  163. package/test-env/components/banner/banner.styles.js +1 -1
  164. package/test-env/components/basic_table/basic_table.js +34 -4
  165. package/test-env/components/basic_table/basic_table.styles.js +19 -1
  166. package/test-env/components/basic_table/in_memory_table.js +17 -0
  167. package/test-env/components/basic_table/index.js +8 -1
  168. package/test-env/components/basic_table/pagination_bar.js +19 -4
  169. package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
  170. package/test-env/components/basic_table/panel.styles.js +20 -0
  171. package/test-env/components/basic_table/use_panel_props.js +33 -0
  172. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
  173. package/test-env/components/date_picker/date_picker.js +1 -1
  174. package/test-env/components/flyout/flyout.component.js +10 -6
  175. package/test-env/components/flyout/flyout_menu.js +121 -19
  176. package/test-env/components/flyout/flyout_menu.styles.js +2 -1
  177. package/test-env/components/flyout/manager/actions.js +21 -1
  178. package/test-env/components/flyout/manager/flyout_child.js +23 -1
  179. package/test-env/components/flyout/manager/flyout_managed.js +41 -17
  180. package/test-env/components/flyout/manager/hooks.js +6 -0
  181. package/test-env/components/flyout/manager/index.js +12 -0
  182. package/test-env/components/flyout/manager/reducer.js +31 -7
  183. package/test-env/components/flyout/manager/selectors.js +9 -3
  184. package/test-env/components/flyout/manager/store.js +34 -1
  185. package/test-env/components/flyout/use_flyout_menu.js +2 -2
  186. package/test-env/components/form/field_password/field_password.styles.js +1 -1
  187. package/test-env/components/form/field_search/field_search.styles.js +1 -1
  188. package/test-env/components/form/form.styles.js +1 -1
  189. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
  190. package/test-env/components/form/select/select.styles.js +1 -1
  191. package/test-env/components/form/text_area/text_area.styles.js +1 -1
  192. package/test-env/components/form/validatable_control/validatable_control.js +6 -48
  193. package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
  194. package/test-env/components/table/store/use_unique_column_id.js +34 -0
  195. package/test-env/components/table/table_header_cell.js +7 -8
  196. package/test-env/components/table/table_header_cell_checkbox.js +5 -6
  197. package/test-env/components/tool_tip/tool_tip.js +57 -29
  198. package/test-env/components/tool_tip/tool_tip_anchor.js +5 -5
  199. package/test-env/components/tool_tip/tool_tip_manager.js +27 -2
@@ -1,14 +1,7 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _inherits from "@babel/runtime/helpers/inherits";
7
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
11
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
5
  /*
13
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -17,13 +10,13 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
17
10
  * Side Public License, v 1.
18
11
  */
19
12
 
20
- import React, { Component } from 'react';
21
- import { htmlIdGenerator } from '../../../services';
13
+ import React, { useState } from 'react';
14
+ import { useGeneratedHtmlId } from '../../../services';
22
15
  import { EuiI18n } from '../../i18n';
23
16
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
24
17
  import { EuiSelect, EuiFieldNumber, EuiFormLabel, EuiSwitch } from '../../form';
25
18
  import { EuiScreenReaderOnly } from '../../accessibility';
26
- import { RenderI18nTimeOptions } from '../super_date_picker/time_options';
19
+ import { useI18nTimeOptions } from '../super_date_picker/time_options';
27
20
  import { EuiQuickSelectPanel } from '../super_date_picker/quick_select_popover/quick_select_panel';
28
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
22
  var MILLISECONDS_IN_SECOND = 1000;
@@ -67,198 +60,181 @@ var getMinInterval = function getMinInterval(minInterval, unit) {
67
60
  value = _fromMilliseconds.value;
68
61
  return Math.floor(value || 0);
69
62
  };
70
- export var EuiRefreshInterval = /*#__PURE__*/function (_Component) {
71
- function EuiRefreshInterval() {
72
- var _this;
73
- _classCallCheck(this, EuiRefreshInterval);
74
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
75
- args[_key] = arguments[_key];
63
+ export var EuiRefreshInterval = function EuiRefreshInterval(_ref) {
64
+ var _ref$isPaused = _ref.isPaused,
65
+ isPaused = _ref$isPaused === void 0 ? true : _ref$isPaused,
66
+ _ref$refreshInterval = _ref.refreshInterval,
67
+ refreshInterval = _ref$refreshInterval === void 0 ? 1000 : _ref$refreshInterval,
68
+ _ref$minInterval = _ref.minInterval,
69
+ minInterval = _ref$minInterval === void 0 ? 0 : _ref$minInterval,
70
+ intervalUnits = _ref.intervalUnits,
71
+ onRefreshChange = _ref.onRefreshChange;
72
+ var _useState = useState(function () {
73
+ return _objectSpread(_objectSpread({}, fromMilliseconds(refreshInterval || 0, intervalUnits)), {}, {
74
+ min: getMinInterval(minInterval, intervalUnits)
75
+ });
76
+ }),
77
+ _useState2 = _slicedToArray(_useState, 2),
78
+ state = _useState2[0],
79
+ setState = _useState2[1];
80
+ var refreshSelectionId = useGeneratedHtmlId({
81
+ prefix: 'euiRefreshInterval'
82
+ });
83
+ var _useI18nTimeOptions = useI18nTimeOptions(),
84
+ refreshUnitsOptions = _useI18nTimeOptions.refreshUnitsOptions;
85
+ var applyRefreshInterval = function applyRefreshInterval(nextState) {
86
+ var units = nextState.units,
87
+ value = nextState.value;
88
+ if (value === '') {
89
+ return;
76
90
  }
77
- _this = _callSuper(this, EuiRefreshInterval, [].concat(args));
78
- _defineProperty(_this, "state", _objectSpread(_objectSpread({}, fromMilliseconds(_this.props.refreshInterval || 0, _this.props.intervalUnits)), {}, {
79
- min: getMinInterval(_this.props.minInterval, _this.props.intervalUnits)
80
- }));
81
- _defineProperty(_this, "generateId", htmlIdGenerator());
82
- _defineProperty(_this, "refreshSelectionId", _this.generateId());
83
- _defineProperty(_this, "onValueChange", function (event) {
84
- var sanitizedValue = parseFloat(event.target.value);
85
- _this.setState({
86
- value: isNaN(sanitizedValue) ? '' : sanitizedValue
87
- }, _this.applyRefreshInterval);
88
- });
89
- _defineProperty(_this, "onUnitsChange", function (event) {
90
- var units = event.target.value;
91
- _this.setState({
92
- units: units,
93
- min: getMinInterval(_this.props.minInterval, units)
94
- }, _this.applyRefreshInterval);
95
- });
96
- _defineProperty(_this, "startRefresh", function () {
97
- var onRefreshChange = _this.props.onRefreshChange;
98
- var _this$state = _this.state,
99
- value = _this$state.value,
100
- units = _this$state.units;
101
- if (value !== '' && value > 0 && onRefreshChange !== undefined) {
102
- onRefreshChange({
103
- refreshInterval: toMilliseconds(units, value),
104
- intervalUnits: units,
105
- isPaused: false
106
- });
107
- }
91
+ if (!onRefreshChange) {
92
+ return;
93
+ }
94
+ var refreshIntervalMs = Math.max(toMilliseconds(units, value), minInterval || 0);
95
+ onRefreshChange({
96
+ refreshInterval: refreshIntervalMs,
97
+ intervalUnits: units,
98
+ isPaused: refreshIntervalMs <= 0 ? true : !!isPaused
108
99
  });
109
- _defineProperty(_this, "handleKeyDown", function (_ref) {
110
- var key = _ref.key;
111
- if (key === 'Enter') {
112
- _this.startRefresh();
113
- }
100
+ };
101
+ var onValueChange = function onValueChange(event) {
102
+ var sanitizedValue = parseFloat(event.target.value);
103
+ var newValue = isNaN(sanitizedValue) ? '' : sanitizedValue;
104
+ var nextState = _objectSpread(_objectSpread({}, state), {}, {
105
+ value: newValue
114
106
  });
115
- _defineProperty(_this, "applyRefreshInterval", function () {
116
- var _this$props = _this.props,
117
- onRefreshChange = _this$props.onRefreshChange,
118
- isPaused = _this$props.isPaused,
119
- minInterval = _this$props.minInterval;
120
- var _this$state2 = _this.state,
121
- units = _this$state2.units,
122
- value = _this$state2.value;
123
- if (value === '') {
124
- return;
125
- }
126
- if (!onRefreshChange) {
127
- return;
128
- }
129
- var refreshInterval = Math.max(toMilliseconds(units, value), minInterval || 0);
130
- onRefreshChange({
131
- refreshInterval: refreshInterval,
132
- intervalUnits: units,
133
- isPaused: refreshInterval <= 0 ? true : !!isPaused
134
- });
107
+ setState(nextState);
108
+ applyRefreshInterval(nextState);
109
+ };
110
+ var onUnitsChange = function onUnitsChange(event) {
111
+ var units = event.target.value;
112
+ var nextState = _objectSpread(_objectSpread({}, state), {}, {
113
+ units: units,
114
+ min: getMinInterval(minInterval, units)
135
115
  });
136
- _defineProperty(_this, "toggleRefresh", function () {
137
- var _this$props2 = _this.props,
138
- onRefreshChange = _this$props2.onRefreshChange,
139
- isPaused = _this$props2.isPaused;
140
- var _this$state3 = _this.state,
141
- units = _this$state3.units,
142
- value = _this$state3.value;
143
- if (!onRefreshChange || value === '') {
144
- return;
145
- }
116
+ setState(nextState);
117
+ applyRefreshInterval(nextState);
118
+ };
119
+ var startRefresh = function startRefresh() {
120
+ var value = state.value,
121
+ units = state.units;
122
+ if (value !== '' && value > 0 && onRefreshChange !== undefined) {
146
123
  onRefreshChange({
147
124
  refreshInterval: toMilliseconds(units, value),
148
125
  intervalUnits: units,
149
- isPaused: !isPaused
126
+ isPaused: false
150
127
  });
128
+ }
129
+ };
130
+ var handleKeyDown = function handleKeyDown(_ref2) {
131
+ var key = _ref2.key;
132
+ if (key === 'Enter') {
133
+ startRefresh();
134
+ }
135
+ };
136
+ var toggleRefresh = function toggleRefresh() {
137
+ if (!onRefreshChange || state.value === '') {
138
+ return;
139
+ }
140
+ var units = state.units,
141
+ value = state.value;
142
+ onRefreshChange({
143
+ refreshInterval: toMilliseconds(units, value),
144
+ intervalUnits: units,
145
+ isPaused: !isPaused
151
146
  });
152
- _defineProperty(_this, "renderScreenReaderText", function (refreshUnitsOptions) {
153
- var isPaused = _this.props.isPaused;
154
- var _this$state4 = _this.state,
155
- value = _this$state4.value,
156
- units = _this$state4.units;
157
- var options = refreshUnitsOptions.find(function (_ref2) {
158
- var value = _ref2.value;
159
- return value === units;
160
- });
161
- var optionText = options ? options.text : '';
162
- var fullDescription = isPaused ? ___EmotionJSX(EuiI18n, {
163
- token: "euiRefreshInterval.fullDescriptionOff",
164
- default: "Refresh is off, interval set to {optionValue} {optionText}.",
165
- values: {
166
- optionValue: value,
167
- optionText: optionText
168
- }
169
- }) : ___EmotionJSX(EuiI18n, {
170
- token: "euiRefreshInterval.fullDescriptionOn",
171
- default: "Refresh is on, interval set to {optionValue} {optionText}.",
172
- values: {
173
- optionValue: value,
174
- optionText: optionText
175
- }
176
- });
177
- return ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
178
- id: _this.refreshSelectionId
179
- }, fullDescription));
147
+ };
148
+ var renderScreenReaderText = function renderScreenReaderText() {
149
+ var value = state.value,
150
+ units = state.units;
151
+ var options = refreshUnitsOptions.find(function (_ref3) {
152
+ var value = _ref3.value;
153
+ return value === units;
180
154
  });
181
- return _this;
182
- }
183
- _inherits(EuiRefreshInterval, _Component);
184
- return _createClass(EuiRefreshInterval, [{
185
- key: "render",
186
- value: function render() {
187
- var _this2 = this;
188
- var isPaused = this.props.isPaused;
189
- var _this$state5 = this.state,
190
- value = _this$state5.value,
191
- units = _this$state5.units,
192
- min = _this$state5.min;
193
- return ___EmotionJSX(EuiI18n, {
194
- tokens: ['euiRefreshInterval.toggleLabel', 'euiRefreshInterval.toggleAriaLabel', 'euiRefreshInterval.valueAriaLabel', 'euiRefreshInterval.unitsAriaLabel'],
195
- defaults: ['Refresh every', 'Toggle refresh', 'Refresh interval value', 'Refresh interval units']
196
- }, function (_ref3) {
197
- var _ref4 = _slicedToArray(_ref3, 4),
198
- toggleLabel = _ref4[0],
199
- toggleAriaLabel = _ref4[1],
200
- valueAriaLabel = _ref4[2],
201
- unitsAriaLabel = _ref4[3];
202
- return ___EmotionJSX(RenderI18nTimeOptions, null, function (_ref5) {
203
- var refreshUnitsOptions = _ref5.refreshUnitsOptions;
204
- return ___EmotionJSX(EuiQuickSelectPanel, null, ___EmotionJSX(EuiFlexGroup, {
205
- alignItems: "center",
206
- gutterSize: "s",
207
- responsive: false,
208
- wrap: true
209
- }, ___EmotionJSX(EuiFlexItem, {
210
- grow: false
211
- }, ___EmotionJSX(EuiSwitch, {
212
- "data-test-subj": "superDatePickerToggleRefreshButton",
213
- checked: !isPaused,
214
- onChange: _this2.toggleRefresh,
215
- compressed: true
216
- // The IDs attached to this visible label are unused - we override with our own aria-label
217
- ,
218
- label: ___EmotionJSX(EuiFormLabel, null, toggleLabel),
219
- "aria-label": toggleAriaLabel,
220
- "aria-labelledby": undefined,
221
- "aria-describedby": _this2.refreshSelectionId
222
- })), ___EmotionJSX(EuiFlexItem, {
223
- style: {
224
- minWidth: 60
225
- }
226
- }, ___EmotionJSX(EuiFieldNumber, {
227
- compressed: true,
228
- fullWidth: true,
229
- value: value,
230
- min: min,
231
- onChange: _this2.onValueChange,
232
- onKeyDown: _this2.handleKeyDown,
233
- isInvalid: !isPaused && (value === '' || value <= 0),
234
- disabled: isPaused,
235
- "aria-label": valueAriaLabel,
236
- "aria-describedby": _this2.refreshSelectionId,
237
- "data-test-subj": "superDatePickerRefreshIntervalInput"
238
- })), ___EmotionJSX(EuiFlexItem, {
239
- style: {
240
- minWidth: 100
241
- },
242
- grow: 2
243
- }, ___EmotionJSX(EuiSelect, {
244
- compressed: true,
245
- fullWidth: true,
246
- "aria-label": unitsAriaLabel,
247
- "aria-describedby": _this2.refreshSelectionId,
248
- value: units,
249
- disabled: isPaused,
250
- options: refreshUnitsOptions,
251
- onChange: _this2.onUnitsChange,
252
- onKeyDown: _this2.handleKeyDown,
253
- "data-test-subj": "superDatePickerRefreshIntervalUnitsSelect"
254
- }))), _this2.renderScreenReaderText(refreshUnitsOptions));
255
- });
256
- });
257
- }
258
- }]);
259
- }(Component);
260
- _defineProperty(EuiRefreshInterval, "defaultProps", {
261
- isPaused: true,
262
- refreshInterval: 1000,
263
- minInterval: 0
264
- });
155
+ var optionText = options ? options.text : '';
156
+ var fullDescription = isPaused ? ___EmotionJSX(EuiI18n, {
157
+ token: "euiRefreshInterval.fullDescriptionOff",
158
+ default: "Refresh is off, interval set to {optionValue} {optionText}.",
159
+ values: {
160
+ optionValue: value,
161
+ optionText: optionText
162
+ }
163
+ }) : ___EmotionJSX(EuiI18n, {
164
+ token: "euiRefreshInterval.fullDescriptionOn",
165
+ default: "Refresh is on, interval set to {optionValue} {optionText}.",
166
+ values: {
167
+ optionValue: value,
168
+ optionText: optionText
169
+ }
170
+ });
171
+ return ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
172
+ id: refreshSelectionId
173
+ }, fullDescription));
174
+ };
175
+ var value = state.value,
176
+ units = state.units,
177
+ min = state.min;
178
+ return ___EmotionJSX(EuiI18n, {
179
+ tokens: ['euiRefreshInterval.toggleLabel', 'euiRefreshInterval.toggleAriaLabel', 'euiRefreshInterval.valueAriaLabel', 'euiRefreshInterval.unitsAriaLabel'],
180
+ defaults: ['Refresh every', 'Toggle refresh', 'Refresh interval value', 'Refresh interval units']
181
+ }, function (_ref4) {
182
+ var _ref5 = _slicedToArray(_ref4, 4),
183
+ toggleLabel = _ref5[0],
184
+ toggleAriaLabel = _ref5[1],
185
+ valueAriaLabel = _ref5[2],
186
+ unitsAriaLabel = _ref5[3];
187
+ return ___EmotionJSX(EuiQuickSelectPanel, null, ___EmotionJSX(EuiFlexGroup, {
188
+ alignItems: "center",
189
+ gutterSize: "s",
190
+ responsive: false,
191
+ wrap: true
192
+ }, ___EmotionJSX(EuiFlexItem, {
193
+ grow: false
194
+ }, ___EmotionJSX(EuiSwitch, {
195
+ "data-test-subj": "superDatePickerToggleRefreshButton",
196
+ checked: !isPaused,
197
+ onChange: toggleRefresh,
198
+ compressed: true
199
+ // The IDs attached to this visible label are unused - we override with our own aria-label
200
+ ,
201
+ label: ___EmotionJSX(EuiFormLabel, null, toggleLabel),
202
+ "aria-label": toggleAriaLabel,
203
+ "aria-labelledby": undefined,
204
+ "aria-describedby": refreshSelectionId
205
+ })), ___EmotionJSX(EuiFlexItem, {
206
+ style: {
207
+ minWidth: 60
208
+ }
209
+ }, ___EmotionJSX(EuiFieldNumber, {
210
+ compressed: true,
211
+ fullWidth: true,
212
+ value: value,
213
+ min: min,
214
+ onChange: onValueChange,
215
+ onKeyDown: handleKeyDown,
216
+ isInvalid: !isPaused && (value === '' || value <= 0),
217
+ disabled: isPaused,
218
+ "aria-label": valueAriaLabel,
219
+ "aria-describedby": refreshSelectionId,
220
+ "data-test-subj": "superDatePickerRefreshIntervalInput"
221
+ })), ___EmotionJSX(EuiFlexItem, {
222
+ style: {
223
+ minWidth: 100
224
+ },
225
+ grow: 2
226
+ }, ___EmotionJSX(EuiSelect, {
227
+ compressed: true,
228
+ fullWidth: true,
229
+ "aria-label": unitsAriaLabel,
230
+ "aria-describedby": refreshSelectionId,
231
+ value: units,
232
+ disabled: isPaused,
233
+ options: refreshUnitsOptions,
234
+ onChange: onUnitsChange,
235
+ onKeyDown: handleKeyDown,
236
+ "data-test-subj": "superDatePickerRefreshIntervalUnitsSelect"
237
+ }))), renderScreenReaderText());
238
+ });
239
+ };
240
+ EuiRefreshInterval.displayName = 'EuiRefreshInterval';
@@ -124,7 +124,7 @@ export var EuiDatePicker = function EuiDatePicker(_ref) {
124
124
  fullDateFormat = "".concat(dateFormat, " ").concat(timeFormat);
125
125
  }
126
126
 
127
- // Set an internal ref on ReactDatePicker's `input` so we can set its :invalid state via useEuiValidatableControl
127
+ // Set an internal ref on ReactDatePicker's `input` so we can set its `aria-invalid` state via useEuiValidatableControl
128
128
  var _useState = useState(null),
129
129
  _useState2 = _slicedToArray(_useState, 2),
130
130
  inputValidityRef = _useState2[0],
@@ -395,8 +395,10 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
395
395
  // Main flyout with child flyout - don't close on ESC
396
396
  return false;
397
397
  }, [isInManagedContext, hasChildFlyout, isChildFlyout]);
398
- var handleClose = useCallback(function (event) {
399
- onClose(event);
398
+ var handleClose = useCallback(function (event, reason) {
399
+ onClose(event, reason ? {
400
+ reason: reason
401
+ } : undefined);
400
402
  }, [onClose]);
401
403
 
402
404
  /**
@@ -405,7 +407,7 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
405
407
  var onKeyDown = useCallback(function (event) {
406
408
  if (!isPushed && event.key === keys.ESCAPE && shouldCloseOnEscape) {
407
409
  event.preventDefault();
408
- handleClose(event);
410
+ handleClose(event, 'escape');
409
411
  }
410
412
  }, [handleClose, isPushed, shouldCloseOnEscape]);
411
413
  var managedFlyoutIndex = currentZIndexRef.current;
@@ -639,10 +641,10 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
639
641
  if (outsideClickCloses === false) return undefined;
640
642
  if (hasOverlayMask) {
641
643
  // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
642
- if (event.target === maskRef.current) return handleClose(event);
644
+ if (event.target === maskRef.current) return handleClose(event, 'outside-click');
643
645
  } else {
644
646
  // No overlay mask is present, so any outside clicks should close the flyout
645
- if (outsideClickCloses === true) return handleClose(event);
647
+ if (outsideClickCloses === true) return handleClose(event, 'outside-click');
646
648
  }
647
649
  // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
648
650
  return undefined;
@@ -694,7 +696,9 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
694
696
  }), !isPushed && screenReaderDescription, shouldRenderMenu ? ___EmotionJSX(EuiFlyoutMenu, _extends({}, flyoutMenuProps, {
695
697
  titleId: flyoutMenuId
696
698
  })) : !hideCloseButton && ___EmotionJSX(EuiFlyoutCloseButton, _extends({}, closeButtonProps, {
697
- onClose: handleClose,
699
+ onClose: function onClose(event) {
700
+ return handleClose(event, 'close-button');
701
+ },
698
702
  closeButtonPosition: closeButtonPosition,
699
703
  side: side
700
704
  })), resizable && ___EmotionJSX(EuiFlyoutResizeButton, {
@@ -1,7 +1,7 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _extends from "@babel/runtime/helpers/extends";
4
- var _excluded = ["className", "title", "titleId", "hideTitle", "hideCloseButton", "historyItems", "showBackButton", "backButtonProps", "customActions", "iconType"];
4
+ var _excluded = ["className", "title", "titleId", "hideTitle", "hideCloseButton", "historyItems", "showBackButton", "backButtonProps", "customActions", "iconType", "pagination"];
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
@@ -17,7 +17,10 @@ import { EuiButtonEmpty, EuiButtonIcon } from '../button';
17
17
  import { EuiFlexGroup, EuiFlexItem } from '../flex';
18
18
  import { EuiListGroup, EuiListGroupItem } from '../list_group';
19
19
  import { EuiPopover } from '../popover';
20
+ import { EuiScreenReaderLive } from '../accessibility';
21
+ import { EuiText } from '../text';
20
22
  import { EuiTitle } from '../title';
23
+ import { EuiToolTip } from '../tool_tip';
21
24
  import { EuiFlyoutCloseButton } from './_flyout_close_button';
22
25
  import { euiFlyoutMenuStyles } from './flyout_menu.styles';
23
26
  import { EuiFlyoutMenuContext } from './flyout_menu_context';
@@ -27,6 +30,10 @@ import { EuiI18n, useEuiI18n } from '../i18n';
27
30
  * History item for the flyout menu history popover
28
31
  */
29
32
 
33
+ /**
34
+ * Pagination configuration for the flyout menu
35
+ */
36
+
30
37
  /**
31
38
  * Custom action item for the flyout menu component
32
39
  */
@@ -82,6 +89,73 @@ var HistoryPopover = function HistoryPopover(_ref) {
82
89
  }, item.title);
83
90
  })));
84
91
  };
92
+ var PaginationControls = function PaginationControls(_ref2) {
93
+ var pagination = _ref2.pagination,
94
+ styles = _ref2.styles;
95
+ var currentIndex = pagination.currentIndex,
96
+ total = pagination.total,
97
+ onPrevious = pagination.onPrevious,
98
+ onNext = pagination.onNext;
99
+ var prevLabel = useEuiI18n('euiFlyoutMenu.pagination.previous', 'Previous');
100
+ var nextLabel = useEuiI18n('euiFlyoutMenu.pagination.next', 'Next');
101
+ var isPrevDisabled = currentIndex === 0;
102
+ var isNextDisabled = currentIndex === total - 1;
103
+ var prevButton = ___EmotionJSX(EuiButtonIcon, {
104
+ iconType: "chevronSingleUp",
105
+ color: "text",
106
+ size: "xs",
107
+ "aria-label": prevLabel,
108
+ onClick: onPrevious,
109
+ isDisabled: isPrevDisabled,
110
+ "data-test-subj": "euiFlyoutMenuPaginationPrev"
111
+ });
112
+ var nextButton = ___EmotionJSX(EuiButtonIcon, {
113
+ iconType: "chevronSingleDown",
114
+ color: "text",
115
+ size: "xs",
116
+ "aria-label": nextLabel,
117
+ onClick: onNext,
118
+ isDisabled: isNextDisabled,
119
+ "data-test-subj": "euiFlyoutMenuPaginationNext"
120
+ });
121
+ return ___EmotionJSX(EuiFlexItem, {
122
+ grow: false
123
+ }, ___EmotionJSX(EuiFlexGroup, {
124
+ gutterSize: "xs",
125
+ alignItems: "center",
126
+ responsive: false
127
+ }, ___EmotionJSX(EuiFlexItem, {
128
+ grow: false
129
+ }, isPrevDisabled ? prevButton : ___EmotionJSX(EuiToolTip, {
130
+ content: prevLabel,
131
+ disableScreenReaderOutput: true
132
+ }, prevButton)), ___EmotionJSX(EuiFlexItem, {
133
+ grow: false
134
+ }, ___EmotionJSX(EuiText, {
135
+ size: "s",
136
+ css: styles.euiFlyoutMenu__paginationCounter,
137
+ "aria-hidden": "true"
138
+ }, ___EmotionJSX(EuiI18n, {
139
+ token: "euiFlyoutMenu.pagination.counter",
140
+ default: "{position} of {total}",
141
+ values: {
142
+ position: currentIndex + 1,
143
+ total: total
144
+ }
145
+ })), ___EmotionJSX(EuiScreenReaderLive, null, ___EmotionJSX(EuiI18n, {
146
+ token: "euiFlyoutMenu.pagination.counter",
147
+ default: "{position} of {total}",
148
+ values: {
149
+ position: currentIndex + 1,
150
+ total: total
151
+ }
152
+ }))), ___EmotionJSX(EuiFlexItem, {
153
+ grow: false
154
+ }, isNextDisabled ? nextButton : ___EmotionJSX(EuiToolTip, {
155
+ content: nextLabel,
156
+ disableScreenReaderOutput: true
157
+ }, nextButton))));
158
+ };
85
159
 
86
160
  /**
87
161
  * The component for the top menu bar inside a flyout. Since this is a private
@@ -92,24 +166,26 @@ var HistoryPopover = function HistoryPopover(_ref) {
92
166
  *
93
167
  * @private
94
168
  */
95
- export var EuiFlyoutMenu = function EuiFlyoutMenu(_ref2) {
96
- var className = _ref2.className,
97
- title = _ref2.title,
98
- titleId = _ref2.titleId,
99
- _ref2$hideTitle = _ref2.hideTitle,
100
- hideTitle = _ref2$hideTitle === void 0 ? true : _ref2$hideTitle,
101
- hideCloseButton = _ref2.hideCloseButton,
102
- _ref2$historyItems = _ref2.historyItems,
103
- historyItems = _ref2$historyItems === void 0 ? [] : _ref2$historyItems,
104
- showBackButton = _ref2.showBackButton,
105
- backButtonProps = _ref2.backButtonProps,
106
- customActions = _ref2.customActions,
107
- _iconType = _ref2.iconType,
108
- rest = _objectWithoutProperties(_ref2, _excluded);
169
+ export var EuiFlyoutMenu = function EuiFlyoutMenu(_ref3) {
170
+ var className = _ref3.className,
171
+ title = _ref3.title,
172
+ titleId = _ref3.titleId,
173
+ _ref3$hideTitle = _ref3.hideTitle,
174
+ hideTitle = _ref3$hideTitle === void 0 ? true : _ref3$hideTitle,
175
+ hideCloseButton = _ref3.hideCloseButton,
176
+ _ref3$historyItems = _ref3.historyItems,
177
+ historyItems = _ref3$historyItems === void 0 ? [] : _ref3$historyItems,
178
+ showBackButton = _ref3.showBackButton,
179
+ backButtonProps = _ref3.backButtonProps,
180
+ customActions = _ref3.customActions,
181
+ _iconType = _ref3.iconType,
182
+ pagination = _ref3.pagination,
183
+ rest = _objectWithoutProperties(_ref3, _excluded);
109
184
  var _useContext = useContext(EuiFlyoutMenuContext),
110
185
  onClose = _useContext.onClose;
111
186
  var styles = useEuiMemoizedStyles(euiFlyoutMenuStyles);
112
187
  var classes = classNames('euiFlyoutMenu', className);
188
+ var showPaginationControls = pagination != null && pagination.total > 1;
113
189
  var titleNode;
114
190
  if (title) {
115
191
  titleNode = ___EmotionJSX(EuiTitle, {
@@ -120,7 +196,9 @@ export var EuiFlyoutMenu = function EuiFlyoutMenu(_ref2) {
120
196
  }, title));
121
197
  }
122
198
  var handleClose = function handleClose(event) {
123
- onClose === null || onClose === void 0 || onClose(event);
199
+ onClose === null || onClose === void 0 || onClose(event, {
200
+ reason: 'close-button'
201
+ });
124
202
  };
125
203
  var closeButton = ___EmotionJSX(EuiFlyoutCloseButton, {
126
204
  onClose: handleClose,
@@ -136,13 +214,16 @@ export var EuiFlyoutMenu = function EuiFlyoutMenu(_ref2) {
136
214
  justifyContent: "spaceBetween",
137
215
  gutterSize: "none",
138
216
  responsive: false
139
- }, showBackButton && ___EmotionJSX(EuiFlexItem, {
217
+ }, showPaginationControls ? ___EmotionJSX(PaginationControls, {
218
+ pagination: pagination,
219
+ styles: styles
220
+ }) : ___EmotionJSX(React.Fragment, null, showBackButton && ___EmotionJSX(EuiFlexItem, {
140
221
  grow: false
141
222
  }, ___EmotionJSX(BackButton, backButtonProps)), historyItems.length > 0 && ___EmotionJSX(EuiFlexItem, {
142
223
  grow: false
143
224
  }, ___EmotionJSX(HistoryPopover, {
144
225
  items: historyItems
145
- })), titleNode && ___EmotionJSX(EuiFlexItem, {
226
+ }))), titleNode && ___EmotionJSX(EuiFlexItem, {
146
227
  grow: false
147
228
  }, titleNode), ___EmotionJSX(EuiFlexItem, {
148
229
  grow: true
@@ -14,6 +14,7 @@ export var euiFlyoutMenuStyles = function euiFlyoutMenuStyles(euiThemeContext) {
14
14
  euiFlyoutMenu__container: /*#__PURE__*/css("block-size:calc(", euiTheme.size.m, " * 3.5);flex-shrink:0;padding-block:", euiTheme.size.s, ";padding-inline:", euiTheme.size.s, ";border-block-end:", euiTheme.border.width.thin, " solid ", euiTheme.border.color, ";padding-block-start:calc(", euiTheme.size.m, " * 0.8);.euiTitle{padding-inline:", euiTheme.size.s, ";};label:euiFlyoutMenu__container;"),
15
15
  euiFlyoutMenu__spacer: /*#__PURE__*/css("padding-inline:", euiTheme.size.m, ";;label:euiFlyoutMenu__spacer;"),
16
16
  euiFlyoutMenu__actions: /*#__PURE__*/css("block-size:calc(", euiTheme.size.m, " * 1.8);;label:euiFlyoutMenu__actions;"),
17
- euiFlyoutMenu__hiddenTitle: /*#__PURE__*/css(euiScreenReaderOnly(), ";;label:euiFlyoutMenu__hiddenTitle;")
17
+ euiFlyoutMenu__hiddenTitle: /*#__PURE__*/css(euiScreenReaderOnly(), ";;label:euiFlyoutMenu__hiddenTitle;"),
18
+ euiFlyoutMenu__paginationCounter: /*#__PURE__*/css("color:", euiTheme.colors.textSubdued, ";white-space:nowrap;;label:euiFlyoutMenu__paginationCounter;")
18
19
  };
19
20
  };