@elastic/eui 88.5.4 → 89.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 (206) hide show
  1. package/dist/eui_theme_dark.css +26 -526
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +26 -526
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/basic_table/basic_table.js +7 -2
  6. package/es/components/basic_table/in_memory_table.js +7 -2
  7. package/es/components/collapsible_nav/collapsible_nav.js +5 -0
  8. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  9. package/es/components/color_picker/index.js +0 -4
  10. package/es/components/combo_box/combo_box.js +142 -304
  11. package/es/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  12. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +34 -118
  13. package/es/components/context_menu/context_menu_panel.js +6 -6
  14. package/es/components/flex/flex_grid.styles.js +1 -1
  15. package/es/components/flex/flex_group.styles.js +1 -1
  16. package/es/components/flyout/flyout.js +32 -33
  17. package/es/components/flyout/flyout.styles.js +13 -3
  18. package/es/components/form/range/dual_range.js +4 -0
  19. package/es/components/form/range/range.js +4 -0
  20. package/es/components/index.js +0 -1
  21. package/es/components/popover/input_popover.js +47 -3
  22. package/es/components/popover/popover.js +2 -2
  23. package/es/components/table/table_row_cell.js +27 -9
  24. package/es/components/text_truncate/index.js +1 -0
  25. package/es/components/text_truncate/text_block_truncate.js +78 -0
  26. package/es/global_styling/reset/global_styles.js +16 -2
  27. package/es/services/accessibility/index.js +0 -3
  28. package/es/services/index.js +1 -1
  29. package/es/test/rtl/component_helpers.d.ts +2 -0
  30. package/es/test/rtl/component_helpers.js +29 -1
  31. package/eui.d.ts +375 -667
  32. package/i18ntokens.json +52 -286
  33. package/lib/components/basic_table/basic_table.js +7 -2
  34. package/lib/components/basic_table/in_memory_table.js +7 -2
  35. package/lib/components/collapsible_nav/collapsible_nav.js +5 -0
  36. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  37. package/lib/components/color_picker/index.js +0 -7
  38. package/lib/components/combo_box/combo_box.js +141 -303
  39. package/lib/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  40. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +34 -118
  41. package/lib/components/context_menu/context_menu_panel.js +5 -5
  42. package/lib/components/flex/flex_grid.styles.js +1 -1
  43. package/lib/components/flex/flex_group.styles.js +1 -1
  44. package/lib/components/flyout/flyout.js +31 -32
  45. package/lib/components/flyout/flyout.styles.js +19 -10
  46. package/lib/components/form/range/dual_range.js +4 -0
  47. package/lib/components/index.js +0 -11
  48. package/lib/components/popover/input_popover.js +48 -3
  49. package/lib/components/popover/popover.js +1 -1
  50. package/lib/components/table/table_row_cell.js +26 -8
  51. package/lib/components/text_truncate/index.js +7 -0
  52. package/lib/components/text_truncate/text_block_truncate.js +85 -0
  53. package/lib/global_styling/reset/global_styles.js +16 -2
  54. package/lib/services/accessibility/index.js +0 -21
  55. package/lib/services/index.js +0 -21
  56. package/lib/test/rtl/component_helpers.d.ts +2 -0
  57. package/lib/test/rtl/component_helpers.js +31 -2
  58. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  59. package/optimize/es/components/color_picker/index.js +0 -4
  60. package/optimize/es/components/combo_box/combo_box.js +137 -304
  61. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +0 -12
  62. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +28 -107
  63. package/optimize/es/components/context_menu/context_menu_panel.js +6 -6
  64. package/optimize/es/components/flex/flex_grid.styles.js +1 -1
  65. package/optimize/es/components/flex/flex_group.styles.js +1 -1
  66. package/optimize/es/components/flyout/flyout.js +32 -33
  67. package/optimize/es/components/flyout/flyout.styles.js +13 -3
  68. package/optimize/es/components/index.js +0 -1
  69. package/optimize/es/components/popover/input_popover.js +43 -3
  70. package/optimize/es/components/popover/popover.js +2 -2
  71. package/optimize/es/components/table/table_row_cell.js +13 -5
  72. package/optimize/es/components/text_truncate/index.js +1 -0
  73. package/optimize/es/components/text_truncate/text_block_truncate.js +58 -0
  74. package/optimize/es/global_styling/reset/global_styles.js +13 -2
  75. package/optimize/es/services/accessibility/index.js +0 -3
  76. package/optimize/es/services/index.js +1 -1
  77. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  78. package/optimize/es/test/rtl/component_helpers.js +29 -1
  79. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  80. package/optimize/lib/components/color_picker/index.js +0 -7
  81. package/optimize/lib/components/combo_box/combo_box.js +136 -303
  82. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +0 -12
  83. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +28 -107
  84. package/optimize/lib/components/context_menu/context_menu_panel.js +5 -5
  85. package/optimize/lib/components/flex/flex_grid.styles.js +1 -1
  86. package/optimize/lib/components/flex/flex_group.styles.js +1 -1
  87. package/optimize/lib/components/flyout/flyout.js +31 -32
  88. package/optimize/lib/components/flyout/flyout.styles.js +19 -10
  89. package/optimize/lib/components/index.js +0 -11
  90. package/optimize/lib/components/popover/input_popover.js +44 -3
  91. package/optimize/lib/components/popover/popover.js +1 -1
  92. package/optimize/lib/components/table/table_row_cell.js +12 -4
  93. package/optimize/lib/components/text_truncate/index.js +7 -0
  94. package/optimize/lib/components/text_truncate/text_block_truncate.js +66 -0
  95. package/optimize/lib/global_styling/reset/global_styles.js +19 -10
  96. package/optimize/lib/services/accessibility/index.js +0 -21
  97. package/optimize/lib/services/index.js +0 -21
  98. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  99. package/optimize/lib/test/rtl/component_helpers.js +31 -2
  100. package/package.json +1 -1
  101. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +5 -15
  102. package/src/components/context_menu/_context_menu_panel.scss +4 -0
  103. package/src/components/index.scss +0 -1
  104. package/src/global_styling/mixins/_index.scss +0 -1
  105. package/src/global_styling/variables/_index.scss +0 -1
  106. package/src/test/README.md +0 -15
  107. package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -1
  108. package/test-env/components/basic_table/basic_table.js +7 -2
  109. package/test-env/components/basic_table/in_memory_table.js +7 -2
  110. package/test-env/components/collapsible_nav/collapsible_nav.js +5 -0
  111. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  112. package/test-env/components/color_picker/index.js +0 -7
  113. package/test-env/components/combo_box/combo_box.js +141 -303
  114. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  115. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +33 -117
  116. package/test-env/components/context_menu/context_menu_panel.js +5 -5
  117. package/test-env/components/flex/flex_grid.styles.js +1 -1
  118. package/test-env/components/flex/flex_group.styles.js +1 -1
  119. package/test-env/components/flyout/flyout.styles.js +19 -10
  120. package/test-env/components/form/range/dual_range.js +4 -0
  121. package/test-env/components/index.js +0 -11
  122. package/test-env/components/popover/input_popover.js +48 -3
  123. package/test-env/components/popover/popover.js +1 -1
  124. package/test-env/components/table/table_row_cell.js +26 -8
  125. package/test-env/components/text_truncate/index.js +7 -0
  126. package/test-env/components/text_truncate/text_block_truncate.js +82 -0
  127. package/test-env/global_styling/reset/global_styles.js +19 -10
  128. package/test-env/services/accessibility/index.js +0 -21
  129. package/test-env/services/index.js +0 -21
  130. package/test-env/test/rtl/component_helpers.js +31 -2
  131. package/es/components/color_picker/color_stops/color_stop_thumb.js +0 -371
  132. package/es/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -55
  133. package/es/components/color_picker/color_stops/color_stops.js +0 -499
  134. package/es/components/color_picker/color_stops/color_stops.styles.js +0 -61
  135. package/es/components/color_picker/color_stops/index.js +0 -9
  136. package/es/components/color_picker/color_stops/utils.js +0 -95
  137. package/es/components/suggest/index.js +0 -10
  138. package/es/components/suggest/suggest.a11y.js +0 -70
  139. package/es/components/suggest/suggest.js +0 -347
  140. package/es/components/suggest/suggest_item.js +0 -123
  141. package/es/components/suggest/types.js +0 -9
  142. package/es/services/accessibility/accessible_click_keys.js +0 -17
  143. package/es/services/accessibility/cascading_menu_keys.js +0 -28
  144. package/es/services/accessibility/combo_box_keys.js +0 -25
  145. package/lib/components/color_picker/color_stops/color_stop_thumb.js +0 -380
  146. package/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  147. package/lib/components/color_picker/color_stops/color_stops.js +0 -505
  148. package/lib/components/color_picker/color_stops/color_stops.styles.js +0 -67
  149. package/lib/components/color_picker/color_stops/index.js +0 -12
  150. package/lib/components/color_picker/color_stops/utils.js +0 -108
  151. package/lib/components/suggest/index.js +0 -19
  152. package/lib/components/suggest/suggest.a11y.js +0 -73
  153. package/lib/components/suggest/suggest.js +0 -356
  154. package/lib/components/suggest/suggest_item.js +0 -130
  155. package/lib/components/suggest/types.js +0 -16
  156. package/lib/services/accessibility/accessible_click_keys.js +0 -21
  157. package/lib/services/accessibility/cascading_menu_keys.js +0 -35
  158. package/lib/services/accessibility/combo_box_keys.js +0 -32
  159. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.js +0 -329
  160. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -55
  161. package/optimize/es/components/color_picker/color_stops/color_stops.js +0 -444
  162. package/optimize/es/components/color_picker/color_stops/color_stops.styles.js +0 -61
  163. package/optimize/es/components/color_picker/color_stops/index.js +0 -9
  164. package/optimize/es/components/color_picker/color_stops/utils.js +0 -90
  165. package/optimize/es/components/suggest/index.js +0 -10
  166. package/optimize/es/components/suggest/suggest.a11y.js +0 -70
  167. package/optimize/es/components/suggest/suggest.js +0 -256
  168. package/optimize/es/components/suggest/suggest_item.js +0 -89
  169. package/optimize/es/components/suggest/types.js +0 -9
  170. package/optimize/es/services/accessibility/accessible_click_keys.js +0 -14
  171. package/optimize/es/services/accessibility/cascading_menu_keys.js +0 -28
  172. package/optimize/es/services/accessibility/combo_box_keys.js +0 -25
  173. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.js +0 -339
  174. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  175. package/optimize/lib/components/color_picker/color_stops/color_stops.js +0 -451
  176. package/optimize/lib/components/color_picker/color_stops/color_stops.styles.js +0 -67
  177. package/optimize/lib/components/color_picker/color_stops/index.js +0 -12
  178. package/optimize/lib/components/color_picker/color_stops/utils.js +0 -106
  179. package/optimize/lib/components/suggest/index.js +0 -19
  180. package/optimize/lib/components/suggest/suggest.a11y.js +0 -73
  181. package/optimize/lib/components/suggest/suggest.js +0 -266
  182. package/optimize/lib/components/suggest/suggest_item.js +0 -96
  183. package/optimize/lib/components/suggest/types.js +0 -16
  184. package/optimize/lib/services/accessibility/accessible_click_keys.js +0 -20
  185. package/optimize/lib/services/accessibility/cascading_menu_keys.js +0 -35
  186. package/optimize/lib/services/accessibility/combo_box_keys.js +0 -32
  187. package/src/components/suggest/_index.scss +0 -5
  188. package/src/components/suggest/_suggest_input.scss +0 -4
  189. package/src/components/suggest/_suggest_item.scss +0 -103
  190. package/src/components/suggest/_variables.scss +0 -13
  191. package/src/global_styling/mixins/_header.scss +0 -29
  192. package/src/global_styling/variables/_header.scss +0 -3
  193. package/test-env/components/color_picker/color_stops/color_stop_thumb.js +0 -372
  194. package/test-env/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  195. package/test-env/components/color_picker/color_stops/color_stops.js +0 -494
  196. package/test-env/components/color_picker/color_stops/color_stops.styles.js +0 -67
  197. package/test-env/components/color_picker/color_stops/index.js +0 -12
  198. package/test-env/components/color_picker/color_stops/utils.js +0 -106
  199. package/test-env/components/suggest/index.js +0 -19
  200. package/test-env/components/suggest/suggest.a11y.js +0 -73
  201. package/test-env/components/suggest/suggest.js +0 -348
  202. package/test-env/components/suggest/suggest_item.js +0 -129
  203. package/test-env/components/suggest/types.js +0 -16
  204. package/test-env/services/accessibility/accessible_click_keys.js +0 -20
  205. package/test-env/services/accessibility/cascading_menu_keys.js +0 -35
  206. package/test-env/services/accessibility/combo_box_keys.js +0 -32
@@ -1,106 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.removeStop = exports.isStopInvalid = exports.isInvalid = exports.isColorInvalid = exports.getStopFromMouseLocation = exports.getPositionFromStop = exports.calculateScale = exports.addStop = exports.addDefinedStop = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _utils = require("../utils");
10
- var _services = require("../../../services");
11
- var _utils2 = require("../../form/range/utils");
12
- /*
13
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
- * or more contributor license agreements. Licensed under the Elastic License
15
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
- * in compliance with, at your election, the Elastic License 2.0 or the Server
17
- * Side Public License, v 1.
18
- */
19
-
20
- var removeStop = function removeStop(colorStops, index) {
21
- if (colorStops.length === 1) {
22
- return colorStops;
23
- }
24
- return [].concat((0, _toConsumableArray2.default)(colorStops.slice(0, index)), (0, _toConsumableArray2.default)(colorStops.slice(index + 1)));
25
- };
26
- exports.removeStop = removeStop;
27
- var addDefinedStop = function addDefinedStop(colorStops, stop) {
28
- var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _services.DEFAULT_VISUALIZATION_COLOR;
29
- var newStop = {
30
- stop: stop,
31
- color: color
32
- };
33
- colorStops = [].concat((0, _toConsumableArray2.default)(colorStops), [newStop]);
34
- colorStops.sort(function (a, b) {
35
- if (a.stop < b.stop) {
36
- return -1;
37
- }
38
- if (a.stop > b.stop) {
39
- return 1;
40
- }
41
- return 0;
42
- });
43
- return colorStops;
44
- };
45
- exports.addDefinedStop = addDefinedStop;
46
- var addStop = function addStop(colorStops) {
47
- var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _services.DEFAULT_VISUALIZATION_COLOR;
48
- var max = arguments.length > 2 ? arguments[2] : undefined;
49
- var index = colorStops.length ? colorStops.length - 1 : 0;
50
- var stops = colorStops.map(function (el) {
51
- return el.stop;
52
- });
53
- var currentStop = stops[index] != null ? stops[index] : max;
54
- var delta = 1;
55
- if (index !== 0) {
56
- var prevStop = stops[index - 1];
57
- delta = currentStop - prevStop;
58
- }
59
- var stop = currentStop + delta;
60
- if (stop > max) {
61
- stop = max;
62
- }
63
-
64
- // We've reached the max, so start working backwards
65
- while (stops.indexOf(stop) > -1) {
66
- stop--;
67
- }
68
- var newStop = {
69
- stop: stop,
70
- color: color
71
- };
72
- return [].concat((0, _toConsumableArray2.default)(colorStops.slice(0, index + 1)), [newStop], (0, _toConsumableArray2.default)(colorStops.slice(index + 1)));
73
- };
74
- exports.addStop = addStop;
75
- var isColorInvalid = function isColorInvalid(color) {
76
- var showAlpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
77
- return (0, _utils.getChromaColor)(color, showAlpha) == null || color === '';
78
- };
79
- exports.isColorInvalid = isColorInvalid;
80
- var isStopInvalid = function isStopInvalid(stop) {
81
- return stop == null || isNaN(stop);
82
- };
83
- exports.isStopInvalid = isStopInvalid;
84
- var isInvalid = function isInvalid(colorStops) {
85
- var showAlpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
86
- return colorStops.some(function (colorStop) {
87
- return isColorInvalid(colorStop.color, showAlpha) || isStopInvalid(colorStop.stop);
88
- });
89
- };
90
- exports.isInvalid = isInvalid;
91
- var calculateScale = function calculateScale(trackWidth) {
92
- var thumbToTrackRatio = _utils2.EUI_THUMB_SIZE / trackWidth;
93
- return (1 - thumbToTrackRatio) * 100;
94
- };
95
- exports.calculateScale = calculateScale;
96
- var getStopFromMouseLocation = function getStopFromMouseLocation(location, ref, min, max) {
97
- var box = (0, _utils.getEventPosition)(location, ref);
98
- return Math.round(box.left / box.width * (max - min) + min);
99
- };
100
- exports.getStopFromMouseLocation = getStopFromMouseLocation;
101
- var getPositionFromStop = function getPositionFromStop(stop, ref, min, max) {
102
- // For wide implementations, integer percentages can be visually off.
103
- // Use 1 decimal place for more accuracy
104
- return parseFloat(((stop - min) / (max - min) * calculateScale(ref && ref.clientWidth > 0 ? ref.clientWidth : 100)).toFixed(1));
105
- };
106
- exports.getPositionFromStop = getPositionFromStop;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "EuiSuggest", {
7
- enumerable: true,
8
- get: function get() {
9
- return _suggest.EuiSuggest;
10
- }
11
- });
12
- Object.defineProperty(exports, "EuiSuggestItem", {
13
- enumerable: true,
14
- get: function get() {
15
- return _suggest_item.EuiSuggestItem;
16
- }
17
- });
18
- var _suggest_item = require("./suggest_item");
19
- var _suggest = require("./suggest");
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _react = _interopRequireDefault(require("react"));
5
- var _form = require("../form");
6
- var _suggest = require("./suggest");
7
- var _react2 = require("@emotion/react");
8
- /*
9
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
- * or more contributor license agreements. Licensed under the Elastic License
11
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
- * in compliance with, at your election, the Elastic License 2.0 or the Server
13
- * Side Public License, v 1.
14
- */
15
-
16
- /// <reference types="cypress" />
17
- /// <reference types="cypress-real-events" />
18
- /// <reference types="../../../cypress/support" />
19
-
20
- var Suggest = function Suggest() {
21
- var suggestedItems = [{
22
- type: {
23
- iconType: 'accessibility',
24
- color: 'tint1'
25
- },
26
- label: 'Accessibility',
27
- description: 'A short description'
28
- }, {
29
- type: {
30
- iconType: 'image',
31
- color: 'tint2'
32
- },
33
- label: 'Images',
34
- description: 'Another short description'
35
- }, {
36
- type: {
37
- iconType: 'lock',
38
- color: 'tint3'
39
- },
40
- label: 'Locks',
41
- description: 'A third short description'
42
- }];
43
- return (0, _react2.jsx)(_form.EuiFormRow, {
44
- label: "Suggest a topic",
45
- id: "cy-label-suggest-1"
46
- }, (0, _react2.jsx)(_suggest.EuiSuggest, {
47
- "aria-labelledby": "cy-label-suggest-1-label",
48
- suggestions: suggestedItems
49
- }));
50
- };
51
- describe('EuiSuggest', function () {
52
- beforeEach(function () {
53
- cy.realMount((0, _react2.jsx)(Suggest, null));
54
- });
55
- describe('Automated accessibility check', function () {
56
- it('has zero violations when rendered', function () {
57
- cy.checkAxe();
58
- });
59
- });
60
- describe('Keyboard accessibility', function () {
61
- it('has zero violations after traversing list items', function () {
62
- cy.realPress('Tab');
63
- cy.get('#cy-label-suggest-1').should('have.focus');
64
- cy.get('ul[role="listbox"]').should('exist');
65
- cy.realPress('ArrowDown');
66
- cy.realPress('ArrowUp');
67
- cy.realPress('ArrowRight');
68
- cy.realPress('ArrowLeft');
69
- cy.get('li[role="option"]').first().should('have.attr', 'aria-selected', 'true');
70
- cy.checkAxe();
71
- });
72
- });
73
- });
@@ -1,348 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.EuiSuggest = void 0;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
- var _icon = require("../icon");
16
- var _i18n = require("../i18n");
17
- var _popover = require("../popover");
18
- var _selectable = require("../selectable");
19
- var _tool_tip = require("../tool_tip");
20
- var _suggest_item = require("./suggest_item");
21
- var _react2 = require("@emotion/react");
22
- var _excluded = ["onItemClick", "onBlur", "onFocus", "onInput", "onSearch", "status", "append", "tooltipContent", "suggestions", "id", "aria-label", "aria-labelledby", "isPreFiltered", "isVirtualized", "fullWidth", "maxHeight"];
23
- /*
24
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
25
- * or more contributor license agreements. Licensed under the Elastic License
26
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
27
- * in compliance with, at your election, the Elastic License 2.0 or the Server
28
- * Side Public License, v 1.
29
- */
30
- 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); }
31
- 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; }
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
34
- var statusMap = {
35
- unsaved: {
36
- icon: 'dot',
37
- color: 'accent'
38
- },
39
- saved: {
40
- icon: 'checkInCircleFilled',
41
- color: 'success'
42
- },
43
- unchanged: {
44
- icon: '',
45
- color: 'success'
46
- },
47
- loading: {}
48
- };
49
-
50
- // keys of _EuiSuggestItemPropsBase
51
- var suggestItemPropsKeys = ['label', 'type', 'description', 'labelDisplay', 'labelWidth', 'descriptionDisplay'];
52
-
53
- /**
54
- * @deprecated
55
- */
56
-
57
- /**
58
- * @deprecated
59
- */
60
-
61
- /**
62
- * @deprecated - EuiSuggest is scheduled for deprecation due to low internal usage and high
63
- * overlap with other existing EUI components. We recommend using EuiSelectable instead,
64
- * or copying this component into your own application for usage if necessary.
65
- *
66
- * The component will be permanently removed in October 2023.
67
- */
68
- var EuiSuggest = function EuiSuggest(_ref) {
69
- var onItemClick = _ref.onItemClick,
70
- onBlur = _ref.onBlur,
71
- onFocus = _ref.onFocus,
72
- onInput = _ref.onInput,
73
- onSearch = _ref.onSearch,
74
- _ref$status = _ref.status,
75
- status = _ref$status === void 0 ? 'unchanged' : _ref$status,
76
- append = _ref.append,
77
- tooltipContent = _ref.tooltipContent,
78
- suggestions = _ref.suggestions,
79
- id = _ref.id,
80
- ariaLabel = _ref['aria-label'],
81
- labelId = _ref['aria-labelledby'],
82
- _ref$isPreFiltered = _ref.isPreFiltered,
83
- isPreFiltered = _ref$isPreFiltered === void 0 ? false : _ref$isPreFiltered,
84
- _ref$isVirtualized = _ref.isVirtualized,
85
- isVirtualized = _ref$isVirtualized === void 0 ? false : _ref$isVirtualized,
86
- _ref$fullWidth = _ref.fullWidth,
87
- fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
88
- _ref$maxHeight = _ref.maxHeight,
89
- maxHeight = _ref$maxHeight === void 0 ? '60vh' : _ref$maxHeight,
90
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
91
- /**
92
- * Popover helpers
93
- */
94
- var _useState = (0, _react.useState)(null),
95
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
96
- popoverRef = _useState2[0],
97
- setPopoverRef = _useState2[1];
98
- var _useState3 = (0, _react.useState)(false),
99
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
100
- isPopoverOpen = _useState4[0],
101
- setIsPopoverOpen = _useState4[1];
102
- var openPopover = function openPopover() {
103
- return setIsPopoverOpen(true);
104
- };
105
- var closePopover = function closePopover() {
106
- return setIsPopoverOpen(false);
107
- };
108
-
109
- /**
110
- * Search helpers
111
- */
112
- var searchOnFocus = function searchOnFocus(e) {
113
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
114
- openPopover();
115
- };
116
- var searchOnBlur = function searchOnBlur(e) {
117
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
118
- if (!(popoverRef !== null && popoverRef !== void 0 && popoverRef.contains(e.relatedTarget))) {
119
- closePopover();
120
- }
121
- };
122
- var searchOnInput = function searchOnInput(e) {
123
- onInput === null || onInput === void 0 ? void 0 : onInput(e.target);
124
- openPopover();
125
- };
126
- var searchOnChange = function searchOnChange(value) {
127
- onSearch === null || onSearch === void 0 ? void 0 : onSearch(value);
128
- };
129
-
130
- /**
131
- * Status
132
- */
133
- var icon = '';
134
- var color = '';
135
- if (statusMap[status]) {
136
- icon = statusMap[status].icon || '';
137
- color = statusMap[status].color || '';
138
- }
139
-
140
- // EuiFieldText's append accepts an array of elements so start by creating an empty array
141
- var appendArray = [];
142
- var _useEuiI18n = (0, _i18n.useEuiI18n)(['euiSuggest.stateSavedTooltip', 'euiSuggest.stateUnsavedTooltip'], ['Saved.', 'Changes have not been saved.']),
143
- _useEuiI18n2 = (0, _slicedToArray2.default)(_useEuiI18n, 2),
144
- statusSaved = _useEuiI18n2[0],
145
- statusUnsaved = _useEuiI18n2[1];
146
- statusMap.saved.tooltip = statusSaved;
147
- statusMap.unsaved.tooltip = statusUnsaved;
148
- var statusElement = (status === 'saved' || status === 'unsaved') && (0, _react2.jsx)(_tool_tip.EuiToolTip, {
149
- position: "left",
150
- content: tooltipContent || statusMap[status].tooltip
151
- }, (0, _react2.jsx)(_icon.EuiIcon, {
152
- className: "euiSuggestInput__statusIcon",
153
- color: color,
154
- type: icon
155
- }));
156
-
157
- // Push the status element to the array if it is not undefined
158
- if (statusElement) appendArray.push(statusElement);
159
-
160
- // Check to see if consumer passed an append item and if so, add it to the array
161
- if (append) appendArray.push(append);
162
- var _useEuiI18n3 = (0, _i18n.useEuiI18n)(['euiSuggest.stateLoading', 'euiSuggest.stateSaved', 'euiSuggest.stateUnsaved', 'euiSuggest.stateUnchanged'], ['State: loading.', 'State: saved.', 'State: unsaved.', 'State: unchanged.']),
163
- _useEuiI18n4 = (0, _slicedToArray2.default)(_useEuiI18n3, 4),
164
- stateLoading = _useEuiI18n4[0],
165
- stateSaved = _useEuiI18n4[1],
166
- stateUnsaved = _useEuiI18n4[2],
167
- stateUnchanged = _useEuiI18n4[3];
168
- var stateMessageMap = {
169
- loading: stateLoading,
170
- saved: stateSaved,
171
- unsaved: stateUnsaved,
172
- unchanged: stateUnchanged
173
- };
174
- var stateMessage = stateMessageMap[status];
175
-
176
- /**
177
- * Options list
178
- */
179
- var suggestionList = suggestions.map(function (props) {
180
- // Omit props destined for the EuiSuggestItem so that they don't
181
- // cause warnings or render in the DOM of the EuiSelectableItem
182
- var data = {};
183
- var liProps = {
184
- label: props.label
185
- };
186
- Object.keys(props).forEach(function (key) {
187
- if (suggestItemPropsKeys.includes(key)) {
188
- // @ts-ignore string index type
189
- data[key] = props[key];
190
- } else {
191
- // @ts-ignore string index type
192
- liProps[key] = props[key];
193
- }
194
- });
195
- return _objectSpread(_objectSpread({}, liProps), {}, {
196
- data: data,
197
- className: (0, _classnames.default)(props.className, 'euiSuggestItemOption'),
198
- // Force truncation if `isVirtualized` is true
199
- truncate: isVirtualized ? true : props.truncate
200
- });
201
- });
202
- var renderOption = (0, _react.useCallback)(function (props) {
203
- return (0, _react2.jsx)(_suggest_item.EuiSuggestItem, props);
204
- }, []);
205
- var onItemSelect = (0, _react.useCallback)(function (options) {
206
- if (onItemClick) {
207
- var selectedIndex = options.findIndex(function (option) {
208
- return option.checked === 'on';
209
- });
210
- if (selectedIndex >= 0) {
211
- var selectedSuggestion = suggestions[selectedIndex];
212
- onItemClick(selectedSuggestion);
213
- }
214
- }
215
- }, [onItemClick, suggestions]);
216
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_selectable.EuiSelectable, {
217
- selectableScreenReaderText: stateMessage,
218
- singleSelection: true,
219
- height: isVirtualized ? undefined : 'full',
220
- options: suggestionList,
221
- renderOption: renderOption,
222
- onChange: onItemSelect,
223
- listProps: {
224
- bordered: false,
225
- showIcons: false,
226
- onFocusBadge: false,
227
- paddingSize: 'none',
228
- textWrap: isVirtualized ? 'truncate' : 'wrap',
229
- isVirtualized: isVirtualized
230
- },
231
- searchable: true,
232
- isPreFiltered: isPreFiltered,
233
- searchProps: _objectSpread({
234
- id: id,
235
- append: appendArray.length ? appendArray : undefined,
236
- fullWidth: fullWidth,
237
- isLoading: status === 'loading' ? true : false,
238
- onFocus: searchOnFocus,
239
- onBlur: searchOnBlur,
240
- onInput: searchOnInput,
241
- onChange: searchOnChange,
242
- 'aria-label': ariaLabel,
243
- 'aria-labelledby': labelId
244
- }, rest)
245
- }, function (list, search) {
246
- return (0, _react2.jsx)(_popover.EuiInputPopover, {
247
- disableFocusTrap: true,
248
- input: (0, _react2.jsx)(_react.default.Fragment, null, search),
249
- isOpen: isPopoverOpen,
250
- panelPaddingSize: "none",
251
- fullWidth: fullWidth,
252
- closePopover: closePopover,
253
- panelRef: setPopoverRef,
254
- panelProps: {
255
- 'aria-live': undefined,
256
- 'aria-modal': false,
257
- role: undefined
258
- }
259
- }, (0, _react2.jsx)("div", {
260
- style: {
261
- maxHeight: maxHeight
262
- },
263
- className: "eui-yScroll"
264
- }, list));
265
- }));
266
- };
267
- exports.EuiSuggest = EuiSuggest;
268
- EuiSuggest.propTypes = {
269
- className: _propTypes.default.string,
270
- "aria-label": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.string])]),
271
- "data-test-subj": _propTypes.default.string,
272
- css: _propTypes.default.any,
273
- /**
274
- * List of suggestions to display using EuiSuggestItem.
275
- * Accepts props from #EuiSuggestItemProps
276
- */
277
- suggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
278
- className: _propTypes.default.string,
279
- "aria-label": _propTypes.default.string,
280
- "data-test-subj": _propTypes.default.string,
281
- css: _propTypes.default.any,
282
- /**
283
- * Takes `iconType` for EuiIcon and 'color'. 'color' can be tint1 through tint9.
284
- */
285
- type: _propTypes.default.shape({
286
- iconType: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDenseVector", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]).isRequired,
287
- color: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.oneOf(["tint0", "tint1", "tint2", "tint3", "tint4", "tint5", "tint6", "tint7", "tint8", "tint9", "tint10"]).isRequired]).isRequired
288
- }).isRequired,
289
- /**
290
- * Label or primary text.
291
- */
292
- label: _propTypes.default.string.isRequired,
293
- /**
294
- * Description or secondary text (optional).
295
- */
296
- description: _propTypes.default.string,
297
- /**
298
- * Percentage width of `label`.
299
- * Accepts multiples of `10`, from `20` to `90`.
300
- * Label will expand to 100% if `description` is not provided.
301
- */
302
- labelWidth: _propTypes.default.oneOf(["20", "30", "40", "50", "60", "70", "80", "90", 20, 30, 40, 50, 60, 70, 80, 90]),
303
- /**
304
- * Truncates both label and description.
305
- */
306
- truncate: _propTypes.default.bool
307
- }).isRequired).isRequired,
308
- /**
309
- * Changes the content of the tooltip that wraps the status icon
310
- */
311
- tooltipContent: _propTypes.default.string,
312
- /**
313
- * Status of the current query 'unsaved', 'saved', 'unchanged' or 'loading'.
314
- */
315
- status: _propTypes.default.any,
316
- /**
317
- * Element to be appended to the input bar.
318
- */
319
- append: _propTypes.default.any,
320
- /**
321
- * Handler for click on an EuiSuggestItem.
322
- */
323
- onItemClick: _propTypes.default.func,
324
- /**
325
- * Callback function called when the input changes.
326
- */
327
- onInput: _propTypes.default.func,
328
- /**
329
- * Callback function called when the search changes.
330
- */
331
- onSearch: _propTypes.default.func,
332
- /**
333
- * Use virtualized rendering for list items with `react-window`.
334
- * Best used when there are a lot of items.
335
- */
336
- isVirtualized: _propTypes.default.bool,
337
- /**
338
- * Maximum height to set for the list.
339
- * Default is `60vh`
340
- */
341
- maxHeight: _propTypes.default.any,
342
- /**
343
- * Control whether or not options get filtered internally or if consumer will filter.
344
- * Default `false`
345
- */
346
- isPreFiltered: _propTypes.default.bool,
347
- "aria-labelledby": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string.isRequired])
348
- };