@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
@@ -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 _classnames = _interopRequireDefault(require("classnames"));
@@ -13,10 +14,10 @@ var _services = require("../../services");
13
14
  var _href_validator = require("../../services/security/href_validator");
14
15
  var _common = require("../common");
15
16
  var _icon = require("../icon");
16
- var _tool_tip = require("../tool_tip");
17
17
  var _context_menu_item = require("./context_menu_item.styles");
18
+ var _list_item_layout = require("../list_item_layout");
18
19
  var _react2 = require("@emotion/react");
19
- var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "size", "color"];
20
+ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "color", "external"];
20
21
  /*
21
22
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
23
  * or more contributor license agreements. Licensed under the Elastic License
@@ -24,7 +25,8 @@ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disa
24
25
  * in compliance with, at your election, the Elastic License 2.0 or the Server
25
26
  * Side Public License, v 1.
26
27
  */
27
- var SIZES = exports.SIZES = ['s', 'm'];
28
+ 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; }
29
+ 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; }
28
30
  var layoutAlignToClassNames = {
29
31
  center: null,
30
32
  top: 'euiContextMenu__itemLayout--top',
@@ -45,15 +47,17 @@ var EuiContextMenuItem = exports.EuiContextMenuItem = function EuiContextMenuIte
45
47
  href = _ref.href,
46
48
  target = _ref.target,
47
49
  rel = _ref.rel,
48
- _ref$size = _ref.size,
49
- size = _ref$size === void 0 ? 'm' : _ref$size,
50
- color = _ref.color,
50
+ _ref$color = _ref.color,
51
+ color = _ref$color === void 0 ? 'text' : _ref$color,
52
+ external = _ref.external,
51
53
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
52
54
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
53
55
  var disabled = _disabled || !isHrefValid;
54
56
  var classes = (0, _classnames.default)('euiContextMenuItem', className);
57
+ var anchorClasses = (0, _classnames.default)('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
55
58
  var styles = (0, _services.useEuiMemoizedStyles)(_context_menu_item.euiContextMenuItemStyles);
56
- var cssStyles = [styles.euiContextMenuItem, styles.sizes[size], styles.layoutAlign[layoutAlign], disabled && styles.disabled, !disabled && color && styles.colors[color]];
59
+ var cssStyles = [styles.euiContextMenuItem, styles.layoutAlign[layoutAlign], !disabled && color !== 'text' && styles.colors[color]];
60
+ var textStyles = [styles.text.euiContextMenuItem__text];
57
61
  var iconInstance = icon && (typeof icon === 'string' ? (0, _react2.jsx)(_icon.EuiIcon, {
58
62
  type: icon,
59
63
  size: "m",
@@ -71,52 +75,50 @@ var EuiContextMenuItem = exports.EuiContextMenuItem = function EuiContextMenuIte
71
75
  className: "euiContextMenu__arrow",
72
76
  css: styles.euiContextMenuItem__arrow
73
77
  });
74
- var textStyles = [styles.text.euiContextMenuItem__text, size === 's' && styles.text.s];
75
- var buttonContent = (0, _react2.jsx)(_react.default.Fragment, null, iconInstance, (0, _react2.jsx)("span", {
76
- className: "euiContextMenuItem__text",
77
- css: textStyles
78
- }, children), arrow);
79
- var button;
80
- // <a> elements don't respect the `disabled` attribute. So if we're disabled, we'll just pretend
81
- // this is a button and piggyback off its disabled styles.
82
- if (href && !disabled) {
83
- var secureRel = (0, _services.getSecureRelForTarget)({
84
- href: href,
85
- target: target,
86
- rel: rel
87
- });
88
- button = (0, _react2.jsx)("a", (0, _extends2.default)({
89
- css: cssStyles,
90
- className: classes,
91
- href: href,
92
- target: target,
93
- rel: secureRel,
94
- ref: buttonRef
95
- }, rest), buttonContent);
96
- } else if (href || rest.onClick || toolTipContent) {
97
- button = (0, _react2.jsx)("button", (0, _extends2.default)({
98
- disabled: disabled,
99
- css: cssStyles,
100
- className: classes,
101
- type: "button",
102
- ref: buttonRef
103
- }, rest), buttonContent);
104
- } else {
105
- button = (0, _react2.jsx)("div", (0, _extends2.default)({
106
- css: cssStyles,
107
- className: classes,
108
- ref: buttonRef
109
- }, rest), buttonContent);
110
- }
111
- if (toolTipContent) {
112
- var anchorClasses = (0, _classnames.default)('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
113
- return (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
114
- position: "right"
115
- }, toolTipProps, {
78
+ var isLink = href && !disabled;
79
+ var isButton = !isLink && (href || rest.onClick || toolTipContent);
80
+ var commonProps = {
81
+ css: cssStyles,
82
+ className: classes
83
+ };
84
+ var buttonProps = isButton ? _objectSpread({
85
+ element: 'button',
86
+ type: 'button',
87
+ ref: buttonRef
88
+ }, rest) : {};
89
+ var secureRel = isLink ? (0, _services.getSecureRelForTarget)({
90
+ href: href,
91
+ target: target,
92
+ rel: rel
93
+ }) : undefined;
94
+ var linkProps = isLink ? _objectSpread({
95
+ element: 'a',
96
+ href: href,
97
+ target: target,
98
+ rel: secureRel,
99
+ ref: buttonRef,
100
+ external: external
101
+ }, rest) : {};
102
+ var divProps = !isButton && !isLink ? _objectSpread({
103
+ element: 'div',
104
+ ref: buttonRef
105
+ }, rest) : {};
106
+ var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, commonProps), divProps), buttonProps), linkProps);
107
+ return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, (0, _extends2.default)({}, props, {
108
+ role: props.role,
109
+ showIndicator: false,
110
+ prepend: iconInstance,
111
+ append: arrow,
112
+ textWrap: "wrap",
113
+ isDisabled: disabled,
114
+ textProps: {
115
+ className: 'euiContextMenuItem__text',
116
+ css: textStyles
117
+ },
118
+ tooltipProps: toolTipContent ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
119
+ position: 'right',
116
120
  anchorClassName: anchorClasses,
117
121
  content: toolTipContent
118
- }), button);
119
- } else {
120
- return button;
121
- }
122
+ }) : undefined
123
+ }), children);
122
124
  };
@@ -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"));
@@ -21,8 +21,9 @@ var _services = require("../../services");
21
21
  var _resize_observer = require("../observer/resize_observer");
22
22
  var _context_menu_item = require("./context_menu_item");
23
23
  var _context_menu_panel = require("./context_menu_panel.styles");
24
+ var _context_menu_panel_title = require("./context_menu_panel_title");
24
25
  var _react2 = require("@emotion/react");
25
- var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel", "size"];
26
+ var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel"];
26
27
  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); }
27
28
  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; }
28
29
  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)); }
@@ -33,7 +34,6 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
33
34
  * in compliance with, at your election, the Elastic License 2.0 or the Server
34
35
  * Side Public License, v 1.
35
36
  */
36
- var SIZES = exports.SIZES = ['s', 'm'];
37
37
  var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
38
38
  function EuiContextMenuPanelClass(props) {
39
39
  var _this;
@@ -79,6 +79,20 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
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
+ (0, _defineProperty2.default)(_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
  (0, _defineProperty2.default)(_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 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
159
173
  _this.getInitialPopoverParent();
160
174
  _this.findMenuItems();
161
175
  });
176
+ (0, _defineProperty2.default)(_this, "rootId", (0, _services.htmlIdGenerator)());
162
177
  _this.state = {
163
178
  prevProps: {
164
179
  items: _this.props.items
@@ -341,26 +356,26 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
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 = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
360
+ var titleId = this.rootId('euiContextMenuPanelTitle');
346
361
  var classes = (0, _classnames.default)('euiContextMenuPanel', className);
347
362
  var styles = stylesMemoizer(_context_menu_panel.euiContextMenuPanelStyles);
348
363
  var cssStyles = [styles.euiContextMenuPanel, transitionDirection && transitionType && styles[transitionDirection][transitionType]];
349
- var panelTitle = title && (0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
350
- css: styles.euiContextMenuPanel__title,
364
+ var panelTitle = title && (0, _react2.jsx)(_context_menu_panel_title.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 === _context_menu_item.EuiContextMenuItem ? /*#__PURE__*/(0, _react.cloneElement)(MenuItem, cloneProps) : MenuItem;
365
380
  }) : children;
366
381
  return (0, _react2.jsx)("div", (0, _extends2.default)({
@@ -376,7 +391,11 @@ var EuiContextMenuPanelClass = exports.EuiContextMenuPanelClass = /*#__PURE__*/f
376
391
  }
377
392
  }, function (resizeRef) {
378
393
  return (0, _react2.jsx)("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
  }
@@ -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
  };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiContextMenuPanelTitle = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _services = require("../../services");
13
+ var _button = require("../button");
14
+ var _i18n = require("../i18n");
15
+ var _context_menu_panel_title = require("./context_menu_panel_title.styles");
16
+ var _react2 = require("@emotion/react");
17
+ var _excluded = ["component", "id", "title", "buttonRef", "className", "onClose", "buttonProps"];
18
+ /*
19
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
+ * or more contributor license agreements. Licensed under the Elastic License
21
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
23
+ * Side Public License, v 1.
24
+ */
25
+ var EuiContextMenuPanelTitle = exports.EuiContextMenuPanelTitle = function EuiContextMenuPanelTitle(props) {
26
+ var _props$component = props.component,
27
+ Component = _props$component === void 0 ? 'h2' : _props$component,
28
+ id = props.id,
29
+ title = props.title,
30
+ buttonRef = props.buttonRef,
31
+ className = props.className,
32
+ onClose = props.onClose,
33
+ buttonProps = props.buttonProps,
34
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
35
+ var classes = (0, _classnames.default)('euiContextMenuPanelTitle', className);
36
+ var styles = (0, _services.useEuiMemoizedStyles)(_context_menu_panel_title.euiContextMenuPanelTitleStyles);
37
+ var closeButtonId = "".concat(id, "-closeButton");
38
+ var buttonAriaLabel = (0, _i18n.useEuiI18n)('euiContextMenuPanelTitle.ariaLabel', 'Close current panel:');
39
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
40
+ className: classes,
41
+ css: styles.euiContextMenuPanelTitle,
42
+ "data-test-subj": "contextMenuPanelTitle"
43
+ }, rest), onClose && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
44
+ buttonRef: buttonRef,
45
+ color: "text",
46
+ iconType: "chevronSingleLeft",
47
+ onClick: onClose,
48
+ "data-test-subj": "contextMenuPanelTitleButton",
49
+ id: closeButtonId,
50
+ "aria-label": buttonAriaLabel
51
+ // Uses aria-labelledby to combine aria-label with the panel title for screen readers.
52
+ ,
53
+ "aria-labelledby": "".concat(closeButtonId, " ").concat(id)
54
+ }, buttonProps))), (0, _react2.jsx)(Component, {
55
+ className: "euiContextMenuPanelTitle__text",
56
+ css: styles.text,
57
+ id: id
58
+ }, title));
59
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiContextMenuPanelTitleStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../global_styling");
9
+ var _title = require("../title/title.styles");
10
+ var _list_item_layout = require("../list_item_layout/_list_item_layout.styles");
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+
19
+ var euiContextMenuPanelTitleStyles = exports.euiContextMenuPanelTitleStyles = function euiContextMenuPanelTitleStyles(euiThemeContext) {
20
+ var _euiListItemVariables = (0, _list_item_layout.euiListItemVariables)(euiThemeContext),
21
+ textPadding = _euiListItemVariables.textPadding;
22
+ return {
23
+ euiContextMenuPanelTitle: /*#__PURE__*/(0, _react.css)("display:flex;align-items:center;", (0, _global_styling.logicalCSS)('padding-horizontal', textPadding.horizontal), " ", (0, _title.euiTitle)(euiThemeContext, 'xxs'), ";;label:euiContextMenuPanelTitle;"),
24
+ text: /*#__PURE__*/(0, _react.css)("flex-grow:1;overflow:hidden;", (0, _global_styling.logicalCSS)('padding-vertical', textPadding.vertical), " ", (0, _global_styling.logicalCSS)('padding-horizontal', textPadding.horizontal), ";;label:text;")
25
+ };
26
+ };
@@ -21,6 +21,13 @@ Object.defineProperty(exports, "EuiContextMenuPanel", {
21
21
  return _context_menu_panel.EuiContextMenuPanel;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "EuiContextMenuPanelTitle", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _context_menu_panel_title.EuiContextMenuPanelTitle;
28
+ }
29
+ });
24
30
  var _context_menu = require("./context_menu");
25
31
  var _context_menu_panel = require("./context_menu_panel");
26
- var _context_menu_item = require("./context_menu_item");
32
+ var _context_menu_item = require("./context_menu_item");
33
+ var _context_menu_panel_title = require("./context_menu_panel_title");
@@ -13,7 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _services = require("../../../../services");
15
15
  var _popover = require("../../../popover");
16
- var _data_grid = require("../../data_grid.styles");
17
16
  var _data_grid_cell_popover = require("./data_grid_cell_popover.styles");
18
17
  var _text = require("../../../text");
19
18
  var _code = require("../../../code");
@@ -131,14 +130,19 @@ var useCellPopover = exports.useCellPopover = function useCellPopover() {
131
130
  };
132
131
  }, [popoverIsOpen, closeCellPopover, openCellPopover, cellLocation]);
133
132
  var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_cell_popover.euiDataGridCellPopoverStyles);
134
- var _useEuiMemoizedStyles = (0, _services.useEuiMemoizedStyles)(_data_grid.euiDataGridVariables),
135
- levels = _useEuiMemoizedStyles.levels;
136
133
  var cellPopover = (0, _react.useMemo)(function () {
137
134
  var _cellPopoverProps$pan, _cell$offsetWidth;
138
135
  if (!popoverIsOpen || !popoverAnchor) return null;
139
136
  var cell = popoverAnchor.closest('.euiDataGridRowCell');
140
137
 
141
- // Note that this popover is rendered once at the top grid level, rather than one popover per cell
138
+ // Note that this popover is rendered once at the top grid level, rather than one popover per cell.
139
+ //
140
+ // We intentionally do NOT pass `zIndex` here. Letting `EuiPopover` derive the
141
+ // panel's z-index from the anchor's stacking context (`getElementZIndex(button) + 2000`)
142
+ // keeps cell popovers above their host flyout — including when sibling/nested
143
+ // flyouts push the host's z-index above `levels.header`. See
144
+ // https://github.com/elastic/eui/issues/8801. Consumers that need a fixed
145
+ // value can still override via `setCellPopoverProps({ zIndex })`.
142
146
  return (0, _react2.jsx)(_popover.EuiWrappingPopover, (0, _extends2.default)({
143
147
  isOpen: popoverIsOpen,
144
148
  display: "block",
@@ -147,8 +151,7 @@ var useCellPopover = exports.useCellPopover = function useCellPopover() {
147
151
  ,
148
152
  panelPaddingSize: "s",
149
153
  anchorPosition: popoverAnchorPosition,
150
- repositionToCrossAxis: false,
151
- zIndex: levels.cellPopover
154
+ repositionToCrossAxis: false
152
155
  }, cellPopoverProps, {
153
156
  focusTrapProps: {
154
157
  onClickOutside: onClickOutside,
@@ -168,7 +171,7 @@ var useCellPopover = exports.useCellPopover = function useCellPopover() {
168
171
  button: popoverAnchor,
169
172
  closePopover: closeCellPopover
170
173
  }), popoverContent);
171
- }, [styles, levels.cellPopover, popoverIsOpen, popoverAnchor, popoverContent, cellPopoverProps, closeCellPopover, onClickOutside, onKeyDown, popoverAnchorPosition]);
174
+ }, [styles, popoverIsOpen, popoverAnchor, popoverContent, cellPopoverProps, closeCellPopover, onClickOutside, onKeyDown, popoverAnchorPosition]);
172
175
  return (0, _react.useMemo)(function () {
173
176
  return {
174
177
  cellPopoverContext: cellPopoverContext,
@@ -134,7 +134,7 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
134
134
  var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_cell.euiDataGridHeaderCellStyles);
135
135
  return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
136
136
  display: "block",
137
- panelPaddingSize: "none",
137
+ panelPaddingSize: "s",
138
138
  offset: 7,
139
139
  anchorPosition: "downRight",
140
140
  css: styles.euiDataGridHeaderCell__popover,
@@ -153,7 +153,6 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
153
153
  closePopover: closePopover
154
154
  }, popoverArrowNavigationProps), (0, _react2.jsx)(_list_group.EuiListGroup, {
155
155
  listItems: columnActions,
156
- gutterSize: "none",
157
156
  "data-test-subj": "dataGridHeaderCellActionGroup-".concat(id)
158
157
  }));
159
158
  });
@@ -35,11 +35,12 @@ var euiDataGridVariables = exports.euiDataGridVariables = function euiDataGridVa
35
35
  m: (0, _global_styling.euiFontSize)(euiThemeContext, 's').fontSize
36
36
  },
37
37
  levels: {
38
- cellPopover: Number(euiTheme.levels.header),
39
- // Same z-index as EuiFlyout mask overlays - cell popovers should be under both modal and flyout overlays
40
- get stickyHeader() {
41
- return this.cellPopover - 1; // Needs to sit above the content + cell focus outlines/actions, but below actual popovers
42
- }
38
+ // Sits above content and cell focus outlines/actions, but below cell
39
+ // expansion popovers. Cell popovers no longer use a fixed z-index they
40
+ // derive theirs from their anchor's stacking context (see
41
+ // data_grid_cell_popover.tsx) so this only needs to clear the grid's
42
+ // own internal layers.
43
+ stickyHeader: Number(euiTheme.levels.header) - 1
43
44
  }
44
45
  };
45
46
  };
@@ -239,10 +239,16 @@ describe('EuiFilterGroup multiselect example', function () {
239
239
  cy.realPress('Tab');
240
240
  cy.repeatRealPress('ArrowDown', 4);
241
241
  cy.realPress('Enter');
242
- cy.get('li[aria-selected="true"]').find('span.euiSelectableListItem__text').should('have.text', 'Dmitri Shostakovich. Checked option. To exclude this option, press Enter.');
242
+ cy.get('input[role="combobox"]').then(function ($input) {
243
+ var activeOptionId = $input.attr('aria-activedescendant');
244
+ cy.get("li[id=\"".concat(activeOptionId, "\"]")).find('span.euiSelectableListItem__text').should('have.text', 'Dmitri Shostakovich. Checked option. To exclude this option, press Enter.');
245
+ });
243
246
  cy.realPress('ArrowDown');
244
247
  cy.repeatRealPress('Enter');
245
- cy.get('li[aria-selected="true"]').find('span.euiSelectableListItem__text').should('have.text', 'Felix Mendelssohn-Bartholdy. Excluded option. To uncheck this option, press Enter.');
248
+ cy.get('input[role="combobox"]').then(function ($input) {
249
+ var activeOptionId = $input.attr('aria-activedescendant');
250
+ cy.get("li[id=\"".concat(activeOptionId, "\"]")).find('span.euiSelectableListItem__text').should('have.text', 'Felix Mendelssohn-Bartholdy. Excluded option. To uncheck this option, press Enter.');
251
+ });
246
252
  cy.checkAxe();
247
253
  });
248
254
  it('has zero violations when filtering by searchbox', function () {
@@ -75,14 +75,11 @@ var HistoryPopover = function HistoryPopover(_ref) {
75
75
  },
76
76
  panelPaddingSize: "xs",
77
77
  anchorPosition: "downLeft"
78
- }, (0, _react2.jsx)(_list_group.EuiListGroup, {
79
- gutterSize: "none"
80
- }, items.map(function (item, index) {
78
+ }, (0, _react2.jsx)(_list_group.EuiListGroup, null, items.map(function (item, index) {
81
79
  return (0, _react2.jsx)(_list_group.EuiListGroupItem, {
82
80
  key: "history-item-".concat(index),
83
81
  label: item.title,
84
82
  iconType: item.iconType,
85
- size: "s",
86
83
  onClick: function onClick() {
87
84
  item.onClick();
88
85
  setIsPopoverOpen(false);
@@ -11,7 +11,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _services = require("../../../services");
14
- var _icon = require("../../icon");
14
+ var _checkbox_control = require("./checkbox_control");
15
15
  var _checkbox = require("./checkbox.styles");
16
16
  var _react2 = require("@emotion/react");
17
17
  var _excluded = ["className", "id", "checked", "label", "onChange", "type", "disabled", "readOnly", "indeterminate", "inputRef", "labelProps"];
@@ -43,10 +43,9 @@ var EuiCheckbox = exports.EuiCheckbox = function EuiCheckbox(_ref) {
43
43
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
44
44
  var classes = (0, _classnames.default)('euiCheckbox', className);
45
45
  var styles = (0, _services.useEuiMemoizedStyles)(_checkbox.euiCheckboxStyles);
46
- var inputStyles = [styles.input.euiCheckbox__square, !!label && styles.input.hasLabel, disabled ? checked || indeterminate ? styles.input.disabled.selected : styles.input.disabled.unselected : checked || indeterminate ? styles.input.enabled.selected : styles.input.enabled.unselected, readOnly && styles.input.readOnly];
46
+ var inputStyles = [styles.input.euiCheckbox__square, !!label && styles.input.hasLabel, readOnly && styles.input.readOnly];
47
47
  var labelClasses = (0, _classnames.default)('euiCheckbox__label', labelProps === null || labelProps === void 0 ? void 0 : labelProps.className);
48
48
  var labelStyles = [styles.label.euiCheckbox__label, disabled ? styles.label.disabled : styles.label.enabled, readOnly && styles.label.readOnly, labelProps === null || labelProps === void 0 ? void 0 : labelProps.css];
49
- var iconStyles = [styles.input.icon.euiCheckbox__icon, indeterminate ? styles.input.icon.indeterminate : styles.input.icon.check];
50
49
 
51
50
  // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
52
51
  var setIndeterminateState = (0, _react.useCallback)(function (input) {
@@ -59,9 +58,10 @@ var EuiCheckbox = exports.EuiCheckbox = function EuiCheckbox(_ref) {
59
58
  }, (0, _react2.jsx)("div", {
60
59
  css: inputStyles,
61
60
  className: "euiCheckbox__square"
62
- }, (0, _react2.jsx)(_icon.EuiIcon, {
63
- css: iconStyles,
64
- type: indeterminate ? 'stopFill' : checked ? 'check' : 'empty'
61
+ }, (0, _react2.jsx)(_checkbox_control.EuiCheckboxControl, {
62
+ checked: checked,
63
+ indeterminate: indeterminate,
64
+ disabled: disabled
65
65
  }), (0, _react2.jsx)("input", (0, _extends2.default)({
66
66
  css: styles.input.euiCheckbox__input,
67
67
  className: "euiCheckbox__input",