@elastic/eui 90.0.0 → 91.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +112 -80
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +112 -80
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.js +13 -2
  8. package/es/components/accordion/accordion_children/accordion_children.js +4 -3
  9. package/es/components/breadcrumbs/breadcrumb.js +5 -5
  10. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  11. package/es/components/button/button_display/_button_display.js +1 -1
  12. package/es/components/button/button_group/button_group.js +8 -10
  13. package/es/components/button/button_group/button_group_button.js +8 -51
  14. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  15. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  16. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  17. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
  18. package/es/components/combo_box/combo_box.js +7 -5
  19. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  20. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  21. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  22. package/es/components/combo_box/utils.js +23 -0
  23. package/es/components/control_bar/control_bar.js +5 -5
  24. package/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  25. package/es/components/datagrid/controls/column_selector.js +5 -6
  26. package/es/components/datagrid/controls/column_sorting.js +6 -9
  27. package/es/components/datagrid/controls/display_selector.js +21 -16
  28. package/es/components/datagrid/data_grid.js +3 -864
  29. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  30. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  31. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  32. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  33. package/es/components/facet/facet_button.js +1 -1
  34. package/es/components/filter_group/filter_group.styles.js +1 -1
  35. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  36. package/es/components/header/header_links/header_links.js +5 -5
  37. package/es/components/i18n/i18n.js +1 -0
  38. package/es/components/page/page_header/page_header_content.js +5 -5
  39. package/es/components/popover/input_popover.js +1 -1
  40. package/es/components/popover/popover.js +15 -27
  41. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  42. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  43. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  44. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  45. package/es/components/toast/global_toast_list.js +11 -1
  46. package/es/components/tour/tour_step.js +5 -5
  47. package/es/global_styling/mixins/_states.js +4 -1
  48. package/es/services/color/eui_palettes.js +0 -6
  49. package/es/services/color/index.js +1 -1
  50. package/es/services/hooks/useCombinedRefs.js +16 -9
  51. package/es/services/index.js +1 -2
  52. package/es/test/rtl/component_helpers.d.ts +2 -0
  53. package/es/test/rtl/component_helpers.js +40 -1
  54. package/eui.d.ts +96 -82
  55. package/i18ntokens.json +199 -181
  56. package/lib/components/accordion/accordion.js +13 -2
  57. package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  58. package/lib/components/breadcrumbs/breadcrumb.js +5 -5
  59. package/lib/components/button/button_display/_button_display.js +1 -1
  60. package/lib/components/button/button_group/button_group.js +7 -9
  61. package/lib/components/button/button_group/button_group_button.js +8 -51
  62. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  63. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  64. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  65. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  66. package/lib/components/combo_box/combo_box.js +7 -5
  67. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  68. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  69. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  70. package/lib/components/combo_box/utils.js +31 -0
  71. package/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  72. package/lib/components/datagrid/controls/column_selector.js +5 -6
  73. package/lib/components/datagrid/controls/column_sorting.js +5 -8
  74. package/lib/components/datagrid/controls/display_selector.js +21 -16
  75. package/lib/components/datagrid/data_grid.js +2 -863
  76. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  77. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  78. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  79. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  80. package/lib/components/facet/facet_button.js +1 -1
  81. package/lib/components/filter_group/filter_group.styles.js +1 -1
  82. package/lib/components/i18n/i18n.js +1 -0
  83. package/lib/components/popover/input_popover.js +1 -1
  84. package/lib/components/popover/popover.js +29 -35
  85. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  86. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  87. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  88. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  89. package/lib/components/toast/global_toast_list.js +11 -1
  90. package/lib/global_styling/mixins/_states.js +4 -1
  91. package/lib/services/color/eui_palettes.js +1 -8
  92. package/lib/services/color/index.js +0 -7
  93. package/lib/services/hooks/useCombinedRefs.js +19 -10
  94. package/lib/services/index.js +0 -15
  95. package/lib/test/rtl/component_helpers.d.ts +2 -0
  96. package/lib/test/rtl/component_helpers.js +41 -3
  97. package/optimize/es/components/accordion/accordion.js +5 -2
  98. package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
  99. package/optimize/es/components/button/button_group/button_group.js +7 -8
  100. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  101. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  102. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  103. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
  104. package/optimize/es/components/combo_box/combo_box.js +7 -5
  105. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  106. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  107. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  108. package/optimize/es/components/combo_box/utils.js +23 -0
  109. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  110. package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
  111. package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
  112. package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
  113. package/optimize/es/components/datagrid/data_grid.js +3 -3
  114. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  115. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  116. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  117. package/optimize/es/components/i18n/i18n.js +1 -0
  118. package/optimize/es/components/popover/input_popover.js +1 -1
  119. package/optimize/es/components/popover/popover.js +10 -22
  120. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  121. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  122. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  123. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  124. package/optimize/es/components/toast/global_toast_list.js +1 -1
  125. package/optimize/es/global_styling/mixins/_states.js +4 -1
  126. package/optimize/es/services/color/eui_palettes.js +0 -6
  127. package/optimize/es/services/color/index.js +1 -1
  128. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  129. package/optimize/es/services/index.js +1 -2
  130. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  131. package/optimize/es/test/rtl/component_helpers.js +40 -1
  132. package/optimize/lib/components/accordion/accordion.js +5 -2
  133. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  134. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  135. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  136. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  137. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  138. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  139. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  140. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  141. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  142. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  143. package/optimize/lib/components/combo_box/utils.js +31 -0
  144. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  145. package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
  146. package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
  147. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
  148. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  149. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  150. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  151. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  152. package/optimize/lib/components/i18n/i18n.js +1 -0
  153. package/optimize/lib/components/popover/input_popover.js +1 -1
  154. package/optimize/lib/components/popover/popover.js +24 -35
  155. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  156. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  157. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  158. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  159. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  160. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  161. package/optimize/lib/services/color/eui_palettes.js +1 -8
  162. package/optimize/lib/services/color/index.js +0 -7
  163. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  164. package/optimize/lib/services/index.js +0 -15
  165. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  166. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  167. package/package.json +10 -10
  168. package/src/components/combo_box/_combo_box.scss +46 -14
  169. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  170. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  171. package/src/components/datagrid/_data_grid_data_row.scss +1 -2
  172. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  173. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  174. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  175. package/src/global_styling/variables/_typography.scss +2 -2
  176. package/test-env/components/accordion/accordion.js +13 -2
  177. package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
  178. package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
  179. package/test-env/components/button/button_display/_button_display.js +1 -1
  180. package/test-env/components/button/button_group/button_group.js +7 -9
  181. package/test-env/components/button/button_group/button_group_button.js +8 -51
  182. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  183. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  184. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  185. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
  186. package/test-env/components/combo_box/combo_box.js +7 -5
  187. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  188. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  189. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  190. package/test-env/components/combo_box/utils.js +31 -0
  191. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  192. package/test-env/components/datagrid/controls/column_selector.js +5 -6
  193. package/test-env/components/datagrid/controls/column_sorting.js +5 -8
  194. package/test-env/components/datagrid/controls/display_selector.js +21 -16
  195. package/test-env/components/datagrid/data_grid.js +2 -863
  196. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  197. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  198. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  199. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  200. package/test-env/components/facet/facet_button.js +1 -1
  201. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  202. package/test-env/components/i18n/i18n.js +1 -0
  203. package/test-env/components/popover/input_popover.js +1 -1
  204. package/test-env/components/popover/popover.js +29 -35
  205. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  206. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  207. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  208. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  209. package/test-env/components/toast/global_toast_list.js +11 -1
  210. package/test-env/global_styling/mixins/_states.js +4 -1
  211. package/test-env/services/color/eui_palettes.js +1 -8
  212. package/test-env/services/color/index.js +0 -7
  213. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  214. package/test-env/services/index.js +0 -15
  215. package/test-env/test/rtl/component_helpers.js +41 -3
  216. package/es/services/random.js +0 -94
  217. package/es/services/utils.js +0 -25
  218. package/es/test/patch_random.js +0 -18
  219. package/lib/services/random.js +0 -100
  220. package/lib/services/utils.js +0 -35
  221. package/lib/test/patch_random.js +0 -25
  222. package/optimize/es/services/random.js +0 -85
  223. package/optimize/es/services/utils.js +0 -25
  224. package/optimize/es/test/patch_random.js +0 -18
  225. package/optimize/lib/services/random.js +0 -91
  226. package/optimize/lib/services/utils.js +0 -35
  227. package/optimize/lib/test/patch_random.js +0 -25
  228. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  229. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  230. package/test-env/services/random.js +0 -91
  231. package/test-env/services/utils.js +0 -35
  232. package/test-env/test/patch_random.js +0 -25
@@ -56,9 +56,6 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
56
56
  'euiButtonGroup-isDisabled': isDisabled
57
57
  }, className);
58
58
  var typeIsSingle = type === 'single';
59
- var nameIfSingle = (0, _services.useGeneratedHtmlId)({
60
- conditionalId: name
61
- });
62
59
  return (0, _react2.jsx)("fieldset", (0, _extends2.default)({
63
60
  css: wrapperCssStyles,
64
61
  className: classes
@@ -70,15 +67,17 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
70
67
  }, options.map(function (option, index) {
71
68
  return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, (0, _extends2.default)({
72
69
  key: index,
73
- name: nameIfSingle,
74
70
  isDisabled: isDisabled
75
71
  }, option, {
76
- element: typeIsSingle ? 'label' : 'button',
72
+ onClick: typeIsSingle ? function () {
73
+ return onChange(option.id, option.value);
74
+ } : function () {
75
+ return onChange(option.id);
76
+ },
77
77
  isSelected: typeIsSingle ? option.id === idSelected : idToSelectedMap[option.id],
78
78
  color: color,
79
79
  size: buttonSize,
80
- isIconOnly: isIconOnly,
81
- onChange: onChange
80
+ isIconOnly: isIconOnly
82
81
  }));
83
82
  })));
84
83
  };
@@ -169,8 +168,7 @@ EuiButtonGroup.propTypes = {
169
168
  css: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.any])
170
169
  }).isRequired).isRequired,
171
170
  /**
172
- * The `name` attribute for radio inputs;
173
- * Defaults to a random string
171
+ * @deprecated No longer needed. You can safely remove this prop entirely
174
172
  */
175
173
  name: _propTypes.default.string,
176
174
  /**
@@ -17,7 +17,7 @@ var _inner_text = require("../../inner_text");
17
17
  var _button_display = require("../button_display/_button_display");
18
18
  var _button_group_button = require("./button_group_button.styles");
19
19
  var _react2 = require("@emotion/react");
20
- var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "name", "onChange", "size", "value", "color", "element", "type"];
20
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
21
21
  /*
22
22
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
23
  * or more contributor license agreements. Licensed under the Elastic License
@@ -33,44 +33,11 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
33
33
  _ref$isSelected = _ref.isSelected,
34
34
  isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
35
35
  label = _ref.label,
36
- name = _ref.name,
37
- _onChange = _ref.onChange,
38
- size = _ref.size,
39
36
  value = _ref.value,
37
+ size = _ref.size,
40
38
  _ref$color = _ref.color,
41
39
  _color = _ref$color === void 0 ? 'primary' : _ref$color,
42
- _ref$element = _ref.element,
43
- _element = _ref$element === void 0 ? 'button' : _ref$element,
44
- _ref$type = _ref.type,
45
- type = _ref$type === void 0 ? 'button' : _ref$type,
46
40
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
47
- // Force element to be a button if disabled
48
- var element = isDisabled ? 'button' : _element;
49
- var elementProps = {};
50
- var singleInput;
51
- if (element === 'label') {
52
- singleInput = (0, _react2.jsx)("input", {
53
- className: "euiScreenReaderOnly",
54
- name: name,
55
- checked: isSelected,
56
- disabled: isDisabled,
57
- value: value,
58
- type: "radio",
59
- onChange: function onChange() {
60
- return _onChange(id, value);
61
- },
62
- "data-test-subj": id
63
- });
64
- } else {
65
- elementProps = {
66
- 'data-test-subj': id,
67
- isSelected: isSelected,
68
- type: type,
69
- onClick: function onClick() {
70
- return _onChange(id);
71
- }
72
- };
73
- }
74
41
  var isCompressed = size === 'compressed';
75
42
  var color = isDisabled ? 'disabled' : _color;
76
43
  var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
@@ -100,7 +67,6 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
100
67
  return (0, _react2.jsx)(_button_display.EuiButtonDisplay, (0, _extends2.default)({
101
68
  css: cssStyles,
102
69
  className: buttonClasses,
103
- element: element,
104
70
  isDisabled: isDisabled,
105
71
  size: size === 'compressed' ? 's' : size,
106
72
  contentProps: {
@@ -111,8 +77,10 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
111
77
  ref: buttonTextRef,
112
78
  'data-text': innerText
113
79
  },
114
- title: innerText
115
- }, elementProps, rest), singleInput, label);
80
+ title: innerText,
81
+ "data-test-subj": id,
82
+ isSelected: isSelected
83
+ }, rest), label);
116
84
  };
117
85
  exports.EuiButtonGroupButton = EuiButtonGroupButton;
118
86
  EuiButtonGroupButton.propTypes = {
@@ -125,13 +93,10 @@ EuiButtonGroupButton.propTypes = {
125
93
  */
126
94
  label: _propTypes.default.node.isRequired,
127
95
  isDisabled: _propTypes.default.bool,
128
- /**
129
- * The value of the radio input for 'single'.
130
- */
131
96
  /**
132
97
  * The value of the radio input.
133
98
  */
134
- value: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.string]),
99
+ value: _propTypes.default.any,
135
100
  /**
136
101
  * The type of the underlying HTML button
137
102
  */
@@ -161,18 +126,10 @@ EuiButtonGroupButton.propTypes = {
161
126
  "aria-label": _propTypes.default.string,
162
127
  "data-test-subj": _propTypes.default.string,
163
128
  css: _propTypes.default.any,
164
- /**
165
- * Element to display based on single or multi
166
- */
167
- element: _propTypes.default.oneOf(["button", "label"]).isRequired,
168
129
  /**
169
130
  * Styles the selected button to look selected (usually with `fill`)
170
131
  */
171
132
  isSelected: _propTypes.default.bool,
172
- /**
173
- * Name of the whole group for 'single'.
174
- */
175
- name: _propTypes.default.string,
176
133
  /**
177
134
  * Inherit from EuiButtonGroup
178
135
  */
@@ -188,5 +145,5 @@ EuiButtonGroupButton.propTypes = {
188
145
  /**
189
146
  * Inherit from EuiButtonGroup
190
147
  */
191
- onChange: _propTypes.default.func.isRequired
148
+ onClick: _propTypes.default.func.isRequired
192
149
  };
@@ -56,25 +56,15 @@ var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeCon
56
56
  }
57
57
  };
58
58
  };
59
-
60
- /**
61
- * Focus utilities - made complex by the two different button styles
62
- * and the fact that `label`/`input` combos need :focus-within,
63
- * but `button` does not
64
- */
65
59
  exports.euiButtonGroupButtonStyles = euiButtonGroupButtonStyles;
66
- var _outlineSelectors = function _outlineSelectors(outlineCss) {
67
- return /*#__PURE__*/(0, _react.css)("&:is(button){&:focus-visible{", outlineCss, ";}}&:is(label){&:focus-within{", outlineCss, ";}@supports selector(:has(*)){/* Once all evergreen browsers support :has, we can remove\n @supports and the outline: none reset just use this selector */&:focus-within{outline:none;}&:has(:focus-visible){", outlineCss, ";}}}");
68
- };
69
60
  var _compressedButtonFocusColor = function _compressedButtonFocusColor(euiThemeContext, color) {
70
- var euiTheme = euiThemeContext.euiTheme;
71
61
  var _euiButtonFillColor = (0, _button.euiButtonFillColor)(euiThemeContext, color),
72
62
  backgroundColor = _euiButtonFillColor.backgroundColor;
73
- return _outlineSelectors("outline: ".concat(euiTheme.focus.width, " solid ").concat(backgroundColor, ";"));
63
+ return /*#__PURE__*/(0, _react.css)("&:focus-visible{", (0, _global_styling.euiOutline)(euiThemeContext, 'center', backgroundColor), " &:is(.euiButtonGroupButton-isSelected){outline-offset:0;}}");
74
64
  };
75
65
  exports._compressedButtonFocusColor = _compressedButtonFocusColor;
76
66
  var _uncompressedButtonFocus = function _uncompressedButtonFocus(euiThemeContext) {
77
67
  var euiTheme = euiThemeContext.euiTheme;
78
- return _outlineSelectors((0, _global_styling.euiOutline)(euiThemeContext, 'inset', euiTheme.colors.fullShade));
68
+ return /*#__PURE__*/(0, _react.css)("&:focus-visible{", (0, _global_styling.euiOutline)(euiThemeContext, 'inset', euiTheme.colors.fullShade), ";}");
79
69
  };
80
70
  exports._uncompressedButtonFocus = _uncompressedButtonFocus;
@@ -193,6 +193,14 @@ EuiCollapsibleNavGroup.propTypes = {
193
193
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
194
194
  */
195
195
  element: _propTypes.default.oneOf(["div", "fieldset"]),
196
+ /**
197
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
198
+ *
199
+ * If your accordion contains significant enough content to be a document
200
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
201
+ * @default group
202
+ */
203
+ role: _propTypes.default.any,
196
204
  /**
197
205
  * Class that will apply to the trigger for the accordion.
198
206
  */
@@ -43,17 +43,22 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
43
43
  var euiTheme = (0, _services.useEuiTheme)();
44
44
  var styles = (0, _collapsible_nav_group.euiCollapsibleNavGroupStyles)(euiTheme);
45
45
  var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
46
+ var labelledById = (0, _services.useGeneratedHtmlId)();
46
47
  return (0, _react2.jsx)("div", (0, _extends2.default)({}, wrapperProps, {
47
48
  className: classes,
48
49
  css: cssStyles
49
50
  }), isCollapsed && isPush ? (0, _react2.jsx)(_collapsed_nav_popover.EuiCollapsedNavPopover, (0, _extends2.default)({
50
51
  className: classes,
51
52
  items: items
52
- }, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, (0, _extends2.default)({}, props, {
53
+ }, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, (0, _extends2.default)({
54
+ id: labelledById
55
+ }, props, {
53
56
  css: styles.euiCollapsibleNavGroup__title
54
57
  })), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
55
58
  items: items,
56
- isGroup: true
59
+ isGroup: true,
60
+ role: "group",
61
+ "aria-labelledby": props.id || labelledById
57
62
  })));
58
63
  };
59
64
  exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
@@ -51,10 +51,12 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
51
51
  }
52
52
  } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
53
53
 
54
+ var labelledById = (0, _services.useGeneratedHtmlId)();
54
55
  return (0, _react2.jsx)("div", (0, _extends2.default)({
55
56
  className: classes
56
57
  }, cssStyles, rest), (0, _react2.jsx)(_collapsible_nav_link.EuiCollapsibleNavLink, (0, _extends2.default)({
57
- href: href
58
+ href: href,
59
+ id: labelledById
58
60
  }, linkProps, {
59
61
  isSelected: isSelected,
60
62
  isSubItem: isSubItem,
@@ -62,7 +64,9 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
62
64
  }), header), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
63
65
  items: items,
64
66
  isSubItem: isSubItem,
65
- className: "euiCollapsibleNavGroup__children"
67
+ className: "euiCollapsibleNavGroup__children",
68
+ role: "group",
69
+ "aria-labelledby": (linkProps === null || linkProps === void 0 ? void 0 : linkProps.id) || labelledById
66
70
  }));
67
71
  };
68
72
  exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
@@ -411,14 +411,16 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
411
411
  var _this$props10 = _this.props,
412
412
  onSearchChange = _this$props10.onSearchChange,
413
413
  delimiter = _this$props10.delimiter;
414
- if (onSearchChange) {
415
- var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
416
- onSearchChange(searchValue, _hasMatchingOptions);
417
- }
418
414
  _this.setState({
419
415
  searchValue: searchValue
420
416
  }, function () {
421
- if (searchValue && _this.state.isListOpen === false) _this.openList();
417
+ if (searchValue && _this.state.isListOpen === false) {
418
+ _this.openList();
419
+ }
420
+ if (onSearchChange) {
421
+ var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
422
+ onSearchChange(searchValue, _hasMatchingOptions);
423
+ }
422
424
  });
423
425
  if (delimiter && searchValue.endsWith(delimiter)) {
424
426
  _this.setCustomOptions(false);
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.EuiComboBoxInput = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -23,6 +23,7 @@ var _services = require("../../../services");
23
23
  var _accessibility = require("../../accessibility");
24
24
  var _form_control_layout = require("../../form/form_control_layout");
25
25
  var _num_icons = require("../../form/form_control_layout/_num_icons");
26
+ var _utils = require("../utils");
26
27
  var _combo_box_pill = require("./combo_box_pill");
27
28
  var _react2 = require("@emotion/react");
28
29
  var _excluded = ["key", "label", "color", "onClick", "append", "prepend", "truncationProps"];
@@ -60,6 +61,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
60
61
  });
61
62
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateInputSize", function (inputValue) {
62
63
  if (!_this.widthUtils) return;
64
+ if (_this.asPlainText) return;
63
65
  _this.widthUtils.setTextToCheck(inputValue);
64
66
  // Canvas has minute subpixel differences in rendering compared to DOM
65
67
  // We'll buffer the input by ~2px just to ensure sufficient width
@@ -85,65 +87,42 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
85
87
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onKeyDown", function (event) {
86
88
  var _this$props2 = _this.props,
87
89
  searchValue = _this$props2.searchValue,
90
+ hasSelectedOptions = _this$props2.hasSelectedOptions,
88
91
  selectedOptions = _this$props2.selectedOptions,
89
92
  onRemoveOption = _this$props2.onRemoveOption,
90
93
  singleSelection = _this$props2.singleSelection,
91
94
  isListOpen = _this$props2.isListOpen,
92
- onOpenListClick = _this$props2.onOpenListClick;
93
-
94
- // When backspacing from an empty input, delete the last pill option in the list
95
+ onOpenListClick = _this$props2.onOpenListClick,
96
+ onChange = _this$props2.onChange;
95
97
  var searchIsEmpty = !searchValue.length;
96
- var hasPills = selectedOptions.length;
97
- if (event.key === _services.keys.BACKSPACE && searchIsEmpty && hasPills) {
98
- onRemoveOption(selectedOptions[selectedOptions.length - 1]);
99
- if (!!singleSelection && !isListOpen) {
100
- onOpenListClick();
98
+ if (event.key === _services.keys.BACKSPACE) {
99
+ // When backspacing in a plain text combobox, change normally and remove the selection
100
+ if (_this.asPlainText) {
101
+ onChange(event.currentTarget.value);
102
+ if (hasSelectedOptions) {
103
+ onRemoveOption(selectedOptions[selectedOptions.length - 1]);
104
+ }
105
+ }
106
+ // When backspacing from an empty input, delete the last pill option in the list
107
+ else if (searchIsEmpty && hasSelectedOptions) {
108
+ onRemoveOption(selectedOptions[selectedOptions.length - 1]);
109
+ if (!!singleSelection && !isListOpen) {
110
+ onOpenListClick();
111
+ }
101
112
  }
102
113
  }
103
114
  });
104
- return _this;
105
- }
106
- (0, _createClass2.default)(EuiComboBoxInput, [{
107
- key: "componentDidUpdate",
108
- value: function componentDidUpdate(prevProps) {
109
- if (prevProps.searchValue !== this.props.searchValue) {
110
- this.updateInputSize(this.props.searchValue);
111
- }
112
- }
113
- }, {
114
- key: "render",
115
- value: function render() {
116
- var _this$props3 = this.props,
117
- compressed = _this$props3.compressed,
118
- focusedOptionId = _this$props3.focusedOptionId,
119
- fullWidth = _this$props3.fullWidth,
120
- hasSelectedOptions = _this$props3.hasSelectedOptions,
121
- id = _this$props3.id,
122
- isDisabled = _this$props3.isDisabled,
123
- isListOpen = _this$props3.isListOpen,
124
- noIcon = _this$props3.noIcon,
125
- _onChange = _this$props3.onChange,
126
- onClear = _this$props3.onClear,
127
- onClick = _this$props3.onClick,
128
- onCloseListClick = _this$props3.onCloseListClick,
129
- onOpenListClick = _this$props3.onOpenListClick,
130
- onRemoveOption = _this$props3.onRemoveOption,
131
- placeholder = _this$props3.placeholder,
132
- rootId = _this$props3.rootId,
133
- searchValue = _this$props3.searchValue,
115
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderPills", function () {
116
+ // Don't render a pill for plain text comboboxes - use the input instead
117
+ if (_this.asPlainText) return null;
118
+ // Don't render the single pill selection while searching
119
+ if (_this.props.singleSelection && _this.props.searchValue) return null;
120
+ var _this$props3 = _this.props,
134
121
  selectedOptions = _this$props3.selectedOptions,
135
- singleSelectionProp = _this$props3.singleSelection,
136
- value = _this$props3.value,
137
- prepend = _this$props3.prepend,
138
- append = _this$props3.append,
139
- isLoading = _this$props3.isLoading,
140
- isInvalid = _this$props3.isInvalid,
141
- autoFocus = _this$props3.autoFocus,
142
- ariaLabel = _this$props3['aria-label'],
143
- ariaLabelledby = _this$props3['aria-labelledby'];
144
- var singleSelection = Boolean(singleSelectionProp);
145
- var asPlainText = singleSelectionProp && (0, _typeof2.default)(singleSelectionProp) === 'object' && singleSelectionProp.asPlainText || false;
146
- var pills = selectedOptions ? selectedOptions.map(function (option) {
122
+ isDisabled = _this$props3.isDisabled,
123
+ onRemoveOption = _this$props3.onRemoveOption;
124
+ if (!selectedOptions || !selectedOptions.length) return null;
125
+ return selectedOptions.map(function (option) {
147
126
  var key = option.key,
148
127
  label = option.label,
149
128
  color = option.color,
@@ -152,17 +131,77 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
152
131
  prepend = option.prepend,
153
132
  truncationProps = option.truncationProps,
154
133
  rest = (0, _objectWithoutProperties2.default)(option, _excluded);
155
- var pillOnClose = isDisabled || singleSelection || onClick ? undefined : onRemoveOption;
134
+ var pillOnClose = isDisabled || _this.props.singleSelection || onClick ? undefined : onRemoveOption;
156
135
  return (0, _react2.jsx)(_combo_box_pill.EuiComboBoxPill, (0, _extends2.default)({
157
136
  option: option,
158
137
  onClose: pillOnClose,
159
138
  key: key !== null && key !== void 0 ? key : label.toLowerCase(),
160
139
  color: color,
161
140
  onClick: onClick,
162
- onClickAriaLabel: onClick ? 'Change' : undefined,
163
- asPlainText: asPlainText
141
+ onClickAriaLabel: onClick ? 'Change' : undefined
164
142
  }, rest), label);
165
- }) : null;
143
+ });
144
+ });
145
+ return _this;
146
+ }
147
+ (0, _createClass2.default)(EuiComboBoxInput, [{
148
+ key: "componentDidUpdate",
149
+ value: function componentDidUpdate(prevProps) {
150
+ if (prevProps.searchValue !== this.props.searchValue) {
151
+ this.updateInputSize(this.props.searchValue);
152
+ }
153
+ }
154
+ }, {
155
+ key: "asPlainText",
156
+ get: function get() {
157
+ var singleSelection = this.props.singleSelection;
158
+ var isSingleSelectionConfig = singleSelection && (0, _typeof2.default)(singleSelection) === 'object';
159
+ return !!(isSingleSelectionConfig && singleSelection.asPlainText);
160
+ }
161
+ }, {
162
+ key: "searchValue",
163
+ get: function get() {
164
+ var _this$props4 = this.props,
165
+ searchValue = _this$props4.searchValue,
166
+ selectedOptions = _this$props4.selectedOptions;
167
+ if (this.asPlainText) {
168
+ var _selectedOptions$;
169
+ return searchValue || (selectedOptions === null || selectedOptions === void 0 ? void 0 : (_selectedOptions$ = selectedOptions[0]) === null || _selectedOptions$ === void 0 ? void 0 : _selectedOptions$.label) || '';
170
+ } else {
171
+ return searchValue;
172
+ }
173
+ }
174
+ }, {
175
+ key: "render",
176
+ value: function render() {
177
+ var _this$props5 = this.props,
178
+ compressed = _this$props5.compressed,
179
+ focusedOptionId = _this$props5.focusedOptionId,
180
+ fullWidth = _this$props5.fullWidth,
181
+ hasSelectedOptions = _this$props5.hasSelectedOptions,
182
+ id = _this$props5.id,
183
+ isDisabled = _this$props5.isDisabled,
184
+ isListOpen = _this$props5.isListOpen,
185
+ noIcon = _this$props5.noIcon,
186
+ _onChange = _this$props5.onChange,
187
+ onClear = _this$props5.onClear,
188
+ onClick = _this$props5.onClick,
189
+ onFocus = _this$props5.onFocus,
190
+ onCloseListClick = _this$props5.onCloseListClick,
191
+ onOpenListClick = _this$props5.onOpenListClick,
192
+ placeholder = _this$props5.placeholder,
193
+ rootId = _this$props5.rootId,
194
+ searchValue = _this$props5.searchValue,
195
+ selectedOptions = _this$props5.selectedOptions,
196
+ singleSelection = _this$props5.singleSelection,
197
+ value = _this$props5.value,
198
+ prepend = _this$props5.prepend,
199
+ append = _this$props5.append,
200
+ isLoading = _this$props5.isLoading,
201
+ isInvalid = _this$props5.isInvalid,
202
+ autoFocus = _this$props5.autoFocus,
203
+ ariaLabel = _this$props5['aria-label'],
204
+ ariaLabelledby = _this$props5['aria-labelledby'];
166
205
  var removeOptionMessage;
167
206
  var removeOptionMessageId;
168
207
  if (this.state.hasFocus) {
@@ -179,12 +218,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
179
218
  id: removeOptionMessageId
180
219
  }, removeOptionMessageContent));
181
220
  }
182
- var placeholderMessage;
183
- if (placeholder && selectedOptions && !selectedOptions.length && !searchValue) {
184
- placeholderMessage = (0, _react2.jsx)("p", {
185
- className: "euiComboBoxPlaceholder"
186
- }, placeholder);
187
- }
221
+ var showPlaceholder = placeholder && !(selectedOptions !== null && selectedOptions !== void 0 && selectedOptions.length) && !searchValue;
188
222
  var clickProps = {};
189
223
  if (!isDisabled && onClear && hasSelectedOptions) {
190
224
  clickProps.clear = {
@@ -214,6 +248,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
214
248
  'euiComboBox__inputWrap--compressed': compressed,
215
249
  'euiComboBox__inputWrap--fullWidth': fullWidth,
216
250
  'euiComboBox__inputWrap--noWrap': singleSelection,
251
+ 'euiComboBox__inputWrap--plainText': this.asPlainText || showPlaceholder,
217
252
  'euiComboBox__inputWrap--inGroup': prepend || append
218
253
  });
219
254
  return (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, (0, _extends2.default)({
@@ -231,7 +266,10 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
231
266
  "data-test-subj": "comboBoxInput",
232
267
  onClick: onClick,
233
268
  tabIndex: -1 // becomes onBlur event's relatedTarget, otherwise relatedTarget is null when clicking on this div
234
- }, !singleSelection || !searchValue ? pills : null, placeholderMessage, (0, _react2.jsx)("input", {
269
+ }, this.renderPills(), (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
270
+ option: this.asPlainText ? selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0] : undefined,
271
+ classNamePrefix: "euiComboBoxPlainTextSelection"
272
+ }, (0, _react2.jsx)("input", {
235
273
  "aria-activedescendant": focusedOptionId,
236
274
  "aria-autocomplete": "list",
237
275
  "aria-controls": isListOpen ? rootId('listbox') : '',
@@ -252,11 +290,15 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
252
290
  ref: this.inputRefCallback,
253
291
  role: "combobox",
254
292
  style: {
255
- inlineSize: this.state.inputWidth
293
+ inlineSize: this.asPlainText || showPlaceholder ? '100%' : this.state.inputWidth
256
294
  },
257
- value: searchValue,
295
+ placeholder: showPlaceholder ? placeholder : undefined,
296
+ value: this.searchValue,
258
297
  autoFocus: autoFocus
259
- }), removeOptionMessage));
298
+ // Force the menu to re-open on every input click - only necessary when plain text
299
+ ,
300
+ onClick: this.asPlainText ? onFocus : undefined // Type shenanigans - event should be mostly the same
301
+ })), removeOptionMessage));
260
302
  }
261
303
  }]);
262
304
  return EuiComboBoxInput;
@@ -20,8 +20,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
21
  var _badge = require("../../badge");
22
22
  var _i18n = require("../../i18n");
23
+ var _utils = require("../utils");
23
24
  var _react2 = require("@emotion/react");
24
- var _excluded = ["asPlainText", "children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
25
+ var _excluded = ["children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
25
26
  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); }
26
27
  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; }
27
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -57,7 +58,6 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
57
58
  value: function render() {
58
59
  var _this2 = this;
59
60
  var _this$props2 = this.props,
60
- asPlainText = _this$props2.asPlainText,
61
61
  children = _this$props2.children,
62
62
  className = _this$props2.className,
63
63
  color = _this$props2.color,
@@ -66,20 +66,17 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
66
66
  onClose = _this$props2.onClose,
67
67
  option = _this$props2.option,
68
68
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
69
- var classes = (0, _classnames.default)('euiComboBoxPill', {
70
- 'euiComboBoxPill--plainText': asPlainText
71
- }, className);
69
+ var classes = (0, _classnames.default)('euiComboBoxPill', className);
72
70
  var onClickProps = onClick && onClickAriaLabel ? {
73
71
  onClick: onClick,
74
72
  onClickAriaLabel: onClickAriaLabel
75
73
  } : {};
76
- var content = (0, _react2.jsx)(_react.default.Fragment, null, option.prepend && (0, _react2.jsx)("span", {
77
- className: "euiComboBoxPill__prepend"
78
- }, option.prepend), (0, _react2.jsx)("span", {
74
+ var content = (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
75
+ option: option,
76
+ classNamePrefix: "euiComboBoxPill"
77
+ }, (0, _react2.jsx)("span", {
79
78
  className: "eui-textTruncate"
80
- }, children), option.append && (0, _react2.jsx)("span", {
81
- className: "euiComboBoxPill__append"
82
- }, option.append));
79
+ }, children));
83
80
  if (onClose) {
84
81
  return (0, _react2.jsx)(_i18n.EuiI18n, {
85
82
  token: "euiComboBoxPill.removeSelection",
@@ -100,12 +97,6 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
100
97
  }, onClickProps, rest), content);
101
98
  });
102
99
  }
103
- if (asPlainText) {
104
- return (0, _react2.jsx)("span", (0, _extends2.default)({
105
- className: classes,
106
- "data-test-subj": "euiComboBoxPill"
107
- }, rest), content);
108
- }
109
100
  return (0, _react2.jsx)(_badge.EuiBadge, (0, _extends2.default)({
110
101
  className: classes,
111
102
  color: color,
@@ -121,7 +112,6 @@ exports.EuiComboBoxPill = EuiComboBoxPill;
121
112
  color: 'hollow'
122
113
  });
123
114
  EuiComboBoxPill.propTypes = {
124
- asPlainText: _propTypes.default.bool,
125
115
  children: _propTypes.default.string,
126
116
  className: _propTypes.default.string,
127
117
  color: _propTypes.default.string,
@@ -30,6 +30,7 @@ var _filter_select_item = require("../../filter_group/filter_select_item");
30
30
  var _badge = require("../../badge");
31
31
  var _text_truncate = require("../../text_truncate");
32
32
  var _input_popover = require("../../popover/input_popover");
33
+ var _utils = require("../utils");
33
34
  var _react2 = require("@emotion/react");
34
35
  var _excluded = ["children"],
35
36
  _excluded2 = ["key", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps"],
@@ -128,13 +129,12 @@ var EuiComboBoxOptionsList = /*#__PURE__*/function (_Component) {
128
129
  title: label
129
130
  }, rest), (0, _react2.jsx)("span", {
130
131
  className: "euiComboBoxOption__contentWrapper"
131
- }, prepend && (0, _react2.jsx)("span", {
132
- className: "euiComboBoxOption__prepend"
133
- }, prepend), (0, _react2.jsx)("span", {
132
+ }, (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
133
+ option: option,
134
+ classNamePrefix: "euiComboBoxOption"
135
+ }, (0, _react2.jsx)("span", {
134
136
  className: "euiComboBoxOption__content"
135
- }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps)), append && (0, _react2.jsx)("span", {
136
- className: "euiComboBoxOption__append"
137
- }, append), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
137
+ }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
138
138
  });
139
139
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "optionWidth", void 0);
140
140
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setOptionWidth", function (width) {
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiComboBoxOptionAppendPrepend = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@emotion/react");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ /**
19
+ * DRY util for rendering an option with its prepend and append properties
20
+ */
21
+ var EuiComboBoxOptionAppendPrepend = function EuiComboBoxOptionAppendPrepend(_ref) {
22
+ var children = _ref.children,
23
+ option = _ref.option,
24
+ classNamePrefix = _ref.classNamePrefix;
25
+ return (0, _react2.jsx)(_react.default.Fragment, null, (option === null || option === void 0 ? void 0 : option.prepend) && (0, _react2.jsx)("span", {
26
+ className: "".concat(classNamePrefix, "__prepend")
27
+ }, option.prepend), children, (option === null || option === void 0 ? void 0 : option.append) && (0, _react2.jsx)("span", {
28
+ className: "".concat(classNamePrefix, "__append")
29
+ }, option.append));
30
+ };
31
+ exports.EuiComboBoxOptionAppendPrepend = EuiComboBoxOptionAppendPrepend;