@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
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
1
+ var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
2
2
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  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; }
@@ -103,6 +103,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
103
103
  children = _this$props3.children,
104
104
  className = _this$props3.className,
105
105
  id = _this$props3.id,
106
+ role = _this$props3.role,
106
107
  _this$props3$element = _this$props3.element,
107
108
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
108
109
  buttonElement = _this$props3.buttonElement,
@@ -148,6 +149,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
148
149
  onToggle: this.onToggle,
149
150
  extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
150
151
  }), ___EmotionJSX(EuiAccordionChildren, {
152
+ role: role,
151
153
  id: id,
152
154
  "aria-labelledby": buttonId,
153
155
  paddingSize: paddingSize,
@@ -169,7 +171,8 @@ _defineProperty(EuiAccordionClass, "defaultProps", {
169
171
  isDisabled: false,
170
172
  isLoadingMessage: false,
171
173
  element: 'div',
172
- buttonElement: 'button'
174
+ buttonElement: 'button',
175
+ role: 'group'
173
176
  });
174
177
  EuiAccordionClass.propTypes = {
175
178
  className: PropTypes.string,
@@ -182,6 +185,14 @@ EuiAccordionClass.propTypes = {
182
185
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
183
186
  */
184
187
  element: PropTypes.oneOf(["div", "fieldset"]),
188
+ /**
189
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
190
+ *
191
+ * If your accordion contains significant enough content to be a document
192
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
193
+ * @default group
194
+ */
195
+ role: PropTypes.any,
185
196
  /**
186
197
  * Class that will apply to the trigger for the accordion.
187
198
  */
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
1
+ var _excluded = ["role", "children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -25,7 +25,8 @@ import { EuiAccordionChildrenLoading } from './accordion_children_loading';
25
25
  import { euiAccordionChildrenStyles, euiAccordionChildWrapperStyles } from './accordion_children.styles';
26
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
27
27
  export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
28
- var children = _ref.children,
28
+ var role = _ref.role,
29
+ children = _ref.children,
29
30
  accordionChildrenRef = _ref.accordionChildrenRef,
30
31
  paddingSize = _ref.paddingSize,
31
32
  isLoading = _ref.isLoading,
@@ -70,7 +71,7 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
70
71
  css: wrapperCssStyles,
71
72
  style: heightInlineStyle,
72
73
  ref: accordionChildrenRef,
73
- role: "region",
74
+ role: role,
74
75
  tabIndex: -1
75
76
  // @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
76
77
  ,
@@ -178,6 +178,8 @@ EuiBreadcrumbContent.propTypes = {
178
178
  popoverProps: PropTypes.shape({
179
179
  /**
180
180
  * Class name passed to the direct parent of the button
181
+ *
182
+ * @deprecated Use `className` instead
181
183
  */
182
184
  anchorClassName: PropTypes.string,
183
185
  /**
@@ -189,6 +191,9 @@ EuiBreadcrumbContent.propTypes = {
189
191
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
190
192
  */
191
193
  attachToAnchor: PropTypes.bool,
194
+ /**
195
+ * @deprecated Use `popoverRef` instead
196
+ */
192
197
  buttonRef: PropTypes.any,
193
198
  /**
194
199
  * Restrict the popover's position within this element
@@ -257,11 +262,6 @@ EuiBreadcrumbContent.propTypes = {
257
262
  */
258
263
  grow: PropTypes.bool,
259
264
  panelRef: PropTypes.any,
260
- /**
261
- * Background color of the panel;
262
- * Usually a lightened form of the brand colors
263
- */
264
- color: PropTypes.any,
265
265
  className: PropTypes.string,
266
266
  "aria-label": PropTypes.string,
267
267
  "data-test-subj": PropTypes.string,
@@ -153,6 +153,8 @@ EuiBreadcrumbs.propTypes = {
153
153
  popoverProps: PropTypes.shape({
154
154
  /**
155
155
  * Class name passed to the direct parent of the button
156
+ *
157
+ * @deprecated Use `className` instead
156
158
  */
157
159
  anchorClassName: PropTypes.string,
158
160
  /**
@@ -164,6 +166,9 @@ EuiBreadcrumbs.propTypes = {
164
166
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
165
167
  */
166
168
  attachToAnchor: PropTypes.bool,
169
+ /**
170
+ * @deprecated Use `popoverRef` instead
171
+ */
167
172
  buttonRef: PropTypes.any,
168
173
  /**
169
174
  * Restrict the popover's position within this element
@@ -232,11 +237,6 @@ EuiBreadcrumbs.propTypes = {
232
237
  */
233
238
  grow: PropTypes.bool,
234
239
  panelRef: PropTypes.any,
235
- /**
236
- * Background color of the panel;
237
- * Usually a lightened form of the brand colors
238
- */
239
- color: PropTypes.any,
240
240
  className: PropTypes.string,
241
241
  "aria-label": PropTypes.string,
242
242
  "data-test-subj": PropTypes.string,
@@ -118,7 +118,7 @@ export var EuiButtonDisplay = /*#__PURE__*/forwardRef(function (_ref2, ref) {
118
118
  EuiButtonDisplay.propTypes = {
119
119
  href: PropTypes.string,
120
120
  onClick: PropTypes.func,
121
- element: PropTypes.oneOf(["a", "button", "span", "label"]),
121
+ element: PropTypes.oneOf(["a", "button", "span"]),
122
122
  children: PropTypes.node,
123
123
  size: PropTypes.any,
124
124
  /**
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  import classNames from 'classnames';
14
14
  import PropTypes from "prop-types";
15
15
  import React from 'react';
16
- import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
16
+ import { useEuiTheme } from '../../../services';
17
17
  import { EuiScreenReaderOnly } from '../../accessibility';
18
18
  import { EuiButtonGroupButton } from './button_group_button';
19
19
  import { euiButtonGroupStyles, euiButtonGroupButtonsStyles } from './button_group.styles';
@@ -51,9 +51,6 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
51
51
  'euiButtonGroup-isDisabled': isDisabled
52
52
  }, className);
53
53
  var typeIsSingle = type === 'single';
54
- var nameIfSingle = useGeneratedHtmlId({
55
- conditionalId: name
56
- });
57
54
  return ___EmotionJSX("fieldset", _extends({
58
55
  css: wrapperCssStyles,
59
56
  className: classes
@@ -65,15 +62,17 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
65
62
  }, options.map(function (option, index) {
66
63
  return ___EmotionJSX(EuiButtonGroupButton, _extends({
67
64
  key: index,
68
- name: nameIfSingle,
69
65
  isDisabled: isDisabled
70
66
  }, option, {
71
- element: typeIsSingle ? 'label' : 'button',
67
+ onClick: typeIsSingle ? function () {
68
+ return onChange(option.id, option.value);
69
+ } : function () {
70
+ return onChange(option.id);
71
+ },
72
72
  isSelected: typeIsSingle ? option.id === idSelected : idToSelectedMap[option.id],
73
73
  color: color,
74
74
  size: buttonSize,
75
- isIconOnly: isIconOnly,
76
- onChange: onChange
75
+ isIconOnly: isIconOnly
77
76
  }));
78
77
  })));
79
78
  };
@@ -163,8 +162,7 @@ EuiButtonGroup.propTypes = {
163
162
  css: PropTypes.any
164
163
  }).isRequired).isRequired,
165
164
  /**
166
- * The `name` attribute for radio inputs;
167
- * Defaults to a random string
165
+ * @deprecated No longer needed. You can safely remove this prop entirely
168
166
  */
169
167
  name: PropTypes.string,
170
168
  /**
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "name", "onChange", "size", "value", "color", "element", "type"];
1
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -33,44 +33,11 @@ export 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 = _objectWithoutProperties(_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 = ___EmotionJSX("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 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
100
67
  return ___EmotionJSX(EuiButtonDisplay, _extends({
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 @@ export 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
  EuiButtonGroupButton.propTypes = {
118
86
  /**
@@ -124,13 +92,10 @@ EuiButtonGroupButton.propTypes = {
124
92
  */
125
93
  label: PropTypes.node.isRequired,
126
94
  isDisabled: PropTypes.bool,
127
- /**
128
- * The value of the radio input for 'single'.
129
- */
130
95
  /**
131
96
  * The value of the radio input.
132
97
  */
133
- value: PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
98
+ value: PropTypes.any,
134
99
  /**
135
100
  * The type of the underlying HTML button
136
101
  */
@@ -160,18 +125,10 @@ EuiButtonGroupButton.propTypes = {
160
125
  "aria-label": PropTypes.string,
161
126
  "data-test-subj": PropTypes.string,
162
127
  css: PropTypes.any,
163
- /**
164
- * Element to display based on single or multi
165
- */
166
- element: PropTypes.oneOf(["button", "label"]).isRequired,
167
128
  /**
168
129
  * Styles the selected button to look selected (usually with `fill`)
169
130
  */
170
131
  isSelected: PropTypes.bool,
171
- /**
172
- * Name of the whole group for 'single'.
173
- */
174
- name: PropTypes.string,
175
132
  /**
176
133
  * Inherit from EuiButtonGroup
177
134
  */
@@ -187,5 +144,5 @@ EuiButtonGroupButton.propTypes = {
187
144
  /**
188
145
  * Inherit from EuiButtonGroup
189
146
  */
190
- onChange: PropTypes.func.isRequired
147
+ onClick: PropTypes.func.isRequired
191
148
  };
@@ -50,22 +50,12 @@ export var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiT
50
50
  }
51
51
  };
52
52
  };
53
-
54
- /**
55
- * Focus utilities - made complex by the two different button styles
56
- * and the fact that `label`/`input` combos need :focus-within,
57
- * but `button` does not
58
- */
59
- var _outlineSelectors = function _outlineSelectors(outlineCss) {
60
- return /*#__PURE__*/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, ";}}}");
61
- };
62
53
  export var _compressedButtonFocusColor = function _compressedButtonFocusColor(euiThemeContext, color) {
63
- var euiTheme = euiThemeContext.euiTheme;
64
54
  var _euiButtonFillColor = euiButtonFillColor(euiThemeContext, color),
65
55
  backgroundColor = _euiButtonFillColor.backgroundColor;
66
- return _outlineSelectors("outline: ".concat(euiTheme.focus.width, " solid ").concat(backgroundColor, ";"));
56
+ return /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'center', backgroundColor), " &:is(.euiButtonGroupButton-isSelected){outline-offset:0;}}");
67
57
  };
68
58
  export var _uncompressedButtonFocus = function _uncompressedButtonFocus(euiThemeContext) {
69
59
  var euiTheme = euiThemeContext.euiTheme;
70
- return _outlineSelectors(euiOutline(euiThemeContext, 'inset', euiTheme.colors.fullShade));
60
+ return /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'inset', euiTheme.colors.fullShade), ";}");
71
61
  };
@@ -186,6 +186,14 @@ EuiCollapsibleNavGroup.propTypes = {
186
186
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
187
187
  */
188
188
  element: PropTypes.oneOf(["div", "fieldset"]),
189
+ /**
190
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
191
+ *
192
+ * If your accordion contains significant enough content to be a document
193
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
194
+ * @default group
195
+ */
196
+ role: PropTypes.any,
189
197
  /**
190
198
  * Class that will apply to the trigger for the accordion.
191
199
  */
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  import React, { useContext } from 'react';
14
14
  import PropTypes from "prop-types";
15
15
  import classNames from 'classnames';
16
- import { useEuiTheme } from '../../../services';
16
+ import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
17
17
  import { EuiCollapsibleNavContext } from '../context';
18
18
  import { EuiCollapsibleNavItem, EuiCollapsibleNavSubItems } from '../collapsible_nav_item/collapsible_nav_item';
19
19
  import { EuiCollapsedNavPopover } from '../collapsible_nav_item/collapsed/collapsed_nav_popover';
@@ -35,17 +35,22 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
35
35
  var euiTheme = useEuiTheme();
36
36
  var styles = euiCollapsibleNavGroupStyles(euiTheme);
37
37
  var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
38
+ var labelledById = useGeneratedHtmlId();
38
39
  return ___EmotionJSX("div", _extends({}, wrapperProps, {
39
40
  className: classes,
40
41
  css: cssStyles
41
42
  }), isCollapsed && isPush ? ___EmotionJSX(EuiCollapsedNavPopover, _extends({
42
43
  className: classes,
43
44
  items: items
44
- }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({}, props, {
45
+ }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({
46
+ id: labelledById
47
+ }, props, {
45
48
  css: styles.euiCollapsibleNavGroup__title
46
49
  })), ___EmotionJSX(EuiCollapsibleNavSubItems, {
47
50
  items: items,
48
- isGroup: true
51
+ isGroup: true,
52
+ role: "group",
53
+ "aria-labelledby": props.id || labelledById
49
54
  })));
50
55
  };
51
56
  EuiCollapsibleNavGroup.propTypes = {
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  import React from 'react';
14
14
  import PropTypes from "prop-types";
15
15
  import classNames from 'classnames';
16
- import { useEuiTheme } from '../../../services';
16
+ import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
17
17
  import { EuiCollapsibleNavSubItems } from './collapsible_nav_item';
18
18
  import { euiCollapsibleNavItemVariables } from './collapsible_nav_item.styles';
19
19
  import { EuiCollapsibleNavLink } from './collapsible_nav_link';
@@ -46,10 +46,12 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
46
46
  }
47
47
  } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
48
48
 
49
+ var labelledById = useGeneratedHtmlId();
49
50
  return ___EmotionJSX("div", _extends({
50
51
  className: classes
51
52
  }, cssStyles, rest), ___EmotionJSX(EuiCollapsibleNavLink, _extends({
52
- href: href
53
+ href: href,
54
+ id: labelledById
53
55
  }, linkProps, {
54
56
  isSelected: isSelected,
55
57
  isSubItem: isSubItem,
@@ -57,7 +59,9 @@ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
57
59
  }), header), ___EmotionJSX(EuiCollapsibleNavSubItems, {
58
60
  items: items,
59
61
  isSubItem: isSubItem,
60
- className: "euiCollapsibleNavGroup__children"
62
+ className: "euiCollapsibleNavGroup__children",
63
+ role: "group",
64
+ "aria-labelledby": (linkProps === null || linkProps === void 0 ? void 0 : linkProps.id) || labelledById
61
65
  }));
62
66
  };
63
67
  EuiCollapsibleNavGroup.propTypes = {
@@ -412,14 +412,16 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
412
412
  var _this$props10 = _this.props,
413
413
  onSearchChange = _this$props10.onSearchChange,
414
414
  delimiter = _this$props10.delimiter;
415
- if (onSearchChange) {
416
- var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
417
- onSearchChange(searchValue, _hasMatchingOptions);
418
- }
419
415
  _this.setState({
420
416
  searchValue: searchValue
421
417
  }, function () {
422
- if (searchValue && _this.state.isListOpen === false) _this.openList();
418
+ if (searchValue && _this.state.isListOpen === false) {
419
+ _this.openList();
420
+ }
421
+ if (onSearchChange) {
422
+ var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
423
+ onSearchChange(searchValue, _hasMatchingOptions);
424
+ }
423
425
  });
424
426
  if (delimiter && searchValue.endsWith(delimiter)) {
425
427
  _this.setCustomOptions(false);