@elastic/eui 115.0.0 → 116.0.0-snapshot.1778596789536

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 (290) hide show
  1. package/es/components/accordion/accordion.js +95 -134
  2. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  3. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  4. package/es/components/combo_box/combo_box.a11y.js +5 -5
  5. package/es/components/combo_box/combo_box.js +61 -53
  6. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  7. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  8. package/es/components/context_menu/context_menu.js +19 -21
  9. package/es/components/context_menu/context_menu.styles.js +5 -2
  10. package/es/components/context_menu/context_menu_item.js +69 -58
  11. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  12. package/es/components/context_menu/context_menu_panel.js +37 -21
  13. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  14. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  15. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  16. package/es/components/context_menu/index.js +2 -1
  17. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  18. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
  19. package/es/components/datagrid/body/data_grid_body.js +23 -17
  20. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  21. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  22. package/es/components/datagrid/body/header/column_actions.js +1 -2
  23. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  24. package/es/components/datagrid/controls/column_sorting.js +23 -17
  25. package/es/components/datagrid/data_grid.styles.js +6 -5
  26. package/es/components/datagrid/utils/in_memory.js +23 -17
  27. package/es/components/filter_group/filter_group.a11y.js +8 -2
  28. package/es/components/flyout/flyout_menu.js +1 -4
  29. package/es/components/form/checkbox/checkbox.js +6 -6
  30. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  31. package/es/components/form/checkbox/checkbox_control.js +78 -0
  32. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  33. package/es/components/form/checkbox/index.js +1 -0
  34. package/es/components/form/form.styles.js +2 -1
  35. package/es/components/form/radio/radio.styles.js +1 -1
  36. package/es/components/form/super_select/super_select.js +118 -99
  37. package/es/components/form/super_select/super_select.styles.js +4 -8
  38. package/es/components/form/super_select/super_select_item.js +10 -18
  39. package/es/components/link/external_link_icon.js +4 -2
  40. package/es/components/list_group/list_group.js +20 -34
  41. package/es/components/list_group/list_group.styles.js +2 -16
  42. package/es/components/list_group/list_group_item.js +75 -86
  43. package/es/components/list_group/list_group_item.styles.js +17 -61
  44. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  45. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  46. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  47. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  48. package/es/components/list_item_layout/index.js +9 -0
  49. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  50. package/es/components/selectable/selectable.js +1 -0
  51. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  52. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  53. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  54. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  55. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  56. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  57. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  58. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  59. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  60. package/es/global_styling/mixins/_helpers.js +32 -11
  61. package/eui.d.ts +10453 -8134
  62. package/i18ntokens.json +2607 -2589
  63. package/lib/components/accordion/accordion.js +102 -139
  64. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  65. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  66. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  67. package/lib/components/combo_box/combo_box.js +61 -53
  68. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  69. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  70. package/lib/components/context_menu/context_menu.js +20 -22
  71. package/lib/components/context_menu/context_menu.styles.js +4 -1
  72. package/lib/components/context_menu/context_menu_item.js +70 -59
  73. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  74. package/lib/components/context_menu/context_menu_panel.js +37 -21
  75. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  76. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  77. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  78. package/lib/components/context_menu/index.js +8 -1
  79. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  80. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
  81. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  82. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  83. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  84. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  85. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  86. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  87. package/lib/components/datagrid/data_grid.styles.js +6 -5
  88. package/lib/components/datagrid/utils/in_memory.js +23 -17
  89. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  90. package/lib/components/flyout/flyout_menu.js +1 -4
  91. package/lib/components/form/checkbox/checkbox.js +6 -6
  92. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  93. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  94. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  95. package/lib/components/form/checkbox/index.js +7 -0
  96. package/lib/components/form/form.styles.js +2 -1
  97. package/lib/components/form/radio/radio.styles.js +1 -1
  98. package/lib/components/form/super_select/super_select.js +116 -97
  99. package/lib/components/form/super_select/super_select.styles.js +4 -8
  100. package/lib/components/form/super_select/super_select_item.js +13 -18
  101. package/lib/components/link/external_link_icon.js +4 -2
  102. package/lib/components/list_group/list_group.js +21 -35
  103. package/lib/components/list_group/list_group.styles.js +2 -16
  104. package/lib/components/list_group/list_group_item.js +75 -86
  105. package/lib/components/list_group/list_group_item.styles.js +17 -61
  106. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  107. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  108. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  109. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  110. package/lib/components/list_item_layout/index.js +12 -0
  111. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  112. package/lib/components/selectable/selectable.js +1 -0
  113. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  114. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  115. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  116. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  117. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  118. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  119. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  120. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  121. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  122. package/lib/global_styling/mixins/_helpers.js +33 -12
  123. package/optimize/es/components/accordion/accordion.js +88 -126
  124. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  125. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  126. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  127. package/optimize/es/components/combo_box/combo_box.js +60 -52
  128. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  129. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  130. package/optimize/es/components/context_menu/context_menu.js +18 -13
  131. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  132. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  133. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  134. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  135. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  136. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  137. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  138. package/optimize/es/components/context_menu/index.js +2 -1
  139. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
  140. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  141. package/optimize/es/components/datagrid/data_grid.styles.js +6 -5
  142. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  143. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  144. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  145. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  146. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  147. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  148. package/optimize/es/components/form/checkbox/index.js +1 -0
  149. package/optimize/es/components/form/form.styles.js +2 -1
  150. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  151. package/optimize/es/components/form/super_select/super_select.js +118 -90
  152. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  153. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  154. package/optimize/es/components/link/external_link_icon.js +4 -2
  155. package/optimize/es/components/list_group/list_group.js +7 -14
  156. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  157. package/optimize/es/components/list_group/list_group_item.js +62 -79
  158. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  159. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  160. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  161. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  162. package/optimize/es/components/list_item_layout/index.js +9 -0
  163. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  164. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  165. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  166. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  167. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  168. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  169. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  170. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  171. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  172. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  173. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  174. package/optimize/lib/components/accordion/accordion.js +90 -127
  175. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  176. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  177. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  178. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  179. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  180. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  181. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  182. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  183. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  184. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  185. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  186. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  187. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  188. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  189. package/optimize/lib/components/context_menu/index.js +8 -1
  190. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
  191. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  192. package/optimize/lib/components/datagrid/data_grid.styles.js +6 -5
  193. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  194. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  195. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  196. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  197. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  198. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  199. package/optimize/lib/components/form/checkbox/index.js +7 -0
  200. package/optimize/lib/components/form/form.styles.js +2 -1
  201. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  202. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  203. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  204. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  205. package/optimize/lib/components/link/external_link_icon.js +4 -2
  206. package/optimize/lib/components/list_group/list_group.js +8 -15
  207. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  208. package/optimize/lib/components/list_group/list_group_item.js +62 -79
  209. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  210. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  211. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  212. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  213. package/optimize/lib/components/list_item_layout/index.js +12 -0
  214. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  215. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  216. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  217. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  218. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  219. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  220. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  221. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  222. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  223. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  224. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  225. package/package.json +6 -5
  226. package/test-env/components/accordion/accordion.js +92 -129
  227. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  228. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  229. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  230. package/test-env/components/combo_box/combo_box.js +61 -53
  231. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  232. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  233. package/test-env/components/context_menu/context_menu.js +20 -22
  234. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  235. package/test-env/components/context_menu/context_menu_item.js +67 -59
  236. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  237. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  238. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  239. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  240. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  241. package/test-env/components/context_menu/index.js +8 -1
  242. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  243. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
  244. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  245. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  246. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  247. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  248. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  249. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  250. package/test-env/components/datagrid/data_grid.styles.js +6 -5
  251. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  252. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  253. package/test-env/components/flyout/flyout_menu.js +1 -4
  254. package/test-env/components/form/checkbox/checkbox.js +6 -6
  255. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  256. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  257. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  258. package/test-env/components/form/checkbox/index.js +7 -0
  259. package/test-env/components/form/form.styles.js +2 -1
  260. package/test-env/components/form/radio/radio.styles.js +1 -1
  261. package/test-env/components/form/super_select/super_select.js +116 -97
  262. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  263. package/test-env/components/form/super_select/super_select_item.js +13 -18
  264. package/test-env/components/link/external_link_icon.js +4 -2
  265. package/test-env/components/list_group/list_group.js +21 -35
  266. package/test-env/components/list_group/list_group.styles.js +2 -16
  267. package/test-env/components/list_group/list_group_item.js +75 -86
  268. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  269. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  270. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  271. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  272. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  273. package/test-env/components/list_item_layout/index.js +12 -0
  274. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  275. package/test-env/components/selectable/selectable.js +1 -0
  276. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  277. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  278. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  279. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  280. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  281. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  282. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  283. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  284. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  285. package/test-env/global_styling/mixins/_helpers.js +33 -12
  286. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  287. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  288. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  289. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  290. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
@@ -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
  };
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.SIZES = exports.LAYOUT_ALIGN = exports.EuiContextMenuItem = void 0;
7
+ exports.LAYOUT_ALIGN = exports.EuiContextMenuItem = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
11
  var _react = _interopRequireDefault(require("react"));
11
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -14,10 +15,10 @@ var _services = require("../../services");
14
15
  var _href_validator = require("../../services/security/href_validator");
15
16
  var _common = require("../common");
16
17
  var _icon = require("../icon");
17
- var _tool_tip = require("../tool_tip");
18
18
  var _context_menu_item = require("./context_menu_item.styles");
19
+ var _list_item_layout = require("../list_item_layout");
19
20
  var _react2 = require("@emotion/react");
20
- var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "size", "color"];
21
+ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "color", "external"];
21
22
  /*
22
23
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
24
  * or more contributor license agreements. Licensed under the Elastic License
@@ -25,7 +26,8 @@ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disa
25
26
  * in compliance with, at your election, the Elastic License 2.0 or the Server
26
27
  * Side Public License, v 1.
27
28
  */
28
- var SIZES = exports.SIZES = ['s', 'm'];
29
+ 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; }
30
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
31
  var layoutAlignToClassNames = {
30
32
  center: null,
31
33
  top: 'euiContextMenu__itemLayout--top',
@@ -46,15 +48,17 @@ var EuiContextMenuItem = exports.EuiContextMenuItem = function EuiContextMenuIte
46
48
  href = _ref.href,
47
49
  target = _ref.target,
48
50
  rel = _ref.rel,
49
- _ref$size = _ref.size,
50
- size = _ref$size === void 0 ? 'm' : _ref$size,
51
- color = _ref.color,
51
+ _ref$color = _ref.color,
52
+ color = _ref$color === void 0 ? 'text' : _ref$color,
53
+ external = _ref.external,
52
54
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
55
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
54
56
  var disabled = _disabled || !isHrefValid;
55
57
  var classes = (0, _classnames.default)('euiContextMenuItem', className);
58
+ var anchorClasses = (0, _classnames.default)('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
56
59
  var styles = (0, _services.useEuiMemoizedStyles)(_context_menu_item.euiContextMenuItemStyles);
57
- var cssStyles = [styles.euiContextMenuItem, styles.sizes[size], styles.layoutAlign[layoutAlign], disabled && styles.disabled, !disabled && color && styles.colors[color]];
60
+ var cssStyles = [styles.euiContextMenuItem, styles.layoutAlign[layoutAlign], !disabled && color !== 'text' && styles.colors[color]];
61
+ var textStyles = [styles.text.euiContextMenuItem__text];
58
62
  var iconInstance = icon && (typeof icon === 'string' ? (0, _react2.jsx)(_icon.EuiIcon, {
59
63
  type: icon,
60
64
  size: "m",
@@ -72,54 +76,52 @@ var EuiContextMenuItem = exports.EuiContextMenuItem = function EuiContextMenuIte
72
76
  className: "euiContextMenu__arrow",
73
77
  css: styles.euiContextMenuItem__arrow
74
78
  });
75
- var textStyles = [styles.text.euiContextMenuItem__text, size === 's' && styles.text.s];
76
- var buttonContent = (0, _react2.jsx)(_react.default.Fragment, null, iconInstance, (0, _react2.jsx)("span", {
77
- className: "euiContextMenuItem__text",
78
- css: textStyles
79
- }, children), arrow);
80
- var button;
81
- // <a> elements don't respect the `disabled` attribute. So if we're disabled, we'll just pretend
82
- // this is a button and piggyback off its disabled styles.
83
- if (href && !disabled) {
84
- var secureRel = (0, _services.getSecureRelForTarget)({
85
- href: href,
86
- target: target,
87
- rel: rel
88
- });
89
- button = (0, _react2.jsx)("a", (0, _extends2.default)({
90
- css: cssStyles,
91
- className: classes,
92
- href: href,
93
- target: target,
94
- rel: secureRel,
95
- ref: buttonRef
96
- }, rest), buttonContent);
97
- } else if (href || rest.onClick || toolTipContent) {
98
- button = (0, _react2.jsx)("button", (0, _extends2.default)({
99
- disabled: disabled,
100
- css: cssStyles,
101
- className: classes,
102
- type: "button",
103
- ref: buttonRef
104
- }, rest), buttonContent);
105
- } else {
106
- button = (0, _react2.jsx)("div", (0, _extends2.default)({
107
- css: cssStyles,
108
- className: classes,
109
- ref: buttonRef
110
- }, rest), buttonContent);
111
- }
112
- if (toolTipContent) {
113
- var anchorClasses = (0, _classnames.default)('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
114
- return (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
115
- position: "right"
116
- }, toolTipProps, {
79
+ var isLink = href && !disabled;
80
+ var isButton = !isLink && (href || rest.onClick || toolTipContent);
81
+ var commonProps = {
82
+ css: cssStyles,
83
+ className: classes
84
+ };
85
+ var buttonProps = isButton ? _objectSpread({
86
+ element: 'button',
87
+ type: 'button',
88
+ ref: buttonRef
89
+ }, rest) : {};
90
+ var secureRel = isLink ? (0, _services.getSecureRelForTarget)({
91
+ href: href,
92
+ target: target,
93
+ rel: rel
94
+ }) : undefined;
95
+ var linkProps = isLink ? _objectSpread({
96
+ element: 'a',
97
+ href: href,
98
+ target: target,
99
+ rel: secureRel,
100
+ ref: buttonRef,
101
+ external: external
102
+ }, rest) : {};
103
+ var divProps = !isButton && !isLink ? _objectSpread({
104
+ element: 'div',
105
+ ref: buttonRef
106
+ }, rest) : {};
107
+ var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, commonProps), divProps), buttonProps), linkProps);
108
+ return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, (0, _extends2.default)({}, props, {
109
+ role: props.role,
110
+ showIndicator: false,
111
+ prepend: iconInstance,
112
+ append: arrow,
113
+ textWrap: "wrap",
114
+ isDisabled: disabled,
115
+ textProps: {
116
+ className: 'euiContextMenuItem__text',
117
+ css: textStyles
118
+ },
119
+ tooltipProps: toolTipContent ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
120
+ position: 'right',
117
121
  anchorClassName: anchorClasses,
118
122
  content: toolTipContent
119
- }), button);
120
- } else {
121
- return button;
122
- }
123
+ }) : undefined
124
+ }), children);
123
125
  };
124
126
  EuiContextMenuItem.propTypes = {
125
127
  className: _propTypes.default.string,
@@ -131,6 +133,7 @@ EuiContextMenuItem.propTypes = {
131
133
  disabled: _propTypes.default.bool,
132
134
  onClick: _propTypes.default.func,
133
135
  buttonRef: _propTypes.default.any,
136
+ role: _propTypes.default.any,
134
137
  /**
135
138
  * Required if using a tooltip. Add an optional tooltip on hover
136
139
  */
@@ -144,16 +147,21 @@ EuiContextMenuItem.propTypes = {
144
147
  target: _propTypes.default.string,
145
148
  rel: _propTypes.default.string,
146
149
  /**
150
+ * @deprecated - will be removed in the future and handled statically as `center`
147
151
  * How to align icon with content of button
148
152
  */
149
153
  layoutAlign: _propTypes.default.oneOf(["center", "top", "bottom"]),
150
154
  /**
151
- * Reduce the size to `s` when in need of a more compressed menu
155
+ * Applies a color to the text and icon of the item.
156
+ *
157
+ * Deprecated: This won't match all `EuiButtonEmpty` colors in the near future.
158
+ * Use supported variants "text" and "danger".
159
+ *
152
160
  */
153
- size: _propTypes.default.any,
161
+ color: _propTypes.default.any,
154
162
  /**
155
- * Applies a color to the text and icon of the item.
156
- * Accepts the same color values as `EuiButtonEmpty`.
163
+ * Set to true to show an icon indicating that it is an external link;
164
+ * Defaults to true if `target="_blank"`
157
165
  */
158
- color: _propTypes.default.any
166
+ external: _propTypes.default.bool
159
167
  };
@@ -38,48 +38,34 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
38
38
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
39
  };
40
40
  var _ref4 = process.env.NODE_ENV === "production" ? {
41
- name: "1msaet2-bottom",
42
- styles: "align-items:flex-end;label:bottom;"
41
+ name: "flyqrm-center",
42
+ styles: ".euiListItemLayout__prepend{align-self:center;};label:center;"
43
43
  } : {
44
- name: "1msaet2-bottom",
45
- styles: "align-items:flex-end;label:bottom;",
44
+ name: "flyqrm-center",
45
+ styles: ".euiListItemLayout__prepend{align-self:center;};label:center;",
46
46
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
47
47
  };
48
48
  var _ref5 = process.env.NODE_ENV === "production" ? {
49
- name: "1gnwbvd-top",
50
- styles: "align-items:flex-start;label:top;"
49
+ name: "1qfbla9-euiContextMenuItem",
50
+ styles: "display:flex;label:euiContextMenuItem;"
51
51
  } : {
52
- name: "1gnwbvd-top",
53
- styles: "align-items:flex-start;label:top;",
54
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
55
- };
56
- var _ref6 = process.env.NODE_ENV === "production" ? {
57
- name: "8391db-center",
58
- styles: "align-items:center;label:center;"
59
- } : {
60
- name: "8391db-center",
61
- styles: "align-items:center;label:center;",
52
+ name: "1qfbla9-euiContextMenuItem",
53
+ styles: "display:flex;label:euiContextMenuItem;",
62
54
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
63
55
  };
64
56
  var euiContextMenuItemStyles = exports.euiContextMenuItemStyles = function euiContextMenuItemStyles(euiThemeContext) {
65
57
  var euiTheme = euiThemeContext.euiTheme;
66
58
  return {
67
- euiContextMenuItem: /*#__PURE__*/(0, _react.css)("display:flex;gap:", euiTheme.size.s, ";", (0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalTextAlignCSS)('left'), " color:", euiTheme.colors.textParagraph, ";outline-offset:-", euiTheme.focus.width, ";&:where(a, button):not(:disabled){&:hover,&:focus{text-decoration:underline;}&:focus{background-color:", euiTheme.focus.backgroundColor, ";}};label:euiContextMenuItem;"),
68
- disabled: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.textDisabled, ";cursor:default;;label:disabled;"),
59
+ euiContextMenuItem: _ref5,
69
60
  layoutAlign: {
70
- center: _ref6,
71
- top: _ref5,
72
- bottom: _ref4
73
- },
74
- sizes: {
75
- m: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.m, ";;label:m;"),
76
- s: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";;label:s;")
61
+ center: _ref4,
62
+ top: /*#__PURE__*/(0, _react.css)(".euiListItemLayout__prepend{align-self:flex-start;", (0, _global_styling.logicalCSS)('margin-top', euiTheme.size.s), ";};label:top;"),
63
+ bottom: /*#__PURE__*/(0, _react.css)(".euiListItemLayout__prepend{align-self:flex-end;", (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.s), ";};label:bottom;")
77
64
  },
78
65
  // Children
79
66
  euiContextMenu__icon: _ref3,
80
67
  text: {
81
- euiContextMenuItem__text: _ref2,
82
- s: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";;label:s;")
68
+ euiContextMenuItem__text: _ref2
83
69
  },
84
70
  euiContextMenuItem__arrow: _ref,
85
71
  // Colors - maps button color names to text color overrides
@@ -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.EuiContextMenuPanelClass = exports.EuiContextMenuPanel = void 0;
8
+ exports.EuiContextMenuPanelClass = exports.EuiContextMenuPanel = 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"));
@@ -22,8 +22,9 @@ var _services = require("../../services");
22
22
  var _resize_observer = require("../observer/resize_observer");
23
23
  var _context_menu_item = require("./context_menu_item");
24
24
  var _context_menu_panel = require("./context_menu_panel.styles");
25
+ var _context_menu_panel_title = require("./context_menu_panel_title");
25
26
  var _react2 = require("@emotion/react");
26
- var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel", "size"];
27
+ var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel"];
27
28
  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); }
28
29
  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; }
29
30
  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)); }
@@ -34,7 +35,6 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
34
35
  * in compliance with, at your election, the Elastic License 2.0 or the Server
35
36
  * Side Public License, v 1.
36
37
  */
37
- var SIZES = exports.SIZES = ['s', 'm'];
38
38
  var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
39
39
  function EuiContextMenuPanelClass(props) {
40
40
  var _this;
@@ -80,6 +80,20 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
80
80
  });
81
81
  (_this$state$menuItems = _this.state.menuItems[nextFocusedItemIndex]) === null || _this$state$menuItems === void 0 || _this$state$menuItems.focus();
82
82
  });
83
+ /* Ensures that on initial focus of a menuitem the index is updated.
84
+ Otherwise `focusMenuItem()`is not initialized when pressing a key as `onKeyDown`
85
+ only fires on key press after the focus moved into the component */
86
+ (0, _defineProperty2.default)(_this, "setInitialFocusedItemIndex", function (event) {
87
+ var _this$props$items2;
88
+ if (!((_this$props$items2 = _this.props.items) !== null && _this$props$items2 !== void 0 && _this$props$items2.length) || !_this.state.menuItems.length || _this.state.focusedItemIndex !== undefined) return;
89
+ var target = event.target;
90
+ var currentIndex = _this.state.menuItems.indexOf(target);
91
+ if (currentIndex >= 0) {
92
+ _this.setState({
93
+ focusedItemIndex: currentIndex
94
+ });
95
+ }
96
+ });
83
97
  (0, _defineProperty2.default)(_this, "onKeyDown", function (event) {
84
98
  // If this panel contains items you can use the left arrow key to go back at any time.
85
99
  // But if it doesn't contain items, then you have to focus on the back button specifically,
@@ -160,6 +174,7 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
160
174
  _this.getInitialPopoverParent();
161
175
  _this.findMenuItems();
162
176
  });
177
+ (0, _defineProperty2.default)(_this, "rootId", (0, _services.htmlIdGenerator)());
163
178
  _this.state = {
164
179
  prevProps: {
165
180
  items: _this.props.items
@@ -342,26 +357,26 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
342
357
  initialFocusedItemIndex = _this$props2.initialFocusedItemIndex,
343
358
  showNextPanel = _this$props2.showNextPanel,
344
359
  showPreviousPanel = _this$props2.showPreviousPanel,
345
- size = _this$props2.size,
346
360
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
361
+ var titleId = this.rootId('euiContextMenuPanelTitle');
347
362
  var classes = (0, _classnames.default)('euiContextMenuPanel', className);
348
363
  var styles = stylesMemoizer(_context_menu_panel.euiContextMenuPanelStyles);
349
364
  var cssStyles = [styles.euiContextMenuPanel, transitionDirection && transitionType && styles[transitionDirection][transitionType]];
350
- var panelTitle = title && (0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
351
- css: styles.euiContextMenuPanel__title,
365
+ var panelTitle = title && (0, _react2.jsx)(_context_menu_panel_title.EuiContextMenuPanelTitle, {
366
+ title: title,
367
+ id: titleId,
352
368
  className: "euiContextMenuPanel__title",
353
- onClick: onClose,
369
+ onClose: onClose,
354
370
  buttonRef: function buttonRef(node) {
355
- if (onClose) _this3.backButton = node;
356
- },
357
- "data-test-subj": onClose ? 'contextMenuPanelTitleButton' : 'contextMenuPanelTitle',
358
- icon: onClose && 'chevronSingleLeft'
359
- }, title);
360
- var content = items && items.length ? items.map(function (MenuItem) {
361
- var cloneProps = {};
362
- if (size) {
363
- cloneProps.size = size;
371
+ _this3.backButton = node;
364
372
  }
373
+ });
374
+ var isMenu = !!(items && items.length);
375
+ var content = items && items.length ? items.map(function (MenuItem) {
376
+ var _MenuItem$props$role, _MenuItem$props;
377
+ var cloneProps = {
378
+ role: (_MenuItem$props$role = (_MenuItem$props = MenuItem.props) === null || _MenuItem$props === void 0 ? void 0 : _MenuItem$props.role) !== null && _MenuItem$props$role !== void 0 ? _MenuItem$props$role : 'menuitem'
379
+ };
365
380
  return MenuItem.type === _context_menu_item.EuiContextMenuItem ? /*#__PURE__*/(0, _react.cloneElement)(MenuItem, cloneProps) : MenuItem;
366
381
  }) : children;
367
382
  return (0, _react2.jsx)("div", (0, _extends2.default)({
@@ -377,7 +392,11 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
377
392
  }
378
393
  }, function (resizeRef) {
379
394
  return (0, _react2.jsx)("div", {
380
- ref: resizeRef
395
+ ref: resizeRef,
396
+ role: isMenu ? 'menu' : undefined,
397
+ className: "euiContextMenuPanel__list",
398
+ "aria-labelledby": title ? titleId : undefined,
399
+ onFocus: _this3.setInitialFocusedItemIndex
381
400
  }, content);
382
401
  }));
383
402
  }
@@ -427,9 +446,6 @@ EuiContextMenuPanelClass.propTypes = {
427
446
  title: _propTypes.default.node,
428
447
  transitionDirection: _propTypes.default.oneOf(["next", "previous"]),
429
448
  transitionType: _propTypes.default.oneOf(["in", "out"]),
430
- /**
431
- * Alters the size of the items and the title
432
- */
433
- size: _propTypes.default.any
449
+ height: _propTypes.default.any
434
450
  };
435
451
  var EuiContextMenuPanel = exports.EuiContextMenuPanel = (0, _services.withEuiStylesMemoizer)(EuiContextMenuPanelClass);
@@ -9,6 +9,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _react = require("@emotion/react");
10
10
  var _global_styling = require("../../global_styling");
11
11
  var _title = require("../title/title.styles");
12
+ var _list_item_layout = require("../list_item_layout/_list_item_layout.styles");
12
13
  var _context_menu = require("./context_menu.styles");
13
14
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
15
  /*
@@ -22,6 +23,9 @@ var euiContextMenuPanelStyles = exports.euiContextMenuPanelStyles = function eui
22
23
  var euiTheme = euiThemeContext.euiTheme;
23
24
  var _euiContextMenuVariab = (0, _context_menu.euiContextMenuVariables)(euiThemeContext),
24
25
  panelWidth = _euiContextMenuVariab.panelWidth;
26
+ var _euiListItemVariables = (0, _list_item_layout.euiListItemVariables)(euiThemeContext),
27
+ spacing = _euiListItemVariables.spacing,
28
+ textPadding = _euiListItemVariables.textPadding;
25
29
  var animations = {
26
30
  transitioning: /*#__PURE__*/(0, _react.css)("pointer-events:none;animation-fill-mode:forwards;animation-duration:", euiTheme.animation.normal, ";animation-timing-function:", euiTheme.animation.resistance, ";", _global_styling.euiCantAnimate, "{animation-duration:0s;};label:transitioning;"),
27
31
  inLeft: (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n 0% { transform: translateX(", "); }\n 100% { transform: translateX(0); }\n "])), panelWidth),
@@ -30,7 +34,7 @@ var euiContextMenuPanelStyles = exports.euiContextMenuPanelStyles = function eui
30
34
  outRight: (0, _react.keyframes)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n 0% { transform: translateX(0); }\n 100% { transform: translateX(", "); }\n "])), panelWidth)
31
35
  };
32
36
  return {
33
- euiContextMenuPanel: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
37
+ euiContextMenuPanel: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " padding:", euiTheme.size.s, ";visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
34
38
  // Panel animations
35
39
  next: {
36
40
  in: /*#__PURE__*/(0, _react.css)(animations.transitioning, " animation-name:", animations.inLeft, ";;label:in;"),
@@ -41,6 +45,7 @@ var euiContextMenuPanelStyles = exports.euiContextMenuPanelStyles = function eui
41
45
  out: /*#__PURE__*/(0, _react.css)(animations.transitioning, " animation-name:", animations.outRight, ";;label:out;")
42
46
  },
43
47
  // Children
44
- euiContextMenuPanel__title: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxs'), " ", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), " &:enabled:focus{background-color:unset;};label:euiContextMenuPanel__title;")
48
+ euiContextMenuPanel__title: /*#__PURE__*/(0, _react.css)("display:flex;align-items:center;gap:", spacing.horizontal, ";", (0, _title.euiTitle)(euiThemeContext, 'xxs'), " ", (0, _global_styling.logicalCSS)('padding-horizontal', spacing.horizontal), ";;label:euiContextMenuPanel__title;"),
49
+ euiContextMenuPanel__label: /*#__PURE__*/(0, _react.css)("flex-grow:1;overflow:hidden;", (0, _global_styling.logicalCSS)('padding-horizontal', textPadding.horizontal), " ", (0, _global_styling.logicalCSS)('padding-vertical', textPadding.vertical), ";;label:euiContextMenuPanel__label;")
45
50
  };
46
51
  };