@elastic/eui 115.0.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 (275) hide show
  1. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  2. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  3. package/es/components/combo_box/combo_box.a11y.js +5 -5
  4. package/es/components/combo_box/combo_box.js +61 -53
  5. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  6. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  7. package/es/components/context_menu/context_menu.js +19 -21
  8. package/es/components/context_menu/context_menu.styles.js +5 -2
  9. package/es/components/context_menu/context_menu_item.js +69 -58
  10. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  11. package/es/components/context_menu/context_menu_panel.js +37 -21
  12. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  13. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  14. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  15. package/es/components/context_menu/index.js +2 -1
  16. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  17. package/es/components/datagrid/body/data_grid_body.js +23 -17
  18. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  19. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  20. package/es/components/datagrid/body/header/column_actions.js +1 -2
  21. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  22. package/es/components/datagrid/controls/column_sorting.js +23 -17
  23. package/es/components/datagrid/utils/in_memory.js +23 -17
  24. package/es/components/filter_group/filter_group.a11y.js +8 -2
  25. package/es/components/flyout/flyout_menu.js +1 -4
  26. package/es/components/form/checkbox/checkbox.js +6 -6
  27. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  28. package/es/components/form/checkbox/checkbox_control.js +78 -0
  29. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  30. package/es/components/form/checkbox/index.js +1 -0
  31. package/es/components/form/form.styles.js +2 -1
  32. package/es/components/form/radio/radio.styles.js +1 -1
  33. package/es/components/form/super_select/super_select.js +118 -99
  34. package/es/components/form/super_select/super_select.styles.js +4 -8
  35. package/es/components/form/super_select/super_select_item.js +10 -18
  36. package/es/components/link/external_link_icon.js +4 -2
  37. package/es/components/list_group/list_group.js +20 -34
  38. package/es/components/list_group/list_group.styles.js +2 -16
  39. package/es/components/list_group/list_group_item.js +75 -86
  40. package/es/components/list_group/list_group_item.styles.js +17 -61
  41. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  42. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  43. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  44. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  45. package/es/components/list_item_layout/index.js +9 -0
  46. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  47. package/es/components/selectable/selectable.js +1 -0
  48. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  49. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  50. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  51. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  52. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  53. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  54. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  55. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  56. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  57. package/es/global_styling/mixins/_helpers.js +32 -11
  58. package/eui.d.ts +10397 -8051
  59. package/i18ntokens.json +2607 -2589
  60. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  61. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  62. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  63. package/lib/components/combo_box/combo_box.js +61 -53
  64. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  65. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  66. package/lib/components/context_menu/context_menu.js +20 -22
  67. package/lib/components/context_menu/context_menu.styles.js +4 -1
  68. package/lib/components/context_menu/context_menu_item.js +70 -59
  69. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  70. package/lib/components/context_menu/context_menu_panel.js +37 -21
  71. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  72. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  73. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  74. package/lib/components/context_menu/index.js +8 -1
  75. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  76. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  77. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  78. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  79. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  80. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  81. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  82. package/lib/components/datagrid/utils/in_memory.js +23 -17
  83. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  84. package/lib/components/flyout/flyout_menu.js +1 -4
  85. package/lib/components/form/checkbox/checkbox.js +6 -6
  86. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  87. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  88. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  89. package/lib/components/form/checkbox/index.js +7 -0
  90. package/lib/components/form/form.styles.js +2 -1
  91. package/lib/components/form/radio/radio.styles.js +1 -1
  92. package/lib/components/form/super_select/super_select.js +116 -97
  93. package/lib/components/form/super_select/super_select.styles.js +4 -8
  94. package/lib/components/form/super_select/super_select_item.js +13 -18
  95. package/lib/components/link/external_link_icon.js +4 -2
  96. package/lib/components/list_group/list_group.js +21 -35
  97. package/lib/components/list_group/list_group.styles.js +2 -16
  98. package/lib/components/list_group/list_group_item.js +75 -86
  99. package/lib/components/list_group/list_group_item.styles.js +17 -61
  100. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  101. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  102. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  103. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  104. package/lib/components/list_item_layout/index.js +12 -0
  105. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  106. package/lib/components/selectable/selectable.js +1 -0
  107. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  108. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  109. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  110. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  111. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  112. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  113. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  114. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  115. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  116. package/lib/global_styling/mixins/_helpers.js +33 -12
  117. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  118. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  119. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  120. package/optimize/es/components/combo_box/combo_box.js +60 -52
  121. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  122. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  123. package/optimize/es/components/context_menu/context_menu.js +18 -13
  124. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  125. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  126. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  127. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  128. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  129. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  130. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  131. package/optimize/es/components/context_menu/index.js +2 -1
  132. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  133. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  134. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  135. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  136. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  137. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  138. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  139. package/optimize/es/components/form/checkbox/index.js +1 -0
  140. package/optimize/es/components/form/form.styles.js +2 -1
  141. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  142. package/optimize/es/components/form/super_select/super_select.js +118 -90
  143. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  144. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  145. package/optimize/es/components/link/external_link_icon.js +4 -2
  146. package/optimize/es/components/list_group/list_group.js +7 -14
  147. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  148. package/optimize/es/components/list_group/list_group_item.js +62 -79
  149. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  150. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  151. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  152. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  153. package/optimize/es/components/list_item_layout/index.js +9 -0
  154. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  155. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  156. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  157. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  158. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  159. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  160. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  161. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  162. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  163. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  164. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  165. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  166. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  167. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  168. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  169. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  170. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  171. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  172. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  173. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  174. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  175. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  176. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  177. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  178. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  179. package/optimize/lib/components/context_menu/index.js +8 -1
  180. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  181. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  182. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  183. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  184. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  185. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  186. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  187. package/optimize/lib/components/form/checkbox/index.js +7 -0
  188. package/optimize/lib/components/form/form.styles.js +2 -1
  189. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  190. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  191. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  192. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  193. package/optimize/lib/components/link/external_link_icon.js +4 -2
  194. package/optimize/lib/components/list_group/list_group.js +8 -15
  195. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  196. package/optimize/lib/components/list_group/list_group_item.js +62 -79
  197. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  198. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  199. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  200. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  201. package/optimize/lib/components/list_item_layout/index.js +12 -0
  202. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  203. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  204. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  205. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  206. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  207. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  208. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  209. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  210. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  211. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  212. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  213. package/package.json +4 -4
  214. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  215. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  216. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  217. package/test-env/components/combo_box/combo_box.js +61 -53
  218. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  219. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  220. package/test-env/components/context_menu/context_menu.js +20 -22
  221. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  222. package/test-env/components/context_menu/context_menu_item.js +67 -59
  223. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  224. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  225. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  226. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  227. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  228. package/test-env/components/context_menu/index.js +8 -1
  229. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  230. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  231. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  232. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  233. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  234. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  235. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  236. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  237. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  238. package/test-env/components/flyout/flyout_menu.js +1 -4
  239. package/test-env/components/form/checkbox/checkbox.js +6 -6
  240. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  241. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  242. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  243. package/test-env/components/form/checkbox/index.js +7 -0
  244. package/test-env/components/form/form.styles.js +2 -1
  245. package/test-env/components/form/radio/radio.styles.js +1 -1
  246. package/test-env/components/form/super_select/super_select.js +116 -97
  247. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  248. package/test-env/components/form/super_select/super_select_item.js +13 -18
  249. package/test-env/components/link/external_link_icon.js +4 -2
  250. package/test-env/components/list_group/list_group.js +21 -35
  251. package/test-env/components/list_group/list_group.styles.js +2 -16
  252. package/test-env/components/list_group/list_group_item.js +75 -86
  253. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  254. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  255. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  256. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  257. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  258. package/test-env/components/list_item_layout/index.js +12 -0
  259. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  260. package/test-env/components/selectable/selectable.js +1 -0
  261. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  262. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  263. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  264. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  265. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  266. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  267. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  268. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  269. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  270. package/test-env/global_styling/mixins/_helpers.js +33 -12
  271. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  272. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  273. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  274. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  275. 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
  };