@elastic/eui 114.3.0 → 116.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/es/components/basic_table/basic_table.js +3 -6
  2. package/es/components/basic_table/collapsed_item_actions.js +1 -3
  3. package/es/components/basic_table/default_item_action.js +0 -1
  4. package/es/components/basic_table/in_memory_table.js +3 -6
  5. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  6. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  7. package/es/components/color_picker/color_picker_swatch.js +1 -2
  8. package/es/components/combo_box/combo_box.a11y.js +5 -5
  9. package/es/components/combo_box/combo_box.js +61 -53
  10. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  11. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  12. package/es/components/context_menu/context_menu.js +19 -21
  13. package/es/components/context_menu/context_menu.styles.js +5 -2
  14. package/es/components/context_menu/context_menu_item.js +69 -58
  15. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  16. package/es/components/context_menu/context_menu_panel.js +37 -21
  17. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  18. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  19. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  20. package/es/components/context_menu/index.js +2 -1
  21. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  22. package/es/components/datagrid/body/data_grid_body.js +23 -17
  23. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  24. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  25. package/es/components/datagrid/body/header/column_actions.js +1 -2
  26. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  27. package/es/components/datagrid/controls/column_sorting.js +23 -17
  28. package/es/components/datagrid/controls/display_selector.js +1 -2
  29. package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  30. package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  31. package/es/components/datagrid/utils/in_memory.js +23 -17
  32. package/es/components/filter_group/filter_group.a11y.js +8 -2
  33. package/es/components/filter_group/filter_select_item.js +36 -17
  34. package/es/components/flyout/flyout_menu.js +1 -4
  35. package/es/components/form/checkbox/checkbox.js +6 -6
  36. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  37. package/es/components/form/checkbox/checkbox_control.js +78 -0
  38. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  39. package/es/components/form/checkbox/index.js +1 -0
  40. package/es/components/form/form.styles.js +2 -1
  41. package/es/components/form/radio/radio.styles.js +1 -1
  42. package/es/components/form/super_select/super_select.js +118 -99
  43. package/es/components/form/super_select/super_select.styles.js +4 -8
  44. package/es/components/form/super_select/super_select_item.js +10 -18
  45. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  46. package/es/components/link/external_link_icon.js +4 -2
  47. package/es/components/list_group/list_group.js +20 -34
  48. package/es/components/list_group/list_group.styles.js +2 -16
  49. package/es/components/list_group/list_group_item.js +75 -87
  50. package/es/components/list_group/list_group_item.styles.js +17 -61
  51. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  52. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  53. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  54. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  55. package/es/components/list_item_layout/index.js +9 -0
  56. package/es/components/markdown_editor/markdown_editor.js +1 -1
  57. package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  58. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  59. package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  60. package/es/components/portal/portal.js +72 -117
  61. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  62. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
  63. package/es/components/selectable/selectable.js +1 -0
  64. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  65. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  66. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  67. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  68. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  69. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  70. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  71. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  72. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  73. package/es/components/table/table_header_cell.js +1 -2
  74. package/es/components/tool_tip/icon_tip.js +4 -8
  75. package/es/components/tool_tip/tool_tip.js +233 -261
  76. package/es/components/tool_tip/tool_tip.styles.js +10 -18
  77. package/es/components/tool_tip/tool_tip_anchor.js +3 -3
  78. package/es/components/tool_tip/tool_tip_manager.js +1 -0
  79. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  80. package/es/global_styling/mixins/_helpers.js +32 -11
  81. package/es/test/rtl/component_helpers.d.ts +0 -3
  82. package/es/test/rtl/component_helpers.js +40 -62
  83. package/eui.d.ts +10463 -8188
  84. package/i18ntokens.json +2607 -2589
  85. package/lib/components/basic_table/basic_table.js +3 -6
  86. package/lib/components/basic_table/collapsed_item_actions.js +1 -3
  87. package/lib/components/basic_table/default_item_action.js +0 -1
  88. package/lib/components/basic_table/in_memory_table.js +3 -6
  89. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  90. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  91. package/lib/components/color_picker/color_picker_swatch.js +1 -2
  92. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  93. package/lib/components/combo_box/combo_box.js +61 -53
  94. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  95. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  96. package/lib/components/context_menu/context_menu.js +20 -22
  97. package/lib/components/context_menu/context_menu.styles.js +4 -1
  98. package/lib/components/context_menu/context_menu_item.js +70 -59
  99. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  100. package/lib/components/context_menu/context_menu_panel.js +37 -21
  101. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  102. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  103. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  104. package/lib/components/context_menu/index.js +8 -1
  105. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  106. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  107. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  108. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  109. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  110. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  111. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  112. package/lib/components/datagrid/controls/display_selector.js +1 -2
  113. package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  114. package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  115. package/lib/components/datagrid/utils/in_memory.js +23 -17
  116. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  117. package/lib/components/filter_group/filter_select_item.js +35 -16
  118. package/lib/components/flyout/flyout_menu.js +1 -4
  119. package/lib/components/form/checkbox/checkbox.js +6 -6
  120. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  121. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  122. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  123. package/lib/components/form/checkbox/index.js +7 -0
  124. package/lib/components/form/form.styles.js +2 -1
  125. package/lib/components/form/radio/radio.styles.js +1 -1
  126. package/lib/components/form/super_select/super_select.js +116 -97
  127. package/lib/components/form/super_select/super_select.styles.js +4 -8
  128. package/lib/components/form/super_select/super_select_item.js +13 -18
  129. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  130. package/lib/components/link/external_link_icon.js +4 -2
  131. package/lib/components/list_group/list_group.js +21 -35
  132. package/lib/components/list_group/list_group.styles.js +2 -16
  133. package/lib/components/list_group/list_group_item.js +75 -87
  134. package/lib/components/list_group/list_group_item.styles.js +17 -61
  135. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  136. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  137. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  138. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  139. package/lib/components/list_item_layout/index.js +12 -0
  140. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  141. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  142. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  143. package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
  144. package/lib/components/portal/portal.js +73 -118
  145. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  146. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
  147. package/lib/components/selectable/selectable.js +1 -0
  148. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  149. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  150. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  151. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  152. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  153. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  154. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  155. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  156. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  157. package/lib/components/table/table_header_cell.js +1 -2
  158. package/lib/components/tool_tip/icon_tip.js +4 -8
  159. package/lib/components/tool_tip/tool_tip.js +240 -266
  160. package/lib/components/tool_tip/tool_tip.styles.js +8 -16
  161. package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  162. package/lib/components/tool_tip/tool_tip_manager.js +1 -0
  163. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  164. package/lib/global_styling/mixins/_helpers.js +33 -12
  165. package/lib/test/rtl/component_helpers.d.ts +0 -3
  166. package/lib/test/rtl/component_helpers.js +41 -63
  167. package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
  168. package/optimize/es/components/basic_table/default_item_action.js +0 -1
  169. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  170. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  171. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  172. package/optimize/es/components/combo_box/combo_box.js +60 -52
  173. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  174. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  175. package/optimize/es/components/context_menu/context_menu.js +18 -13
  176. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  177. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  178. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  179. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  180. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  181. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  182. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  183. package/optimize/es/components/context_menu/index.js +2 -1
  184. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  185. package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
  186. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  187. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  188. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  189. package/optimize/es/components/filter_group/filter_select_item.js +36 -17
  190. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  191. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  192. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  193. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  194. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  195. package/optimize/es/components/form/checkbox/index.js +1 -0
  196. package/optimize/es/components/form/form.styles.js +2 -1
  197. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  198. package/optimize/es/components/form/super_select/super_select.js +118 -90
  199. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  200. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  201. package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  202. package/optimize/es/components/link/external_link_icon.js +4 -2
  203. package/optimize/es/components/list_group/list_group.js +7 -14
  204. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  205. package/optimize/es/components/list_group/list_group_item.js +62 -80
  206. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  207. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  208. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  209. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  210. package/optimize/es/components/list_item_layout/index.js +9 -0
  211. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  212. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  213. package/optimize/es/components/portal/portal.js +65 -91
  214. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  215. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
  216. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  217. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  218. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  219. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  220. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  221. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  222. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  223. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  224. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  225. package/optimize/es/components/tool_tip/icon_tip.js +3 -5
  226. package/optimize/es/components/tool_tip/tool_tip.js +227 -250
  227. package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
  228. package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
  229. package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
  230. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  231. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  232. package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
  233. package/optimize/es/test/rtl/component_helpers.js +40 -62
  234. package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
  235. package/optimize/lib/components/basic_table/default_item_action.js +0 -1
  236. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  237. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  238. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  239. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  240. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  241. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  242. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  243. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  244. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  245. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  246. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  247. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  248. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  249. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  250. package/optimize/lib/components/context_menu/index.js +8 -1
  251. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  252. package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
  253. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  254. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  255. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  256. package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
  257. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  258. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  259. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  260. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  261. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  262. package/optimize/lib/components/form/checkbox/index.js +7 -0
  263. package/optimize/lib/components/form/form.styles.js +2 -1
  264. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  265. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  266. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  267. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  268. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  269. package/optimize/lib/components/link/external_link_icon.js +4 -2
  270. package/optimize/lib/components/list_group/list_group.js +8 -15
  271. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  272. package/optimize/lib/components/list_group/list_group_item.js +62 -80
  273. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  274. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  275. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  276. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  277. package/optimize/lib/components/list_item_layout/index.js +12 -0
  278. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  279. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  280. package/optimize/lib/components/portal/portal.js +68 -93
  281. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  282. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
  283. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  284. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  285. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  286. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  287. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  288. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  289. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  290. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  291. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  292. package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
  293. package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
  294. package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
  295. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  296. package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
  297. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  298. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  299. package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
  300. package/optimize/lib/test/rtl/component_helpers.js +41 -63
  301. package/package.json +5 -13
  302. package/test-env/components/basic_table/basic_table.js +3 -6
  303. package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
  304. package/test-env/components/basic_table/default_item_action.js +0 -1
  305. package/test-env/components/basic_table/in_memory_table.js +3 -6
  306. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  307. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  308. package/test-env/components/color_picker/color_picker_swatch.js +1 -2
  309. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  310. package/test-env/components/combo_box/combo_box.js +61 -53
  311. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  312. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  313. package/test-env/components/context_menu/context_menu.js +20 -22
  314. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  315. package/test-env/components/context_menu/context_menu_item.js +67 -59
  316. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  317. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  318. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  319. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  320. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  321. package/test-env/components/context_menu/index.js +8 -1
  322. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  323. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  324. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  325. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  326. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  327. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  328. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  329. package/test-env/components/datagrid/controls/display_selector.js +1 -2
  330. package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
  331. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  332. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  333. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  334. package/test-env/components/filter_group/filter_select_item.js +35 -16
  335. package/test-env/components/flyout/flyout_menu.js +1 -4
  336. package/test-env/components/form/checkbox/checkbox.js +6 -6
  337. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  338. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  339. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  340. package/test-env/components/form/checkbox/index.js +7 -0
  341. package/test-env/components/form/form.styles.js +2 -1
  342. package/test-env/components/form/radio/radio.styles.js +1 -1
  343. package/test-env/components/form/super_select/super_select.js +116 -97
  344. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  345. package/test-env/components/form/super_select/super_select_item.js +13 -18
  346. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
  347. package/test-env/components/link/external_link_icon.js +4 -2
  348. package/test-env/components/list_group/list_group.js +21 -35
  349. package/test-env/components/list_group/list_group.styles.js +2 -16
  350. package/test-env/components/list_group/list_group_item.js +75 -87
  351. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  352. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  353. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  354. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  355. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  356. package/test-env/components/list_item_layout/index.js +12 -0
  357. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  358. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  359. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  360. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  361. package/test-env/components/portal/portal.js +70 -113
  362. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  363. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
  364. package/test-env/components/selectable/selectable.js +1 -0
  365. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  366. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  367. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  368. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  369. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  370. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  371. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  372. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  373. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  374. package/test-env/components/table/table_header_cell.js +1 -2
  375. package/test-env/components/tool_tip/icon_tip.js +4 -8
  376. package/test-env/components/tool_tip/tool_tip.js +230 -256
  377. package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
  378. package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
  379. package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
  380. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  381. package/test-env/global_styling/mixins/_helpers.js +33 -12
  382. package/test-env/test/rtl/component_helpers.js +41 -63
  383. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  384. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  385. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  386. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  387. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["isSeparator", "key"],
2
2
  _excluded2 = ["panel", "name", "key", "icon", "onClick"],
3
- _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex", "size"],
4
- _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "size"];
3
+ _excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex"],
4
+ _excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "height"];
5
5
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
6
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
7
7
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
@@ -36,7 +36,6 @@ import { EuiContextMenuPanel } from './context_menu_panel';
36
36
  import { EuiContextMenuItem } from './context_menu_item';
37
37
  import { euiContextMenuStyles } from './context_menu.styles';
38
38
  import { jsx as ___EmotionJSX } from "@emotion/react";
39
- export var SIZES = ['s', 'm'];
40
39
  var isItemSeparator = function isItemSeparator(item) {
41
40
  return item.isSeparator === true;
42
41
  };
@@ -149,10 +148,11 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
149
148
  _defineProperty(_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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
216
217
  _rest = _objectWithoutProperties(item, _excluded);
217
218
  return ___EmotionJSX(EuiHorizontalRule, _extends({
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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
225
227
  icon = item.icon,
226
228
  onClick = item.onClick,
227
229
  rest = _objectWithoutProperties(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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
260
266
  content = panel.content,
261
267
  _width = panel.width,
262
268
  initialFocusedItemIndex = panel.initialFocusedItemIndex,
263
- _size = panel.size,
264
269
  rest = _objectWithoutProperties(panel, _excluded3);
265
270
 
266
271
  // As above, we need to wait for EuiOutsideClickDetector to complete its logic before
@@ -277,7 +282,7 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
277
282
  };
278
283
  return ___EmotionJSX(EuiContextMenuPanel, _extends({
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 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
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 = _objectWithoutProperties(_this$props2, _excluded4);
306
311
  var incomingPanel = this.renderPanel(this.state.incomingPanelId, 'in');
307
312
  var outgoingPanel;
@@ -311,11 +316,12 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
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 = classNames('euiContextMenu', className);
313
318
  var styles = stylesMemoizer(euiContextMenuStyles);
319
+ var cssStyles = [styles.euiContextMenu, height && styles.fixedHeight];
314
320
  return ___EmotionJSX("div", _extends({
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,8 +345,7 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
339
345
  }]);
340
346
  }(Component);
341
347
  _defineProperty(EuiContextMenuClass, "defaultProps", {
342
- panels: [],
343
- size: 'm'
348
+ panels: []
344
349
  });
345
350
  EuiContextMenuClass.propTypes = {
346
351
  className: PropTypes.string,
@@ -373,10 +378,6 @@ EuiContextMenuClass.propTypes = {
373
378
  content: PropTypes.node,
374
379
  width: PropTypes.any,
375
380
  initialFocusedItemIndex: PropTypes.number,
376
- /**
377
- * Alters the size of the items and the title
378
- */
379
- size: PropTypes.any,
380
381
  className: PropTypes.string,
381
382
  "aria-label": PropTypes.string,
382
383
  "data-test-subj": PropTypes.string,
@@ -388,9 +389,6 @@ EuiContextMenuClass.propTypes = {
388
389
  */
389
390
  onPanelChange: PropTypes.func,
390
391
  initialPanelId: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired]),
391
- /**
392
- * Alters the size of the items and the title
393
- */
394
- size: PropTypes.any
392
+ height: PropTypes.any
395
393
  };
396
394
  export var EuiContextMenu = withEuiStylesMemoizer(EuiContextMenuClass);
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
- import { logicalCSS, mathWithUnits, euiCanAnimate } from '../../global_styling';
10
+ import { logicalCSS, mathWithUnits, euiCanAnimate, euiYScrollWithShadows } from '../../global_styling';
11
11
  export var euiContextMenuVariables = function euiContextMenuVariables(_ref) {
12
12
  var euiTheme = _ref.euiTheme;
13
13
  return {
@@ -21,6 +21,9 @@ export var euiContextMenuStyles = function euiContextMenuStyles(euiThemeContext)
21
21
  var _euiContextMenuVariab = euiContextMenuVariables(euiThemeContext),
22
22
  panelWidth = _euiContextMenuVariab.panelWidth;
23
23
  return {
24
- euiContextMenu: /*#__PURE__*/css(logicalCSS('width', panelWidth), " ", logicalCSS('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;")
24
+ euiContextMenu: /*#__PURE__*/css(logicalCSS('width', panelWidth), " ", logicalCSS('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;"),
25
+ fixedHeight: /*#__PURE__*/css(".euiContextMenuPanel{display:flex;flex-direction:column;", logicalCSS('height', '100%'), ";}.euiContextMenuPanel__list{display:block;flex:1 1 0;", euiYScrollWithShadows(euiThemeContext, {
26
+ hasAnimatedOverflowShadow: true
27
+ }), ";};label:fixedHeight;")
25
28
  };
26
29
  };
@@ -1,5 +1,11 @@
1
- var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "size", "color"];
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "color", "external"];
2
3
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
+ 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; }
5
+ 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) { _defineProperty(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; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
9
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
10
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
5
11
  /*
@@ -17,10 +23,9 @@ import { useEuiMemoizedStyles, getSecureRelForTarget, cloneElementWithCss } from
17
23
  import { validateHref } from '../../services/security/href_validator';
18
24
  import { keysOf } from '../common';
19
25
  import { EuiIcon } from '../icon';
20
- import { EuiToolTip } from '../tool_tip';
21
26
  import { euiContextMenuItemStyles } from './context_menu_item.styles';
27
+ import { EuiListItemLayout } from '../list_item_layout';
22
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
23
- export var SIZES = ['s', 'm'];
24
29
  var layoutAlignToClassNames = {
25
30
  center: null,
26
31
  top: 'euiContextMenu__itemLayout--top',
@@ -41,15 +46,17 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
41
46
  href = _ref.href,
42
47
  target = _ref.target,
43
48
  rel = _ref.rel,
44
- _ref$size = _ref.size,
45
- size = _ref$size === void 0 ? 'm' : _ref$size,
46
- color = _ref.color,
49
+ _ref$color = _ref.color,
50
+ color = _ref$color === void 0 ? 'text' : _ref$color,
51
+ external = _ref.external,
47
52
  rest = _objectWithoutProperties(_ref, _excluded);
48
53
  var isHrefValid = !href || validateHref(href);
49
54
  var disabled = _disabled || !isHrefValid;
50
55
  var classes = classNames('euiContextMenuItem', className);
56
+ var anchorClasses = classNames('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
51
57
  var styles = useEuiMemoizedStyles(euiContextMenuItemStyles);
52
- var cssStyles = [styles.euiContextMenuItem, styles.sizes[size], styles.layoutAlign[layoutAlign], disabled && styles.disabled, !disabled && color && styles.colors[color]];
58
+ var cssStyles = [styles.euiContextMenuItem, styles.layoutAlign[layoutAlign], !disabled && color !== 'text' && styles.colors[color]];
59
+ var textStyles = [styles.text.euiContextMenuItem__text];
53
60
  var iconInstance = icon && (typeof icon === 'string' ? ___EmotionJSX(EuiIcon, {
54
61
  type: icon,
55
62
  size: "m",
@@ -67,54 +74,52 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
67
74
  className: "euiContextMenu__arrow",
68
75
  css: styles.euiContextMenuItem__arrow
69
76
  });
70
- var textStyles = [styles.text.euiContextMenuItem__text, size === 's' && styles.text.s];
71
- var buttonContent = ___EmotionJSX(React.Fragment, null, iconInstance, ___EmotionJSX("span", {
72
- className: "euiContextMenuItem__text",
73
- css: textStyles
74
- }, children), arrow);
75
- var button;
76
- // <a> elements don't respect the `disabled` attribute. So if we're disabled, we'll just pretend
77
- // this is a button and piggyback off its disabled styles.
78
- if (href && !disabled) {
79
- var secureRel = getSecureRelForTarget({
80
- href: href,
81
- target: target,
82
- rel: rel
83
- });
84
- button = ___EmotionJSX("a", _extends({
85
- css: cssStyles,
86
- className: classes,
87
- href: href,
88
- target: target,
89
- rel: secureRel,
90
- ref: buttonRef
91
- }, rest), buttonContent);
92
- } else if (href || rest.onClick || toolTipContent) {
93
- button = ___EmotionJSX("button", _extends({
94
- disabled: disabled,
95
- css: cssStyles,
96
- className: classes,
97
- type: "button",
98
- ref: buttonRef
99
- }, rest), buttonContent);
100
- } else {
101
- button = ___EmotionJSX("div", _extends({
102
- css: cssStyles,
103
- className: classes,
104
- ref: buttonRef
105
- }, rest), buttonContent);
106
- }
107
- if (toolTipContent) {
108
- var anchorClasses = classNames('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
109
- return ___EmotionJSX(EuiToolTip, _extends({
110
- position: "right"
111
- }, toolTipProps, {
77
+ var isLink = href && !disabled;
78
+ var isButton = !isLink && (href || rest.onClick || toolTipContent);
79
+ var commonProps = {
80
+ css: cssStyles,
81
+ className: classes
82
+ };
83
+ var buttonProps = isButton ? _objectSpread({
84
+ element: 'button',
85
+ type: 'button',
86
+ ref: buttonRef
87
+ }, rest) : {};
88
+ var secureRel = isLink ? getSecureRelForTarget({
89
+ href: href,
90
+ target: target,
91
+ rel: rel
92
+ }) : undefined;
93
+ var linkProps = isLink ? _objectSpread({
94
+ element: 'a',
95
+ href: href,
96
+ target: target,
97
+ rel: secureRel,
98
+ ref: buttonRef,
99
+ external: external
100
+ }, rest) : {};
101
+ var divProps = !isButton && !isLink ? _objectSpread({
102
+ element: 'div',
103
+ ref: buttonRef
104
+ }, rest) : {};
105
+ var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, commonProps), divProps), buttonProps), linkProps);
106
+ return ___EmotionJSX(EuiListItemLayout, _extends({}, props, {
107
+ role: props.role,
108
+ showIndicator: false,
109
+ prepend: iconInstance,
110
+ append: arrow,
111
+ textWrap: "wrap",
112
+ isDisabled: disabled,
113
+ textProps: {
114
+ className: 'euiContextMenuItem__text',
115
+ css: textStyles
116
+ },
117
+ tooltipProps: toolTipContent ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
118
+ position: 'right',
112
119
  anchorClassName: anchorClasses,
113
120
  content: toolTipContent
114
- }), button);
115
- } else {
116
- return button;
117
- }
121
+ }) : undefined
122
+ }), children);
118
123
  };
119
124
  EuiContextMenuItem.propTypes = {
120
125
  className: PropTypes.string,
@@ -126,6 +131,7 @@ EuiContextMenuItem.propTypes = {
126
131
  disabled: PropTypes.bool,
127
132
  onClick: PropTypes.func,
128
133
  buttonRef: PropTypes.any,
134
+ role: PropTypes.any,
129
135
  /**
130
136
  * Required if using a tooltip. Add an optional tooltip on hover
131
137
  */
@@ -139,16 +145,21 @@ EuiContextMenuItem.propTypes = {
139
145
  target: PropTypes.string,
140
146
  rel: PropTypes.string,
141
147
  /**
148
+ * @deprecated - will be removed in the future and handled statically as `center`
142
149
  * How to align icon with content of button
143
150
  */
144
151
  layoutAlign: PropTypes.oneOf(["center", "top", "bottom"]),
145
152
  /**
146
- * Reduce the size to `s` when in need of a more compressed menu
153
+ * Applies a color to the text and icon of the item.
154
+ *
155
+ * Deprecated: This won't match all `EuiButtonEmpty` colors in the near future.
156
+ * Use supported variants "text" and "danger".
157
+ *
147
158
  */
148
- size: PropTypes.any,
159
+ color: PropTypes.any,
149
160
  /**
150
- * Applies a color to the text and icon of the item.
151
- * Accepts the same color values as `EuiButtonEmpty`.
161
+ * Set to true to show an icon indicating that it is an external link;
162
+ * Defaults to true if `target="_blank"`
152
163
  */
153
- color: PropTypes.any
164
+ external: PropTypes.bool
154
165
  };
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { logicalCSS, logicalTextAlignCSS, euiFontSize, EXTENDED_BUTTON_COLORS, euiButtonEmptyColor } from '../../global_styling';
11
+ import { logicalCSS, euiButtonEmptyColor, EXTENDED_BUTTON_COLORS } from '../../global_styling';
12
12
  var _ref = process.env.NODE_ENV === "production" ? {
13
13
  name: "4ak4s8-euiContextMenuItem__arrow",
14
14
  styles: "align-self:flex-end;label:euiContextMenuItem__arrow;"
@@ -34,48 +34,34 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
34
34
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
35
  };
36
36
  var _ref4 = process.env.NODE_ENV === "production" ? {
37
- name: "1msaet2-bottom",
38
- styles: "align-items:flex-end;label:bottom;"
37
+ name: "flyqrm-center",
38
+ styles: ".euiListItemLayout__prepend{align-self:center;};label:center;"
39
39
  } : {
40
- name: "1msaet2-bottom",
41
- styles: "align-items:flex-end;label:bottom;",
40
+ name: "flyqrm-center",
41
+ styles: ".euiListItemLayout__prepend{align-self:center;};label:center;",
42
42
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
43
43
  };
44
44
  var _ref5 = process.env.NODE_ENV === "production" ? {
45
- name: "1gnwbvd-top",
46
- styles: "align-items:flex-start;label:top;"
45
+ name: "1qfbla9-euiContextMenuItem",
46
+ styles: "display:flex;label:euiContextMenuItem;"
47
47
  } : {
48
- name: "1gnwbvd-top",
49
- styles: "align-items:flex-start;label:top;",
50
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
51
- };
52
- var _ref6 = process.env.NODE_ENV === "production" ? {
53
- name: "8391db-center",
54
- styles: "align-items:center;label:center;"
55
- } : {
56
- name: "8391db-center",
57
- styles: "align-items:center;label:center;",
48
+ name: "1qfbla9-euiContextMenuItem",
49
+ styles: "display:flex;label:euiContextMenuItem;",
58
50
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
59
51
  };
60
52
  export var euiContextMenuItemStyles = function euiContextMenuItemStyles(euiThemeContext) {
61
53
  var euiTheme = euiThemeContext.euiTheme;
62
54
  return {
63
- euiContextMenuItem: /*#__PURE__*/css("display:flex;gap:", euiTheme.size.s, ";", logicalCSS('width', '100%'), " ", 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;"),
64
- disabled: /*#__PURE__*/css("color:", euiTheme.colors.textDisabled, ";cursor:default;;label:disabled;"),
55
+ euiContextMenuItem: _ref5,
65
56
  layoutAlign: {
66
- center: _ref6,
67
- top: _ref5,
68
- bottom: _ref4
69
- },
70
- sizes: {
71
- m: /*#__PURE__*/css("padding:", euiTheme.size.m, ";;label:m;"),
72
- s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;")
57
+ center: _ref4,
58
+ top: /*#__PURE__*/css(".euiListItemLayout__prepend{align-self:flex-start;", logicalCSS('margin-top', euiTheme.size.s), ";};label:top;"),
59
+ bottom: /*#__PURE__*/css(".euiListItemLayout__prepend{align-self:flex-end;", logicalCSS('margin-bottom', euiTheme.size.s), ";};label:bottom;")
73
60
  },
74
61
  // Children
75
62
  euiContextMenu__icon: _ref3,
76
63
  text: {
77
- euiContextMenuItem__text: _ref2,
78
- s: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";;label:s;")
64
+ euiContextMenuItem__text: _ref2
79
65
  },
80
66
  euiContextMenuItem__arrow: _ref,
81
67
  // Colors - maps button color names to text color overrides
@@ -1,4 +1,4 @@
1
- var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel", "size"];
1
+ var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel"];
2
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
3
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
4
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
@@ -28,12 +28,12 @@ import React, { cloneElement, Component } from 'react';
28
28
  import PropTypes from "prop-types";
29
29
  import classNames from 'classnames';
30
30
  import { tabbable } from 'tabbable';
31
- import { withEuiStylesMemoizer, keys } from '../../services';
31
+ import { withEuiStylesMemoizer, keys, htmlIdGenerator } from '../../services';
32
32
  import { EuiResizeObserver } from '../observer/resize_observer';
33
33
  import { EuiContextMenuItem } from './context_menu_item';
34
34
  import { euiContextMenuPanelStyles } from './context_menu_panel.styles';
35
+ import { EuiContextMenuPanelTitle } from './context_menu_panel_title';
35
36
  import { jsx as ___EmotionJSX } from "@emotion/react";
36
- export var SIZES = ['s', 'm'];
37
37
  export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
38
38
  function EuiContextMenuPanelClass(props) {
39
39
  var _this;
@@ -79,6 +79,20 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
79
79
  });
80
80
  (_this$state$menuItems = _this.state.menuItems[nextFocusedItemIndex]) === null || _this$state$menuItems === void 0 || _this$state$menuItems.focus();
81
81
  });
82
+ /* Ensures that on initial focus of a menuitem the index is updated.
83
+ Otherwise `focusMenuItem()`is not initialized when pressing a key as `onKeyDown`
84
+ only fires on key press after the focus moved into the component */
85
+ _defineProperty(_this, "setInitialFocusedItemIndex", function (event) {
86
+ var _this$props$items2;
87
+ 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;
88
+ var target = event.target;
89
+ var currentIndex = _this.state.menuItems.indexOf(target);
90
+ if (currentIndex >= 0) {
91
+ _this.setState({
92
+ focusedItemIndex: currentIndex
93
+ });
94
+ }
95
+ });
82
96
  _defineProperty(_this, "onKeyDown", function (event) {
83
97
  // If this panel contains items you can use the left arrow key to go back at any time.
84
98
  // But if it doesn't contain items, then you have to focus on the back button specifically,
@@ -159,6 +173,7 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
159
173
  _this.getInitialPopoverParent();
160
174
  _this.findMenuItems();
161
175
  });
176
+ _defineProperty(_this, "rootId", htmlIdGenerator());
162
177
  _this.state = {
163
178
  prevProps: {
164
179
  items: _this.props.items
@@ -341,26 +356,26 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
341
356
  initialFocusedItemIndex = _this$props2.initialFocusedItemIndex,
342
357
  showNextPanel = _this$props2.showNextPanel,
343
358
  showPreviousPanel = _this$props2.showPreviousPanel,
344
- size = _this$props2.size,
345
359
  rest = _objectWithoutProperties(_this$props2, _excluded);
360
+ var titleId = this.rootId('euiContextMenuPanelTitle');
346
361
  var classes = classNames('euiContextMenuPanel', className);
347
362
  var styles = stylesMemoizer(euiContextMenuPanelStyles);
348
363
  var cssStyles = [styles.euiContextMenuPanel, transitionDirection && transitionType && styles[transitionDirection][transitionType]];
349
- var panelTitle = title && ___EmotionJSX(EuiContextMenuItem, {
350
- css: styles.euiContextMenuPanel__title,
364
+ var panelTitle = title && ___EmotionJSX(EuiContextMenuPanelTitle, {
365
+ title: title,
366
+ id: titleId,
351
367
  className: "euiContextMenuPanel__title",
352
- onClick: onClose,
368
+ onClose: onClose,
353
369
  buttonRef: function buttonRef(node) {
354
- if (onClose) _this3.backButton = node;
355
- },
356
- "data-test-subj": onClose ? 'contextMenuPanelTitleButton' : 'contextMenuPanelTitle',
357
- icon: onClose && 'chevronSingleLeft'
358
- }, title);
359
- var content = items && items.length ? items.map(function (MenuItem) {
360
- var cloneProps = {};
361
- if (size) {
362
- cloneProps.size = size;
370
+ _this3.backButton = node;
363
371
  }
372
+ });
373
+ var isMenu = !!(items && items.length);
374
+ var content = items && items.length ? items.map(function (MenuItem) {
375
+ var _MenuItem$props$role, _MenuItem$props;
376
+ var cloneProps = {
377
+ 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'
378
+ };
364
379
  return MenuItem.type === EuiContextMenuItem ? /*#__PURE__*/cloneElement(MenuItem, cloneProps) : MenuItem;
365
380
  }) : children;
366
381
  return ___EmotionJSX("div", _extends({
@@ -376,7 +391,11 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
376
391
  }
377
392
  }, function (resizeRef) {
378
393
  return ___EmotionJSX("div", {
379
- ref: resizeRef
394
+ ref: resizeRef,
395
+ role: isMenu ? 'menu' : undefined,
396
+ className: "euiContextMenuPanel__list",
397
+ "aria-labelledby": title ? titleId : undefined,
398
+ onFocus: _this3.setInitialFocusedItemIndex
380
399
  }, content);
381
400
  }));
382
401
  }
@@ -426,9 +445,6 @@ EuiContextMenuPanelClass.propTypes = {
426
445
  title: PropTypes.node,
427
446
  transitionDirection: PropTypes.oneOf(["next", "previous"]),
428
447
  transitionType: PropTypes.oneOf(["in", "out"]),
429
- /**
430
- * Alters the size of the items and the title
431
- */
432
- size: PropTypes.any
448
+ height: PropTypes.any
433
449
  };
434
450
  export var EuiContextMenuPanel = withEuiStylesMemoizer(EuiContextMenuPanelClass);
@@ -11,11 +11,15 @@ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.fre
11
11
  import { css, keyframes } from '@emotion/react';
12
12
  import { logicalCSS, euiCantAnimate } from '../../global_styling';
13
13
  import { euiTitle } from '../title/title.styles';
14
+ import { euiListItemVariables } from '../list_item_layout/_list_item_layout.styles';
14
15
  import { euiContextMenuVariables } from './context_menu.styles';
15
16
  export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThemeContext) {
16
17
  var euiTheme = euiThemeContext.euiTheme;
17
18
  var _euiContextMenuVariab = euiContextMenuVariables(euiThemeContext),
18
19
  panelWidth = _euiContextMenuVariab.panelWidth;
20
+ var _euiListItemVariables = euiListItemVariables(euiThemeContext),
21
+ spacing = _euiListItemVariables.spacing,
22
+ textPadding = _euiListItemVariables.textPadding;
19
23
  var animations = {
20
24
  transitioning: /*#__PURE__*/css("pointer-events:none;animation-fill-mode:forwards;animation-duration:", euiTheme.animation.normal, ";animation-timing-function:", euiTheme.animation.resistance, ";", euiCantAnimate, "{animation-duration:0s;};label:transitioning;"),
21
25
  inLeft: keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% { transform: translateX(", "); }\n 100% { transform: translateX(0); }\n "])), panelWidth),
@@ -24,7 +28,7 @@ export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThe
24
28
  outRight: keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n 0% { transform: translateX(0); }\n 100% { transform: translateX(", "); }\n "])), panelWidth)
25
29
  };
26
30
  return {
27
- euiContextMenuPanel: /*#__PURE__*/css(logicalCSS('width', '100%'), " visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
31
+ euiContextMenuPanel: /*#__PURE__*/css(logicalCSS('width', '100%'), " padding:", euiTheme.size.s, ";visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
28
32
  // Panel animations
29
33
  next: {
30
34
  in: /*#__PURE__*/css(animations.transitioning, " animation-name:", animations.inLeft, ";;label:in;"),
@@ -35,6 +39,7 @@ export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThe
35
39
  out: /*#__PURE__*/css(animations.transitioning, " animation-name:", animations.outRight, ";;label:out;")
36
40
  },
37
41
  // Children
38
- euiContextMenuPanel__title: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxs'), " ", logicalCSS('border-bottom', euiTheme.border.thin), " &:enabled:focus{background-color:unset;};label:euiContextMenuPanel__title;")
42
+ euiContextMenuPanel__title: /*#__PURE__*/css("display:flex;align-items:center;gap:", spacing.horizontal, ";", euiTitle(euiThemeContext, 'xxs'), " ", logicalCSS('padding-horizontal', spacing.horizontal), ";;label:euiContextMenuPanel__title;"),
43
+ euiContextMenuPanel__label: /*#__PURE__*/css("flex-grow:1;overflow:hidden;", logicalCSS('padding-horizontal', textPadding.horizontal), " ", logicalCSS('padding-vertical', textPadding.vertical), ";;label:euiContextMenuPanel__label;")
39
44
  };
40
45
  };