@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,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,266 +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 _classnames = _interopRequireDefault(require("classnames"));
14
- var _icon = require("../icon");
15
- var _i18n = require("../i18n");
16
- var _popover = require("../popover");
17
- var _selectable = require("../selectable");
18
- var _tool_tip = require("../tool_tip");
19
- var _suggest_item = require("./suggest_item");
20
- var _react2 = require("@emotion/react");
21
- var _excluded = ["onItemClick", "onBlur", "onFocus", "onInput", "onSearch", "status", "append", "tooltipContent", "suggestions", "id", "aria-label", "aria-labelledby", "isPreFiltered", "isVirtualized", "fullWidth", "maxHeight"];
22
- /*
23
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
- * or more contributor license agreements. Licensed under the Elastic License
25
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
26
- * in compliance with, at your election, the Elastic License 2.0 or the Server
27
- * Side Public License, v 1.
28
- */
29
- 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); }
30
- 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; }
31
- 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; }
32
- 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; }
33
- var statusMap = {
34
- unsaved: {
35
- icon: 'dot',
36
- color: 'accent'
37
- },
38
- saved: {
39
- icon: 'checkInCircleFilled',
40
- color: 'success'
41
- },
42
- unchanged: {
43
- icon: '',
44
- color: 'success'
45
- },
46
- loading: {}
47
- };
48
-
49
- // keys of _EuiSuggestItemPropsBase
50
- var suggestItemPropsKeys = ['label', 'type', 'description', 'labelDisplay', 'labelWidth', 'descriptionDisplay'];
51
-
52
- /**
53
- * @deprecated
54
- */
55
-
56
- /**
57
- * @deprecated
58
- */
59
-
60
- /**
61
- * @deprecated - EuiSuggest is scheduled for deprecation due to low internal usage and high
62
- * overlap with other existing EUI components. We recommend using EuiSelectable instead,
63
- * or copying this component into your own application for usage if necessary.
64
- *
65
- * The component will be permanently removed in October 2023.
66
- */
67
- var EuiSuggest = function EuiSuggest(_ref) {
68
- var onItemClick = _ref.onItemClick,
69
- onBlur = _ref.onBlur,
70
- onFocus = _ref.onFocus,
71
- onInput = _ref.onInput,
72
- onSearch = _ref.onSearch,
73
- _ref$status = _ref.status,
74
- status = _ref$status === void 0 ? 'unchanged' : _ref$status,
75
- append = _ref.append,
76
- tooltipContent = _ref.tooltipContent,
77
- suggestions = _ref.suggestions,
78
- id = _ref.id,
79
- ariaLabel = _ref['aria-label'],
80
- labelId = _ref['aria-labelledby'],
81
- _ref$isPreFiltered = _ref.isPreFiltered,
82
- isPreFiltered = _ref$isPreFiltered === void 0 ? false : _ref$isPreFiltered,
83
- _ref$isVirtualized = _ref.isVirtualized,
84
- isVirtualized = _ref$isVirtualized === void 0 ? false : _ref$isVirtualized,
85
- _ref$fullWidth = _ref.fullWidth,
86
- fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
87
- _ref$maxHeight = _ref.maxHeight,
88
- maxHeight = _ref$maxHeight === void 0 ? '60vh' : _ref$maxHeight,
89
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
90
- /**
91
- * Popover helpers
92
- */
93
- var _useState = (0, _react.useState)(null),
94
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
95
- popoverRef = _useState2[0],
96
- setPopoverRef = _useState2[1];
97
- var _useState3 = (0, _react.useState)(false),
98
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
99
- isPopoverOpen = _useState4[0],
100
- setIsPopoverOpen = _useState4[1];
101
- var openPopover = function openPopover() {
102
- return setIsPopoverOpen(true);
103
- };
104
- var closePopover = function closePopover() {
105
- return setIsPopoverOpen(false);
106
- };
107
-
108
- /**
109
- * Search helpers
110
- */
111
- var searchOnFocus = function searchOnFocus(e) {
112
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
113
- openPopover();
114
- };
115
- var searchOnBlur = function searchOnBlur(e) {
116
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
117
- if (!(popoverRef !== null && popoverRef !== void 0 && popoverRef.contains(e.relatedTarget))) {
118
- closePopover();
119
- }
120
- };
121
- var searchOnInput = function searchOnInput(e) {
122
- onInput === null || onInput === void 0 ? void 0 : onInput(e.target);
123
- openPopover();
124
- };
125
- var searchOnChange = function searchOnChange(value) {
126
- onSearch === null || onSearch === void 0 ? void 0 : onSearch(value);
127
- };
128
-
129
- /**
130
- * Status
131
- */
132
- var icon = '';
133
- var color = '';
134
- if (statusMap[status]) {
135
- icon = statusMap[status].icon || '';
136
- color = statusMap[status].color || '';
137
- }
138
-
139
- // EuiFieldText's append accepts an array of elements so start by creating an empty array
140
- var appendArray = [];
141
- var _useEuiI18n = (0, _i18n.useEuiI18n)(['euiSuggest.stateSavedTooltip', 'euiSuggest.stateUnsavedTooltip'], ['Saved.', 'Changes have not been saved.']),
142
- _useEuiI18n2 = (0, _slicedToArray2.default)(_useEuiI18n, 2),
143
- statusSaved = _useEuiI18n2[0],
144
- statusUnsaved = _useEuiI18n2[1];
145
- statusMap.saved.tooltip = statusSaved;
146
- statusMap.unsaved.tooltip = statusUnsaved;
147
- var statusElement = (status === 'saved' || status === 'unsaved') && (0, _react2.jsx)(_tool_tip.EuiToolTip, {
148
- position: "left",
149
- content: tooltipContent || statusMap[status].tooltip
150
- }, (0, _react2.jsx)(_icon.EuiIcon, {
151
- className: "euiSuggestInput__statusIcon",
152
- color: color,
153
- type: icon
154
- }));
155
-
156
- // Push the status element to the array if it is not undefined
157
- if (statusElement) appendArray.push(statusElement);
158
-
159
- // Check to see if consumer passed an append item and if so, add it to the array
160
- if (append) appendArray.push(append);
161
- var _useEuiI18n3 = (0, _i18n.useEuiI18n)(['euiSuggest.stateLoading', 'euiSuggest.stateSaved', 'euiSuggest.stateUnsaved', 'euiSuggest.stateUnchanged'], ['State: loading.', 'State: saved.', 'State: unsaved.', 'State: unchanged.']),
162
- _useEuiI18n4 = (0, _slicedToArray2.default)(_useEuiI18n3, 4),
163
- stateLoading = _useEuiI18n4[0],
164
- stateSaved = _useEuiI18n4[1],
165
- stateUnsaved = _useEuiI18n4[2],
166
- stateUnchanged = _useEuiI18n4[3];
167
- var stateMessageMap = {
168
- loading: stateLoading,
169
- saved: stateSaved,
170
- unsaved: stateUnsaved,
171
- unchanged: stateUnchanged
172
- };
173
- var stateMessage = stateMessageMap[status];
174
-
175
- /**
176
- * Options list
177
- */
178
- var suggestionList = suggestions.map(function (props) {
179
- // Omit props destined for the EuiSuggestItem so that they don't
180
- // cause warnings or render in the DOM of the EuiSelectableItem
181
- var data = {};
182
- var liProps = {
183
- label: props.label
184
- };
185
- Object.keys(props).forEach(function (key) {
186
- if (suggestItemPropsKeys.includes(key)) {
187
- // @ts-ignore string index type
188
- data[key] = props[key];
189
- } else {
190
- // @ts-ignore string index type
191
- liProps[key] = props[key];
192
- }
193
- });
194
- return _objectSpread(_objectSpread({}, liProps), {}, {
195
- data: data,
196
- className: (0, _classnames.default)(props.className, 'euiSuggestItemOption'),
197
- // Force truncation if `isVirtualized` is true
198
- truncate: isVirtualized ? true : props.truncate
199
- });
200
- });
201
- var renderOption = (0, _react.useCallback)(function (props) {
202
- return (0, _react2.jsx)(_suggest_item.EuiSuggestItem, props);
203
- }, []);
204
- var onItemSelect = (0, _react.useCallback)(function (options) {
205
- if (onItemClick) {
206
- var selectedIndex = options.findIndex(function (option) {
207
- return option.checked === 'on';
208
- });
209
- if (selectedIndex >= 0) {
210
- var selectedSuggestion = suggestions[selectedIndex];
211
- onItemClick(selectedSuggestion);
212
- }
213
- }
214
- }, [onItemClick, suggestions]);
215
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_selectable.EuiSelectable, {
216
- selectableScreenReaderText: stateMessage,
217
- singleSelection: true,
218
- height: isVirtualized ? undefined : 'full',
219
- options: suggestionList,
220
- renderOption: renderOption,
221
- onChange: onItemSelect,
222
- listProps: {
223
- bordered: false,
224
- showIcons: false,
225
- onFocusBadge: false,
226
- paddingSize: 'none',
227
- textWrap: isVirtualized ? 'truncate' : 'wrap',
228
- isVirtualized: isVirtualized
229
- },
230
- searchable: true,
231
- isPreFiltered: isPreFiltered,
232
- searchProps: _objectSpread({
233
- id: id,
234
- append: appendArray.length ? appendArray : undefined,
235
- fullWidth: fullWidth,
236
- isLoading: status === 'loading' ? true : false,
237
- onFocus: searchOnFocus,
238
- onBlur: searchOnBlur,
239
- onInput: searchOnInput,
240
- onChange: searchOnChange,
241
- 'aria-label': ariaLabel,
242
- 'aria-labelledby': labelId
243
- }, rest)
244
- }, function (list, search) {
245
- return (0, _react2.jsx)(_popover.EuiInputPopover, {
246
- disableFocusTrap: true,
247
- input: (0, _react2.jsx)(_react.default.Fragment, null, search),
248
- isOpen: isPopoverOpen,
249
- panelPaddingSize: "none",
250
- fullWidth: fullWidth,
251
- closePopover: closePopover,
252
- panelRef: setPopoverRef,
253
- panelProps: {
254
- 'aria-live': undefined,
255
- 'aria-modal': false,
256
- role: undefined
257
- }
258
- }, (0, _react2.jsx)("div", {
259
- style: {
260
- maxHeight: maxHeight
261
- },
262
- className: "eui-yScroll"
263
- }, list));
264
- }));
265
- };
266
- exports.EuiSuggest = EuiSuggest;
@@ -1,96 +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.EuiSuggestItem = exports.COLORS = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _common = require("../common");
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _icon = require("../icon");
14
- var _react2 = require("@emotion/react");
15
- var _excluded = ["className", "label", "type", "labelWidth", "description", "truncate", "onClick"];
16
- /*
17
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
- * or more contributor license agreements. Licensed under the Elastic License
19
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
- * in compliance with, at your election, the Elastic License 2.0 or the Server
21
- * Side Public License, v 1.
22
- */
23
- /**
24
- * @deprecated
25
- */
26
- var colorToClassNameMap = {
27
- tint0: 'euiSuggestItem__type--tint0',
28
- tint1: 'euiSuggestItem__type--tint1',
29
- tint2: 'euiSuggestItem__type--tint2',
30
- tint3: 'euiSuggestItem__type--tint3',
31
- tint4: 'euiSuggestItem__type--tint4',
32
- tint5: 'euiSuggestItem__type--tint5',
33
- tint6: 'euiSuggestItem__type--tint6',
34
- tint7: 'euiSuggestItem__type--tint7',
35
- tint8: 'euiSuggestItem__type--tint8',
36
- tint9: 'euiSuggestItem__type--tint9',
37
- tint10: 'euiSuggestItem__type--tint10'
38
- };
39
- var COLORS = (0, _common.keysOf)(colorToClassNameMap);
40
-
41
- /**
42
- * @deprecated - EuiSuggest is scheduled for deprecation due to low internal usage and high
43
- * overlap with other existing EUI components. We recommend using EuiSelectable instead,
44
- * or copying this component into your own application for usage if necessary.
45
- *
46
- * The component will be permanently removed in October 2023.
47
- */
48
- exports.COLORS = COLORS;
49
- var EuiSuggestItem = function EuiSuggestItem(_ref) {
50
- var className = _ref.className,
51
- label = _ref.label,
52
- type = _ref.type,
53
- _ref$labelWidth = _ref.labelWidth,
54
- labelWidth = _ref$labelWidth === void 0 ? '50' : _ref$labelWidth,
55
- description = _ref.description,
56
- _ref$truncate = _ref.truncate,
57
- truncate = _ref$truncate === void 0 ? true : _ref$truncate,
58
- onClick = _ref.onClick,
59
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
60
- var classes = (0, _classnames.default)('euiSuggestItem', {
61
- 'euiSuggestItem--truncate': truncate
62
- }, className);
63
- var labelClassNames = (0, _classnames.default)('euiSuggestItem__label', "euiSuggestItem__label--width".concat(labelWidth));
64
- var descriptionClassNames = (0, _classnames.default)('euiSuggestItem__description', {
65
- 'euiSuggestItem__description--wrap': !truncate
66
- });
67
- var typeColorClass = '';
68
- if (type && type.color) {
69
- if (COLORS.indexOf(type.color) > -1) {
70
- typeColorClass = colorToClassNameMap[type.color];
71
- }
72
- }
73
- var innerContent = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("span", {
74
- className: "euiSuggestItem__type ".concat(typeColorClass)
75
- }, (0, _react2.jsx)(_icon.EuiIcon, {
76
- type: type.iconType,
77
- color: "inherit" // forces the icon to inherit its parent color
78
- })), (0, _react2.jsx)("span", {
79
- className: labelClassNames,
80
- title: label
81
- }, label), description && (0, _react2.jsx)("span", {
82
- className: descriptionClassNames,
83
- title: description
84
- }, description));
85
- if (onClick) {
86
- return (0, _react2.jsx)("button", (0, _extends2.default)({
87
- onClick: onClick,
88
- className: classes
89
- }, rest), innerContent);
90
- } else {
91
- return (0, _react2.jsx)("span", (0, _extends2.default)({
92
- className: classes
93
- }, rest), innerContent);
94
- }
95
- };
96
- exports.EuiSuggestItem = EuiSuggestItem;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ALL_STATUSES = void 0;
7
- /*
8
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
- * or more contributor license agreements. Licensed under the Elastic License
10
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
11
- * in compliance with, at your election, the Elastic License 2.0 or the Server
12
- * Side Public License, v 1.
13
- */
14
-
15
- var ALL_STATUSES = ['unsaved', 'saved', 'unchanged', 'loading'];
16
- exports.ALL_STATUSES = ALL_STATUSES;
@@ -1,20 +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.accessibleClickKeys = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _keys = require("../keys");
10
- var _accessibleClickKeys;
11
- /*
12
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
- * or more contributor license agreements. Licensed under the Elastic License
14
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
- * in compliance with, at your election, the Elastic License 2.0 or the Server
16
- * Side Public License, v 1.
17
- */
18
- // These keys are used to execute click actions on interactive elements like buttons and links.
19
- var accessibleClickKeys = (_accessibleClickKeys = {}, (0, _defineProperty2.default)(_accessibleClickKeys, _keys.ENTER, 'enter'), (0, _defineProperty2.default)(_accessibleClickKeys, _keys.SPACE, 'space'), _accessibleClickKeys);
20
- exports.accessibleClickKeys = accessibleClickKeys;
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.cascadingMenuKeys = void 0;
7
- var _keys = require("../keys");
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
- /**
17
- * These keys are used for navigating cascading menu UI components.
18
- *
19
- * ARROW_DOWN: Select the next item in the list.
20
- * ARROW_LEFT: Show the previous menu.
21
- * ARROW_RIGHT: Show the next menu for the selected item.
22
- * ARROW_UP: Select the previous item in the list.
23
- * ESC: Deselect the current selection and hide the list.
24
- * TAB: Normal tabbing navigation is still supported.
25
- */
26
-
27
- var cascadingMenuKeys = {
28
- ARROW_DOWN: _keys.ARROW_DOWN,
29
- ARROW_LEFT: _keys.ARROW_LEFT,
30
- ARROW_RIGHT: _keys.ARROW_RIGHT,
31
- ARROW_UP: _keys.ARROW_UP,
32
- ESCAPE: _keys.ESCAPE,
33
- TAB: _keys.TAB
34
- };
35
- exports.cascadingMenuKeys = cascadingMenuKeys;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.comboBoxKeys = void 0;
7
- var _keys = require("../keys");
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
- /**
17
- * These keys are used for navigating combobox UI components.
18
- *
19
- * ARROW_UP: Select the previous item in the list.
20
- * ARROW_DOWN: Select the next item in the list.
21
- * ENTER / TAB: Complete input with the current selection.
22
- * ESC: Deselect the current selection and hide the list.
23
- */
24
-
25
- var comboBoxKeys = {
26
- ARROW_DOWN: _keys.ARROW_DOWN,
27
- ARROW_UP: _keys.ARROW_UP,
28
- ENTER: _keys.ENTER,
29
- ESCAPE: _keys.ESCAPE,
30
- TAB: _keys.TAB
31
- };
32
- exports.comboBoxKeys = comboBoxKeys;
@@ -1,5 +0,0 @@
1
- @import 'variables';
2
-
3
- @import 'suggest_item';
4
-
5
- @import 'suggest_input';
@@ -1,4 +0,0 @@
1
- .euiSuggestInput__statusIcon {
2
- // stylelint-disable-next-line declaration-no-important
3
- background-color: transparent !important; // Override typical append coloring
4
- }
@@ -1,103 +0,0 @@
1
- .euiSuggestItem {
2
- display: flex;
3
- align-items: flex-start;
4
- font-size: $euiFontSizeXS;
5
- line-height: $euiSize;
6
- color: $euiTextColor;
7
- flex: 1 1 100%;
8
- max-width: 100%;
9
-
10
- &--truncate {
11
- .euiSuggestItem__label,
12
- .euiSuggestItem__description {
13
- @include euiTextTruncate;
14
- }
15
- }
16
- }
17
-
18
- // When `onClick` is provided, EuiSuggestItem renders as a <button>
19
- // and we want to adjust styles to better afford the interaction
20
- // stylelint-disable selector-no-qualifying-type
21
- button.euiSuggestItem {
22
- width: 100%;
23
- text-align: left;
24
-
25
- &:hover,
26
- &:focus {
27
- cursor: pointer;
28
- background-color: $euiFocusBackgroundColor;
29
-
30
- .euiSuggestItem__label {
31
- text-decoration: underline;
32
- }
33
- }
34
- }
35
- // stylelint-enable selector-no-qualifying-type
36
-
37
- @each $name, $color in $euiSuggestItemColors {
38
- .euiSuggestItem__type--#{$name} {
39
- $backgroundColor: tintOrShade($color, 82%, 70%);
40
- background-color: $backgroundColor;
41
- color: makeHighContrastColor($color, $backgroundColor);
42
- }
43
- }
44
-
45
- .euiSuggestItem__type {
46
- display: flex;
47
- flex: 0 0 auto;
48
- justify-content: center;
49
- align-items: flex-start;
50
- padding-top: $euiSizeS;
51
- width: $euiSizeXL;
52
- min-height: $euiSizeXL;
53
- align-self: stretch;
54
- }
55
-
56
- .euiSuggestItem__label,
57
- .euiSuggestItem__description {
58
- @include euiTextBreakWord;
59
- display: inline-block;
60
- padding: $euiSizeS;
61
- flex-grow: 1;
62
- }
63
-
64
- .euiSuggestItem__label {
65
- font-family: $euiCodeFontFamily;
66
-
67
- // Sets labelWidth from 20% to 90% in increments of 10%
68
- @for $i from 20 through 90 {
69
- &.euiSuggestItem__label--width#{$i} {
70
- flex-basis: calc(#{$i * 1%} - #{$euiSize});
71
- min-width: calc(#{$i * 1%} - #{$euiSize});
72
- $i: $i + 10;
73
- }
74
- }
75
-
76
- &--expand {
77
- flex-basis: auto;
78
- }
79
- }
80
-
81
- .euiSuggestItem__description {
82
- color: $euiTextSubduedColor;
83
- padding-top: $euiSizeS + 1px;
84
- flex-basis: auto;
85
- align-self: baseline;
86
-
87
- &.euiSuggestItem__description--wrap {
88
- @include euiTextBreakWord;
89
- white-space: normal !important; // stylelint-disable-line declaration-no-important
90
- }
91
- }
92
-
93
- // For specifically within EuiSelectable
94
-
95
- .euiSuggestItemOption {
96
- &[class*='isFocused'],
97
- &:hover:not([aria-disabled='true']),
98
- &:focus {
99
- .euiSuggestItem__label {
100
- text-decoration: underline;
101
- }
102
- }
103
- }
@@ -1,13 +0,0 @@
1
- $euiSuggestItemColors: (
2
- tint0: $euiColorVis0,
3
- tint1: $euiColorVis1,
4
- tint2: $euiColorVis2,
5
- tint3: $euiColorVis3,
6
- tint4: $euiColorVis4,
7
- tint5: $euiColorVis5,
8
- tint6: $euiColorVis6,
9
- tint7: $euiColorVis7,
10
- tint8: $euiColorVis8,
11
- tint9: $euiColorVis9,
12
- tint10: $euiColorDarkShade,
13
- );