@elastic/eui 77.0.0 → 77.1.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 (312) 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/index.js +1 -0
  49. package/es/components/inline_edit/index.js +10 -0
  50. package/es/components/inline_edit/inline_edit.styles.js +15 -0
  51. package/es/components/inline_edit/inline_edit_form.js +190 -0
  52. package/es/components/inline_edit/inline_edit_text.js +97 -0
  53. package/es/components/inline_edit/inline_edit_title.js +105 -0
  54. package/es/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  55. package/es/components/modal/modal.a11y.js +3 -1
  56. package/es/components/notification/notification_event.a11y.js +3 -1
  57. package/es/components/page/page_header/page_header.a11y.js +3 -1
  58. package/es/components/pagination/pagination.a11y.js +3 -1
  59. package/es/components/popover/popover.a11y.js +3 -1
  60. package/es/components/popover/popover_footer.js +4 -4
  61. package/es/components/popover/popover_footer.styles.js +16 -5
  62. package/es/components/popover/popover_panel/_popover_panel.js +8 -5
  63. package/es/components/portal/portal.a11y.js +3 -1
  64. package/es/components/progress/progress.a11y.js +3 -1
  65. package/es/components/resizable_container/resizable_container.a11y.js +3 -1
  66. package/es/components/search_bar/search_bar.a11y.js +8 -7
  67. package/es/components/selectable/selectable.a11y.js +3 -1
  68. package/es/components/side_nav/side_nav.a11y.js +3 -1
  69. package/es/components/tabs/tabs.a11y.js +3 -1
  70. package/es/components/tree_view/tree_view.a11y.js +3 -1
  71. package/eui.d.ts +161 -37
  72. package/i18ntokens.json +40 -4
  73. package/lib/components/accordion/accordion.a11y.js +3 -1
  74. package/lib/components/accordion/accordion.js +4 -2
  75. package/lib/components/basic_table/table.a11y.js +3 -1
  76. package/lib/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  77. package/lib/components/combo_box/combo_box.js +2 -21
  78. package/lib/components/combo_box/combo_box_input/combo_box_input.js +66 -36
  79. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  80. package/lib/components/context_menu/context_menu_panel.a11y.js +3 -1
  81. package/lib/components/copy/copy.a11y.js +3 -4
  82. package/lib/components/date_picker/date_picker.js +147 -153
  83. package/lib/components/date_picker/date_picker_range.js +2 -2
  84. package/lib/components/delay_hide/delay_hide.a11y.js +6 -8
  85. package/lib/components/delay_render/delay_render.a11y.js +6 -8
  86. package/lib/components/drag_and_drop/drag_and_drop.a11y.js +0 -1
  87. package/lib/components/empty_prompt/empty_prompt.a11y.js +8 -14
  88. package/lib/components/error_boundary/error_boundary.a11y.js +3 -1
  89. package/lib/components/filter_group/filter_group.a11y.js +7 -8
  90. package/lib/components/form/file_picker/file_picker.js +4 -2
  91. package/lib/components/form/radio/radio_group.a11y.js +1 -4
  92. package/lib/components/form/switch/switch.a11y.js +1 -4
  93. package/lib/components/form/text_area/text_area.js +11 -3
  94. package/lib/components/form/validatable_control/index.js +6 -0
  95. package/lib/components/form/validatable_control/validatable_control.js +51 -14
  96. package/lib/components/icon/icon_ML.a11y.js +3 -1
  97. package/lib/components/icon/icon_apps.a11y.js +3 -1
  98. package/lib/components/icon/icon_editor.a11y.js +3 -1
  99. package/lib/components/icon/icon_elastic.a11y.js +3 -1
  100. package/lib/components/icon/icon_glyphs.a11y.js +3 -1
  101. package/lib/components/icon/icon_tokens.a11y.js +3 -1
  102. package/lib/components/image/image.a11y.js +3 -1
  103. package/lib/components/index.js +11 -0
  104. package/lib/components/inline_edit/index.js +19 -0
  105. package/lib/components/inline_edit/inline_edit.styles.js +22 -0
  106. package/lib/components/inline_edit/inline_edit_form.js +193 -0
  107. package/lib/components/inline_edit/inline_edit_text.js +97 -0
  108. package/lib/components/inline_edit/inline_edit_title.js +106 -0
  109. package/lib/components/page/page_header/page_header.a11y.js +3 -1
  110. package/lib/components/popover/popover_footer.js +4 -4
  111. package/lib/components/popover/popover_footer.styles.js +19 -7
  112. package/lib/components/popover/popover_panel/_popover_panel.js +7 -4
  113. package/lib/components/resizable_container/resizable_container.a11y.js +3 -1
  114. package/lib/components/search_bar/search_bar.a11y.js +5 -6
  115. package/lib/components/tree_view/tree_view.a11y.js +3 -1
  116. package/optimize/es/components/accordion/accordion.a11y.js +3 -1
  117. package/optimize/es/components/accordion/accordion.js +4 -2
  118. package/optimize/es/components/basic_table/table.a11y.js +3 -1
  119. package/optimize/es/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  120. package/optimize/es/components/card/card.a11y.js +3 -1
  121. package/optimize/es/components/color_picker/color_picker.a11y.js +3 -1
  122. package/optimize/es/components/combo_box/combo_box.a11y.js +3 -1
  123. package/optimize/es/components/combo_box/combo_box.js +2 -21
  124. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +63 -34
  125. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  126. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +3 -1
  127. package/optimize/es/components/control_bar/control_bar.a11y.js +3 -1
  128. package/optimize/es/components/copy/copy.a11y.js +6 -5
  129. package/optimize/es/components/datagrid/data_grid.a11y.js +3 -1
  130. package/optimize/es/components/date_picker/date_picker.a11y.js +3 -1
  131. package/optimize/es/components/date_picker/date_picker.js +142 -148
  132. package/optimize/es/components/date_picker/date_picker_range.js +1 -1
  133. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  134. package/optimize/es/components/delay_hide/delay_hide.a11y.js +9 -9
  135. package/optimize/es/components/delay_render/delay_render.a11y.js +9 -9
  136. package/optimize/es/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  137. package/optimize/es/components/empty_prompt/empty_prompt.a11y.js +8 -14
  138. package/optimize/es/components/error_boundary/error_boundary.a11y.js +3 -1
  139. package/optimize/es/components/expression/expression.a11y.js +3 -1
  140. package/optimize/es/components/filter_group/filter_group.a11y.js +4 -3
  141. package/optimize/es/components/flyout/flyout.a11y.js +3 -1
  142. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -1
  143. package/optimize/es/components/form/checkbox/checkbox_group.a11y.js +3 -1
  144. package/optimize/es/components/form/file_picker/file_picker.js +4 -2
  145. package/optimize/es/components/form/radio/radio_group.a11y.js +4 -5
  146. package/optimize/es/components/form/range/range.a11y.js +3 -1
  147. package/optimize/es/components/form/switch/switch.a11y.js +4 -5
  148. package/optimize/es/components/form/text_area/text_area.js +10 -3
  149. package/optimize/es/components/form/validatable_control/index.js +1 -1
  150. package/optimize/es/components/form/validatable_control/validatable_control.js +49 -9
  151. package/optimize/es/components/header/header.a11y.js +3 -1
  152. package/optimize/es/components/icon/icon_ML.a11y.js +3 -1
  153. package/optimize/es/components/icon/icon_apps.a11y.js +3 -1
  154. package/optimize/es/components/icon/icon_editor.a11y.js +3 -1
  155. package/optimize/es/components/icon/icon_elastic.a11y.js +3 -1
  156. package/optimize/es/components/icon/icon_glyphs.a11y.js +3 -1
  157. package/optimize/es/components/icon/icon_tokens.a11y.js +3 -1
  158. package/optimize/es/components/image/image.a11y.js +3 -1
  159. package/optimize/es/components/index.js +1 -0
  160. package/optimize/es/components/inline_edit/index.js +10 -0
  161. package/optimize/es/components/inline_edit/inline_edit.styles.js +15 -0
  162. package/optimize/es/components/inline_edit/inline_edit_form.js +133 -0
  163. package/optimize/es/components/inline_edit/inline_edit_text.js +52 -0
  164. package/optimize/es/components/inline_edit/inline_edit_title.js +56 -0
  165. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  166. package/optimize/es/components/modal/modal.a11y.js +3 -1
  167. package/optimize/es/components/notification/notification_event.a11y.js +3 -1
  168. package/optimize/es/components/page/page_header/page_header.a11y.js +3 -1
  169. package/optimize/es/components/pagination/pagination.a11y.js +3 -1
  170. package/optimize/es/components/popover/popover.a11y.js +3 -1
  171. package/optimize/es/components/popover/popover_footer.js +4 -4
  172. package/optimize/es/components/popover/popover_footer.styles.js +16 -5
  173. package/optimize/es/components/popover/popover_panel/_popover_panel.js +8 -5
  174. package/optimize/es/components/portal/portal.a11y.js +3 -1
  175. package/optimize/es/components/progress/progress.a11y.js +3 -1
  176. package/optimize/es/components/resizable_container/resizable_container.a11y.js +3 -1
  177. package/optimize/es/components/search_bar/search_bar.a11y.js +8 -7
  178. package/optimize/es/components/selectable/selectable.a11y.js +3 -1
  179. package/optimize/es/components/side_nav/side_nav.a11y.js +3 -1
  180. package/optimize/es/components/tabs/tabs.a11y.js +3 -1
  181. package/optimize/es/components/tree_view/tree_view.a11y.js +3 -1
  182. package/optimize/lib/components/accordion/accordion.a11y.js +3 -1
  183. package/optimize/lib/components/accordion/accordion.js +4 -2
  184. package/optimize/lib/components/basic_table/table.a11y.js +3 -1
  185. package/optimize/lib/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  186. package/optimize/lib/components/card/card.a11y.js +3 -1
  187. package/optimize/lib/components/color_picker/color_picker.a11y.js +3 -1
  188. package/optimize/lib/components/combo_box/combo_box.a11y.js +3 -1
  189. package/optimize/lib/components/combo_box/combo_box.js +2 -21
  190. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +63 -34
  191. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  192. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +3 -1
  193. package/optimize/lib/components/control_bar/control_bar.a11y.js +3 -1
  194. package/optimize/lib/components/copy/copy.a11y.js +6 -5
  195. package/optimize/lib/components/datagrid/data_grid.a11y.js +3 -1
  196. package/optimize/lib/components/date_picker/date_picker.a11y.js +3 -1
  197. package/optimize/lib/components/date_picker/date_picker.js +141 -147
  198. package/optimize/lib/components/date_picker/date_picker_range.js +1 -1
  199. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  200. package/optimize/lib/components/delay_hide/delay_hide.a11y.js +9 -9
  201. package/optimize/lib/components/delay_render/delay_render.a11y.js +9 -9
  202. package/optimize/lib/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  203. package/optimize/lib/components/empty_prompt/empty_prompt.a11y.js +8 -14
  204. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +3 -1
  205. package/optimize/lib/components/filter_group/filter_group.a11y.js +10 -9
  206. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -1
  207. package/optimize/lib/components/form/file_picker/file_picker.js +4 -2
  208. package/optimize/lib/components/form/radio/radio_group.a11y.js +4 -5
  209. package/optimize/lib/components/form/range/range.a11y.js +3 -1
  210. package/optimize/lib/components/form/switch/switch.a11y.js +4 -5
  211. package/optimize/lib/components/form/text_area/text_area.js +10 -3
  212. package/optimize/lib/components/form/validatable_control/index.js +6 -0
  213. package/optimize/lib/components/form/validatable_control/validatable_control.js +52 -12
  214. package/optimize/lib/components/header/header.a11y.js +3 -1
  215. package/optimize/lib/components/icon/icon_ML.a11y.js +3 -1
  216. package/optimize/lib/components/icon/icon_apps.a11y.js +3 -1
  217. package/optimize/lib/components/icon/icon_editor.a11y.js +3 -1
  218. package/optimize/lib/components/icon/icon_elastic.a11y.js +3 -1
  219. package/optimize/lib/components/icon/icon_glyphs.a11y.js +3 -1
  220. package/optimize/lib/components/icon/icon_tokens.a11y.js +3 -1
  221. package/optimize/lib/components/image/image.a11y.js +3 -1
  222. package/optimize/lib/components/index.js +11 -0
  223. package/optimize/lib/components/inline_edit/index.js +19 -0
  224. package/optimize/lib/components/inline_edit/inline_edit.styles.js +22 -0
  225. package/optimize/lib/components/inline_edit/inline_edit_form.js +144 -0
  226. package/optimize/lib/components/inline_edit/inline_edit_text.js +52 -0
  227. package/optimize/lib/components/inline_edit/inline_edit_title.js +57 -0
  228. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  229. package/optimize/lib/components/modal/modal.a11y.js +3 -1
  230. package/optimize/lib/components/notification/notification_event.a11y.js +3 -1
  231. package/optimize/lib/components/page/page_header/page_header.a11y.js +3 -1
  232. package/optimize/lib/components/pagination/pagination.a11y.js +3 -1
  233. package/optimize/lib/components/popover/popover.a11y.js +3 -1
  234. package/optimize/lib/components/popover/popover_footer.js +4 -4
  235. package/optimize/lib/components/popover/popover_footer.styles.js +19 -7
  236. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +7 -4
  237. package/optimize/lib/components/portal/portal.a11y.js +3 -1
  238. package/optimize/lib/components/progress/progress.a11y.js +3 -1
  239. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +3 -1
  240. package/optimize/lib/components/search_bar/search_bar.a11y.js +8 -7
  241. package/optimize/lib/components/selectable/selectable.a11y.js +3 -1
  242. package/optimize/lib/components/side_nav/side_nav.a11y.js +3 -1
  243. package/optimize/lib/components/tree_view/tree_view.a11y.js +3 -1
  244. package/package.json +1 -1
  245. package/src/components/combo_box/_combo_box.scss +2 -38
  246. package/src/components/date_picker/_date_picker_range.scss +1 -1
  247. package/src/components/form/field_text/_field_text.scss +0 -7
  248. package/src/components/form/file_picker/_file_picker.scss +3 -2
  249. package/src/components/form/form_control_layout/_form_control_layout.scss +7 -2
  250. package/src/components/form/text_area/_text_area.scss +9 -0
  251. package/test-env/components/accordion/accordion.a11y.js +3 -1
  252. package/test-env/components/accordion/accordion.js +4 -2
  253. package/test-env/components/basic_table/table.a11y.js +3 -1
  254. package/test-env/components/breadcrumbs/breadcrumbs.a11y.js +3 -1
  255. package/test-env/components/card/card.a11y.js +3 -1
  256. package/test-env/components/color_picker/color_picker.a11y.js +3 -1
  257. package/test-env/components/combo_box/combo_box.a11y.js +3 -1
  258. package/test-env/components/combo_box/combo_box.js +2 -21
  259. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +66 -36
  260. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  261. package/test-env/components/context_menu/context_menu_panel.a11y.js +3 -1
  262. package/test-env/components/control_bar/control_bar.a11y.js +3 -1
  263. package/test-env/components/copy/copy.a11y.js +6 -5
  264. package/test-env/components/datagrid/data_grid.a11y.js +3 -1
  265. package/test-env/components/date_picker/date_picker.a11y.js +3 -1
  266. package/test-env/components/date_picker/date_picker.js +141 -147
  267. package/test-env/components/date_picker/date_picker_range.js +2 -2
  268. package/test-env/components/date_picker/super_date_picker/super_date_picker.a11y.js +3 -1
  269. package/test-env/components/delay_hide/delay_hide.a11y.js +9 -9
  270. package/test-env/components/delay_render/delay_render.a11y.js +9 -9
  271. package/test-env/components/drag_and_drop/drag_and_drop.a11y.js +3 -2
  272. package/test-env/components/empty_prompt/empty_prompt.a11y.js +8 -14
  273. package/test-env/components/error_boundary/error_boundary.a11y.js +3 -1
  274. package/test-env/components/filter_group/filter_group.a11y.js +10 -9
  275. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -1
  276. package/test-env/components/form/file_picker/file_picker.js +4 -2
  277. package/test-env/components/form/radio/radio_group.a11y.js +4 -5
  278. package/test-env/components/form/range/range.a11y.js +3 -1
  279. package/test-env/components/form/switch/switch.a11y.js +4 -5
  280. package/test-env/components/form/text_area/text_area.js +11 -3
  281. package/test-env/components/form/validatable_control/index.js +6 -0
  282. package/test-env/components/form/validatable_control/validatable_control.js +51 -14
  283. package/test-env/components/header/header.a11y.js +3 -1
  284. package/test-env/components/icon/icon_ML.a11y.js +3 -1
  285. package/test-env/components/icon/icon_apps.a11y.js +3 -1
  286. package/test-env/components/icon/icon_editor.a11y.js +3 -1
  287. package/test-env/components/icon/icon_elastic.a11y.js +3 -1
  288. package/test-env/components/icon/icon_glyphs.a11y.js +3 -1
  289. package/test-env/components/icon/icon_tokens.a11y.js +3 -1
  290. package/test-env/components/image/image.a11y.js +3 -1
  291. package/test-env/components/index.js +11 -0
  292. package/test-env/components/inline_edit/index.js +19 -0
  293. package/test-env/components/inline_edit/inline_edit.styles.js +22 -0
  294. package/test-env/components/inline_edit/inline_edit_form.js +196 -0
  295. package/test-env/components/inline_edit/inline_edit_text.js +96 -0
  296. package/test-env/components/inline_edit/inline_edit_title.js +105 -0
  297. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +3 -1
  298. package/test-env/components/modal/modal.a11y.js +3 -1
  299. package/test-env/components/notification/notification_event.a11y.js +3 -1
  300. package/test-env/components/page/page_header/page_header.a11y.js +3 -1
  301. package/test-env/components/pagination/pagination.a11y.js +3 -1
  302. package/test-env/components/popover/popover.a11y.js +3 -1
  303. package/test-env/components/popover/popover_footer.js +4 -4
  304. package/test-env/components/popover/popover_footer.styles.js +19 -7
  305. package/test-env/components/popover/popover_panel/_popover_panel.js +7 -4
  306. package/test-env/components/portal/portal.a11y.js +3 -1
  307. package/test-env/components/progress/progress.a11y.js +3 -1
  308. package/test-env/components/resizable_container/resizable_container.a11y.js +3 -1
  309. package/test-env/components/search_bar/search_bar.a11y.js +8 -7
  310. package/test-env/components/selectable/selectable.a11y.js +3 -1
  311. package/test-env/components/side_nav/side_nav.a11y.js +3 -1
  312. package/test-env/components/tree_view/tree_view.a11y.js +3 -1
@@ -101,8 +101,9 @@
101
101
  height: $euiFilePickerTallHeight - $euiSizeL; /* 4 */
102
102
  }
103
103
 
104
- .euiFilePicker-isInvalid & {
105
- border: $euiBorderWidthThick dashed $euiColorDanger;
104
+ // To match other EUI form controls, do not color the border red if focused or disabled
105
+ .euiFilePicker-isInvalid:not(.euiFilePicker__showDrop) .euiFilePicker__input:not(:disabled):not(:focus) + & {
106
+ border-color: $euiColorDanger;
106
107
  }
107
108
  }
108
109
 
@@ -14,13 +14,18 @@
14
14
  // we use a form control layout class on all form controls.
15
15
  @for $i from 1 through 5 {
16
16
  &--#{$i}icons {
17
- padding-right: $iconPadding + ($iconSize + $marginBetweenIcons) * $i;
17
+ $paddingOffset: $iconPadding + ($iconSize + $marginBetweenIcons) * $i;
18
+
19
+ --eui-form-control-layout-icons-padding: #{$paddingOffset}; // Set this for flexible usage, e.g. components that need extra specificity
20
+ padding-right: $paddingOffset;
18
21
 
19
22
  &[class*='compressed'] {
20
23
  $iconSizeCompressed: map-get($euiFormControlIconSizes, 'small');
21
24
  $iconPaddingCompressed: $euiFormControlCompressedPadding;
25
+ $paddingOffset: $iconPaddingCompressed + ($iconSizeCompressed + $marginBetweenIcons) * $i;
22
26
 
23
- padding-right: $iconPaddingCompressed + ($iconSizeCompressed + $marginBetweenIcons) * $i;
27
+ --eui-form-control-layout-icons-padding: #{$paddingOffset};
28
+ padding-right: $paddingOffset;
24
29
  }
25
30
  }
26
31
  }
@@ -9,6 +9,15 @@
9
9
  }
10
10
  }
11
11
 
12
+ .euiFormControlLayout--euiTextArea {
13
+ height: auto;
14
+
15
+ .euiFormControlLayoutIcons {
16
+ top: auto;
17
+ bottom: $euiFormControlPadding;
18
+ }
19
+ }
20
+
12
21
  // resize modifiers
13
22
  $textareaResizing: (
14
23
  vertical: 'resizeVertical',
@@ -14,7 +14,9 @@ var _react2 = require("@emotion/react");
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 baseProps = {
20
22
  buttonContent: 'Click me to toggle',
@@ -213,8 +213,10 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
213
213
  }, buttonProps, {
214
214
  id: buttonId,
215
215
  className: buttonClasses,
216
- "aria-controls": id,
217
- "aria-expanded": isOpen,
216
+ "aria-controls": id
217
+ // `aria-expanded` is only a valid attribute on interactive controls - axe-core throws a violation otherwise
218
+ ,
219
+ "aria-expanded": ButtonElement === 'button' ? isOpen : undefined,
218
220
  onClick: isDisabled ? undefined : this.onToggle,
219
221
  type: ButtonElement === 'button' ? 'button' : undefined,
220
222
  disabled: ButtonElement === 'button' ? isDisabled : undefined
@@ -16,7 +16,9 @@ var _react2 = require("@emotion/react");
16
16
  * Side Public License, v 1.
17
17
  */
18
18
 
19
- /// <reference types="../../../cypress/support"/>
19
+ /// <reference types="cypress" />
20
+ /// <reference types="cypress-real-events" />
21
+ /// <reference types="../../../cypress/support" />
20
22
 
21
23
  var users = [];
22
24
  for (var i = 0; i < 20; i++) {
@@ -12,7 +12,9 @@ var _react2 = require("@emotion/react");
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 breadcrumbs = [{
18
20
  text: 'Animals',
@@ -19,7 +19,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
  * Side Public License, v 1.
20
20
  */
21
21
 
22
- /// <reference types="../../../cypress/support"/>
22
+ /// <reference types="cypress" />
23
+ /// <reference types="cypress-real-events" />
24
+ /// <reference types="../../../cypress/support" />
23
25
 
24
26
  var Card = function Card() {
25
27
  var _useState = (0, _react.useState)(false),
@@ -15,7 +15,9 @@ var _react2 = require("@emotion/react");
15
15
  * Side Public License, v 1.
16
16
  */
17
17
 
18
- /// <reference types="../../../cypress/support"/>
18
+ /// <reference types="cypress" />
19
+ /// <reference types="cypress-real-events" />
20
+ /// <reference types="../../../cypress/support" />
19
21
 
20
22
  var ColorPicker = function ColorPicker() {
21
23
  var _useColorPickerState = (0, _services.useColorPickerState)('#D36086'),
@@ -16,7 +16,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
16
16
  * Side Public License, v 1.
17
17
  */
18
18
 
19
- /// <reference types="../../../cypress/support"/>
19
+ /// <reference types="cypress" />
20
+ /// <reference types="cypress-real-events" />
21
+ /// <reference types="../../../cypress/support" />
20
22
 
21
23
  var ComboBox = function ComboBox() {
22
24
  var _useState = (0, _react.useState)([{
@@ -217,22 +217,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
217
217
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clearSearchValue", function () {
218
218
  _this.onSearchChange('');
219
219
  });
220
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "removeLastOption", function () {
221
- if (!_this.props.selectedOptions.length) {
222
- return;
223
- }
224
-
225
- // Backspace will be used to delete the input, not a pill.
226
- if (_this.state.searchValue.length) {
227
- return;
228
- }
229
-
230
- // Delete last pill.
231
- _this.onRemoveOption(_this.props.selectedOptions[_this.props.selectedOptions.length - 1]);
232
- if (Boolean(_this.props.singleSelection) && !_this.state.isListOpen) {
233
- _this.openList();
234
- }
235
- });
236
220
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "addCustomOption", function (isContainerBlur, searchValue) {
237
221
  var _this$props = _this.props,
238
222
  isCaseSensitive = _this$props.isCaseSensitive,
@@ -382,10 +366,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
382
366
  _this.openList();
383
367
  }
384
368
  break;
385
- case _services.keys.BACKSPACE:
386
- event.stopPropagation();
387
- _this.removeLastOption();
388
- break;
389
369
  case _services.keys.ESCAPE:
390
370
  if (_this.state.isListOpen) {
391
371
  event.preventDefault();
@@ -662,7 +642,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
662
642
  // Visually indicate the combobox is in an invalid state if it has lost focus but there is text entered in the input.
663
643
  // When custom options are disabled and the user leaves the combo box after entering text that does not match any
664
644
  // options, this tells the user that they've entered invalid input.
665
- var markAsInvalid = isInvalid || (hasFocus === false || isListOpen === false) && searchValue;
645
+ var markAsInvalid = !!(isInvalid || (hasFocus === false || isListOpen === false) && searchValue);
666
646
  var classes = (0, _classnames.default)('euiComboBox', className, {
667
647
  'euiComboBox--compressed': compressed,
668
648
  'euiComboBox--fullWidth': fullWidth,
@@ -759,6 +739,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
759
739
  append: singleSelection ? append : undefined,
760
740
  prepend: singleSelection ? prepend : undefined,
761
741
  isLoading: isLoading,
742
+ isInvalid: markAsInvalid,
762
743
  autoFocus: autoFocus,
763
744
  "aria-label": ariaLabel,
764
745
  "aria-labelledby": ariaLabelledby
@@ -20,8 +20,10 @@ var _react = _interopRequireWildcard(require("react"));
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
  var _classnames = _interopRequireDefault(require("classnames"));
22
22
  var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
23
+ var _services = require("../../../services");
23
24
  var _accessibility = require("../../accessibility");
24
25
  var _form_control_layout = require("../../form/form_control_layout");
26
+ var _num_icons = require("../../form/form_control_layout/_num_icons");
25
27
  var _combo_box_pill = require("./combo_box_pill");
26
28
  var _react2 = require("@emotion/react");
27
29
  var _excluded = ["key", "label", "color", "onClick"];
@@ -62,10 +64,29 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
62
64
  hasFocus: false
63
65
  });
64
66
  });
65
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "inputOnChange", function (event) {
67
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onKeyDown", function (event) {
66
68
  var _this$props = _this.props,
67
- onChange = _this$props.onChange,
68
- searchValue = _this$props.searchValue;
69
+ searchValue = _this$props.searchValue,
70
+ selectedOptions = _this$props.selectedOptions,
71
+ onRemoveOption = _this$props.onRemoveOption,
72
+ singleSelection = _this$props.singleSelection,
73
+ isListOpen = _this$props.isListOpen,
74
+ onOpenListClick = _this$props.onOpenListClick;
75
+
76
+ // When backspacing from an empty input, delete the last pill option in the list
77
+ var searchIsEmpty = !searchValue.length;
78
+ var hasPills = selectedOptions.length;
79
+ if (event.key === _services.keys.BACKSPACE && searchIsEmpty && hasPills) {
80
+ onRemoveOption(selectedOptions[selectedOptions.length - 1]);
81
+ if (!!singleSelection && !isListOpen) {
82
+ onOpenListClick();
83
+ }
84
+ }
85
+ });
86
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "inputOnChange", function (event) {
87
+ var _this$props2 = _this.props,
88
+ onChange = _this$props2.onChange,
89
+ searchValue = _this$props2.searchValue;
69
90
  if (onChange) {
70
91
  onChange(event.target.value);
71
92
  }
@@ -92,34 +113,35 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
92
113
  }, {
93
114
  key: "render",
94
115
  value: function render() {
95
- var _this$props2 = this.props,
96
- compressed = _this$props2.compressed,
97
- focusedOptionId = _this$props2.focusedOptionId,
98
- fullWidth = _this$props2.fullWidth,
99
- hasSelectedOptions = _this$props2.hasSelectedOptions,
100
- id = _this$props2.id,
101
- inputRef = _this$props2.inputRef,
102
- isDisabled = _this$props2.isDisabled,
103
- isListOpen = _this$props2.isListOpen,
104
- noIcon = _this$props2.noIcon,
105
- onClear = _this$props2.onClear,
106
- onClick = _this$props2.onClick,
107
- onCloseListClick = _this$props2.onCloseListClick,
108
- onOpenListClick = _this$props2.onOpenListClick,
109
- onRemoveOption = _this$props2.onRemoveOption,
110
- placeholder = _this$props2.placeholder,
111
- rootId = _this$props2.rootId,
112
- searchValue = _this$props2.searchValue,
113
- selectedOptions = _this$props2.selectedOptions,
114
- singleSelectionProp = _this$props2.singleSelection,
115
- toggleButtonRef = _this$props2.toggleButtonRef,
116
- value = _this$props2.value,
117
- prepend = _this$props2.prepend,
118
- append = _this$props2.append,
119
- isLoading = _this$props2.isLoading,
120
- autoFocus = _this$props2.autoFocus,
121
- ariaLabel = _this$props2['aria-label'],
122
- ariaLabelledby = _this$props2['aria-labelledby'];
116
+ var _this$props3 = this.props,
117
+ compressed = _this$props3.compressed,
118
+ focusedOptionId = _this$props3.focusedOptionId,
119
+ fullWidth = _this$props3.fullWidth,
120
+ hasSelectedOptions = _this$props3.hasSelectedOptions,
121
+ id = _this$props3.id,
122
+ inputRef = _this$props3.inputRef,
123
+ isDisabled = _this$props3.isDisabled,
124
+ isListOpen = _this$props3.isListOpen,
125
+ noIcon = _this$props3.noIcon,
126
+ onClear = _this$props3.onClear,
127
+ onClick = _this$props3.onClick,
128
+ onCloseListClick = _this$props3.onCloseListClick,
129
+ onOpenListClick = _this$props3.onOpenListClick,
130
+ onRemoveOption = _this$props3.onRemoveOption,
131
+ placeholder = _this$props3.placeholder,
132
+ rootId = _this$props3.rootId,
133
+ searchValue = _this$props3.searchValue,
134
+ selectedOptions = _this$props3.selectedOptions,
135
+ singleSelectionProp = _this$props3.singleSelection,
136
+ toggleButtonRef = _this$props3.toggleButtonRef,
137
+ value = _this$props3.value,
138
+ prepend = _this$props3.prepend,
139
+ append = _this$props3.append,
140
+ isLoading = _this$props3.isLoading,
141
+ isInvalid = _this$props3.isInvalid,
142
+ autoFocus = _this$props3.autoFocus,
143
+ ariaLabel = _this$props3['aria-label'],
144
+ ariaLabelledby = _this$props3['aria-labelledby'];
123
145
  var singleSelection = Boolean(singleSelectionProp);
124
146
  var asPlainText = singleSelectionProp && (0, _typeof2.default)(singleSelectionProp) === 'object' && singleSelectionProp.asPlainText || false;
125
147
  var pills = selectedOptions ? selectedOptions.map(function (option) {
@@ -181,12 +203,16 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
181
203
  type: 'arrowDown'
182
204
  };
183
205
  }
184
- var wrapClasses = (0, _classnames.default)('euiComboBox__inputWrap', {
206
+ var numIconsClass = (0, _num_icons.getFormControlClassNameForIconCount)({
207
+ isDropdown: !noIcon,
208
+ clear: !!clickProps.clear,
209
+ isInvalid: isInvalid,
210
+ isLoading: isLoading
211
+ });
212
+ var wrapClasses = (0, _classnames.default)('euiComboBox__inputWrap', numIconsClass, {
185
213
  'euiComboBox__inputWrap--compressed': compressed,
186
214
  'euiComboBox__inputWrap--fullWidth': fullWidth,
187
215
  'euiComboBox__inputWrap--noWrap': singleSelection,
188
- 'euiComboBox__inputWrap-isLoading': isLoading,
189
- 'euiComboBox__inputWrap-isClearable': onClear,
190
216
  'euiComboBox__inputWrap--inGroup': prepend || append
191
217
  });
192
218
  return (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, (0, _extends2.default)({
@@ -194,6 +220,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
194
220
  }, clickProps, {
195
221
  inputId: id,
196
222
  isLoading: isLoading,
223
+ isInvalid: isInvalid,
197
224
  compressed: compressed,
198
225
  fullWidth: fullWidth,
199
226
  prepend: prepend,
@@ -210,6 +237,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
210
237
  "aria-expanded": isListOpen,
211
238
  "aria-label": ariaLabel,
212
239
  "aria-labelledby": ariaLabelledby,
240
+ "aria-invalid": isInvalid,
213
241
  className: "euiComboBox__input",
214
242
  "data-test-subj": "comboBoxSearchInput",
215
243
  disabled: isDisabled,
@@ -218,6 +246,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
218
246
  onBlur: this.onBlur,
219
247
  onChange: this.inputOnChange,
220
248
  onFocus: this.onFocus,
249
+ onKeyDown: this.onKeyDown,
221
250
  ref: this.inputRefCallback,
222
251
  role: "combobox",
223
252
  style: {
@@ -249,7 +278,7 @@ EuiComboBoxInput.propTypes = {
249
278
  onCloseListClick: _propTypes.default.func.isRequired,
250
279
  onFocus: _propTypes.default.any.isRequired,
251
280
  onOpenListClick: _propTypes.default.func.isRequired,
252
- onRemoveOption: _propTypes.default.func,
281
+ onRemoveOption: _propTypes.default.func.isRequired,
253
282
  placeholder: _propTypes.default.string,
254
283
  rootId: _propTypes.default.any.isRequired,
255
284
  searchValue: _propTypes.default.string.isRequired,
@@ -273,7 +302,7 @@ EuiComboBoxInput.propTypes = {
273
302
  "aria-label": _propTypes.default.string,
274
303
  "data-test-subj": _propTypes.default.string,
275
304
  css: _propTypes.default.any
276
- }).isRequired),
305
+ }).isRequired).isRequired,
277
306
  singleSelection: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.shape({
278
307
  asPlainText: _propTypes.default.bool
279
308
  }).isRequired]),
@@ -283,6 +312,7 @@ EuiComboBoxInput.propTypes = {
283
312
  prepend: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired).isRequired]),
284
313
  append: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired).isRequired]),
285
314
  isLoading: _propTypes.default.bool,
315
+ isInvalid: _propTypes.default.bool,
286
316
  autoFocus: _propTypes.default.bool,
287
317
  "aria-label": _propTypes.default.string,
288
318
  "aria-labelledby": _propTypes.default.string,
@@ -346,7 +346,7 @@ var EuiComboBoxOptionsList = /*#__PURE__*/function (_Component) {
346
346
  hasShadow: false,
347
347
  className: classes,
348
348
  panelRef: this.listRefCallback,
349
- "data-test-subj": "comboBoxOptionsList ".concat(dataTestSubj),
349
+ "data-test-subj": (0, _classnames.default)('comboBoxOptionsList', dataTestSubj),
350
350
  style: _objectSpread(_objectSpread({}, style), {}, {
351
351
  zIndex: zIndex
352
352
  }),
@@ -13,7 +13,9 @@ var _react2 = require("@emotion/react");
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
  var items = [(0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
19
21
  key: "A",
@@ -19,7 +19,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
  * Side Public License, v 1.
20
20
  */
21
21
 
22
- /// <reference types="../../../cypress/support"/>
22
+ /// <reference types="cypress" />
23
+ /// <reference types="cypress-real-events" />
24
+ /// <reference types="../../../cypress/support" />
23
25
 
24
26
  var ControlBar = function ControlBar() {
25
27
  var _useState = (0, _react.useState)(false),
@@ -19,21 +19,22 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
  * Side Public License, v 1.
20
20
  */
21
21
 
22
- /// <reference types="../../../cypress/support"/>
22
+ /// <reference types="cypress" />
23
+ /// <reference types="cypress-real-events" />
24
+ /// <reference types="../../../cypress/support" />
23
25
 
24
26
  var Copy = function Copy() {
25
27
  var _useState = (0, _react.useState)('I am the text that will be copied'),
26
28
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
27
29
  copyText = _useState2[0],
28
30
  setCopyText = _useState2[1];
29
- var onChange = function onChange(e) {
30
- setCopyText(e.target.value);
31
- };
32
31
  return (0, _react2.jsx)("div", null, (0, _react2.jsx)(_form.EuiFormRow, {
33
32
  label: "Enter text that will be copied to clipboard"
34
33
  }, (0, _react2.jsx)(_form.EuiFieldText, {
35
34
  value: copyText,
36
- onChange: onChange
35
+ onChange: function onChange(e) {
36
+ return setCopyText(e.target.value);
37
+ }
37
38
  })), (0, _react2.jsx)(_spacer.EuiSpacer, {
38
39
  size: "m"
39
40
  }), (0, _react2.jsx)(_copy.EuiCopy, {
@@ -18,7 +18,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
18
18
  * Side Public License, v 1.
19
19
  */
20
20
 
21
- /// <reference types="../../../cypress/support"/>
21
+ /// <reference types="cypress" />
22
+ /// <reference types="cypress-real-events" />
23
+ /// <reference types="../../../cypress/support" />
22
24
 
23
25
  var columns = [{
24
26
  id: 'Name'
@@ -18,7 +18,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
18
18
  * Side Public License, v 1.
19
19
  */
20
20
 
21
- /// <reference types="../../../cypress/support"/>
21
+ /// <reference types="cypress" />
22
+ /// <reference types="cypress-real-events" />
23
+ /// <reference types="../../../cypress/support" />
22
24
 
23
25
  var DatePicker = function DatePicker() {
24
26
  var _useState = (0, _react.useState)((0, _moment.default)()),