@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
@@ -24,17 +24,17 @@ var _mark = require("../../mark");
24
24
  var _text = require("../../text");
25
25
  var _loading = require("../../loading");
26
26
  var _i18n = require("../../i18n");
27
- var _filter_select_item = require("../../filter_group/filter_select_item");
27
+ var _selectable_list = require("../../selectable/selectable_list/selectable_list.styles");
28
+ var _get_list_item_size = require("../../selectable/selectable_list/utils/get_list_item_size");
28
29
  var _badge = require("../../badge");
29
30
  var _text_truncate = require("../../text_truncate");
30
31
  var _input_popover = require("../../popover/input_popover");
31
- var _utils = require("../utils");
32
- var _combo_box_title = require("./combo_box_title");
32
+ var _list_item_layout = require("../../list_item_layout");
33
33
  var _combo_box_options_list = require("./combo_box_options_list.styles");
34
34
  var _react2 = require("@emotion/react");
35
35
  var _excluded = ["children"],
36
- _excluded2 = ["key", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps"],
37
- _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"];
36
+ _excluded2 = ["key", "className", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps", "toolTipContent", "toolTipProps"],
37
+ _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"];
38
38
  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); }
39
39
  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; }
40
40
  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; }
@@ -62,13 +62,20 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
62
62
  }
63
63
  _this = _callSuper(this, EuiComboBoxOptionsList, [].concat(args));
64
64
  (0, _defineProperty2.default)(_this, "listRef", null);
65
+ (0, _defineProperty2.default)(_this, "listBoxRef", /*#__PURE__*/(0, _react.createRef)());
66
+ (0, _defineProperty2.default)(_this, "optionRefs", {});
65
67
  (0, _defineProperty2.default)(_this, "setListRef", function (ref) {
66
68
  _this.listRef = ref;
67
69
  });
70
+ (0, _defineProperty2.default)(_this, "setOptionRef", function (ref, index) {
71
+ var _this$props$setListOp, _this$props;
72
+ _this.optionRefs[index] = ref;
73
+ (_this$props$setListOp = (_this$props = _this.props).setListOptionRefs) === null || _this$props$setListOp === void 0 || _this$props$setListOp.call(_this$props, ref, index);
74
+ });
68
75
  (0, _defineProperty2.default)(_this, "ListInnerElement", function (_ref) {
69
76
  var children = _ref.children,
70
77
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
71
- return (0, _react2.jsx)("div", (0, _extends2.default)({}, rest, _this.getListInnerElementProps()), children);
78
+ return (0, _react2.jsx)("ul", (0, _extends2.default)({}, rest, _this.getListInnerElementProps()), children);
72
79
  });
73
80
  (0, _defineProperty2.default)(_this, "ListRow", function (_ref2) {
74
81
  var _option$key;
@@ -77,33 +84,43 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
77
84
  style = _ref2.style;
78
85
  var option = data[index];
79
86
  var key = option.key,
87
+ className = option.className,
80
88
  isGroupLabelOption = option.isGroupLabelOption,
81
89
  label = option.label,
82
90
  value = option.value,
83
91
  prepend = option.prepend,
84
92
  append = option.append,
85
93
  _truncationProps = option.truncationProps,
94
+ toolTipContent = option.toolTipContent,
95
+ toolTipProps = option.toolTipProps,
86
96
  rest = (0, _objectWithoutProperties2.default)(option, _excluded2);
87
- var _this$props = _this.props,
88
- singleSelection = _this$props.singleSelection,
89
- selectedOptions = _this$props.selectedOptions,
90
- onOptionClick = _this$props.onOptionClick,
91
- activeOptionIndex = _this$props.activeOptionIndex,
92
- renderOption = _this$props.renderOption,
93
- searchValue = _this$props.searchValue,
94
- rootId = _this$props.rootId,
95
- matchingOptions = _this$props.matchingOptions,
96
- setListOptionRefs = _this$props.setListOptionRefs,
97
- rowHeight = _this$props.rowHeight;
97
+ var _this$props2 = _this.props,
98
+ options = _this$props2.options,
99
+ singleSelection = _this$props2.singleSelection,
100
+ selectedOptions = _this$props2.selectedOptions,
101
+ onOptionClick = _this$props2.onOptionClick,
102
+ activeOptionIndex = _this$props2.activeOptionIndex,
103
+ renderOption = _this$props2.renderOption,
104
+ searchValue = _this$props2.searchValue,
105
+ rootId = _this$props2.rootId,
106
+ matchingOptions = _this$props2.matchingOptions,
107
+ onFocusBadge = _this$props2.onFocusBadge,
108
+ rowHeight = _this$props2.rowHeight;
98
109
  var optionIndex = matchingOptions.indexOf(option);
99
110
  var hasTruncationProps = _this.props.truncationProps || _truncationProps;
100
111
  var truncationProps = hasTruncationProps ? // Individual truncation settings should override component prop
101
112
  _objectSpread(_objectSpread({}, _this.props.truncationProps), _truncationProps) : undefined;
102
113
  if (isGroupLabelOption) {
103
- return (0, _react2.jsx)("div", {
104
- key: key !== null && key !== void 0 ? key : label,
105
- style: style
106
- }, (0, _react2.jsx)(_combo_box_title.EuiComboBoxTitle, null, prepend, label, append));
114
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
115
+ var styles = stylesMemoizer(_selectable_list.euiSelectableListGroupLabelStyles);
116
+ return (0, _react2.jsx)("li", {
117
+ key: key !== null && key !== void 0 ? key : label,
118
+ style: style,
119
+ role: "presentation",
120
+ className: "euiComboBoxTitle",
121
+ css: styles.groupLabel
122
+ }, prepend, label, append);
123
+ });
107
124
  }
108
125
  var checked = undefined;
109
126
  if (singleSelection && selectedOptions.length && selectedOptions[0].label === label && selectedOptions[0].key === key) {
@@ -111,40 +128,54 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
111
128
  }
112
129
  var optionIsFocused = activeOptionIndex === index;
113
130
  var optionIsDisabled = option.hasOwnProperty('disabled') && option.disabled === true;
114
- return (0, _react2.jsx)(_filter_select_item.EuiFilterSelectItem, (0, _extends2.default)({
115
- style: style,
131
+ var hasOnFocusBadge = onFocusBadge && optionIsFocused && !optionIsDisabled;
132
+ return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, (0, _extends2.default)({
133
+ element: "li",
134
+ role: "option"
135
+ // uses `aria-selected` over `aria-checked` for multi-selection as the selected options are removed from the list
136
+ ,
137
+ selectionMode: "selected",
138
+ className: (0, _classnames.default)('euiComboBoxOption', className),
139
+ ref: function ref(node) {
140
+ return _this.setOptionRef(node, index);
141
+ }
142
+ // uses the original `options` array for the index to ensure a stable `id`, otherwise `aria-activedescendant`
143
+ // loses focus on selecting an option (due to actively removing it from the list)
144
+ ,
145
+ id: rootId("_option-".concat(options.indexOf(option))),
116
146
  key: (_option$key = option.key) !== null && _option$key !== void 0 ? _option$key : option.label,
147
+ title: label,
148
+ prepend: option.prepend,
149
+ append: hasOnFocusBadge ? (0, _react2.jsx)(_react.default.Fragment, null, option.append, hitEnterBadge) : option.append,
150
+ checked: checked,
151
+ isFocused: optionIsFocused,
152
+ isSelected: !optionIsDisabled && checked !== undefined,
153
+ isDisabled: optionIsDisabled,
154
+ isSingleSelection: !!singleSelection,
155
+ showIndicator: !!singleSelection,
156
+ textWrap: rowHeight !== 'auto' ? 'truncate' : 'wrap',
157
+ tooltipProps: toolTipContent && !optionIsDisabled ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
158
+ content: toolTipContent
159
+ }) : undefined,
160
+ style: style,
161
+ "aria-setsize": matchingOptions.length,
162
+ "aria-posinset": optionIndex + 1,
163
+ contentProps: {
164
+ className: 'euiComboBoxOption__content'
165
+ },
117
166
  onClick: function onClick() {
118
167
  if (onOptionClick) {
119
168
  onOptionClick(option);
120
169
  }
121
- },
122
- isFocused: optionIsFocused,
123
- checked: checked,
124
- showIcons: singleSelection ? true : false,
125
- truncateContent: rowHeight !== 'auto',
126
- id: rootId("_option-".concat(index)),
127
- title: label,
128
- "aria-setsize": matchingOptions.length,
129
- "aria-posinset": optionIndex + 1,
130
- forwardRef: function forwardRef(ref) {
131
- return setListOptionRefs(ref, index);
132
170
  }
133
- }, rest), (0, _react2.jsx)("span", {
134
- className: "euiComboBoxOption__contentWrapper"
135
- }, (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
136
- option: option,
137
- classNamePrefix: "euiComboBoxOption",
138
- marginSize: "s"
139
- }, (0, _react2.jsx)("span", {
140
- className: (0, _classnames.default)('euiComboBoxOption__content', rowHeight !== 'auto' && 'eui-textTruncate')
141
- }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : rowHeight === 'auto' ? _this.renderVariableHeightOption(label) : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
171
+ }, rest), renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : rowHeight === 'auto' ? _this.renderVariableHeightOption(label) : _this.renderTruncatedOption(label, truncationProps));
142
172
  });
143
173
  (0, _defineProperty2.default)(_this, "getListInnerElementProps", function () {
144
174
  return {
145
175
  'aria-label': _this.props.listboxAriaLabel,
146
176
  id: _this.props.rootId('listbox'),
147
177
  role: 'listbox',
178
+ 'aria-multiselectable': _this.props.singleSelection === false ? true : undefined,
148
179
  tabIndex: 0
149
180
  };
150
181
  });
@@ -198,49 +229,66 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
198
229
  // just highlight the entire truncated text
199
230
  (0, _react2.jsx)(_mark.EuiMark, null, text));
200
231
  });
232
+ (0, _defineProperty2.default)(_this, "getItemSize", function (index) {
233
+ var _ref3 = _this.props,
234
+ rowHeight = _ref3.rowHeight;
235
+ var option = _this.props.matchingOptions[index];
236
+ return (0, _get_list_item_size.getListItemSize)(index, rowHeight, !!(option !== null && option !== void 0 && option.isGroupLabelOption));
237
+ });
201
238
  return _this;
202
239
  }
203
240
  (0, _inherits2.default)(EuiComboBoxOptionsList, _Component);
204
241
  return (0, _createClass2.default)(EuiComboBoxOptionsList, [{
205
242
  key: "componentDidUpdate",
206
243
  value: function componentDidUpdate(prevProps) {
207
- if (this.listRef && typeof this.props.activeOptionIndex !== 'undefined' && this.props.activeOptionIndex !== prevProps.activeOptionIndex && this.props.rowHeight !== 'auto') {
208
- this.listRef.scrollToItem(this.props.activeOptionIndex, 'auto');
244
+ var _this$props3 = this.props,
245
+ activeOptionIndex = _this$props3.activeOptionIndex,
246
+ rowHeight = _this$props3.rowHeight;
247
+ if (this.listRef && typeof activeOptionIndex !== 'undefined' && activeOptionIndex !== prevProps.activeOptionIndex && rowHeight !== 'auto') {
248
+ // NOTE: The 'auto' setting results in the item being scrolled to the top/end edge;
249
+ // We could consider changing it to 'center' to keep items further way from the listbox edges.
250
+ this.listRef.scrollToItem(activeOptionIndex, 'auto');
251
+ } else if (rowHeight === 'auto') {
252
+ var _this$optionRefs, _this$optionRefs$scro;
253
+ (_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, {
254
+ block: 'nearest'
255
+ });
209
256
  }
210
257
  }
211
258
  }, {
212
259
  key: "render",
213
260
  value: function render() {
214
261
  var _this2 = this;
215
- var _this$props2 = this.props,
216
- dataTestSubj = _this$props2['data-test-subj'],
217
- activeOptionIndex = _this$props2.activeOptionIndex,
218
- areAllOptionsSelected = _this$props2.areAllOptionsSelected,
219
- customOptionText = _this$props2.customOptionText,
220
- fullWidth = _this$props2.fullWidth,
221
- getSelectedOptionForSearchValue = _this$props2.getSelectedOptionForSearchValue,
222
- isCaseSensitive = _this$props2.isCaseSensitive,
223
- isLoading = _this$props2.isLoading,
224
- listRef = _this$props2.listRef,
225
- matchingOptions = _this$props2.matchingOptions,
226
- onCloseList = _this$props2.onCloseList,
227
- onCreateOption = _this$props2.onCreateOption,
228
- onOptionClick = _this$props2.onOptionClick,
229
- onOptionEnterKey = _this$props2.onOptionEnterKey,
230
- onScroll = _this$props2.onScroll,
231
- options = _this$props2.options,
232
- renderOption = _this$props2.renderOption,
233
- rootId = _this$props2.rootId,
234
- rowHeight = _this$props2.rowHeight,
235
- scrollToIndex = _this$props2.scrollToIndex,
236
- searchValue = _this$props2.searchValue,
237
- selectedOptions = _this$props2.selectedOptions,
238
- singleSelection = _this$props2.singleSelection,
239
- delimiter = _this$props2.delimiter,
240
- truncationProps = _this$props2.truncationProps,
241
- listboxAriaLabel = _this$props2.listboxAriaLabel,
242
- setListOptionRefs = _this$props2.setListOptionRefs,
243
- rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded3);
262
+ var _this$props4 = this.props,
263
+ dataTestSubj = _this$props4['data-test-subj'],
264
+ activeOptionIndex = _this$props4.activeOptionIndex,
265
+ areAllOptionsSelected = _this$props4.areAllOptionsSelected,
266
+ customOptionText = _this$props4.customOptionText,
267
+ fullWidth = _this$props4.fullWidth,
268
+ getSelectedOptionForSearchValue = _this$props4.getSelectedOptionForSearchValue,
269
+ isCaseSensitive = _this$props4.isCaseSensitive,
270
+ isLoading = _this$props4.isLoading,
271
+ listRef = _this$props4.listRef,
272
+ matchingOptions = _this$props4.matchingOptions,
273
+ onCloseList = _this$props4.onCloseList,
274
+ onCreateOption = _this$props4.onCreateOption,
275
+ onOptionClick = _this$props4.onOptionClick,
276
+ onOptionEnterKey = _this$props4.onOptionEnterKey,
277
+ onScroll = _this$props4.onScroll,
278
+ options = _this$props4.options,
279
+ renderOption = _this$props4.renderOption,
280
+ rootId = _this$props4.rootId,
281
+ rowHeight = _this$props4.rowHeight,
282
+ scrollToIndex = _this$props4.scrollToIndex,
283
+ searchValue = _this$props4.searchValue,
284
+ selectedOptions = _this$props4.selectedOptions,
285
+ singleSelection = _this$props4.singleSelection,
286
+ delimiter = _this$props4.delimiter,
287
+ onFocusBadge = _this$props4.onFocusBadge,
288
+ truncationProps = _this$props4.truncationProps,
289
+ listboxAriaLabel = _this$props4.listboxAriaLabel,
290
+ setListOptionRefs = _this$props4.setListOptionRefs,
291
+ rest = (0, _objectWithoutProperties2.default)(_this$props4, _excluded3);
244
292
  var emptyStateContent;
245
293
  if (isLoading) {
246
294
  emptyStateContent = (0, _react2.jsx)(_flex.EuiFlexGroup, {
@@ -338,6 +386,10 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
338
386
  // bounded by max-height of .euiComboBoxOptionsList
339
387
  boundedHeight = height > _combo_box_options_list.LIST_MAX_HEIGHT ? _combo_box_options_list.LIST_MAX_HEIGHT : height;
340
388
  }
389
+
390
+ /* We need to consider the panel padding (2 * 8px) but should only subtract it if
391
+ the panel width has already been set. */
392
+ var listWidth = this.context && this.context > 0 ? this.context - 16 : this.context;
341
393
  return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
342
394
  var styles = stylesMemoizer(_combo_box_options_list.euiComboBoxOptionListStyles);
343
395
  return (0, _react2.jsx)("div", (0, _extends2.default)({
@@ -345,29 +397,39 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
345
397
  className: "euiComboBoxOptionsList",
346
398
  "data-test-subj": (0, _classnames.default)('comboBoxOptionsList', dataTestSubj),
347
399
  ref: listRef
348
- }, rest), emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
400
+ }, rest, {
401
+ onMouseDown: function onMouseDown(e) {
402
+ // prevent focus shifting; expected behavior to keep focus in the input
403
+ e.preventDefault();
404
+ }
405
+ }), emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
349
406
  size: "xs",
350
407
  css: styles.euiComboBoxOptionsList__empty,
351
408
  className: "euiComboBoxOptionsList__empty"
352
- }, emptyStateContent) : rowHeight === 'auto' ? (0, _react2.jsx)("div", _this2.getListInnerElementProps(), matchingOptions.map(function (_, index) {
409
+ }, emptyStateContent) : rowHeight === 'auto' ? (0, _react2.jsx)("ul", (0, _extends2.default)({
410
+ ref: _this2.listBoxRef
411
+ }, _this2.getListInnerElementProps()), matchingOptions.map(function (_, index) {
353
412
  return (0, _react2.jsx)(_this2.ListRow, {
354
413
  data: matchingOptions,
355
414
  index: index,
356
- key: index // same as FixedSizeList's default
415
+ key: index // same as VariableSizeList's default
357
416
  ,
358
417
  style: {}
359
418
  });
360
- })) : (0, _react2.jsx)(_reactWindow.FixedSizeList, {
419
+ })) : (0, _react2.jsx)(_reactWindow.VariableSizeList, {
361
420
  css: styles.euiComboBoxOptionList__virtualization,
362
421
  className: "euiComboBoxOptionsList__virtualization",
363
422
  height: boundedHeight,
364
423
  onScroll: onScroll,
365
424
  itemCount: matchingOptions.length,
366
- itemSize: rowHeight,
367
- itemData: matchingOptions,
425
+ itemSize: _this2.getItemSize,
426
+ itemData: matchingOptions
427
+ // Prevents scrollbar jump before VariableSizeList populates the cached size
428
+ ,
429
+ estimatedItemSize: rowHeight,
368
430
  ref: _this2.setListRef,
369
431
  innerElementType: _this2.ListInnerElement,
370
- width: _this2.context
432
+ width: listWidth
371
433
  }, _this2.ListRow));
372
434
  });
373
435
  }
@@ -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"));
@@ -24,8 +24,8 @@ var _context_menu = require("./context_menu.styles");
24
24
  var _react2 = require("@emotion/react");
25
25
  var _excluded = ["isSeparator", "key"],
26
26
  _excluded2 = ["panel", "name", "key", "icon", "onClick"],
27
- _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex", "size"],
28
- _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "size"];
27
+ _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex"],
28
+ _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "height"];
29
29
  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); }
30
30
  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; }
31
31
  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)); }
@@ -36,7 +36,6 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
36
36
  * in compliance with, at your election, the Elastic License 2.0 or the Server
37
37
  * Side Public License, v 1.
38
38
  */
39
- var SIZES = exports.SIZES = ['s', 'm'];
40
39
  var isItemSeparator = function isItemSeparator(item) {
41
40
  return item.isSeparator === true;
42
41
  };
@@ -149,10 +148,11 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
149
148
  (0, _defineProperty2.default)(_this, "mapIdsToRenderedItems", function () {
150
149
  var panels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
151
150
  var idToRenderedItemsMap = {};
151
+ var idToPanelMap = mapIdsToPanels(panels);
152
152
 
153
153
  // Pre-rendering the items lets us check reference equality inside of EuiContextMenuPanel.
154
154
  panels.forEach(function (panel) {
155
- idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items);
155
+ idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items, idToPanelMap);
156
156
  });
157
157
  return idToRenderedItemsMap;
158
158
  });
@@ -202,6 +202,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
202
202
  value: function renderItems() {
203
203
  var _this2 = this;
204
204
  var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
205
+ var idToPanelMap = arguments.length > 1 ? arguments[1] : undefined;
205
206
  return items.map(function (item, index) {
206
207
  if (item.renderItem) {
207
208
  var _item$key;
@@ -216,7 +217,8 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
216
217
  _rest = (0, _objectWithoutProperties2.default)(item, _excluded);
217
218
  return (0, _react2.jsx)(_horizontal_rule.EuiHorizontalRule, (0, _extends2.default)({
218
219
  key: _key,
219
- margin: "none"
220
+ margin: "xs",
221
+ role: "separator"
220
222
  }, _rest));
221
223
  }
222
224
  var panel = item.panel,
@@ -225,6 +227,9 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
225
227
  icon = item.icon,
226
228
  onClick = item.onClick,
227
229
  rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
230
+ var targetPanel = panel != null ? idToPanelMap[String(panel)] : undefined;
231
+ 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"
232
+
228
233
  var onClickHandler = panel ? function (event) {
229
234
  if (onClick && event) {
230
235
  event.persist();
@@ -242,7 +247,8 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
242
247
  key: key || (typeof name === 'string' ? name : undefined) || index,
243
248
  icon: icon,
244
249
  onClick: onClickHandler,
245
- hasPanel: Boolean(panel)
250
+ hasPanel: Boolean(panel),
251
+ "aria-haspopup": ariaHasPopup
246
252
  }, rest), name);
247
253
  });
248
254
  }
@@ -260,7 +266,6 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
260
266
  content = panel.content,
261
267
  _width = panel.width,
262
268
  initialFocusedItemIndex = panel.initialFocusedItemIndex,
263
- _size = panel.size,
264
269
  rest = (0, _objectWithoutProperties2.default)(panel, _excluded3);
265
270
 
266
271
  // As above, we need to wait for EuiOutsideClickDetector to complete its logic before
@@ -277,7 +282,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
277
282
  };
278
283
  return (0, _react2.jsx)(_context_menu_panel.EuiContextMenuPanel, (0, _extends2.default)({
279
284
  key: panelId,
280
- size: this.props.size,
285
+ height: this.props.height,
281
286
  css: cssStyles,
282
287
  onHeightChange: transitionType === 'in' ? this.onIncomingPanelHeightChange : undefined,
283
288
  onTransitionComplete: transitionType === 'out' ? this.onOutGoingPanelTransitionComplete : undefined,
@@ -301,7 +306,7 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
301
306
  onPanelChange = _this$props2.onPanelChange,
302
307
  className = _this$props2.className,
303
308
  initialPanelId = _this$props2.initialPanelId,
304
- size = _this$props2.size,
309
+ height = _this$props2.height,
305
310
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded4);
306
311
  var incomingPanel = this.renderPanel(this.state.incomingPanelId, 'in');
307
312
  var outgoingPanel;
@@ -311,11 +316,12 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
311
316
  var width = this.state.idToPanelMap[this.state.incomingPanelId] && this.state.idToPanelMap[this.state.incomingPanelId].width ? this.state.idToPanelMap[this.state.incomingPanelId].width : undefined;
312
317
  var classes = (0, _classnames.default)('euiContextMenu', className);
313
318
  var styles = stylesMemoizer(_context_menu.euiContextMenuStyles);
319
+ var cssStyles = [styles.euiContextMenu, height && styles.fixedHeight];
314
320
  return (0, _react2.jsx)("div", (0, _extends2.default)({
315
- css: styles.euiContextMenu,
321
+ css: cssStyles,
316
322
  className: classes,
317
323
  style: {
318
- height: this.state.height,
324
+ height: height !== null && height !== void 0 ? height : this.state.height,
319
325
  width: width
320
326
  }
321
327
  }, rest), outgoingPanel, incomingPanel);
@@ -339,7 +345,6 @@ var EuiContextMenuClass = exports.EuiContextMenuClass = /*#__PURE__*/function (_
339
345
  }]);
340
346
  }(_react.Component);
341
347
  (0, _defineProperty2.default)(EuiContextMenuClass, "defaultProps", {
342
- panels: [],
343
- size: 'm'
348
+ panels: []
344
349
  });
345
350
  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
  };