@elastic/eui 77.0.0 → 77.1.1

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 (282) hide show
  1. package/dist/eui_theme_dark.css +22 -51
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +22 -51
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.a11y.js +3 -1
  6. package/es/components/accordion/accordion.js +4 -2
  7. package/es/components/basic_table/table.a11y.js +3 -1
  8. package/es/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  9. package/es/components/card/card.a11y.js +3 -1
  10. package/es/components/color_picker/color_picker.a11y.js +3 -1
  11. package/es/components/combo_box/combo_box.a11y.js +3 -1
  12. package/es/components/combo_box/combo_box.js +2 -21
  13. package/es/components/combo_box/combo_box_input/combo_box_input.js +66 -36
  14. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  15. package/es/components/context_menu/context_menu_panel.a11y.js +3 -1
  16. package/es/components/control_bar/control_bar.a11y.js +3 -1
  17. package/es/components/copy/copy.a11y.js +6 -5
  18. package/es/components/datagrid/data_grid.a11y.js +3 -1
  19. package/es/components/date_picker/date_picker.a11y.js +3 -1
  20. package/es/components/date_picker/date_picker.js +148 -155
  21. package/es/components/date_picker/date_picker_range.js +2 -2
  22. package/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  23. package/es/components/delay_hide/delay_hide.a11y.js +9 -9
  24. package/es/components/delay_render/delay_render.a11y.js +9 -9
  25. package/es/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  26. package/es/components/empty_prompt/empty_prompt.a11y.js +8 -14
  27. package/es/components/error_boundary/error_boundary.a11y.js +3 -1
  28. package/es/components/expression/expression.a11y.js +3 -1
  29. package/es/components/filter_group/filter_group.a11y.js +4 -3
  30. package/es/components/flyout/flyout.a11y.js +3 -1
  31. package/es/components/focus_trap/focus_trap.a11y.js +3 -1
  32. package/es/components/form/checkbox/checkbox_group.a11y.js +3 -1
  33. package/es/components/form/file_picker/file_picker.js +4 -2
  34. package/es/components/form/radio/radio_group.a11y.js +4 -5
  35. package/es/components/form/range/range.a11y.js +3 -1
  36. package/es/components/form/switch/switch.a11y.js +4 -5
  37. package/es/components/form/text_area/text_area.js +11 -3
  38. package/es/components/form/validatable_control/index.js +1 -1
  39. package/es/components/form/validatable_control/validatable_control.js +49 -13
  40. package/es/components/header/header.a11y.js +3 -1
  41. package/es/components/icon/icon_ML.a11y.js +3 -1
  42. package/es/components/icon/icon_apps.a11y.js +3 -1
  43. package/es/components/icon/icon_editor.a11y.js +3 -1
  44. package/es/components/icon/icon_elastic.a11y.js +3 -1
  45. package/es/components/icon/icon_glyphs.a11y.js +3 -1
  46. package/es/components/icon/icon_tokens.a11y.js +3 -1
  47. package/es/components/image/image.a11y.js +3 -1
  48. package/es/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  49. package/es/components/modal/modal.a11y.js +3 -1
  50. package/es/components/notification/notification_event.a11y.js +3 -1
  51. package/es/components/page/page_header/page_header.a11y.js +3 -1
  52. package/es/components/pagination/pagination.a11y.js +3 -1
  53. package/es/components/popover/popover.a11y.js +3 -1
  54. package/es/components/popover/popover_footer.js +4 -4
  55. package/es/components/popover/popover_footer.styles.js +16 -5
  56. package/es/components/popover/popover_panel/_popover_panel.js +8 -5
  57. package/es/components/portal/portal.a11y.js +3 -1
  58. package/es/components/progress/progress.a11y.js +3 -1
  59. package/es/components/resizable_container/resizable_container.a11y.js +3 -1
  60. package/es/components/search_bar/search_bar.a11y.js +8 -7
  61. package/es/components/selectable/selectable.a11y.js +3 -1
  62. package/es/components/side_nav/side_nav.a11y.js +3 -1
  63. package/es/components/tabs/tabs.a11y.js +3 -1
  64. package/es/components/tree_view/tree_view.a11y.js +3 -1
  65. package/eui.d.ts +42 -36
  66. package/i18ntokens.json +4 -4
  67. package/lib/components/accordion/accordion.a11y.js +3 -1
  68. package/lib/components/accordion/accordion.js +4 -2
  69. package/lib/components/basic_table/table.a11y.js +3 -1
  70. package/lib/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  71. package/lib/components/combo_box/combo_box.js +2 -21
  72. package/lib/components/combo_box/combo_box_input/combo_box_input.js +66 -36
  73. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  74. package/lib/components/context_menu/context_menu_panel.a11y.js +3 -1
  75. package/lib/components/copy/copy.a11y.js +3 -4
  76. package/lib/components/date_picker/date_picker.js +147 -153
  77. package/lib/components/date_picker/date_picker_range.js +2 -2
  78. package/lib/components/delay_hide/delay_hide.a11y.js +6 -8
  79. package/lib/components/delay_render/delay_render.a11y.js +6 -8
  80. package/lib/components/drag_and_drop/drag_and_drop.a11y.js +0 -1
  81. package/lib/components/empty_prompt/empty_prompt.a11y.js +8 -14
  82. package/lib/components/error_boundary/error_boundary.a11y.js +3 -1
  83. package/lib/components/filter_group/filter_group.a11y.js +7 -8
  84. package/lib/components/form/file_picker/file_picker.js +4 -2
  85. package/lib/components/form/radio/radio_group.a11y.js +1 -4
  86. package/lib/components/form/switch/switch.a11y.js +1 -4
  87. package/lib/components/form/text_area/text_area.js +11 -3
  88. package/lib/components/form/validatable_control/index.js +6 -0
  89. package/lib/components/form/validatable_control/validatable_control.js +51 -14
  90. package/lib/components/icon/icon_ML.a11y.js +3 -1
  91. package/lib/components/icon/icon_apps.a11y.js +3 -1
  92. package/lib/components/icon/icon_editor.a11y.js +3 -1
  93. package/lib/components/icon/icon_elastic.a11y.js +3 -1
  94. package/lib/components/icon/icon_glyphs.a11y.js +3 -1
  95. package/lib/components/icon/icon_tokens.a11y.js +3 -1
  96. package/lib/components/image/image.a11y.js +3 -1
  97. package/lib/components/page/page_header/page_header.a11y.js +3 -1
  98. package/lib/components/popover/popover_footer.js +4 -4
  99. package/lib/components/popover/popover_footer.styles.js +19 -7
  100. package/lib/components/popover/popover_panel/_popover_panel.js +7 -4
  101. package/lib/components/resizable_container/resizable_container.a11y.js +3 -1
  102. package/lib/components/search_bar/search_bar.a11y.js +5 -6
  103. package/lib/components/tree_view/tree_view.a11y.js +3 -1
  104. package/optimize/es/components/accordion/accordion.a11y.js +3 -1
  105. package/optimize/es/components/accordion/accordion.js +4 -2
  106. package/optimize/es/components/basic_table/table.a11y.js +3 -1
  107. package/optimize/es/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  108. package/optimize/es/components/card/card.a11y.js +3 -1
  109. package/optimize/es/components/color_picker/color_picker.a11y.js +3 -1
  110. package/optimize/es/components/combo_box/combo_box.a11y.js +3 -1
  111. package/optimize/es/components/combo_box/combo_box.js +2 -21
  112. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +63 -34
  113. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  114. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +3 -1
  115. package/optimize/es/components/control_bar/control_bar.a11y.js +3 -1
  116. package/optimize/es/components/copy/copy.a11y.js +6 -5
  117. package/optimize/es/components/datagrid/data_grid.a11y.js +3 -1
  118. package/optimize/es/components/date_picker/date_picker.a11y.js +3 -1
  119. package/optimize/es/components/date_picker/date_picker.js +142 -148
  120. package/optimize/es/components/date_picker/date_picker_range.js +1 -1
  121. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  122. package/optimize/es/components/delay_hide/delay_hide.a11y.js +9 -9
  123. package/optimize/es/components/delay_render/delay_render.a11y.js +9 -9
  124. package/optimize/es/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  125. package/optimize/es/components/empty_prompt/empty_prompt.a11y.js +8 -14
  126. package/optimize/es/components/error_boundary/error_boundary.a11y.js +3 -1
  127. package/optimize/es/components/expression/expression.a11y.js +3 -1
  128. package/optimize/es/components/filter_group/filter_group.a11y.js +4 -3
  129. package/optimize/es/components/flyout/flyout.a11y.js +3 -1
  130. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -1
  131. package/optimize/es/components/form/checkbox/checkbox_group.a11y.js +3 -1
  132. package/optimize/es/components/form/file_picker/file_picker.js +4 -2
  133. package/optimize/es/components/form/radio/radio_group.a11y.js +4 -5
  134. package/optimize/es/components/form/range/range.a11y.js +3 -1
  135. package/optimize/es/components/form/switch/switch.a11y.js +4 -5
  136. package/optimize/es/components/form/text_area/text_area.js +10 -3
  137. package/optimize/es/components/form/validatable_control/index.js +1 -1
  138. package/optimize/es/components/form/validatable_control/validatable_control.js +49 -9
  139. package/optimize/es/components/header/header.a11y.js +3 -1
  140. package/optimize/es/components/icon/icon_ML.a11y.js +3 -1
  141. package/optimize/es/components/icon/icon_apps.a11y.js +3 -1
  142. package/optimize/es/components/icon/icon_editor.a11y.js +3 -1
  143. package/optimize/es/components/icon/icon_elastic.a11y.js +3 -1
  144. package/optimize/es/components/icon/icon_glyphs.a11y.js +3 -1
  145. package/optimize/es/components/icon/icon_tokens.a11y.js +3 -1
  146. package/optimize/es/components/image/image.a11y.js +3 -1
  147. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  148. package/optimize/es/components/modal/modal.a11y.js +3 -1
  149. package/optimize/es/components/notification/notification_event.a11y.js +3 -1
  150. package/optimize/es/components/page/page_header/page_header.a11y.js +3 -1
  151. package/optimize/es/components/pagination/pagination.a11y.js +3 -1
  152. package/optimize/es/components/popover/popover.a11y.js +3 -1
  153. package/optimize/es/components/popover/popover_footer.js +4 -4
  154. package/optimize/es/components/popover/popover_footer.styles.js +16 -5
  155. package/optimize/es/components/popover/popover_panel/_popover_panel.js +8 -5
  156. package/optimize/es/components/portal/portal.a11y.js +3 -1
  157. package/optimize/es/components/progress/progress.a11y.js +3 -1
  158. package/optimize/es/components/resizable_container/resizable_container.a11y.js +3 -1
  159. package/optimize/es/components/search_bar/search_bar.a11y.js +8 -7
  160. package/optimize/es/components/selectable/selectable.a11y.js +3 -1
  161. package/optimize/es/components/side_nav/side_nav.a11y.js +3 -1
  162. package/optimize/es/components/tabs/tabs.a11y.js +3 -1
  163. package/optimize/es/components/tree_view/tree_view.a11y.js +3 -1
  164. package/optimize/lib/components/accordion/accordion.a11y.js +3 -1
  165. package/optimize/lib/components/accordion/accordion.js +4 -2
  166. package/optimize/lib/components/basic_table/table.a11y.js +3 -1
  167. package/optimize/lib/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  168. package/optimize/lib/components/card/card.a11y.js +3 -1
  169. package/optimize/lib/components/color_picker/color_picker.a11y.js +3 -1
  170. package/optimize/lib/components/combo_box/combo_box.a11y.js +3 -1
  171. package/optimize/lib/components/combo_box/combo_box.js +2 -21
  172. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +63 -34
  173. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  174. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +3 -1
  175. package/optimize/lib/components/control_bar/control_bar.a11y.js +3 -1
  176. package/optimize/lib/components/copy/copy.a11y.js +6 -5
  177. package/optimize/lib/components/datagrid/data_grid.a11y.js +3 -1
  178. package/optimize/lib/components/date_picker/date_picker.a11y.js +3 -1
  179. package/optimize/lib/components/date_picker/date_picker.js +141 -147
  180. package/optimize/lib/components/date_picker/date_picker_range.js +1 -1
  181. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  182. package/optimize/lib/components/delay_hide/delay_hide.a11y.js +9 -9
  183. package/optimize/lib/components/delay_render/delay_render.a11y.js +9 -9
  184. package/optimize/lib/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  185. package/optimize/lib/components/empty_prompt/empty_prompt.a11y.js +8 -14
  186. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +3 -1
  187. package/optimize/lib/components/filter_group/filter_group.a11y.js +10 -9
  188. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -1
  189. package/optimize/lib/components/form/file_picker/file_picker.js +4 -2
  190. package/optimize/lib/components/form/radio/radio_group.a11y.js +4 -5
  191. package/optimize/lib/components/form/range/range.a11y.js +3 -1
  192. package/optimize/lib/components/form/switch/switch.a11y.js +4 -5
  193. package/optimize/lib/components/form/text_area/text_area.js +10 -3
  194. package/optimize/lib/components/form/validatable_control/index.js +6 -0
  195. package/optimize/lib/components/form/validatable_control/validatable_control.js +52 -12
  196. package/optimize/lib/components/header/header.a11y.js +3 -1
  197. package/optimize/lib/components/icon/icon_ML.a11y.js +3 -1
  198. package/optimize/lib/components/icon/icon_apps.a11y.js +3 -1
  199. package/optimize/lib/components/icon/icon_editor.a11y.js +3 -1
  200. package/optimize/lib/components/icon/icon_elastic.a11y.js +3 -1
  201. package/optimize/lib/components/icon/icon_glyphs.a11y.js +3 -1
  202. package/optimize/lib/components/icon/icon_tokens.a11y.js +3 -1
  203. package/optimize/lib/components/image/image.a11y.js +3 -1
  204. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  205. package/optimize/lib/components/modal/modal.a11y.js +3 -1
  206. package/optimize/lib/components/notification/notification_event.a11y.js +3 -1
  207. package/optimize/lib/components/page/page_header/page_header.a11y.js +3 -1
  208. package/optimize/lib/components/pagination/pagination.a11y.js +3 -1
  209. package/optimize/lib/components/popover/popover.a11y.js +3 -1
  210. package/optimize/lib/components/popover/popover_footer.js +4 -4
  211. package/optimize/lib/components/popover/popover_footer.styles.js +19 -7
  212. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +7 -4
  213. package/optimize/lib/components/portal/portal.a11y.js +3 -1
  214. package/optimize/lib/components/progress/progress.a11y.js +3 -1
  215. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +3 -1
  216. package/optimize/lib/components/search_bar/search_bar.a11y.js +8 -7
  217. package/optimize/lib/components/selectable/selectable.a11y.js +3 -1
  218. package/optimize/lib/components/side_nav/side_nav.a11y.js +3 -1
  219. package/optimize/lib/components/tree_view/tree_view.a11y.js +3 -1
  220. package/package.json +1 -1
  221. package/src/components/combo_box/_combo_box.scss +2 -38
  222. package/src/components/date_picker/_date_picker_range.scss +1 -1
  223. package/src/components/form/field_text/_field_text.scss +0 -7
  224. package/src/components/form/file_picker/_file_picker.scss +3 -2
  225. package/src/components/form/form_control_layout/_form_control_layout.scss +7 -2
  226. package/src/components/form/text_area/_text_area.scss +9 -0
  227. package/test-env/components/accordion/accordion.a11y.js +3 -1
  228. package/test-env/components/accordion/accordion.js +4 -2
  229. package/test-env/components/basic_table/table.a11y.js +3 -1
  230. package/test-env/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  231. package/test-env/components/card/card.a11y.js +3 -1
  232. package/test-env/components/color_picker/color_picker.a11y.js +3 -1
  233. package/test-env/components/combo_box/combo_box.a11y.js +3 -1
  234. package/test-env/components/combo_box/combo_box.js +2 -21
  235. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +66 -36
  236. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  237. package/test-env/components/context_menu/context_menu_panel.a11y.js +3 -1
  238. package/test-env/components/control_bar/control_bar.a11y.js +3 -1
  239. package/test-env/components/copy/copy.a11y.js +6 -5
  240. package/test-env/components/datagrid/data_grid.a11y.js +3 -1
  241. package/test-env/components/date_picker/date_picker.a11y.js +3 -1
  242. package/test-env/components/date_picker/date_picker.js +141 -147
  243. package/test-env/components/date_picker/date_picker_range.js +2 -2
  244. package/test-env/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  245. package/test-env/components/delay_hide/delay_hide.a11y.js +9 -9
  246. package/test-env/components/delay_render/delay_render.a11y.js +9 -9
  247. package/test-env/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  248. package/test-env/components/empty_prompt/empty_prompt.a11y.js +8 -14
  249. package/test-env/components/error_boundary/error_boundary.a11y.js +3 -1
  250. package/test-env/components/filter_group/filter_group.a11y.js +10 -9
  251. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -1
  252. package/test-env/components/form/file_picker/file_picker.js +4 -2
  253. package/test-env/components/form/radio/radio_group.a11y.js +4 -5
  254. package/test-env/components/form/range/range.a11y.js +3 -1
  255. package/test-env/components/form/switch/switch.a11y.js +4 -5
  256. package/test-env/components/form/text_area/text_area.js +11 -3
  257. package/test-env/components/form/validatable_control/index.js +6 -0
  258. package/test-env/components/form/validatable_control/validatable_control.js +51 -14
  259. package/test-env/components/header/header.a11y.js +3 -1
  260. package/test-env/components/icon/icon_ML.a11y.js +3 -1
  261. package/test-env/components/icon/icon_apps.a11y.js +3 -1
  262. package/test-env/components/icon/icon_editor.a11y.js +3 -1
  263. package/test-env/components/icon/icon_elastic.a11y.js +3 -1
  264. package/test-env/components/icon/icon_glyphs.a11y.js +3 -1
  265. package/test-env/components/icon/icon_tokens.a11y.js +3 -1
  266. package/test-env/components/image/image.a11y.js +3 -1
  267. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  268. package/test-env/components/modal/modal.a11y.js +3 -1
  269. package/test-env/components/notification/notification_event.a11y.js +3 -1
  270. package/test-env/components/page/page_header/page_header.a11y.js +3 -1
  271. package/test-env/components/pagination/pagination.a11y.js +3 -1
  272. package/test-env/components/popover/popover.a11y.js +3 -1
  273. package/test-env/components/popover/popover_footer.js +4 -4
  274. package/test-env/components/popover/popover_footer.styles.js +19 -7
  275. package/test-env/components/popover/popover_panel/_popover_panel.js +7 -4
  276. package/test-env/components/portal/portal.a11y.js +3 -1
  277. package/test-env/components/progress/progress.a11y.js +3 -1
  278. package/test-env/components/resizable_container/resizable_container.a11y.js +3 -1
  279. package/test-env/components/search_bar/search_bar.a11y.js +8 -7
  280. package/test-env/components/selectable/selectable.a11y.js +3 -1
  281. package/test-env/components/side_nav/side_nav.a11y.js +3 -1
  282. package/test-env/components/tree_view/tree_view.a11y.js +3 -1
@@ -9,4 +9,10 @@ Object.defineProperty(exports, "EuiValidatableControl", {
9
9
  return _validatable_control.EuiValidatableControl;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "useEuiValidatableControl", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _validatable_control.useEuiValidatableControl;
16
+ }
17
+ });
12
18
  var _validatable_control = require("./validatable_control");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.EuiValidatableControl = void 0;
6
+ exports.useEuiValidatableControl = exports.EuiValidatableControl = void 0;
7
7
  var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -18,6 +18,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  function isMutableRef(ref) {
19
19
  return ref != null && ref.hasOwnProperty('current');
20
20
  }
21
+
22
+ /**
23
+ * The `EuiValidatableControl` component should be used in scenarios where
24
+ * we can render the validated `<input>` as its direct child.
25
+ */
26
+
21
27
  var EuiValidatableControl = function EuiValidatableControl(_ref) {
22
28
  var isInvalid = _ref.isInvalid,
23
29
  children = _ref.children;
@@ -34,22 +40,21 @@ var EuiValidatableControl = function EuiValidatableControl(_ref) {
34
40
  childRef.current = element;
35
41
  }
36
42
  }, [childRef]);
37
- (0, _react.useEffect)(function () {
38
- if (control.current === null || typeof control.current.setCustomValidity !== 'function') {
39
- return; // jsdom doesn't polyfill this for the server-side
40
- }
41
-
42
- if (isInvalid) {
43
- control.current.setCustomValidity('Invalid');
44
- } else {
45
- control.current.setCustomValidity('');
46
- }
43
+ useSetControlValidity({
44
+ controlEl: control.current,
45
+ isInvalid: isInvalid
47
46
  });
48
47
  return /*#__PURE__*/(0, _react.cloneElement)(child, {
49
48
  ref: replacedRef,
50
49
  'aria-invalid': isInvalid
51
50
  });
52
51
  };
52
+
53
+ /**
54
+ * The `UseEuiValidatableControl` hook should be used in scenarios where
55
+ * we *cannot* control where the validated `<input>` is rendered (e.g., ReactDatePicker)
56
+ * and instead need to access the input via a ref and pass the element in directly
57
+ */
53
58
  exports.EuiValidatableControl = EuiValidatableControl;
54
59
  EuiValidatableControl.propTypes = {
55
60
  className: _propTypes.default.string,
@@ -57,10 +62,42 @@ EuiValidatableControl.propTypes = {
57
62
  "data-test-subj": _propTypes.default.string,
58
63
  css: _propTypes.default.any,
59
64
  isInvalid: _propTypes.default.bool,
60
- /**
61
- * ReactNode to render as this component's content
62
- */
63
65
  children: _propTypes.default.shape({
64
66
  ref: _propTypes.default.any
65
67
  }).isRequired
68
+ };
69
+ var useEuiValidatableControl = function useEuiValidatableControl(_ref2) {
70
+ var isInvalid = _ref2.isInvalid,
71
+ controlEl = _ref2.controlEl;
72
+ useSetControlValidity({
73
+ controlEl: controlEl,
74
+ isInvalid: isInvalid
75
+ });
76
+ (0, _react.useEffect)(function () {
77
+ if (!controlEl) return;
78
+ if (typeof isInvalid === 'boolean') {
79
+ controlEl.setAttribute('aria-invalid', String(isInvalid));
80
+ } else {
81
+ controlEl.removeAttribute('aria-invalid');
82
+ }
83
+ }, [isInvalid, controlEl]);
84
+ };
85
+
86
+ /**
87
+ * Internal `setCustomValidity` helper
88
+ */
89
+ exports.useEuiValidatableControl = useEuiValidatableControl;
90
+ var useSetControlValidity = function useSetControlValidity(_ref3) {
91
+ var controlEl = _ref3.controlEl,
92
+ isInvalid = _ref3.isInvalid;
93
+ (0, _react.useEffect)(function () {
94
+ if (controlEl == null || typeof controlEl.setCustomValidity !== 'function') {
95
+ return;
96
+ }
97
+ if (isInvalid) {
98
+ controlEl.setCustomValidity('Invalid');
99
+ } else {
100
+ controlEl.setCustomValidity('');
101
+ }
102
+ }, [isInvalid, controlEl]);
66
103
  };
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for ML icons', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for app icons', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for editor icons', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for Elastic logos', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for glyph icons', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  describe('EuiIcons', function () {
18
20
  describe('Automated accessibility check for token icons', function () {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  var Image = function Image() {
18
20
  return (0, _react2.jsx)(_image.EuiImage, {
@@ -13,7 +13,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  * Side Public License, v 1.
14
14
  */
15
15
 
16
- /// <reference types="../../../../cypress/support"/>
16
+ /// <reference types="cypress" />
17
+ /// <reference types="cypress-real-events" />
18
+ /// <reference types="../../../../cypress/support" />
17
19
 
18
20
  describe('EuiPageHeader', function () {
19
21
  beforeEach(function () {
@@ -28,11 +28,11 @@ var EuiPopoverFooter = function EuiPopoverFooter(_ref) {
28
28
  var _useContext = (0, _react.useContext)(_popover_panel.EuiPopoverPanelContext),
29
29
  panelPadding = _useContext.paddingSize;
30
30
  var euiTheme = (0, _services.useEuiTheme)();
31
- var styles = (0, _popover_footer.euiPopoverFooterStyles)(euiTheme, panelPadding);
31
+ var styles = (0, _popover_footer.euiPopoverFooterStyles)(euiTheme);
32
32
  var paddingStyles = (0, _global_styling.useEuiPaddingCSS)();
33
- var cssStyles = [styles.euiPopoverFooter,
34
- // If a paddingSize is not directly provided, inherit from the EuiPopoverPanel
35
- paddingStyles[paddingSize || panelPadding]];
33
+ var cssStyles = [styles.euiPopoverFooter, styles.panelPaddingSizes[panelPadding], paddingStyles[paddingSize || panelPadding] // If a paddingSize is not directly provided, inherit from the EuiPopoverPanel
34
+ ];
35
+
36
36
  var classes = (0, _classnames.default)('euiPopoverFooter', className);
37
37
  return (0, _react2.jsx)("div", _extends({
38
38
  css: cssStyles,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiPopoverFooterStyles = void 0;
6
+ exports.panelPaddingOffset = exports.euiPopoverFooterStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../global_styling");
9
9
  /*
@@ -14,14 +14,26 @@ var _global_styling = require("../../global_styling");
14
14
  * Side Public License, v 1.
15
15
  */
16
16
 
17
- var euiPopoverFooterStyles = function euiPopoverFooterStyles(euiThemeContext, panelPadding) {
17
+ var euiPopoverFooterStyles = function euiPopoverFooterStyles(euiThemeContext) {
18
18
  var euiTheme = euiThemeContext.euiTheme;
19
- // If the popover's containing panel has padding applied,
20
- // ensure the title expands to cover that padding and
21
- var panelPaddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, panelPadding);
22
19
  return {
23
20
  // Base
24
- euiPopoverFooter: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), ";", (0, _global_styling.logicalShorthandCSS)('margin', "".concat(panelPaddingSize, " -").concat(panelPaddingSize, " -").concat(panelPaddingSize)), ";;label:euiPopoverFooter;")
21
+ euiPopoverFooter: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), ";;label:euiPopoverFooter;"),
22
+ // If the popover's containing panel has padding applied,
23
+ // ensure the title expands to cover that padding via negative margins
24
+ panelPaddingSizes: {
25
+ none: /*#__PURE__*/(0, _react.css)(";label:none;"),
26
+ xs: /*#__PURE__*/(0, _react.css)(panelPaddingOffset(euiThemeContext, 'xs'), ";;label:xs;"),
27
+ s: /*#__PURE__*/(0, _react.css)(panelPaddingOffset(euiThemeContext, 's'), ";;label:s;"),
28
+ m: /*#__PURE__*/(0, _react.css)(panelPaddingOffset(euiThemeContext, 'm'), ";;label:m;"),
29
+ l: /*#__PURE__*/(0, _react.css)(panelPaddingOffset(euiThemeContext, 'l'), ";;label:l;"),
30
+ xl: /*#__PURE__*/(0, _react.css)(panelPaddingOffset(euiThemeContext, 'xl'), ";;label:xl;")
31
+ }
25
32
  };
26
33
  };
27
- exports.euiPopoverFooterStyles = euiPopoverFooterStyles;
34
+ exports.euiPopoverFooterStyles = euiPopoverFooterStyles;
35
+ var panelPaddingOffset = function panelPaddingOffset(euiThemeContext, size) {
36
+ var panelPaddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, size);
37
+ return (0, _global_styling.logicalShorthandCSS)('margin', "".concat(panelPaddingSize, " -").concat(panelPaddingSize, " -").concat(panelPaddingSize));
38
+ };
39
+ exports.panelPaddingOffset = panelPaddingOffset;
@@ -25,8 +25,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
25
25
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
26
26
  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; }
27
27
  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; }
28
+ var DEFAULT_PANEL_PADDING_SIZE = 'l';
28
29
  var EuiPopoverPanelContext = /*#__PURE__*/(0, _react.createContext)({
29
- paddingSize: 'l'
30
+ paddingSize: DEFAULT_PANEL_PADDING_SIZE
30
31
  });
31
32
  exports.EuiPopoverPanelContext = EuiPopoverPanelContext;
32
33
  /**
@@ -41,8 +42,8 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
41
42
  hasDragDrop = _ref.hasDragDrop,
42
43
  position = _ref.position,
43
44
  rest = _objectWithoutProperties(_ref, _excluded);
44
- var panelContext = (0, _react.useContext)(EuiPopoverPanelContext);
45
- if (rest.paddingSize) panelContext.paddingSize = rest.paddingSize;
45
+ var _rest$paddingSize = rest.paddingSize,
46
+ paddingSize = _rest$paddingSize === void 0 ? DEFAULT_PANEL_PADDING_SIZE : _rest$paddingSize;
46
47
  var euiThemeContext = (0, _services.useEuiTheme)();
47
48
  // Using BEM child class for BWC
48
49
  var classes = (0, _classnames.default)('euiPopover__panel', className);
@@ -55,7 +56,9 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
55
56
  panelCSS = [].concat(_toConsumableArray(panelCSS), [styles.hasDragDrop.hasDragDrop, position && styles.hasDragDrop[position]]);
56
57
  }
57
58
  return (0, _react2.jsx)(EuiPopoverPanelContext.Provider, {
58
- value: panelContext
59
+ value: {
60
+ paddingSize: paddingSize
61
+ }
59
62
  }, (0, _react2.jsx)(_panel.EuiPanel, _extends({
60
63
  className: classes,
61
64
  css: panelCSS,
@@ -14,7 +14,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
14
14
  * Side Public License, v 1.
15
15
  */
16
16
 
17
- /// <reference types="../../../cypress/support"/>
17
+ /// <reference types="cypress" />
18
+ /// <reference types="cypress-real-events" />
19
+ /// <reference types="../../../cypress/support" />
18
20
 
19
21
  var text = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("p", null, _faker.faker.lorem.paragraphs()), (0, _react2.jsx)("p", null, _faker.faker.lorem.paragraphs()), (0, _react2.jsx)("p", null, _faker.faker.lorem.paragraphs()));
20
22
  describe('Horizontal EuiResizableContainer', function () {
@@ -9,8 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _basic_table = require("../basic_table");
10
10
  var _flex = require("../flex");
11
11
  var _health = require("../health");
12
- var _search_bar = require("./search_bar");
13
12
  var _spacer = require("../spacer");
13
+ var _search_bar = require("./search_bar");
14
14
  var _react2 = require("@emotion/react");
15
15
  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); }
16
16
  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; }
@@ -80,10 +80,6 @@ var SearchBar = function SearchBar() {
80
80
  _useState2 = _slicedToArray(_useState, 2),
81
81
  query = _useState2[0],
82
82
  setQuery = _useState2[1];
83
- var onChange = function onChange(_ref) {
84
- var query = _ref.query;
85
- return setQuery(query);
86
- };
87
83
  var renderSearch = function renderSearch() {
88
84
  var filters = [{
89
85
  type: 'field_value_toggle_group',
@@ -129,7 +125,10 @@ var SearchBar = function SearchBar() {
129
125
  schema: schema
130
126
  },
131
127
  filters: filters,
132
- onChange: onChange
128
+ onChange: function onChange(_ref) {
129
+ var query = _ref.query;
130
+ if (query) setQuery(query);
131
+ }
133
132
  });
134
133
  };
135
134
  var renderTable = function renderTable() {
@@ -12,7 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- /// <reference types="../../../cypress/support"/>
15
+ /// <reference types="cypress" />
16
+ /// <reference types="cypress-real-events" />
17
+ /// <reference types="../../../cypress/support" />
16
18
 
17
19
  var TreeView = function TreeView() {
18
20
  var items = [{
@@ -6,7 +6,9 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- /// <reference types="../../../cypress/support"/>
9
+ /// <reference types="cypress" />
10
+ /// <reference types="cypress-real-events" />
11
+ /// <reference types="../../../cypress/support" />
10
12
 
11
13
  import React from 'react';
12
14
  import { EuiAccordion } from './index';
@@ -209,8 +209,10 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
209
209
  }, buttonProps, {
210
210
  id: buttonId,
211
211
  className: buttonClasses,
212
- "aria-controls": id,
213
- "aria-expanded": isOpen,
212
+ "aria-controls": id
213
+ // `aria-expanded` is only a valid attribute on interactive controls - axe-core throws a violation otherwise
214
+ ,
215
+ "aria-expanded": ButtonElement === 'button' ? isOpen : undefined,
214
216
  onClick: isDisabled ? undefined : this.onToggle,
215
217
  type: ButtonElement === 'button' ? 'button' : undefined,
216
218
  disabled: ButtonElement === 'button' ? isDisabled : undefined
@@ -6,7 +6,9 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- /// <reference types="../../../cypress/support"/>
9
+ /// <reference types="cypress" />
10
+ /// <reference types="cypress-real-events" />
11
+ /// <reference types="../../../cypress/support" />
10
12
 
11
13
  import React from 'react';
12
14
  import { faker } from '@faker-js/faker';
@@ -6,7 +6,9 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- /// <reference types="../../../cypress/support"/>
9
+ /// <reference types="cypress" />
10
+ /// <reference types="cypress-real-events" />
11
+ /// <reference types="../../../cypress/support" />
10
12
 
11
13
  import React from 'react';
12
14
  import { EuiBreadcrumbs } from './breadcrumbs';
@@ -7,7 +7,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- /// <reference types="../../../cypress/support"/>
10
+ /// <reference types="cypress" />
11
+ /// <reference types="cypress-real-events" />
12
+ /// <reference types="../../../cypress/support" />
11
13
 
12
14
  import React, { useState } from 'react';
13
15
  import { EuiButtonEmpty } from '../button';
@@ -7,7 +7,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- /// <reference types="../../../cypress/support"/>
10
+ /// <reference types="cypress" />
11
+ /// <reference types="cypress-real-events" />
12
+ /// <reference types="../../../cypress/support" />
11
13
 
12
14
  import React from 'react';
13
15
  import { EuiColorPicker } from './color_picker';
@@ -7,7 +7,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- /// <reference types="../../../cypress/support"/>
10
+ /// <reference types="cypress" />
11
+ /// <reference types="cypress-real-events" />
12
+ /// <reference types="../../../cypress/support" />
11
13
 
12
14
  import React, { useState } from 'react';
13
15
  import { EuiComboBox } from './index';
@@ -218,22 +218,6 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
218
218
  _defineProperty(_assertThisInitialized(_this), "clearSearchValue", function () {
219
219
  _this.onSearchChange('');
220
220
  });
221
- _defineProperty(_assertThisInitialized(_this), "removeLastOption", function () {
222
- if (!_this.props.selectedOptions.length) {
223
- return;
224
- }
225
-
226
- // Backspace will be used to delete the input, not a pill.
227
- if (_this.state.searchValue.length) {
228
- return;
229
- }
230
-
231
- // Delete last pill.
232
- _this.onRemoveOption(_this.props.selectedOptions[_this.props.selectedOptions.length - 1]);
233
- if (Boolean(_this.props.singleSelection) && !_this.state.isListOpen) {
234
- _this.openList();
235
- }
236
- });
237
221
  _defineProperty(_assertThisInitialized(_this), "addCustomOption", function (isContainerBlur, searchValue) {
238
222
  var _this$props = _this.props,
239
223
  isCaseSensitive = _this$props.isCaseSensitive,
@@ -383,10 +367,6 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
383
367
  _this.openList();
384
368
  }
385
369
  break;
386
- case keys.BACKSPACE:
387
- event.stopPropagation();
388
- _this.removeLastOption();
389
- break;
390
370
  case keys.ESCAPE:
391
371
  if (_this.state.isListOpen) {
392
372
  event.preventDefault();
@@ -663,7 +643,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
663
643
  // Visually indicate the combobox is in an invalid state if it has lost focus but there is text entered in the input.
664
644
  // When custom options are disabled and the user leaves the combo box after entering text that does not match any
665
645
  // options, this tells the user that they've entered invalid input.
666
- var markAsInvalid = isInvalid || (hasFocus === false || isListOpen === false) && searchValue;
646
+ var markAsInvalid = !!(isInvalid || (hasFocus === false || isListOpen === false) && searchValue);
667
647
  var classes = classNames('euiComboBox', className, {
668
648
  'euiComboBox--compressed': compressed,
669
649
  'euiComboBox--fullWidth': fullWidth,
@@ -760,6 +740,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
760
740
  append: singleSelection ? append : undefined,
761
741
  prepend: singleSelection ? prepend : undefined,
762
742
  isLoading: isLoading,
743
+ isInvalid: markAsInvalid,
763
744
  autoFocus: autoFocus,
764
745
  "aria-label": ariaLabel,
765
746
  "aria-labelledby": ariaLabelledby