@elastic/eui 114.3.0 → 116.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 (387) hide show
  1. package/es/components/basic_table/basic_table.js +3 -6
  2. package/es/components/basic_table/collapsed_item_actions.js +1 -3
  3. package/es/components/basic_table/default_item_action.js +0 -1
  4. package/es/components/basic_table/in_memory_table.js +3 -6
  5. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  6. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  7. package/es/components/color_picker/color_picker_swatch.js +1 -2
  8. package/es/components/combo_box/combo_box.a11y.js +5 -5
  9. package/es/components/combo_box/combo_box.js +61 -53
  10. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  11. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  12. package/es/components/context_menu/context_menu.js +19 -21
  13. package/es/components/context_menu/context_menu.styles.js +5 -2
  14. package/es/components/context_menu/context_menu_item.js +69 -58
  15. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  16. package/es/components/context_menu/context_menu_panel.js +37 -21
  17. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  18. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  19. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  20. package/es/components/context_menu/index.js +2 -1
  21. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  22. package/es/components/datagrid/body/data_grid_body.js +23 -17
  23. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  24. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  25. package/es/components/datagrid/body/header/column_actions.js +1 -2
  26. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  27. package/es/components/datagrid/controls/column_sorting.js +23 -17
  28. package/es/components/datagrid/controls/display_selector.js +1 -2
  29. package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  30. package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  31. package/es/components/datagrid/utils/in_memory.js +23 -17
  32. package/es/components/filter_group/filter_group.a11y.js +8 -2
  33. package/es/components/filter_group/filter_select_item.js +36 -17
  34. package/es/components/flyout/flyout_menu.js +1 -4
  35. package/es/components/form/checkbox/checkbox.js +6 -6
  36. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  37. package/es/components/form/checkbox/checkbox_control.js +78 -0
  38. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  39. package/es/components/form/checkbox/index.js +1 -0
  40. package/es/components/form/form.styles.js +2 -1
  41. package/es/components/form/radio/radio.styles.js +1 -1
  42. package/es/components/form/super_select/super_select.js +118 -99
  43. package/es/components/form/super_select/super_select.styles.js +4 -8
  44. package/es/components/form/super_select/super_select_item.js +10 -18
  45. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  46. package/es/components/link/external_link_icon.js +4 -2
  47. package/es/components/list_group/list_group.js +20 -34
  48. package/es/components/list_group/list_group.styles.js +2 -16
  49. package/es/components/list_group/list_group_item.js +75 -87
  50. package/es/components/list_group/list_group_item.styles.js +17 -61
  51. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  52. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  53. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  54. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  55. package/es/components/list_item_layout/index.js +9 -0
  56. package/es/components/markdown_editor/markdown_editor.js +1 -1
  57. package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  58. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  59. package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  60. package/es/components/portal/portal.js +72 -117
  61. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  62. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
  63. package/es/components/selectable/selectable.js +1 -0
  64. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  65. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  66. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  67. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  68. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  69. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  70. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  71. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  72. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  73. package/es/components/table/table_header_cell.js +1 -2
  74. package/es/components/tool_tip/icon_tip.js +4 -8
  75. package/es/components/tool_tip/tool_tip.js +233 -261
  76. package/es/components/tool_tip/tool_tip.styles.js +10 -18
  77. package/es/components/tool_tip/tool_tip_anchor.js +3 -3
  78. package/es/components/tool_tip/tool_tip_manager.js +1 -0
  79. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  80. package/es/global_styling/mixins/_helpers.js +32 -11
  81. package/es/test/rtl/component_helpers.d.ts +0 -3
  82. package/es/test/rtl/component_helpers.js +40 -62
  83. package/eui.d.ts +10463 -8188
  84. package/i18ntokens.json +2607 -2589
  85. package/lib/components/basic_table/basic_table.js +3 -6
  86. package/lib/components/basic_table/collapsed_item_actions.js +1 -3
  87. package/lib/components/basic_table/default_item_action.js +0 -1
  88. package/lib/components/basic_table/in_memory_table.js +3 -6
  89. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  90. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  91. package/lib/components/color_picker/color_picker_swatch.js +1 -2
  92. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  93. package/lib/components/combo_box/combo_box.js +61 -53
  94. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  95. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  96. package/lib/components/context_menu/context_menu.js +20 -22
  97. package/lib/components/context_menu/context_menu.styles.js +4 -1
  98. package/lib/components/context_menu/context_menu_item.js +70 -59
  99. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  100. package/lib/components/context_menu/context_menu_panel.js +37 -21
  101. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  102. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  103. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  104. package/lib/components/context_menu/index.js +8 -1
  105. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  106. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  107. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  108. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  109. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  110. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  111. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  112. package/lib/components/datagrid/controls/display_selector.js +1 -2
  113. package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  114. package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  115. package/lib/components/datagrid/utils/in_memory.js +23 -17
  116. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  117. package/lib/components/filter_group/filter_select_item.js +35 -16
  118. package/lib/components/flyout/flyout_menu.js +1 -4
  119. package/lib/components/form/checkbox/checkbox.js +6 -6
  120. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  121. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  122. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  123. package/lib/components/form/checkbox/index.js +7 -0
  124. package/lib/components/form/form.styles.js +2 -1
  125. package/lib/components/form/radio/radio.styles.js +1 -1
  126. package/lib/components/form/super_select/super_select.js +116 -97
  127. package/lib/components/form/super_select/super_select.styles.js +4 -8
  128. package/lib/components/form/super_select/super_select_item.js +13 -18
  129. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  130. package/lib/components/link/external_link_icon.js +4 -2
  131. package/lib/components/list_group/list_group.js +21 -35
  132. package/lib/components/list_group/list_group.styles.js +2 -16
  133. package/lib/components/list_group/list_group_item.js +75 -87
  134. package/lib/components/list_group/list_group_item.styles.js +17 -61
  135. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  136. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  137. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  138. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  139. package/lib/components/list_item_layout/index.js +12 -0
  140. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  141. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  142. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  143. package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
  144. package/lib/components/portal/portal.js +73 -118
  145. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  146. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
  147. package/lib/components/selectable/selectable.js +1 -0
  148. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  149. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  150. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  151. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  152. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  153. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  154. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  155. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  156. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  157. package/lib/components/table/table_header_cell.js +1 -2
  158. package/lib/components/tool_tip/icon_tip.js +4 -8
  159. package/lib/components/tool_tip/tool_tip.js +240 -266
  160. package/lib/components/tool_tip/tool_tip.styles.js +8 -16
  161. package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  162. package/lib/components/tool_tip/tool_tip_manager.js +1 -0
  163. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  164. package/lib/global_styling/mixins/_helpers.js +33 -12
  165. package/lib/test/rtl/component_helpers.d.ts +0 -3
  166. package/lib/test/rtl/component_helpers.js +41 -63
  167. package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
  168. package/optimize/es/components/basic_table/default_item_action.js +0 -1
  169. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  170. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  171. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  172. package/optimize/es/components/combo_box/combo_box.js +60 -52
  173. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  174. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  175. package/optimize/es/components/context_menu/context_menu.js +18 -13
  176. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  177. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  178. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  179. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  180. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  181. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  182. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  183. package/optimize/es/components/context_menu/index.js +2 -1
  184. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  185. package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
  186. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  187. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  188. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  189. package/optimize/es/components/filter_group/filter_select_item.js +36 -17
  190. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  191. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  192. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  193. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  194. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  195. package/optimize/es/components/form/checkbox/index.js +1 -0
  196. package/optimize/es/components/form/form.styles.js +2 -1
  197. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  198. package/optimize/es/components/form/super_select/super_select.js +118 -90
  199. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  200. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  201. package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  202. package/optimize/es/components/link/external_link_icon.js +4 -2
  203. package/optimize/es/components/list_group/list_group.js +7 -14
  204. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  205. package/optimize/es/components/list_group/list_group_item.js +62 -80
  206. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  207. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  208. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  209. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  210. package/optimize/es/components/list_item_layout/index.js +9 -0
  211. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  212. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  213. package/optimize/es/components/portal/portal.js +65 -91
  214. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  215. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
  216. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  217. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  218. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  219. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  220. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  221. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  222. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  223. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  224. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  225. package/optimize/es/components/tool_tip/icon_tip.js +3 -5
  226. package/optimize/es/components/tool_tip/tool_tip.js +227 -250
  227. package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
  228. package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
  229. package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
  230. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  231. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  232. package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
  233. package/optimize/es/test/rtl/component_helpers.js +40 -62
  234. package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
  235. package/optimize/lib/components/basic_table/default_item_action.js +0 -1
  236. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  237. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  238. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  239. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  240. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  241. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  242. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  243. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  244. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  245. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  246. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  247. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  248. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  249. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  250. package/optimize/lib/components/context_menu/index.js +8 -1
  251. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  252. package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
  253. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  254. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  255. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  256. package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
  257. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  258. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  259. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  260. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  261. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  262. package/optimize/lib/components/form/checkbox/index.js +7 -0
  263. package/optimize/lib/components/form/form.styles.js +2 -1
  264. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  265. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  266. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  267. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  268. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  269. package/optimize/lib/components/link/external_link_icon.js +4 -2
  270. package/optimize/lib/components/list_group/list_group.js +8 -15
  271. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  272. package/optimize/lib/components/list_group/list_group_item.js +62 -80
  273. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  274. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  275. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  276. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  277. package/optimize/lib/components/list_item_layout/index.js +12 -0
  278. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  279. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  280. package/optimize/lib/components/portal/portal.js +68 -93
  281. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  282. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
  283. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  284. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  285. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  286. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  287. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  288. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  289. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  290. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  291. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  292. package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
  293. package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
  294. package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
  295. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  296. package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
  297. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  298. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  299. package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
  300. package/optimize/lib/test/rtl/component_helpers.js +41 -63
  301. package/package.json +5 -13
  302. package/test-env/components/basic_table/basic_table.js +3 -6
  303. package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
  304. package/test-env/components/basic_table/default_item_action.js +0 -1
  305. package/test-env/components/basic_table/in_memory_table.js +3 -6
  306. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  307. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  308. package/test-env/components/color_picker/color_picker_swatch.js +1 -2
  309. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  310. package/test-env/components/combo_box/combo_box.js +61 -53
  311. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  312. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  313. package/test-env/components/context_menu/context_menu.js +20 -22
  314. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  315. package/test-env/components/context_menu/context_menu_item.js +67 -59
  316. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  317. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  318. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  319. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  320. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  321. package/test-env/components/context_menu/index.js +8 -1
  322. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  323. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  324. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  325. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  326. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  327. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  328. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  329. package/test-env/components/datagrid/controls/display_selector.js +1 -2
  330. package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
  331. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  332. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  333. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  334. package/test-env/components/filter_group/filter_select_item.js +35 -16
  335. package/test-env/components/flyout/flyout_menu.js +1 -4
  336. package/test-env/components/form/checkbox/checkbox.js +6 -6
  337. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  338. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  339. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  340. package/test-env/components/form/checkbox/index.js +7 -0
  341. package/test-env/components/form/form.styles.js +2 -1
  342. package/test-env/components/form/radio/radio.styles.js +1 -1
  343. package/test-env/components/form/super_select/super_select.js +116 -97
  344. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  345. package/test-env/components/form/super_select/super_select_item.js +13 -18
  346. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
  347. package/test-env/components/link/external_link_icon.js +4 -2
  348. package/test-env/components/list_group/list_group.js +21 -35
  349. package/test-env/components/list_group/list_group.styles.js +2 -16
  350. package/test-env/components/list_group/list_group_item.js +75 -87
  351. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  352. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  353. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  354. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  355. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  356. package/test-env/components/list_item_layout/index.js +12 -0
  357. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  358. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  359. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  360. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  361. package/test-env/components/portal/portal.js +70 -113
  362. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  363. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
  364. package/test-env/components/selectable/selectable.js +1 -0
  365. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  366. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  367. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  368. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  369. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  370. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  371. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  372. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  373. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  374. package/test-env/components/table/table_header_cell.js +1 -2
  375. package/test-env/components/tool_tip/icon_tip.js +4 -8
  376. package/test-env/components/tool_tip/tool_tip.js +230 -256
  377. package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
  378. package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
  379. package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
  380. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  381. package/test-env/global_styling/mixins/_helpers.js +33 -12
  382. package/test-env/test/rtl/component_helpers.js +41 -63
  383. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  384. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  385. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  386. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  387. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
@@ -25,17 +25,17 @@ var _mark = require("../../mark");
25
25
  var _text = require("../../text");
26
26
  var _loading = require("../../loading");
27
27
  var _i18n = require("../../i18n");
28
- var _filter_select_item = require("../../filter_group/filter_select_item");
28
+ var _selectable_list = require("../../selectable/selectable_list/selectable_list.styles");
29
+ var _get_list_item_size = require("../../selectable/selectable_list/utils/get_list_item_size");
29
30
  var _badge = require("../../badge");
30
31
  var _text_truncate = require("../../text_truncate");
31
32
  var _input_popover = require("../../popover/input_popover");
32
- var _utils = require("../utils");
33
- var _combo_box_title = require("./combo_box_title");
33
+ var _list_item_layout = require("../../list_item_layout");
34
34
  var _combo_box_options_list = require("./combo_box_options_list.styles");
35
35
  var _react2 = require("@emotion/react");
36
36
  var _excluded = ["children"],
37
- _excluded2 = ["key", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps"],
38
- _excluded3 = ["data-test-subj", "activeOptionIndex", "areAllOptionsSelected", "customOptionText", "fullWidth", "getSelectedOptionForSearchValue", "isCaseSensitive", "isLoading", "listRef", "matchingOptions", "onCloseList", "onCreateOption", "onOptionClick", "onOptionEnterKey", "onScroll", "options", "renderOption", "rootId", "rowHeight", "scrollToIndex", "searchValue", "selectedOptions", "singleSelection", "delimiter", "truncationProps", "listboxAriaLabel", "setListOptionRefs"];
37
+ _excluded2 = ["key", "className", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps", "toolTipContent", "toolTipProps"],
38
+ _excluded3 = ["data-test-subj", "activeOptionIndex", "areAllOptionsSelected", "customOptionText", "fullWidth", "getSelectedOptionForSearchValue", "isCaseSensitive", "isLoading", "listRef", "matchingOptions", "onCloseList", "onCreateOption", "onOptionClick", "onOptionEnterKey", "onScroll", "options", "renderOption", "rootId", "rowHeight", "scrollToIndex", "searchValue", "selectedOptions", "singleSelection", "delimiter", "onFocusBadge", "truncationProps", "listboxAriaLabel", "setListOptionRefs"];
39
39
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
40
40
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
41
41
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -63,13 +63,20 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
63
63
  }
64
64
  _this = _callSuper(this, EuiComboBoxOptionsList, [].concat(args));
65
65
  (0, _defineProperty2.default)(_this, "listRef", null);
66
+ (0, _defineProperty2.default)(_this, "listBoxRef", /*#__PURE__*/(0, _react.createRef)());
67
+ (0, _defineProperty2.default)(_this, "optionRefs", {});
66
68
  (0, _defineProperty2.default)(_this, "setListRef", function (ref) {
67
69
  _this.listRef = ref;
68
70
  });
71
+ (0, _defineProperty2.default)(_this, "setOptionRef", function (ref, index) {
72
+ var _this$props$setListOp, _this$props;
73
+ _this.optionRefs[index] = ref;
74
+ (_this$props$setListOp = (_this$props = _this.props).setListOptionRefs) === null || _this$props$setListOp === void 0 || _this$props$setListOp.call(_this$props, ref, index);
75
+ });
69
76
  (0, _defineProperty2.default)(_this, "ListInnerElement", function (_ref) {
70
77
  var children = _ref.children,
71
78
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
72
- return (0, _react2.jsx)("div", (0, _extends2.default)({}, rest, _this.getListInnerElementProps()), children);
79
+ return (0, _react2.jsx)("ul", (0, _extends2.default)({}, rest, _this.getListInnerElementProps()), children);
73
80
  });
74
81
  (0, _defineProperty2.default)(_this, "ListRow", function (_ref2) {
75
82
  var _option$key;
@@ -78,33 +85,43 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
78
85
  style = _ref2.style;
79
86
  var option = data[index];
80
87
  var key = option.key,
88
+ className = option.className,
81
89
  isGroupLabelOption = option.isGroupLabelOption,
82
90
  label = option.label,
83
91
  value = option.value,
84
92
  prepend = option.prepend,
85
93
  append = option.append,
86
94
  _truncationProps = option.truncationProps,
95
+ toolTipContent = option.toolTipContent,
96
+ toolTipProps = option.toolTipProps,
87
97
  rest = (0, _objectWithoutProperties2.default)(option, _excluded2);
88
- var _this$props = _this.props,
89
- singleSelection = _this$props.singleSelection,
90
- selectedOptions = _this$props.selectedOptions,
91
- onOptionClick = _this$props.onOptionClick,
92
- activeOptionIndex = _this$props.activeOptionIndex,
93
- renderOption = _this$props.renderOption,
94
- searchValue = _this$props.searchValue,
95
- rootId = _this$props.rootId,
96
- matchingOptions = _this$props.matchingOptions,
97
- setListOptionRefs = _this$props.setListOptionRefs,
98
- rowHeight = _this$props.rowHeight;
98
+ var _this$props2 = _this.props,
99
+ options = _this$props2.options,
100
+ singleSelection = _this$props2.singleSelection,
101
+ selectedOptions = _this$props2.selectedOptions,
102
+ onOptionClick = _this$props2.onOptionClick,
103
+ activeOptionIndex = _this$props2.activeOptionIndex,
104
+ renderOption = _this$props2.renderOption,
105
+ searchValue = _this$props2.searchValue,
106
+ rootId = _this$props2.rootId,
107
+ matchingOptions = _this$props2.matchingOptions,
108
+ onFocusBadge = _this$props2.onFocusBadge,
109
+ rowHeight = _this$props2.rowHeight;
99
110
  var optionIndex = matchingOptions.indexOf(option);
100
111
  var hasTruncationProps = _this.props.truncationProps || _truncationProps;
101
112
  var truncationProps = hasTruncationProps ? // Individual truncation settings should override component prop
102
113
  _objectSpread(_objectSpread({}, _this.props.truncationProps), _truncationProps) : undefined;
103
114
  if (isGroupLabelOption) {
104
- return (0, _react2.jsx)("div", {
105
- key: key !== null && key !== void 0 ? key : label,
106
- style: style
107
- }, (0, _react2.jsx)(_combo_box_title.EuiComboBoxTitle, null, prepend, label, append));
115
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
116
+ var styles = stylesMemoizer(_selectable_list.euiSelectableListGroupLabelStyles);
117
+ return (0, _react2.jsx)("li", {
118
+ key: key !== null && key !== void 0 ? key : label,
119
+ style: style,
120
+ role: "presentation",
121
+ className: "euiComboBoxTitle",
122
+ css: styles.groupLabel
123
+ }, prepend, label, append);
124
+ });
108
125
  }
109
126
  var checked = undefined;
110
127
  if (singleSelection && selectedOptions.length && selectedOptions[0].label === label && selectedOptions[0].key === key) {
@@ -112,40 +129,54 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
112
129
  }
113
130
  var optionIsFocused = activeOptionIndex === index;
114
131
  var optionIsDisabled = option.hasOwnProperty('disabled') && option.disabled === true;
115
- return (0, _react2.jsx)(_filter_select_item.EuiFilterSelectItem, (0, _extends2.default)({
116
- style: style,
132
+ var hasOnFocusBadge = onFocusBadge && optionIsFocused && !optionIsDisabled;
133
+ return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, (0, _extends2.default)({
134
+ element: "li",
135
+ role: "option"
136
+ // uses `aria-selected` over `aria-checked` for multi-selection as the selected options are removed from the list
137
+ ,
138
+ selectionMode: "selected",
139
+ className: (0, _classnames.default)('euiComboBoxOption', className),
140
+ ref: function ref(node) {
141
+ return _this.setOptionRef(node, index);
142
+ }
143
+ // uses the original `options` array for the index to ensure a stable `id`, otherwise `aria-activedescendant`
144
+ // loses focus on selecting an option (due to actively removing it from the list)
145
+ ,
146
+ id: rootId("_option-".concat(options.indexOf(option))),
117
147
  key: (_option$key = option.key) !== null && _option$key !== void 0 ? _option$key : option.label,
148
+ title: label,
149
+ prepend: option.prepend,
150
+ append: hasOnFocusBadge ? (0, _react2.jsx)(_react.default.Fragment, null, option.append, hitEnterBadge) : option.append,
151
+ checked: checked,
152
+ isFocused: optionIsFocused,
153
+ isSelected: !optionIsDisabled && checked !== undefined,
154
+ isDisabled: optionIsDisabled,
155
+ isSingleSelection: !!singleSelection,
156
+ showIndicator: !!singleSelection,
157
+ textWrap: rowHeight !== 'auto' ? 'truncate' : 'wrap',
158
+ tooltipProps: toolTipContent && !optionIsDisabled ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
159
+ content: toolTipContent
160
+ }) : undefined,
161
+ style: style,
162
+ "aria-setsize": matchingOptions.length,
163
+ "aria-posinset": optionIndex + 1,
164
+ contentProps: {
165
+ className: 'euiComboBoxOption__content'
166
+ },
118
167
  onClick: function onClick() {
119
168
  if (onOptionClick) {
120
169
  onOptionClick(option);
121
170
  }
122
- },
123
- isFocused: optionIsFocused,
124
- checked: checked,
125
- showIcons: singleSelection ? true : false,
126
- truncateContent: rowHeight !== 'auto',
127
- id: rootId("_option-".concat(index)),
128
- title: label,
129
- "aria-setsize": matchingOptions.length,
130
- "aria-posinset": optionIndex + 1,
131
- forwardRef: function forwardRef(ref) {
132
- return setListOptionRefs(ref, index);
133
171
  }
134
- }, rest), (0, _react2.jsx)("span", {
135
- className: "euiComboBoxOption__contentWrapper"
136
- }, (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
137
- option: option,
138
- classNamePrefix: "euiComboBoxOption",
139
- marginSize: "s"
140
- }, (0, _react2.jsx)("span", {
141
- className: (0, _classnames.default)('euiComboBoxOption__content', rowHeight !== 'auto' && 'eui-textTruncate')
142
- }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : rowHeight === 'auto' ? _this.renderVariableHeightOption(label) : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
172
+ }, rest), renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : rowHeight === 'auto' ? _this.renderVariableHeightOption(label) : _this.renderTruncatedOption(label, truncationProps));
143
173
  });
144
174
  (0, _defineProperty2.default)(_this, "getListInnerElementProps", function () {
145
175
  return {
146
176
  'aria-label': _this.props.listboxAriaLabel,
147
177
  id: _this.props.rootId('listbox'),
148
178
  role: 'listbox',
179
+ 'aria-multiselectable': _this.props.singleSelection === false ? true : undefined,
149
180
  tabIndex: 0
150
181
  };
151
182
  });
@@ -199,49 +230,66 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
199
230
  // just highlight the entire truncated text
200
231
  (0, _react2.jsx)(_mark.EuiMark, null, text));
201
232
  });
233
+ (0, _defineProperty2.default)(_this, "getItemSize", function (index) {
234
+ var _ref3 = _this.props,
235
+ rowHeight = _ref3.rowHeight;
236
+ var option = _this.props.matchingOptions[index];
237
+ return (0, _get_list_item_size.getListItemSize)(index, rowHeight, !!(option !== null && option !== void 0 && option.isGroupLabelOption));
238
+ });
202
239
  return _this;
203
240
  }
204
241
  (0, _inherits2.default)(EuiComboBoxOptionsList, _Component);
205
242
  return (0, _createClass2.default)(EuiComboBoxOptionsList, [{
206
243
  key: "componentDidUpdate",
207
244
  value: function componentDidUpdate(prevProps) {
208
- if (this.listRef && typeof this.props.activeOptionIndex !== 'undefined' && this.props.activeOptionIndex !== prevProps.activeOptionIndex && this.props.rowHeight !== 'auto') {
209
- this.listRef.scrollToItem(this.props.activeOptionIndex, 'auto');
245
+ var _this$props3 = this.props,
246
+ activeOptionIndex = _this$props3.activeOptionIndex,
247
+ rowHeight = _this$props3.rowHeight;
248
+ if (this.listRef && typeof activeOptionIndex !== 'undefined' && activeOptionIndex !== prevProps.activeOptionIndex && rowHeight !== 'auto') {
249
+ // NOTE: The 'auto' setting results in the item being scrolled to the top/end edge;
250
+ // We could consider changing it to 'center' to keep items further way from the listbox edges.
251
+ this.listRef.scrollToItem(activeOptionIndex, 'auto');
252
+ } else if (rowHeight === 'auto') {
253
+ var _this$optionRefs, _this$optionRefs$scro;
254
+ (_this$optionRefs = this.optionRefs[activeOptionIndex !== null && activeOptionIndex !== void 0 ? activeOptionIndex : 0]) === null || _this$optionRefs === void 0 || (_this$optionRefs$scro = _this$optionRefs.scrollIntoView) === null || _this$optionRefs$scro === void 0 || _this$optionRefs$scro.call(_this$optionRefs, {
255
+ block: 'nearest'
256
+ });
210
257
  }
211
258
  }
212
259
  }, {
213
260
  key: "render",
214
261
  value: function render() {
215
262
  var _this2 = this;
216
- var _this$props2 = this.props,
217
- dataTestSubj = _this$props2['data-test-subj'],
218
- activeOptionIndex = _this$props2.activeOptionIndex,
219
- areAllOptionsSelected = _this$props2.areAllOptionsSelected,
220
- customOptionText = _this$props2.customOptionText,
221
- fullWidth = _this$props2.fullWidth,
222
- getSelectedOptionForSearchValue = _this$props2.getSelectedOptionForSearchValue,
223
- isCaseSensitive = _this$props2.isCaseSensitive,
224
- isLoading = _this$props2.isLoading,
225
- listRef = _this$props2.listRef,
226
- matchingOptions = _this$props2.matchingOptions,
227
- onCloseList = _this$props2.onCloseList,
228
- onCreateOption = _this$props2.onCreateOption,
229
- onOptionClick = _this$props2.onOptionClick,
230
- onOptionEnterKey = _this$props2.onOptionEnterKey,
231
- onScroll = _this$props2.onScroll,
232
- options = _this$props2.options,
233
- renderOption = _this$props2.renderOption,
234
- rootId = _this$props2.rootId,
235
- rowHeight = _this$props2.rowHeight,
236
- scrollToIndex = _this$props2.scrollToIndex,
237
- searchValue = _this$props2.searchValue,
238
- selectedOptions = _this$props2.selectedOptions,
239
- singleSelection = _this$props2.singleSelection,
240
- delimiter = _this$props2.delimiter,
241
- truncationProps = _this$props2.truncationProps,
242
- listboxAriaLabel = _this$props2.listboxAriaLabel,
243
- setListOptionRefs = _this$props2.setListOptionRefs,
244
- rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded3);
263
+ var _this$props4 = this.props,
264
+ dataTestSubj = _this$props4['data-test-subj'],
265
+ activeOptionIndex = _this$props4.activeOptionIndex,
266
+ areAllOptionsSelected = _this$props4.areAllOptionsSelected,
267
+ customOptionText = _this$props4.customOptionText,
268
+ fullWidth = _this$props4.fullWidth,
269
+ getSelectedOptionForSearchValue = _this$props4.getSelectedOptionForSearchValue,
270
+ isCaseSensitive = _this$props4.isCaseSensitive,
271
+ isLoading = _this$props4.isLoading,
272
+ listRef = _this$props4.listRef,
273
+ matchingOptions = _this$props4.matchingOptions,
274
+ onCloseList = _this$props4.onCloseList,
275
+ onCreateOption = _this$props4.onCreateOption,
276
+ onOptionClick = _this$props4.onOptionClick,
277
+ onOptionEnterKey = _this$props4.onOptionEnterKey,
278
+ onScroll = _this$props4.onScroll,
279
+ options = _this$props4.options,
280
+ renderOption = _this$props4.renderOption,
281
+ rootId = _this$props4.rootId,
282
+ rowHeight = _this$props4.rowHeight,
283
+ scrollToIndex = _this$props4.scrollToIndex,
284
+ searchValue = _this$props4.searchValue,
285
+ selectedOptions = _this$props4.selectedOptions,
286
+ singleSelection = _this$props4.singleSelection,
287
+ delimiter = _this$props4.delimiter,
288
+ onFocusBadge = _this$props4.onFocusBadge,
289
+ truncationProps = _this$props4.truncationProps,
290
+ listboxAriaLabel = _this$props4.listboxAriaLabel,
291
+ setListOptionRefs = _this$props4.setListOptionRefs,
292
+ rest = (0, _objectWithoutProperties2.default)(_this$props4, _excluded3);
245
293
  var emptyStateContent;
246
294
  if (isLoading) {
247
295
  emptyStateContent = (0, _react2.jsx)(_flex.EuiFlexGroup, {
@@ -339,6 +387,10 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
339
387
  // bounded by max-height of .euiComboBoxOptionsList
340
388
  boundedHeight = height > _combo_box_options_list.LIST_MAX_HEIGHT ? _combo_box_options_list.LIST_MAX_HEIGHT : height;
341
389
  }
390
+
391
+ /* We need to consider the panel padding (2 * 8px) but should only subtract it if
392
+ the panel width has already been set. */
393
+ var listWidth = this.context && this.context > 0 ? this.context - 16 : this.context;
342
394
  return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
343
395
  var styles = stylesMemoizer(_combo_box_options_list.euiComboBoxOptionListStyles);
344
396
  return (0, _react2.jsx)("div", (0, _extends2.default)({
@@ -346,29 +398,39 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
346
398
  className: "euiComboBoxOptionsList",
347
399
  "data-test-subj": (0, _classnames.default)('comboBoxOptionsList', dataTestSubj),
348
400
  ref: listRef
349
- }, rest), emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
401
+ }, rest, {
402
+ onMouseDown: function onMouseDown(e) {
403
+ // prevent focus shifting; expected behavior to keep focus in the input
404
+ e.preventDefault();
405
+ }
406
+ }), emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
350
407
  size: "xs",
351
408
  css: styles.euiComboBoxOptionsList__empty,
352
409
  className: "euiComboBoxOptionsList__empty"
353
- }, emptyStateContent) : rowHeight === 'auto' ? (0, _react2.jsx)("div", _this2.getListInnerElementProps(), matchingOptions.map(function (_, index) {
410
+ }, emptyStateContent) : rowHeight === 'auto' ? (0, _react2.jsx)("ul", (0, _extends2.default)({
411
+ ref: _this2.listBoxRef
412
+ }, _this2.getListInnerElementProps()), matchingOptions.map(function (_, index) {
354
413
  return (0, _react2.jsx)(_this2.ListRow, {
355
414
  data: matchingOptions,
356
415
  index: index,
357
- key: index // same as FixedSizeList's default
416
+ key: index // same as VariableSizeList's default
358
417
  ,
359
418
  style: {}
360
419
  });
361
- })) : (0, _react2.jsx)(_reactWindow.FixedSizeList, {
420
+ })) : (0, _react2.jsx)(_reactWindow.VariableSizeList, {
362
421
  css: styles.euiComboBoxOptionList__virtualization,
363
422
  className: "euiComboBoxOptionsList__virtualization",
364
423
  height: boundedHeight,
365
424
  onScroll: onScroll,
366
425
  itemCount: matchingOptions.length,
367
- itemSize: rowHeight,
368
- itemData: matchingOptions,
426
+ itemSize: _this2.getItemSize,
427
+ itemData: matchingOptions
428
+ // Prevents scrollbar jump before VariableSizeList populates the cached size
429
+ ,
430
+ estimatedItemSize: rowHeight,
369
431
  ref: _this2.setListRef,
370
432
  innerElementType: _this2.ListInnerElement,
371
- width: _this2.context
433
+ width: listWidth
372
434
  }, _this2.ListRow));
373
435
  });
374
436
  }
@@ -522,5 +584,6 @@ EuiComboBoxOptionsList.propTypes = {
522
584
  asPlainText: _propTypes.default.bool
523
585
  }).isRequired]),
524
586
  delimiter: _propTypes.default.string,
525
- truncationProps: _propTypes.default.any
587
+ truncationProps: _propTypes.default.any,
588
+ onFocusBadge: _propTypes.default.bool
526
589
  };
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.euiComboBoxOptionListStyles = exports.LIST_MAX_HEIGHT = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../../global_styling");
9
- var _title = require("../../title/title.styles");
10
9
  /*
11
10
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
11
  * or more contributor license agreements. Licensed under the Elastic License
@@ -19,14 +18,16 @@ var LIST_MAX_HEIGHT = exports.LIST_MAX_HEIGHT = 200;
19
18
  var euiComboBoxOptionListStyles = exports.euiComboBoxOptionListStyles = function euiComboBoxOptionListStyles(euiThemeContext) {
20
19
  var euiTheme = euiThemeContext.euiTheme;
21
20
  return {
22
- euiComboBoxOptionList: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', "".concat(LIST_MAX_HEIGHT, "px")), " overflow:hidden;.euiTextTruncate{pointer-events:none;}.euiComboBoxOption__contentWrapper{display:flex;align-items:center;}.euiComboBoxOption__content{flex:1;text-align:start;overflow-wrap:anywhere;}.euiComboBoxOption__emptyStateText{flex:1;text-align:start;", (0, _global_styling.logicalCSS)('margin-bottom', 0), ";}.euiComboBoxOption__enterBadge{", (0, _global_styling.logicalCSS)('margin-left', euiTheme.size.xs), ";}.euiComboBoxTitle{display:flex;", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.s), (0, _global_styling.logicalCSS)('padding-top', (0, _global_styling.mathWithUnits)(euiTheme.size.s, function (x) {
23
- return x + 1;
24
- })), " ", (0, _global_styling.logicalCSS)('padding-bottom', euiTheme.size.xs), " ", (0, _title.euiTitle)(euiThemeContext, 'xxxs'), ";};label:euiComboBoxOptionList;"),
21
+ euiComboBoxOptionList: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', "".concat(LIST_MAX_HEIGHT, "px")), " overflow:hidden;.euiTextTruncate{pointer-events:none;}.euiComboBoxOption__contentWrapper{display:flex;align-items:center;}.euiComboBoxOption__content{flex:1;text-align:start;overflow-wrap:anywhere;}.euiComboBoxOption__emptyStateText{flex:1;text-align:start;", (0, _global_styling.logicalCSS)('margin-bottom', 0), ";}.euiComboBoxOption__enterBadge{", (0, _global_styling.logicalCSS)('margin-left', euiTheme.size.xs), ";};label:euiComboBoxOptionList;"),
25
22
  /* eslint-disable local/css-logical-properties */
26
- hasRowHeightAuto: /*#__PURE__*/(0, _react.css)("overflow-y:auto;.euiComboBoxOption__contentWrapper{align-items:flex-start;}", (0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:hasRowHeightAuto;"),
23
+ hasRowHeightAuto: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiYScrollWithShadows)(euiThemeContext, {
24
+ hasAnimatedOverflowShadow: true
25
+ }), " .euiComboBoxOption__contentWrapper{align-items:flex-start;}", (0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:hasRowHeightAuto;"),
27
26
  /* eslint-enable local/css-logical-properties */
28
27
 
29
- euiComboBoxOptionList__virtualization: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:euiComboBoxOptionList__virtualization;"),
28
+ euiComboBoxOptionList__virtualization: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiYScrollWithShadows)(euiThemeContext, {
29
+ hasAnimatedOverflowShadow: true
30
+ }), ";;label:euiComboBoxOptionList__virtualization;"),
30
31
  euiComboBoxOptionsList__empty: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";text-align:center;", (0, _global_styling.euiTextBreakWord)(), ";;label:euiComboBoxOptionsList__empty;")
31
32
  };
32
33
  };
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.SIZES = exports.EuiContextMenuClass = exports.EuiContextMenu = void 0;
8
+ exports.EuiContextMenuClass = exports.EuiContextMenu = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -25,8 +25,8 @@ var _context_menu = require("./context_menu.styles");
25
25
  var _react2 = require("@emotion/react");
26
26
  var _excluded = ["isSeparator", "key"],
27
27
  _excluded2 = ["panel", "name", "key", "icon", "onClick"],
28
- _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex", "size"],
29
- _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "size"];
28
+ _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex"],
29
+ _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "height"];
30
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
32
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -37,7 +37,6 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
37
37
  * in compliance with, at your election, the Elastic License 2.0 or the Server
38
38
  * Side Public License, v 1.
39
39
  */
40
- var SIZES = exports.SIZES = ['s', 'm'];
41
40
  var isItemSeparator = function isItemSeparator(item) {
42
41
  return item.isSeparator === true;
43
42
  };
@@ -150,10 +149,11 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
150
149
  (0, _defineProperty2.default)(_this, "mapIdsToRenderedItems", function () {
151
150
  var panels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
152
151
  var idToRenderedItemsMap = {};
152
+ var idToPanelMap = mapIdsToPanels(panels);
153
153
 
154
154
  // Pre-rendering the items lets us check reference equality inside of EuiContextMenuPanel.
155
155
  panels.forEach(function (panel) {
156
- idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items);
156
+ idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items, idToPanelMap);
157
157
  });
158
158
  return idToRenderedItemsMap;
159
159
  });
@@ -203,6 +203,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
203
203
  value: function renderItems() {
204
204
  var _this2 = this;
205
205
  var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
206
+ var idToPanelMap = arguments.length > 1 ? arguments[1] : undefined;
206
207
  return items.map(function (item, index) {
207
208
  if (item.renderItem) {
208
209
  var _item$key;
@@ -217,7 +218,8 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
217
218
  _rest = (0, _objectWithoutProperties2.default)(item, _excluded);
218
219
  return (0, _react2.jsx)(_horizontal_rule.EuiHorizontalRule, (0, _extends2.default)({
219
220
  key: _key,
220
- margin: "none"
221
+ margin: "xs",
222
+ role: "separator"
221
223
  }, _rest));
222
224
  }
223
225
  var panel = item.panel,
@@ -226,6 +228,9 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
226
228
  icon = item.icon,
227
229
  onClick = item.onClick,
228
230
  rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
231
+ var targetPanel = panel != null ? idToPanelMap[String(panel)] : undefined;
232
+ var ariaHasPopup = panel == null || targetPanel == null ? undefined : targetPanel && Array.isArray(targetPanel.items) && targetPanel.items.length > 0 ? 'menu' : 'true'; // for custom content (no items) we shouldn't indicate it as "menu"
233
+
229
234
  var onClickHandler = panel ? function (event) {
230
235
  if (onClick && event) {
231
236
  event.persist();
@@ -243,7 +248,8 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
243
248
  key: key || (typeof name === 'string' ? name : undefined) || index,
244
249
  icon: icon,
245
250
  onClick: onClickHandler,
246
- hasPanel: Boolean(panel)
251
+ hasPanel: Boolean(panel),
252
+ "aria-haspopup": ariaHasPopup
247
253
  }, rest), name);
248
254
  });
249
255
  }
@@ -261,7 +267,6 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
261
267
  content = panel.content,
262
268
  _width = panel.width,
263
269
  initialFocusedItemIndex = panel.initialFocusedItemIndex,
264
- _size = panel.size,
265
270
  rest = (0, _objectWithoutProperties2.default)(panel, _excluded3);
266
271
 
267
272
  // As above, we need to wait for EuiOutsideClickDetector to complete its logic before
@@ -278,7 +283,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
278
283
  };
279
284
  return (0, _react2.jsx)(_context_menu_panel.EuiContextMenuPanel, (0, _extends2.default)({
280
285
  key: panelId,
281
- size: this.props.size,
286
+ height: this.props.height,
282
287
  css: cssStyles,
283
288
  onHeightChange: transitionType === 'in' ? this.onIncomingPanelHeightChange : undefined,
284
289
  onTransitionComplete: transitionType === 'out' ? this.onOutGoingPanelTransitionComplete : undefined,
@@ -302,7 +307,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
302
307
  onPanelChange = _this$props2.onPanelChange,
303
308
  className = _this$props2.className,
304
309
  initialPanelId = _this$props2.initialPanelId,
305
- size = _this$props2.size,
310
+ height = _this$props2.height,
306
311
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded4);
307
312
  var incomingPanel = this.renderPanel(this.state.incomingPanelId, 'in');
308
313
  var outgoingPanel;
@@ -312,11 +317,12 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
312
317
  var width = this.state.idToPanelMap[this.state.incomingPanelId] && this.state.idToPanelMap[this.state.incomingPanelId].width ? this.state.idToPanelMap[this.state.incomingPanelId].width : undefined;
313
318
  var classes = (0, _classnames.default)('euiContextMenu', className);
314
319
  var styles = stylesMemoizer(_context_menu.euiContextMenuStyles);
320
+ var cssStyles = [styles.euiContextMenu, height && styles.fixedHeight];
315
321
  return (0, _react2.jsx)("div", (0, _extends2.default)({
316
- css: styles.euiContextMenu,
322
+ css: cssStyles,
317
323
  className: classes,
318
324
  style: {
319
- height: this.state.height,
325
+ height: height !== null && height !== void 0 ? height : this.state.height,
320
326
  width: width
321
327
  }
322
328
  }, rest), outgoingPanel, incomingPanel);
@@ -340,8 +346,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
340
346
  }]);
341
347
  }(_react.Component);
342
348
  (0, _defineProperty2.default)(EuiContextMenuClass, "defaultProps", {
343
- panels: [],
344
- size: 'm'
349
+ panels: []
345
350
  });
346
351
  EuiContextMenuClass.propTypes = {
347
352
  className: _propTypes.default.string,
@@ -374,10 +379,6 @@ EuiContextMenuClass.propTypes = {
374
379
  content: _propTypes.default.node,
375
380
  width: _propTypes.default.any,
376
381
  initialFocusedItemIndex: _propTypes.default.number,
377
- /**
378
- * Alters the size of the items and the title
379
- */
380
- size: _propTypes.default.any,
381
382
  className: _propTypes.default.string,
382
383
  "aria-label": _propTypes.default.string,
383
384
  "data-test-subj": _propTypes.default.string,
@@ -389,9 +390,6 @@ EuiContextMenuClass.propTypes = {
389
390
  */
390
391
  onPanelChange: _propTypes.default.func,
391
392
  initialPanelId: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.number.isRequired]),
392
- /**
393
- * Alters the size of the items and the title
394
- */
395
- size: _propTypes.default.any
393
+ height: _propTypes.default.any
396
394
  };
397
395
  var EuiContextMenu = exports.EuiContextMenu = (0, _services.withEuiStylesMemoizer)(EuiContextMenuClass);
@@ -27,6 +27,9 @@ var euiContextMenuStyles = exports.euiContextMenuStyles = function euiContextMen
27
27
  var _euiContextMenuVariab = euiContextMenuVariables(euiThemeContext),
28
28
  panelWidth = _euiContextMenuVariab.panelWidth;
29
29
  return {
30
- euiContextMenu: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', panelWidth), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", _global_styling.euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;")
30
+ euiContextMenu: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', panelWidth), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", _global_styling.euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;"),
31
+ fixedHeight: /*#__PURE__*/(0, _react.css)(".euiContextMenuPanel{display:flex;flex-direction:column;", (0, _global_styling.logicalCSS)('height', '100%'), ";}.euiContextMenuPanel__list{display:block;flex:1 1 0;", (0, _global_styling.euiYScrollWithShadows)(euiThemeContext, {
32
+ hasAnimatedOverflowShadow: true
33
+ }), ";};label:fixedHeight;")
31
34
  };
32
35
  };