@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
@@ -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
  };