@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
@@ -13,7 +13,7 @@ var _accordion_trigger = require("./accordion_trigger");
13
13
  var _accordion_children = require("./accordion_children");
14
14
  var _accordion = require("./accordion.styles");
15
15
  var _react2 = require("@emotion/react");
16
- var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
16
+ var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  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); }
19
19
  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; }
@@ -111,6 +111,7 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
111
111
  children = _this$props3.children,
112
112
  className = _this$props3.className,
113
113
  id = _this$props3.id,
114
+ role = _this$props3.role,
114
115
  _this$props3$element = _this$props3.element,
115
116
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
116
117
  buttonElement = _this$props3.buttonElement,
@@ -156,6 +157,7 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
156
157
  onToggle: this.onToggle,
157
158
  extraAction: isLoading ? (0, _react2.jsx)(_loading.EuiLoadingSpinner, null) : extraAction
158
159
  }), (0, _react2.jsx)(_accordion_children.EuiAccordionChildren, {
160
+ role: role,
159
161
  id: id,
160
162
  "aria-labelledby": buttonId,
161
163
  paddingSize: paddingSize,
@@ -178,7 +180,8 @@ _defineProperty(EuiAccordionClass, "defaultProps", {
178
180
  isDisabled: false,
179
181
  isLoadingMessage: false,
180
182
  element: 'div',
181
- buttonElement: 'button'
183
+ buttonElement: 'button',
184
+ role: 'group'
182
185
  });
183
186
  EuiAccordionClass.propTypes = {
184
187
  className: _propTypes.default.string,
@@ -191,6 +194,14 @@ EuiAccordionClass.propTypes = {
191
194
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
192
195
  */
193
196
  element: _propTypes.default.oneOf(["div", "fieldset"]),
197
+ /**
198
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
199
+ *
200
+ * If your accordion contains significant enough content to be a document
201
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
202
+ * @default group
203
+ */
204
+ role: _propTypes.default.any,
194
205
  /**
195
206
  * Class that will apply to the trigger for the accordion.
196
207
  */
@@ -13,7 +13,7 @@ var _resize_observer = require("../../observer/resize_observer");
13
13
  var _accordion_children_loading = require("./accordion_children_loading");
14
14
  var _accordion_children = require("./accordion_children.styles");
15
15
  var _react2 = require("@emotion/react");
16
- var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
16
+ var _excluded = ["role", "children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
17
17
  /*
18
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -34,7 +34,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
34
34
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
35
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
36
36
  var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
37
- var children = _ref.children,
37
+ var role = _ref.role,
38
+ children = _ref.children,
38
39
  accordionChildrenRef = _ref.accordionChildrenRef,
39
40
  paddingSize = _ref.paddingSize,
40
41
  isLoading = _ref.isLoading,
@@ -79,7 +80,7 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
79
80
  css: wrapperCssStyles,
80
81
  style: heightInlineStyle,
81
82
  ref: accordionChildrenRef,
82
- role: "region",
83
+ role: role,
83
84
  tabIndex: -1
84
85
  // @ts-expect-error - inert property not yet available in React TS defs. TODO: Remove this once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60822 is merged
85
86
  ,
@@ -188,6 +188,8 @@ EuiBreadcrumbContent.propTypes = {
188
188
  popoverProps: _propTypes.default.shape({
189
189
  /**
190
190
  * Class name passed to the direct parent of the button
191
+ *
192
+ * @deprecated Use `className` instead
191
193
  */
192
194
  anchorClassName: _propTypes.default.string,
193
195
  /**
@@ -199,6 +201,9 @@ EuiBreadcrumbContent.propTypes = {
199
201
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
200
202
  */
201
203
  attachToAnchor: _propTypes.default.bool,
204
+ /**
205
+ * @deprecated Use `popoverRef` instead
206
+ */
202
207
  buttonRef: _propTypes.default.any,
203
208
  /**
204
209
  * Restrict the popover's position within this element
@@ -267,11 +272,6 @@ EuiBreadcrumbContent.propTypes = {
267
272
  */
268
273
  grow: _propTypes.default.bool,
269
274
  panelRef: _propTypes.default.any,
270
- /**
271
- * Background color of the panel;
272
- * Usually a lightened form of the brand colors
273
- */
274
- color: _propTypes.default.any,
275
275
  className: _propTypes.default.string,
276
276
  "aria-label": _propTypes.default.string,
277
277
  "data-test-subj": _propTypes.default.string,
@@ -126,7 +126,7 @@ exports.EuiButtonDisplay = EuiButtonDisplay;
126
126
  EuiButtonDisplay.propTypes = {
127
127
  href: _propTypes.default.string,
128
128
  onClick: _propTypes.default.func,
129
- element: _propTypes.default.oneOf(["a", "button", "span", "label"]),
129
+ element: _propTypes.default.oneOf(["a", "button", "span"]),
130
130
  children: _propTypes.default.node,
131
131
  size: _propTypes.default.any,
132
132
  /**
@@ -57,9 +57,6 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
57
57
  'euiButtonGroup-isDisabled': isDisabled
58
58
  }, className);
59
59
  var typeIsSingle = type === 'single';
60
- var nameIfSingle = (0, _services.useGeneratedHtmlId)({
61
- conditionalId: name
62
- });
63
60
  return (0, _react2.jsx)("fieldset", _extends({
64
61
  css: wrapperCssStyles,
65
62
  className: classes
@@ -71,15 +68,17 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
71
68
  }, options.map(function (option, index) {
72
69
  return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, _extends({
73
70
  key: index,
74
- name: nameIfSingle,
75
71
  isDisabled: isDisabled
76
72
  }, option, {
77
- element: typeIsSingle ? 'label' : 'button',
73
+ onClick: typeIsSingle ? function () {
74
+ return onChange(option.id, option.value);
75
+ } : function () {
76
+ return onChange(option.id);
77
+ },
78
78
  isSelected: typeIsSingle ? option.id === idSelected : idToSelectedMap[option.id],
79
79
  color: color,
80
80
  size: buttonSize,
81
- isIconOnly: isIconOnly,
82
- onChange: onChange
81
+ isIconOnly: isIconOnly
83
82
  }));
84
83
  })));
85
84
  };
@@ -170,8 +169,7 @@ EuiButtonGroup.propTypes = {
170
169
  css: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.any])
171
170
  }).isRequired).isRequired,
172
171
  /**
173
- * The `name` attribute for radio inputs;
174
- * Defaults to a random string
172
+ * @deprecated No longer needed. You can safely remove this prop entirely
175
173
  */
176
174
  name: _propTypes.default.string,
177
175
  /**
@@ -13,7 +13,7 @@ var _inner_text = require("../../inner_text");
13
13
  var _button_display = require("../button_display/_button_display");
14
14
  var _button_group_button = require("./button_group_button.styles");
15
15
  var _react2 = require("@emotion/react");
16
- var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "name", "onChange", "size", "value", "color", "element", "type"];
16
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
17
17
  /*
18
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -39,44 +39,11 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
39
39
  _ref$isSelected = _ref.isSelected,
40
40
  isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
41
41
  label = _ref.label,
42
- name = _ref.name,
43
- _onChange = _ref.onChange,
44
- size = _ref.size,
45
42
  value = _ref.value,
43
+ size = _ref.size,
46
44
  _ref$color = _ref.color,
47
45
  _color = _ref$color === void 0 ? 'primary' : _ref$color,
48
- _ref$element = _ref.element,
49
- _element = _ref$element === void 0 ? 'button' : _ref$element,
50
- _ref$type = _ref.type,
51
- type = _ref$type === void 0 ? 'button' : _ref$type,
52
46
  rest = _objectWithoutProperties(_ref, _excluded);
53
- // Force element to be a button if disabled
54
- var element = isDisabled ? 'button' : _element;
55
- var elementProps = {};
56
- var singleInput;
57
- if (element === 'label') {
58
- singleInput = (0, _react2.jsx)("input", {
59
- className: "euiScreenReaderOnly",
60
- name: name,
61
- checked: isSelected,
62
- disabled: isDisabled,
63
- value: value,
64
- type: "radio",
65
- onChange: function onChange() {
66
- return _onChange(id, value);
67
- },
68
- "data-test-subj": id
69
- });
70
- } else {
71
- elementProps = {
72
- 'data-test-subj': id,
73
- isSelected: isSelected,
74
- type: type,
75
- onClick: function onClick() {
76
- return _onChange(id);
77
- }
78
- };
79
- }
80
47
  var isCompressed = size === 'compressed';
81
48
  var color = isDisabled ? 'disabled' : _color;
82
49
  var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
@@ -106,7 +73,6 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
106
73
  return (0, _react2.jsx)(_button_display.EuiButtonDisplay, _extends({
107
74
  css: cssStyles,
108
75
  className: buttonClasses,
109
- element: element,
110
76
  isDisabled: isDisabled,
111
77
  size: size === 'compressed' ? 's' : size,
112
78
  contentProps: {
@@ -117,8 +83,10 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
117
83
  ref: buttonTextRef,
118
84
  'data-text': innerText
119
85
  },
120
- title: innerText
121
- }, elementProps, rest), singleInput, label);
86
+ title: innerText,
87
+ "data-test-subj": id,
88
+ isSelected: isSelected
89
+ }, rest), label);
122
90
  };
123
91
  exports.EuiButtonGroupButton = EuiButtonGroupButton;
124
92
  EuiButtonGroupButton.propTypes = {
@@ -131,13 +99,10 @@ EuiButtonGroupButton.propTypes = {
131
99
  */
132
100
  label: _propTypes.default.node.isRequired,
133
101
  isDisabled: _propTypes.default.bool,
134
- /**
135
- * The value of the radio input for 'single'.
136
- */
137
102
  /**
138
103
  * The value of the radio input.
139
104
  */
140
- value: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.string]),
105
+ value: _propTypes.default.any,
141
106
  /**
142
107
  * The type of the underlying HTML button
143
108
  */
@@ -167,18 +132,10 @@ EuiButtonGroupButton.propTypes = {
167
132
  "aria-label": _propTypes.default.string,
168
133
  "data-test-subj": _propTypes.default.string,
169
134
  css: _propTypes.default.any,
170
- /**
171
- * Element to display based on single or multi
172
- */
173
- element: _propTypes.default.oneOf(["button", "label"]).isRequired,
174
135
  /**
175
136
  * Styles the selected button to look selected (usually with `fill`)
176
137
  */
177
138
  isSelected: _propTypes.default.bool,
178
- /**
179
- * Name of the whole group for 'single'.
180
- */
181
- name: _propTypes.default.string,
182
139
  /**
183
140
  * Inherit from EuiButtonGroup
184
141
  */
@@ -194,5 +151,5 @@ EuiButtonGroupButton.propTypes = {
194
151
  /**
195
152
  * Inherit from EuiButtonGroup
196
153
  */
197
- onChange: _propTypes.default.func.isRequired
154
+ onClick: _propTypes.default.func.isRequired
198
155
  };
@@ -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;
@@ -194,6 +194,14 @@ EuiCollapsibleNavGroup.propTypes = {
194
194
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
195
195
  */
196
196
  element: _propTypes.default.oneOf(["div", "fieldset"]),
197
+ /**
198
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
199
+ *
200
+ * If your accordion contains significant enough content to be a document
201
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
202
+ * @default group
203
+ */
204
+ role: _propTypes.default.any,
197
205
  /**
198
206
  * Class that will apply to the trigger for the accordion.
199
207
  */
@@ -44,17 +44,22 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
44
44
  var euiTheme = (0, _services.useEuiTheme)();
45
45
  var styles = (0, _collapsible_nav_group.euiCollapsibleNavGroupStyles)(euiTheme);
46
46
  var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
47
+ var labelledById = (0, _services.useGeneratedHtmlId)();
47
48
  return (0, _react2.jsx)("div", _extends({}, wrapperProps, {
48
49
  className: classes,
49
50
  css: cssStyles
50
51
  }), isCollapsed && isPush ? (0, _react2.jsx)(_collapsed_nav_popover.EuiCollapsedNavPopover, _extends({
51
52
  className: classes,
52
53
  items: items
53
- }, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, _extends({}, props, {
54
+ }, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, _extends({
55
+ id: labelledById
56
+ }, props, {
54
57
  css: styles.euiCollapsibleNavGroup__title
55
58
  })), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
56
59
  items: items,
57
- isGroup: true
60
+ isGroup: true,
61
+ role: "group",
62
+ "aria-labelledby": props.id || labelledById
58
63
  })));
59
64
  };
60
65
  exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
@@ -52,10 +52,12 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
52
52
  }
53
53
  } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
54
54
 
55
+ var labelledById = (0, _services.useGeneratedHtmlId)();
55
56
  return (0, _react2.jsx)("div", _extends({
56
57
  className: classes
57
58
  }, cssStyles, rest), (0, _react2.jsx)(_collapsible_nav_link.EuiCollapsibleNavLink, _extends({
58
- href: href
59
+ href: href,
60
+ id: labelledById
59
61
  }, linkProps, {
60
62
  isSelected: isSelected,
61
63
  isSubItem: isSubItem,
@@ -63,7 +65,9 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
63
65
  }), header), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
64
66
  items: items,
65
67
  isSubItem: isSubItem,
66
- className: "euiCollapsibleNavGroup__children"
68
+ className: "euiCollapsibleNavGroup__children",
69
+ role: "group",
70
+ "aria-labelledby": (linkProps === null || linkProps === void 0 ? void 0 : linkProps.id) || labelledById
67
71
  }));
68
72
  };
69
73
  exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
@@ -416,14 +416,16 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
416
416
  var _this$props10 = _this.props,
417
417
  onSearchChange = _this$props10.onSearchChange,
418
418
  delimiter = _this$props10.delimiter;
419
- if (onSearchChange) {
420
- var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
421
- onSearchChange(searchValue, _hasMatchingOptions);
422
- }
423
419
  _this.setState({
424
420
  searchValue: searchValue
425
421
  }, function () {
426
- if (searchValue && _this.state.isListOpen === false) _this.openList();
422
+ if (searchValue && _this.state.isListOpen === false) {
423
+ _this.openList();
424
+ }
425
+ if (onSearchChange) {
426
+ var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
427
+ onSearchChange(searchValue, _hasMatchingOptions);
428
+ }
427
429
  });
428
430
  if (delimiter && searchValue.endsWith(delimiter)) {
429
431
  _this.setCustomOptions(false);