@elastic/eui 61.0.0 → 62.0.2

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 (537) hide show
  1. package/dist/eui_charts_theme.js +330 -330
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +11 -487
  4. package/dist/eui_theme_dark.json +1 -2
  5. package/dist/eui_theme_dark.json.d.ts +1 -2
  6. package/dist/eui_theme_dark.min.css +1 -1
  7. package/dist/eui_theme_light.css +11 -487
  8. package/dist/eui_theme_light.json +1 -2
  9. package/dist/eui_theme_light.json.d.ts +1 -2
  10. package/dist/eui_theme_light.min.css +1 -1
  11. package/es/components/accessibility/skip_link/skip_link.js +1 -1
  12. package/es/components/avatar/avatar.js +1 -2
  13. package/es/components/badge/badge.js +1 -1
  14. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  15. package/es/components/basic_table/basic_table.js +1 -1
  16. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  17. package/es/components/basic_table/in_memory_table.js +1 -1
  18. package/es/components/button/_button_content_deprecated.js +1 -1
  19. package/es/components/button/button.js +2 -2
  20. package/es/components/button/button_display/_button_display.js +1 -1
  21. package/es/components/button/button_display/_button_display_content.js +1 -1
  22. package/es/components/button/button_empty/button_empty.js +1 -1
  23. package/es/components/button/button_group/button_group.js +1 -1
  24. package/es/components/button/button_group/button_group_button.js +1 -1
  25. package/es/components/button/button_icon/button_icon.js +1 -1
  26. package/es/components/call_out/call_out.js +1 -1
  27. package/es/components/card/card.js +1 -1
  28. package/es/components/card/card_select.js +1 -1
  29. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  30. package/es/components/color_picker/color_picker.js +1 -1
  31. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
  32. package/es/components/comment_list/comment.js +17 -8
  33. package/es/components/comment_list/comment_event.js +24 -30
  34. package/es/components/comment_list/comment_event.styles.js +15 -16
  35. package/es/components/comment_list/comment_list.js +12 -4
  36. package/es/components/comment_list/comment_timeline.js +20 -14
  37. package/es/components/context_menu/context_menu_panel.js +1 -1
  38. package/es/components/datagrid/body/data_grid_body.js +13 -13
  39. package/es/components/datagrid/body/data_grid_cell.js +24 -24
  40. package/es/components/datagrid/body/header/data_grid_header_cell.js +164 -68
  41. package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
  42. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  43. package/es/components/datagrid/data_grid.js +13 -13
  44. package/es/components/datagrid/utils/in_memory.js +12 -12
  45. package/es/components/date_picker/date_picker.js +2 -2
  46. package/es/components/date_picker/date_picker_range.js +1 -1
  47. package/es/components/empty_prompt/empty_prompt.js +1 -1
  48. package/es/components/error_boundary/error_boundary.js +18 -11
  49. package/es/components/error_boundary/error_boundary.styles.js +18 -0
  50. package/es/components/filter_group/filter_button.js +3 -1
  51. package/es/components/focus_trap/focus_trap.js +1 -0
  52. package/es/components/form/field_number/field_number.js +1 -1
  53. package/es/components/form/field_text/field_text.js +2 -2
  54. package/es/components/form/form.styles.js +11 -0
  55. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  56. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  57. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  58. package/es/components/header/header_links/header_link.js +1 -1
  59. package/es/components/header/header_links/header_links.js +10 -8
  60. package/es/components/header/header_logo.js +1 -1
  61. package/es/components/icon/assets/tokenMetricCounter.js +38 -0
  62. package/es/components/icon/assets/tokenMetricGauge.js +38 -0
  63. package/es/components/icon/icon.js +1 -1
  64. package/es/components/icon/icon_map.js +38 -36
  65. package/es/components/image/image.js +71 -166
  66. package/es/components/image/image.styles.js +28 -0
  67. package/es/components/image/image_button.js +68 -0
  68. package/es/components/image/image_button.styles.js +41 -0
  69. package/es/components/image/image_caption.js +28 -0
  70. package/es/components/image/image_caption.styles.js +18 -0
  71. package/es/components/image/image_fullscreen_wrapper.js +100 -0
  72. package/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
  73. package/es/components/image/image_types.js +10 -0
  74. package/es/components/image/image_wrapper.js +78 -0
  75. package/es/components/image/image_wrapper.styles.js +41 -0
  76. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  77. package/es/components/list_group/list_group.js +2 -2
  78. package/es/components/list_group/list_group_item.js +2 -2
  79. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  80. package/es/components/loading/loading_logo.js +1 -1
  81. package/es/components/markdown_editor/markdown_editor.js +1 -1
  82. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  83. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  84. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  85. package/es/components/notification/notification_event.js +2 -2
  86. package/es/components/notification/notification_event_meta.js +1 -1
  87. package/es/components/page/page_header/page_header.js +1 -1
  88. package/es/components/page/page_header/page_header_content.js +1 -1
  89. package/es/components/page/page_template.js +1 -1
  90. package/es/components/pagination/pagination_button.js +1 -1
  91. package/es/components/popover/input_popover.js +8 -4
  92. package/es/components/popover/popover.js +58 -148
  93. package/es/components/popover/popover.styles.js +15 -0
  94. package/es/components/popover/popover_arrow/_popover_arrow.js +40 -0
  95. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
  96. package/es/components/popover/popover_arrow/index.js +8 -0
  97. package/es/components/popover/popover_footer.js +15 -12
  98. package/es/components/popover/popover_footer.styles.js +19 -0
  99. package/es/components/popover/popover_panel/_popover_panel.js +114 -0
  100. package/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
  101. package/es/components/popover/popover_panel/index.js +8 -0
  102. package/es/components/popover/popover_title.js +15 -12
  103. package/es/components/popover/popover_title.styles.js +20 -0
  104. package/es/components/popover/wrapping_popover.js +45 -88
  105. package/es/components/portal/portal.js +38 -79
  106. package/es/components/selectable/selectable.js +8 -9
  107. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  108. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  109. package/es/components/selectable/selectable_search/selectable_search.js +1 -6
  110. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
  111. package/es/components/suggest/suggest.js +1 -5
  112. package/es/components/suggest/suggest_item.js +1 -1
  113. package/es/components/table/table_header_button.js +1 -1
  114. package/es/components/text/text.styles.js +1 -1
  115. package/es/components/text_diff/text_diff.js +5 -0
  116. package/es/components/text_diff/text_diff.styles.js +15 -0
  117. package/es/components/timeline/timeline_item_icon.js +1 -1
  118. package/es/components/toast/global_toast_list.js +1 -1
  119. package/es/components/toast/toast.js +1 -1
  120. package/es/components/token/token.js +1 -1
  121. package/es/components/token/token_map.js +115 -107
  122. package/es/components/tool_tip/icon_tip.js +1 -1
  123. package/es/components/tour/tour.js +6 -6
  124. package/es/components/tour/tour_step.js +6 -6
  125. package/es/global_styling/functions/logicals.js +22 -0
  126. package/es/global_styling/mixins/_responsive.js +46 -0
  127. package/es/global_styling/mixins/index.js +2 -1
  128. package/es/test/rtl/component_helpers.d.ts +7 -0
  129. package/es/test/rtl/component_helpers.js +72 -0
  130. package/es/test/rtl/custom_render.d.ts +74 -0
  131. package/es/test/rtl/custom_render.js +52 -0
  132. package/es/test/rtl/data_test_subj_queries.d.ts +5 -0
  133. package/es/test/rtl/data_test_subj_queries.js +46 -0
  134. package/es/test/rtl/index.d.ts +3 -0
  135. package/es/test/rtl/index.js +10 -0
  136. package/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  137. package/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  138. package/eui.d.ts +501 -125
  139. package/i18ntokens.json +134 -38
  140. package/lib/components/accessibility/skip_link/skip_link.js +1 -1
  141. package/lib/components/avatar/avatar.js +1 -2
  142. package/lib/components/badge/badge.js +1 -1
  143. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  144. package/lib/components/basic_table/basic_table.js +1 -1
  145. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  146. package/lib/components/basic_table/in_memory_table.js +1 -1
  147. package/lib/components/button/_button_content_deprecated.js +1 -1
  148. package/lib/components/button/button.js +2 -2
  149. package/lib/components/button/button_display/_button_display.js +1 -1
  150. package/lib/components/button/button_display/_button_display_content.js +1 -1
  151. package/lib/components/button/button_empty/button_empty.js +1 -1
  152. package/lib/components/button/button_group/button_group.js +1 -1
  153. package/lib/components/button/button_group/button_group_button.js +1 -1
  154. package/lib/components/button/button_icon/button_icon.js +1 -1
  155. package/lib/components/call_out/call_out.js +1 -1
  156. package/lib/components/card/card.js +1 -1
  157. package/lib/components/card/card_select.js +1 -1
  158. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  159. package/lib/components/color_picker/color_picker.js +1 -1
  160. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
  161. package/lib/components/comment_list/comment.js +17 -8
  162. package/lib/components/comment_list/comment_event.js +31 -28
  163. package/lib/components/comment_list/comment_event.styles.js +15 -16
  164. package/lib/components/comment_list/comment_list.js +12 -4
  165. package/lib/components/comment_list/comment_timeline.js +27 -14
  166. package/lib/components/context_menu/context_menu_panel.js +1 -1
  167. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  168. package/lib/components/datagrid/body/data_grid_cell.js +24 -24
  169. package/lib/components/datagrid/body/header/data_grid_header_cell.js +166 -67
  170. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  171. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  172. package/lib/components/datagrid/data_grid.js +13 -13
  173. package/lib/components/datagrid/utils/in_memory.js +12 -12
  174. package/lib/components/date_picker/date_picker.js +2 -2
  175. package/lib/components/date_picker/date_picker_range.js +1 -1
  176. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  177. package/lib/components/error_boundary/error_boundary.js +23 -13
  178. package/lib/components/error_boundary/error_boundary.styles.js +30 -0
  179. package/lib/components/filter_group/filter_button.js +3 -1
  180. package/lib/components/focus_trap/focus_trap.js +1 -0
  181. package/lib/components/form/field_number/field_number.js +1 -1
  182. package/lib/components/form/field_text/field_text.js +2 -2
  183. package/lib/components/form/form.styles.js +20 -0
  184. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  185. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  186. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  187. package/lib/components/header/header_links/header_link.js +1 -1
  188. package/lib/components/header/header_links/header_links.js +10 -8
  189. package/lib/components/header/header_logo.js +1 -1
  190. package/lib/components/icon/assets/tokenMetricCounter.js +45 -0
  191. package/lib/components/icon/assets/tokenMetricGauge.js +45 -0
  192. package/lib/components/icon/icon.js +1 -1
  193. package/lib/components/icon/icon_map.js +38 -36
  194. package/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
  195. package/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
  196. package/lib/components/image/image.js +73 -168
  197. package/lib/components/image/image.styles.js +40 -0
  198. package/lib/components/image/image_button.js +81 -0
  199. package/lib/components/image/image_button.styles.js +48 -0
  200. package/lib/components/image/image_caption.js +49 -0
  201. package/lib/components/image/image_caption.styles.js +30 -0
  202. package/lib/components/image/image_fullscreen_wrapper.js +117 -0
  203. package/lib/components/image/image_fullscreen_wrapper.styles.js +30 -0
  204. package/lib/components/image/image_types.js +18 -0
  205. package/lib/components/image/image_wrapper.js +91 -0
  206. package/lib/components/image/image_wrapper.styles.js +44 -0
  207. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  208. package/lib/components/list_group/list_group.js +2 -2
  209. package/lib/components/list_group/list_group_item.js +2 -2
  210. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  211. package/lib/components/loading/loading_logo.js +1 -1
  212. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  213. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  214. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  215. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  216. package/lib/components/notification/notification_event.js +2 -2
  217. package/lib/components/notification/notification_event_meta.js +1 -1
  218. package/lib/components/page/page_header/page_header.js +1 -1
  219. package/lib/components/page/page_header/page_header_content.js +1 -1
  220. package/lib/components/page/page_template.js +1 -1
  221. package/lib/components/popover/input_popover.js +8 -3
  222. package/lib/components/popover/popover.js +74 -165
  223. package/lib/components/popover/popover.styles.js +26 -0
  224. package/lib/components/popover/popover_arrow/_popover_arrow.js +51 -0
  225. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  226. package/lib/components/popover/popover_arrow/index.js +13 -0
  227. package/lib/components/popover/popover_footer.js +25 -15
  228. package/lib/components/popover/popover_footer.styles.js +30 -0
  229. package/lib/components/popover/popover_panel/_popover_panel.js +132 -0
  230. package/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  231. package/lib/components/popover/popover_panel/index.js +13 -0
  232. package/lib/components/popover/popover_title.js +25 -15
  233. package/lib/components/popover/popover_title.styles.js +32 -0
  234. package/lib/components/popover/wrapping_popover.js +44 -85
  235. package/lib/components/portal/portal.js +39 -82
  236. package/lib/components/selectable/selectable.js +8 -9
  237. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  238. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  239. package/lib/components/selectable/selectable_search/selectable_search.js +0 -5
  240. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
  241. package/lib/components/suggest/suggest.js +1 -5
  242. package/lib/components/suggest/suggest_item.js +1 -1
  243. package/lib/components/table/table_header_button.js +1 -1
  244. package/lib/components/text/text.styles.js +1 -1
  245. package/lib/components/text_diff/text_diff.js +7 -0
  246. package/lib/components/text_diff/text_diff.styles.js +25 -0
  247. package/lib/components/timeline/timeline_item_icon.js +1 -1
  248. package/lib/components/toast/global_toast_list.js +1 -1
  249. package/lib/components/toast/toast.js +1 -1
  250. package/lib/components/token/token.js +1 -1
  251. package/lib/components/token/token_map.js +115 -107
  252. package/lib/components/tool_tip/icon_tip.js +1 -1
  253. package/lib/global_styling/functions/logicals.js +30 -2
  254. package/lib/global_styling/mixins/_responsive.js +60 -0
  255. package/lib/global_styling/mixins/index.js +13 -0
  256. package/lib/test/rtl/component_helpers.d.ts +7 -0
  257. package/lib/test/rtl/component_helpers.js +77 -0
  258. package/lib/test/rtl/custom_render.d.ts +74 -0
  259. package/lib/test/rtl/custom_render.js +60 -0
  260. package/lib/test/rtl/data_test_subj_queries.d.ts +5 -0
  261. package/lib/test/rtl/data_test_subj_queries.js +52 -0
  262. package/lib/test/rtl/index.d.ts +3 -0
  263. package/lib/test/rtl/index.js +81 -0
  264. package/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  265. package/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  266. package/optimize/es/components/avatar/avatar.js +0 -1
  267. package/optimize/es/components/color_picker/color_picker.js +1 -1
  268. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
  269. package/optimize/es/components/comment_list/comment.js +5 -4
  270. package/optimize/es/components/comment_list/comment_event.js +22 -28
  271. package/optimize/es/components/comment_list/comment_event.styles.js +15 -16
  272. package/optimize/es/components/comment_list/comment_timeline.js +10 -11
  273. package/optimize/es/components/context_menu/context_menu_panel.js +1 -1
  274. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +150 -54
  275. package/optimize/es/components/error_boundary/error_boundary.js +17 -10
  276. package/optimize/es/components/error_boundary/error_boundary.styles.js +18 -0
  277. package/optimize/es/components/filter_group/filter_button.js +3 -1
  278. package/optimize/es/components/focus_trap/focus_trap.js +1 -0
  279. package/optimize/es/components/form/form.styles.js +11 -0
  280. package/optimize/es/components/icon/assets/tokenMetricCounter.js +34 -0
  281. package/optimize/es/components/icon/assets/tokenMetricGauge.js +34 -0
  282. package/optimize/es/components/icon/icon_map.js +38 -36
  283. package/optimize/es/components/image/image.js +50 -154
  284. package/optimize/es/components/image/image.styles.js +28 -0
  285. package/optimize/es/components/image/image_button.js +56 -0
  286. package/optimize/es/components/image/image_button.styles.js +41 -0
  287. package/optimize/es/components/image/image_caption.js +24 -0
  288. package/optimize/es/components/image/image_caption.styles.js +18 -0
  289. package/optimize/es/components/image/image_fullscreen_wrapper.js +84 -0
  290. package/optimize/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
  291. package/optimize/es/components/image/image_types.js +10 -0
  292. package/optimize/es/components/image/image_wrapper.js +62 -0
  293. package/optimize/es/components/image/image_wrapper.styles.js +41 -0
  294. package/optimize/es/components/popover/input_popover.js +8 -4
  295. package/optimize/es/components/popover/popover.js +41 -131
  296. package/optimize/es/components/popover/popover.styles.js +15 -0
  297. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +29 -0
  298. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
  299. package/optimize/es/components/popover/popover_arrow/index.js +8 -0
  300. package/optimize/es/components/popover/popover_footer.js +15 -12
  301. package/optimize/es/components/popover/popover_footer.styles.js +19 -0
  302. package/optimize/es/components/popover/popover_panel/_popover_panel.js +55 -0
  303. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
  304. package/optimize/es/components/popover/popover_panel/index.js +8 -0
  305. package/optimize/es/components/popover/popover_title.js +15 -12
  306. package/optimize/es/components/popover/popover_title.styles.js +20 -0
  307. package/optimize/es/components/popover/wrapping_popover.js +38 -79
  308. package/optimize/es/components/portal/portal.js +34 -61
  309. package/optimize/es/components/selectable/selectable.js +8 -9
  310. package/optimize/es/components/selectable/selectable_search/selectable_search.js +1 -6
  311. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  312. package/optimize/es/components/suggest/suggest.js +0 -4
  313. package/optimize/es/components/text/text.styles.js +1 -1
  314. package/optimize/es/components/text_diff/text_diff.js +5 -0
  315. package/optimize/es/components/text_diff/text_diff.styles.js +15 -0
  316. package/optimize/es/components/token/token_map.js +115 -107
  317. package/optimize/es/global_styling/functions/logicals.js +22 -0
  318. package/optimize/es/global_styling/mixins/_responsive.js +46 -0
  319. package/optimize/es/global_styling/mixins/index.js +2 -1
  320. package/optimize/es/test/rtl/component_helpers.d.ts +7 -0
  321. package/optimize/es/test/rtl/component_helpers.js +71 -0
  322. package/optimize/es/test/rtl/custom_render.d.ts +74 -0
  323. package/optimize/es/test/rtl/custom_render.js +48 -0
  324. package/optimize/es/test/rtl/data_test_subj_queries.d.ts +5 -0
  325. package/optimize/es/test/rtl/data_test_subj_queries.js +36 -0
  326. package/optimize/es/test/rtl/index.d.ts +3 -0
  327. package/optimize/es/test/rtl/index.js +10 -0
  328. package/optimize/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  329. package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  330. package/optimize/lib/components/avatar/avatar.js +0 -1
  331. package/optimize/lib/components/color_picker/color_picker.js +1 -1
  332. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
  333. package/optimize/lib/components/comment_list/comment.js +5 -4
  334. package/optimize/lib/components/comment_list/comment_event.js +22 -26
  335. package/optimize/lib/components/comment_list/comment_event.styles.js +15 -16
  336. package/optimize/lib/components/comment_list/comment_timeline.js +10 -11
  337. package/optimize/lib/components/context_menu/context_menu_panel.js +1 -1
  338. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +153 -54
  339. package/optimize/lib/components/error_boundary/error_boundary.js +20 -10
  340. package/optimize/lib/components/error_boundary/error_boundary.styles.js +30 -0
  341. package/optimize/lib/components/filter_group/filter_button.js +3 -1
  342. package/optimize/lib/components/focus_trap/focus_trap.js +1 -0
  343. package/optimize/lib/components/form/form.styles.js +20 -0
  344. package/optimize/lib/components/icon/assets/tokenMetricCounter.js +44 -0
  345. package/optimize/lib/components/icon/assets/tokenMetricGauge.js +44 -0
  346. package/optimize/lib/components/icon/icon_map.js +38 -36
  347. package/optimize/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
  348. package/optimize/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
  349. package/optimize/lib/components/image/image.js +52 -156
  350. package/optimize/lib/components/image/image.styles.js +40 -0
  351. package/optimize/lib/components/image/image_button.js +68 -0
  352. package/optimize/lib/components/image/image_button.styles.js +48 -0
  353. package/optimize/lib/components/image/image_caption.js +42 -0
  354. package/optimize/lib/components/image/image_caption.styles.js +30 -0
  355. package/optimize/lib/components/image/image_fullscreen_wrapper.js +108 -0
  356. package/optimize/lib/components/image/image_fullscreen_wrapper.styles.js +32 -0
  357. package/optimize/lib/components/image/image_types.js +18 -0
  358. package/optimize/lib/components/image/image_wrapper.js +82 -0
  359. package/optimize/lib/components/image/image_wrapper.styles.js +44 -0
  360. package/optimize/lib/components/popover/input_popover.js +7 -3
  361. package/optimize/lib/components/popover/popover.js +60 -150
  362. package/optimize/lib/components/popover/popover.styles.js +26 -0
  363. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +39 -0
  364. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  365. package/optimize/lib/components/popover/popover_arrow/index.js +13 -0
  366. package/optimize/lib/components/popover/popover_footer.js +26 -14
  367. package/optimize/lib/components/popover/popover_footer.styles.js +30 -0
  368. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +74 -0
  369. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  370. package/optimize/lib/components/popover/popover_panel/index.js +13 -0
  371. package/optimize/lib/components/popover/popover_title.js +26 -14
  372. package/optimize/lib/components/popover/popover_title.styles.js +32 -0
  373. package/optimize/lib/components/popover/wrapping_popover.js +38 -78
  374. package/optimize/lib/components/portal/portal.js +45 -61
  375. package/optimize/lib/components/selectable/selectable.js +8 -8
  376. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +0 -5
  377. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  378. package/optimize/lib/components/suggest/suggest.js +0 -4
  379. package/optimize/lib/components/text/text.styles.js +1 -1
  380. package/optimize/lib/components/text_diff/text_diff.js +7 -0
  381. package/optimize/lib/components/text_diff/text_diff.styles.js +25 -0
  382. package/optimize/lib/components/token/token_map.js +115 -107
  383. package/optimize/lib/global_styling/functions/logicals.js +30 -2
  384. package/optimize/lib/global_styling/mixins/_responsive.js +60 -0
  385. package/optimize/lib/global_styling/mixins/index.js +13 -0
  386. package/optimize/lib/test/rtl/component_helpers.d.ts +7 -0
  387. package/optimize/lib/test/rtl/component_helpers.js +87 -0
  388. package/optimize/lib/test/rtl/custom_render.d.ts +74 -0
  389. package/optimize/lib/test/rtl/custom_render.js +59 -0
  390. package/optimize/lib/test/rtl/data_test_subj_queries.d.ts +5 -0
  391. package/optimize/lib/test/rtl/data_test_subj_queries.js +51 -0
  392. package/optimize/lib/test/rtl/index.d.ts +3 -0
  393. package/optimize/lib/test/rtl/index.js +81 -0
  394. package/optimize/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  395. package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  396. package/package.json +8 -2
  397. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +0 -4
  398. package/src/components/context_menu/_context_menu_panel.scss +2 -2
  399. package/src/components/index.scss +0 -4
  400. package/src/components/tour/_tour.scss +13 -9
  401. package/src/global_styling/mixins/_index.scss +0 -1
  402. package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -2
  403. package/src/themes/amsterdam/overrides/_index.scss +0 -2
  404. package/test-env/components/accessibility/skip_link/skip_link.js +1 -1
  405. package/test-env/components/avatar/avatar.js +1 -2
  406. package/test-env/components/badge/badge.js +1 -1
  407. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  408. package/test-env/components/basic_table/basic_table.js +1 -1
  409. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  410. package/test-env/components/basic_table/in_memory_table.js +1 -1
  411. package/test-env/components/button/_button_content_deprecated.js +1 -1
  412. package/test-env/components/button/button.js +2 -2
  413. package/test-env/components/button/button_display/_button_display.js +1 -1
  414. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  415. package/test-env/components/button/button_empty/button_empty.js +1 -1
  416. package/test-env/components/button/button_group/button_group.js +1 -1
  417. package/test-env/components/button/button_group/button_group_button.js +1 -1
  418. package/test-env/components/button/button_icon/button_icon.js +1 -1
  419. package/test-env/components/call_out/call_out.js +1 -1
  420. package/test-env/components/card/card.js +1 -1
  421. package/test-env/components/card/card_select.js +1 -1
  422. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  423. package/test-env/components/color_picker/color_picker.js +1 -1
  424. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
  425. package/test-env/components/comment_list/comment.js +17 -8
  426. package/test-env/components/comment_list/comment_event.js +24 -28
  427. package/test-env/components/comment_list/comment_event.styles.js +15 -16
  428. package/test-env/components/comment_list/comment_list.js +12 -4
  429. package/test-env/components/comment_list/comment_timeline.js +20 -14
  430. package/test-env/components/context_menu/context_menu_panel.js +1 -1
  431. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  432. package/test-env/components/datagrid/body/data_grid_cell.js +24 -24
  433. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +166 -67
  434. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  435. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  436. package/test-env/components/datagrid/data_grid.js +13 -13
  437. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  438. package/test-env/components/date_picker/date_picker.js +2 -2
  439. package/test-env/components/date_picker/date_picker_range.js +1 -1
  440. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  441. package/test-env/components/error_boundary/error_boundary.js +23 -13
  442. package/test-env/components/error_boundary/error_boundary.styles.js +30 -0
  443. package/test-env/components/filter_group/filter_button.js +3 -1
  444. package/test-env/components/form/field_number/field_number.js +1 -1
  445. package/test-env/components/form/field_text/field_text.js +2 -2
  446. package/test-env/components/form/form.styles.js +20 -0
  447. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  448. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  449. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  450. package/test-env/components/header/header_links/header_link.js +1 -1
  451. package/test-env/components/header/header_links/header_links.js +10 -8
  452. package/test-env/components/header/header_logo.js +1 -1
  453. package/test-env/components/icon/assets/tokenMetricCounter.js +44 -0
  454. package/test-env/components/icon/assets/tokenMetricGauge.js +44 -0
  455. package/test-env/components/icon/icon_map.js +38 -36
  456. package/test-env/components/image/image.js +73 -168
  457. package/test-env/components/image/image.styles.js +40 -0
  458. package/test-env/components/image/image_button.js +77 -0
  459. package/test-env/components/image/image_button.styles.js +48 -0
  460. package/test-env/components/image/image_caption.js +49 -0
  461. package/test-env/components/image/image_caption.styles.js +30 -0
  462. package/test-env/components/image/image_fullscreen_wrapper.js +114 -0
  463. package/test-env/components/image/image_fullscreen_wrapper.styles.js +32 -0
  464. package/test-env/components/image/image_types.js +18 -0
  465. package/test-env/components/image/image_wrapper.js +88 -0
  466. package/test-env/components/image/image_wrapper.styles.js +44 -0
  467. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  468. package/test-env/components/list_group/list_group.js +2 -2
  469. package/test-env/components/list_group/list_group_item.js +2 -2
  470. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  471. package/test-env/components/loading/loading_logo.js +1 -1
  472. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  473. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  474. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  475. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  476. package/test-env/components/notification/notification_event.js +2 -2
  477. package/test-env/components/notification/notification_event_meta.js +1 -1
  478. package/test-env/components/page/page_header/page_header.js +1 -1
  479. package/test-env/components/page/page_header/page_header_content.js +1 -1
  480. package/test-env/components/page/page_template.js +1 -1
  481. package/test-env/components/popover/input_popover.js +7 -3
  482. package/test-env/components/popover/popover.js +75 -166
  483. package/test-env/components/popover/popover.styles.js +26 -0
  484. package/test-env/components/popover/popover_arrow/_popover_arrow.js +47 -0
  485. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  486. package/test-env/components/popover/popover_arrow/index.js +13 -0
  487. package/test-env/components/popover/popover_footer.js +26 -14
  488. package/test-env/components/popover/popover_footer.styles.js +30 -0
  489. package/test-env/components/popover/popover_panel/_popover_panel.js +119 -0
  490. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  491. package/test-env/components/popover/popover_panel/index.js +13 -0
  492. package/test-env/components/popover/popover_title.js +26 -14
  493. package/test-env/components/popover/popover_title.styles.js +32 -0
  494. package/test-env/components/popover/wrapping_popover.js +38 -78
  495. package/test-env/components/portal/portal.js +46 -75
  496. package/test-env/components/selectable/selectable.js +8 -8
  497. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  498. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  499. package/test-env/components/selectable/selectable_search/selectable_search.js +0 -5
  500. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
  501. package/test-env/components/suggest/suggest.js +1 -5
  502. package/test-env/components/suggest/suggest_item.js +1 -1
  503. package/test-env/components/table/table_header_button.js +1 -1
  504. package/test-env/components/text/text.styles.js +1 -1
  505. package/test-env/components/text_diff/text_diff.js +7 -0
  506. package/test-env/components/text_diff/text_diff.styles.js +25 -0
  507. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  508. package/test-env/components/toast/global_toast_list.js +1 -1
  509. package/test-env/components/toast/toast.js +1 -1
  510. package/test-env/components/token/token.js +1 -1
  511. package/test-env/components/token/token_map.js +115 -107
  512. package/test-env/components/tool_tip/icon_tip.js +1 -1
  513. package/test-env/global_styling/functions/logicals.js +30 -2
  514. package/test-env/global_styling/mixins/_responsive.js +60 -0
  515. package/test-env/global_styling/mixins/index.js +13 -0
  516. package/test-env/test/rtl/component_helpers.js +87 -0
  517. package/test-env/test/rtl/custom_render.js +59 -0
  518. package/test-env/test/rtl/data_test_subj_queries.js +51 -0
  519. package/test-env/test/rtl/index.js +81 -0
  520. package/test-env/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  521. package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  522. package/src/components/error_boundary/_error_boundary.scss +0 -13
  523. package/src/components/error_boundary/_index.scss +0 -1
  524. package/src/components/image/_image.scss +0 -212
  525. package/src/components/image/_index.scss +0 -1
  526. package/src/components/popover/_index.scss +0 -5
  527. package/src/components/popover/_input_popover.scss +0 -7
  528. package/src/components/popover/_popover.scss +0 -182
  529. package/src/components/popover/_popover_footer.scss +0 -27
  530. package/src/components/popover/_popover_title.scss +0 -27
  531. package/src/components/popover/_variables.scss +0 -2
  532. package/src/components/text_diff/_index.scss +0 -1
  533. package/src/components/text_diff/_text_diff.scss +0 -9
  534. package/src/global_styling/mixins/_popover.scss +0 -19
  535. package/src/themes/amsterdam/global_styling/mixins/_popover.scss +0 -5
  536. package/src/themes/amsterdam/overrides/_image.scss +0 -10
  537. package/src/themes/amsterdam/overrides/_popover.scss +0 -104
@@ -1,4 +1,7 @@
1
- var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "zIndex", "initialFocus", "attachToAnchor", "display", "offset", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "tabIndex"];
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
3
+ import { css as _css } from "@emotion/react";
4
+ var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "zIndex", "attachToAnchor", "display", "offset", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
2
5
 
3
6
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
7
 
@@ -40,12 +43,10 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
40
43
 
41
44
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
42
45
 
43
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
46
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
44
47
 
45
48
  import PropTypes from "prop-types";
46
49
 
47
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
48
-
49
50
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
50
51
 
51
52
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -69,12 +70,14 @@ import { focusable } from 'tabbable';
69
70
  import { EuiFocusTrap } from '../focus_trap';
70
71
  import { cascadingMenuKeys, getTransitionTimings, getWaitDuration, performOnFrame, htmlIdGenerator } from '../../services';
71
72
  import { EuiScreenReaderOnly } from '../accessibility';
72
- import { EuiPanel } from '../panel';
73
73
  import { EuiPortal } from '../portal';
74
74
  import { EuiMutationObserver } from '../observer/mutation_observer';
75
75
  import { findPopoverPosition, getElementZIndex } from '../../services/popover';
76
76
  import { EuiI18n } from '../i18n';
77
77
  import { EuiOutsideClickDetector } from '../outside_click_detector';
78
+ import { EuiPopoverArrow } from './popover_arrow';
79
+ import { euiPopoverStyles } from './popover.styles';
80
+ import { EuiPopoverPanel } from './popover_panel';
78
81
  import { jsx as ___EmotionJSX } from "@emotion/react";
79
82
  export var popoverAnchorPosition = ['upCenter', 'upLeft', 'upRight', 'downCenter', 'downLeft', 'downRight', 'leftCenter', 'leftUp', 'leftDown', 'rightCenter', 'rightUp', 'rightDown'];
80
83
  var anchorPositionToPopoverPositionMap = {
@@ -111,45 +114,10 @@ export function getPopoverAlignFromAnchorPosition(anchorPosition) {
111
114
 
112
115
  return anchorPositionToPopoverPositionMap[align.toLowerCase()];
113
116
  }
114
- var anchorPositionToClassNameMap = {
115
- upCenter: 'euiPopover--anchorUpCenter',
116
- upLeft: 'euiPopover--anchorUpLeft',
117
- upRight: 'euiPopover--anchorUpRight',
118
- downCenter: 'euiPopover--anchorDownCenter',
119
- downLeft: 'euiPopover--anchorDownLeft',
120
- downRight: 'euiPopover--anchorDownRight',
121
- leftCenter: 'euiPopover--anchorLeftCenter',
122
- leftUp: 'euiPopover--anchorLeftUp',
123
- leftDown: 'euiPopover--anchorLeftDown',
124
- rightCenter: 'euiPopover--anchorRightCenter',
125
- rightUp: 'euiPopover--anchorRightUp',
126
- rightDown: 'euiPopover--anchorRightDown'
127
- };
128
- export var ANCHOR_POSITIONS = Object.keys(anchorPositionToClassNameMap);
129
- var displayToClassNameMap = {
130
- inlineBlock: undefined,
131
- block: 'euiPopover--displayBlock'
132
- };
133
- export var DISPLAY = Object.keys(displayToClassNameMap);
134
117
  var DEFAULT_POPOVER_STYLES = {
135
118
  top: 50,
136
119
  left: 50
137
120
  };
138
-
139
- function getElementFromInitialFocus(initialFocus) {
140
- var initialFocusType = _typeof(initialFocus);
141
-
142
- if (initialFocusType === 'string') {
143
- return document.querySelector(initialFocus);
144
- }
145
-
146
- if (initialFocusType === 'function') {
147
- return initialFocus();
148
- }
149
-
150
- return initialFocus;
151
- }
152
-
153
121
  var returnFocusConfig = {
154
122
  preventScroll: true
155
123
  };
@@ -175,14 +143,10 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
175
143
 
176
144
  _defineProperty(_assertThisInitialized(_this), "closingTransitionAnimationFrame", void 0);
177
145
 
178
- _defineProperty(_assertThisInitialized(_this), "updateFocusAnimationFrame", void 0);
179
-
180
146
  _defineProperty(_assertThisInitialized(_this), "button", null);
181
147
 
182
148
  _defineProperty(_assertThisInitialized(_this), "panel", null);
183
149
 
184
- _defineProperty(_assertThisInitialized(_this), "hasSetInitialFocus", false);
185
-
186
150
  _defineProperty(_assertThisInitialized(_this), "descriptionId", htmlIdGenerator()());
187
151
 
188
152
  _defineProperty(_assertThisInitialized(_this), "closePopover", function () {
@@ -267,8 +231,6 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
267
231
  isOpenStable: true
268
232
  }, function () {
269
233
  _this.positionPopoverFixed();
270
-
271
- _this.updateFocus();
272
234
  });
273
235
  }, durationMatch + delayMatch);
274
236
  });
@@ -394,64 +356,9 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
394
356
  }
395
357
 
396
358
  _createClass(EuiPopover, [{
397
- key: "updateFocus",
398
- value: function updateFocus() {
399
- var _this2 = this;
400
-
401
- // Wait for the DOM to update.
402
- this.updateFocusAnimationFrame = window.requestAnimationFrame(function () {
403
- if (!_this2.props.ownFocus || !_this2.panel || _this2.props.initialFocus === false) {
404
- return;
405
- } // If we've already focused on something inside the panel, everything's fine.
406
-
407
-
408
- if (_this2.hasSetInitialFocus && _this2.panel.contains(document.activeElement)) {
409
- return;
410
- } // Otherwise focus either `initialFocus` or the panel
411
-
412
-
413
- var focusTarget;
414
-
415
- if (_this2.props.initialFocus != null) {
416
- focusTarget = getElementFromInitialFocus(_this2.props.initialFocus);
417
- } // there's a race condition between the popover content becoming visible and this function call
418
- // if the element isn't visible yet (due to css styling) then it can't accept focus
419
- // so wait for another render and try again
420
-
421
-
422
- if (focusTarget == null) {
423
- // there isn't a focus target, one of two reasons:
424
- // #1 is the whole panel hidden? If so, schedule another check
425
- // #2 panel is visible and no `initialFocus` was set, move focus to the panel
426
- var panelVisibility = window.getComputedStyle(_this2.panel).opacity;
427
-
428
- if (panelVisibility === '0') {
429
- // #1
430
- _this2.updateFocus();
431
- } else {
432
- // #2
433
- focusTarget = _this2.panel;
434
- }
435
- } else {
436
- // found an element to focus, but is it visible?
437
- var visibility = window.getComputedStyle(focusTarget).visibility;
438
-
439
- if (visibility === 'hidden') {
440
- // not visible, check again next render frame
441
- _this2.updateFocus();
442
- }
443
- }
444
-
445
- if (focusTarget != null) {
446
- _this2.hasSetInitialFocus = true;
447
- focusTarget.focus();
448
- }
449
- });
450
- }
451
- }, {
452
359
  key: "componentDidMount",
453
360
  value: function componentDidMount() {
454
- var _this3 = this;
361
+ var _this2 = this;
455
362
 
456
363
  if (this.state.suppressingPopover) {
457
364
  // component was created with isOpen=true; now that it's mounted
@@ -461,7 +368,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
461
368
  suppressingPopover: false,
462
369
  isOpening: true
463
370
  }, function () {
464
- _this3.onOpenPopover();
371
+ _this2.onOpenPopover();
465
372
  });
466
373
  }
467
374
 
@@ -472,7 +379,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
472
379
  }, {
473
380
  key: "componentDidUpdate",
474
381
  value: function componentDidUpdate(prevProps) {
475
- var _this4 = this;
382
+ var _this3 = this;
476
383
 
477
384
  // The popover is being opened.
478
385
  if (!prevProps.isOpen && this.props.isOpen) {
@@ -493,9 +400,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
493
400
  // If the user has just closed the popover, queue up the removal of the content after the
494
401
  // transition is complete.
495
402
  this.closingTransitionTimeout = window.setTimeout(function () {
496
- _this4.hasSetInitialFocus = false;
497
-
498
- _this4.setState({
403
+ _this3.setState({
499
404
  isClosing: false
500
405
  });
501
406
  }, closingTransitionTime);
@@ -509,12 +414,11 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
509
414
  clearTimeout(this.strandedFocusTimeout);
510
415
  clearTimeout(this.closingTransitionTimeout);
511
416
  cancelAnimationFrame(this.closingTransitionAnimationFrame);
512
- cancelAnimationFrame(this.updateFocusAnimationFrame);
513
417
  }
514
418
  }, {
515
419
  key: "render",
516
420
  value: function render() {
517
- var _this5 = this;
421
+ var _this4 = this;
518
422
 
519
423
  var _this$props = this.props,
520
424
  anchorClassName = _this$props.anchorClassName,
@@ -538,7 +442,6 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
538
442
  arrowChildren = _this$props.arrowChildren,
539
443
  repositionOnScroll = _this$props.repositionOnScroll,
540
444
  zIndex = _this$props.zIndex,
541
- initialFocus = _this$props.initialFocus,
542
445
  attachToAnchor = _this$props.attachToAnchor,
543
446
  display = _this$props.display,
544
447
  offset = _this$props.offset,
@@ -548,27 +451,24 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
548
451
  ariaLabelledBy = _this$props['aria-labelledby'],
549
452
  container = _this$props.container,
550
453
  focusTrapProps = _this$props.focusTrapProps,
454
+ initialFocusProp = _this$props.initialFocus,
551
455
  tabIndexProp = _this$props.tabIndex,
552
456
  rest = _objectWithoutProperties(_this$props, _excluded);
553
457
 
554
- var classes = classNames('euiPopover', anchorPosition ? anchorPositionToClassNameMap[anchorPosition] : null, display ? displayToClassNameMap[display] : null, {
458
+ var styles = euiPopoverStyles();
459
+ var popoverStyles = [styles.euiPopover, {
460
+ display: display
461
+ }];
462
+ var classes = classNames('euiPopover', {
555
463
  'euiPopover-isOpen': this.state.isOpening
556
464
  }, className);
557
465
  var anchorClasses = classNames('euiPopover__anchor', anchorClassName);
558
- var panelClasses = classNames('euiPopover__panel', "euiPopover__panel--".concat(this.state.arrowPosition), {
559
- 'euiPopover__panel-isOpen': this.state.isOpening
560
- }, {
561
- 'euiPopover__panel-noArrow': !hasArrow || attachToAnchor
562
- }, {
563
- 'euiPopover__panel-isAttached': attachToAnchor
564
- }, panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className);
466
+ var showArrow = hasArrow && !attachToAnchor;
565
467
  var panel;
566
468
 
567
469
  if (!this.state.suppressingPopover && (isOpen || this.state.isClosing)) {
568
470
  var tabIndex = tabIndexProp;
569
-
570
- var _initialFocus;
571
-
471
+ var initialFocus = initialFocusProp;
572
472
  var ariaDescribedby;
573
473
  var ariaLive;
574
474
  var panelAriaModal = panelProps !== null && panelProps !== void 0 && panelProps.hasOwnProperty('aria-modal') ? panelProps['aria-modal'] : 'true';
@@ -578,9 +478,11 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
578
478
  tabIndex = tabIndexProp !== null && tabIndexProp !== void 0 ? tabIndexProp : 0;
579
479
  ariaLive = 'off';
580
480
 
581
- _initialFocus = function _initialFocus() {
582
- return _this5.panel;
583
- };
481
+ if (!initialFocus) {
482
+ initialFocus = function initialFocus() {
483
+ return _this4.panel;
484
+ };
485
+ }
584
486
  } else {
585
487
  ariaLive = 'assertive';
586
488
  }
@@ -597,7 +499,6 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
597
499
  }), popoverScreenReaderText));
598
500
  }
599
501
 
600
- var arrowClassNames = classNames('euiPopover__panelArrow', "euiPopover__panelArrow--".concat(this.state.arrowPosition));
601
502
  var returnFocus = this.state.isOpenStable ? returnFocusConfig : false;
602
503
  panel = ___EmotionJSX(EuiPortal, {
603
504
  insert: insert
@@ -606,15 +507,17 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
606
507
  }, focusTrapProps, {
607
508
  returnFocus: returnFocus // Ignore temporary state of indecisive focus
608
509
  ,
609
- initialFocus: _initialFocus,
510
+ initialFocus: initialFocus,
610
511
  onDeactivation: onTrapDeactivation,
611
512
  onClickOutside: this.onClickOutside,
612
513
  onEscapeKey: this.onEscapeKey,
613
514
  disabled: !ownFocus || !this.state.isOpenStable || this.state.isClosing
614
- }), ___EmotionJSX(EuiPanel, _extends({}, panelProps, {
615
- "data-popover-panel": true,
515
+ }), ___EmotionJSX(EuiPopoverPanel, _extends({}, panelProps, {
616
516
  panelRef: this.panelRef,
617
- className: panelClasses,
517
+ isOpen: this.state.isOpening,
518
+ position: this.state.arrowPosition,
519
+ isAttached: attachToAnchor,
520
+ className: classNames(panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className),
618
521
  hasShadow: false,
619
522
  paddingSize: panelPaddingSize,
620
523
  tabIndex: tabIndex,
@@ -628,8 +531,8 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
628
531
  // Adding `will-change` to reduce risk of a blurry animation in Chrome 86+
629
532
  willChange: !this.state.isOpenStable ? 'transform, opacity' : undefined
630
533
  })
631
- }), ___EmotionJSX("div", {
632
- className: arrowClassNames,
534
+ }), showArrow && this.state.arrowPosition && ___EmotionJSX(EuiPopoverArrow, {
535
+ position: this.state.arrowPosition,
633
536
  style: this.state.arrowStyles
634
537
  }, arrowChildren), focusTrapScreenReaderText, ___EmotionJSX(EuiMutationObserver, {
635
538
  observerOptions: {
@@ -648,15 +551,19 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
648
551
  ref: mutationRef
649
552
  }, children);
650
553
  }))));
651
- } // react-focus-on and relataed do not register outside click detection
554
+ } // react-focus-on and related do not register outside click detection
652
555
  // when disabled, so we still need to conditionally check for that ourselves
653
556
 
654
557
 
655
558
  if (ownFocus) {
656
559
  return ___EmotionJSX("div", _extends({
560
+ css: popoverStyles,
657
561
  className: classes,
658
562
  ref: popoverRef
659
563
  }, rest), ___EmotionJSX("div", {
564
+ css: /*#__PURE__*/_css({
565
+ display: display
566
+ }, ";label:render;"),
660
567
  className: anchorClasses,
661
568
  ref: this.buttonRef
662
569
  }, button instanceof HTMLElement ? null : button), panel);
@@ -664,10 +571,14 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
664
571
  return ___EmotionJSX(EuiOutsideClickDetector, {
665
572
  onOutsideClick: this.closePopover
666
573
  }, ___EmotionJSX("div", _extends({
574
+ css: popoverStyles,
667
575
  className: classes,
668
576
  ref: popoverRef,
669
577
  onKeyDown: this.onKeyDown
670
578
  }, rest), ___EmotionJSX("div", {
579
+ css: /*#__PURE__*/_css({
580
+ display: display
581
+ }, ";label:render;"),
671
582
  className: anchorClasses,
672
583
  ref: this.buttonRef
673
584
  }, button instanceof HTMLElement ? null : button), panel));
@@ -707,18 +618,10 @@ _defineProperty(EuiPopover, "defaultProps", {
707
618
  anchorPosition: 'downCenter',
708
619
  panelPaddingSize: 'm',
709
620
  hasArrow: true,
710
- display: 'inlineBlock'
621
+ display: 'inline-block'
711
622
  });
712
623
 
713
624
  EuiPopover.propTypes = {
714
- className: PropTypes.string,
715
-
716
- /**
717
- * Provide a name to the popover panel
718
- */
719
- "aria-label": PropTypes.string,
720
- "data-test-subj": PropTypes.string,
721
-
722
625
  /**
723
626
  * Class name passed to the direct parent of the button
724
627
  */
@@ -755,7 +658,7 @@ EuiPopover.propTypes = {
755
658
  /**
756
659
  * CSS display type for both the popover and anchor
757
660
  */
758
- display: PropTypes.oneOf(["inlineBlock", "block"]),
661
+ display: PropTypes.any,
759
662
 
760
663
  /**
761
664
  * Object of props passed to EuiFocusTrap
@@ -771,11 +674,11 @@ EuiPopover.propTypes = {
771
674
  * Specifies what element should initially have focus; Can be a DOM
772
675
  * node, or a selector string (which will be passed to
773
676
  * document.querySelector() to find the DOM node), or a function that
774
- * returns a DOM node
775
- * Set to `false` to prevent initial auto-focus. Use only
776
- * when your app handles setting initial focus state.
677
+ * returns a DOM node.
678
+ *
679
+ * If not passed, initial focus defaults to the popover panel.
777
680
  */
778
- initialFocus: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf([false])]),
681
+ initialFocus: PropTypes.any,
779
682
 
780
683
  /**
781
684
  * Passed directly to EuiPortal for DOM positioning. Both properties are
@@ -812,7 +715,7 @@ EuiPopover.propTypes = {
812
715
  panelStyle: PropTypes.any,
813
716
 
814
717
  /**
815
- * Object of props passed to EuiPanel
718
+ * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
816
719
  */
817
720
  panelProps: PropTypes.any,
818
721
  panelRef: PropTypes.any,
@@ -862,9 +765,16 @@ EuiPopover.propTypes = {
862
765
  */
863
766
  arrowChildren: PropTypes.node,
864
767
 
768
+ /**
769
+ * Provide a name to the popover panel
770
+ */
771
+ "aria-label": PropTypes.string,
772
+
865
773
  /**
866
774
  * Alternative option to `aria-label` that takes an `id`.
867
775
  * Usually takes the `id` of the popover title
868
776
  */
869
- "aria-labelledby": PropTypes.string
777
+ "aria-labelledby": PropTypes.string,
778
+ className: PropTypes.string,
779
+ "data-test-subj": PropTypes.string
870
780
  };
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { css } from '@emotion/react';
9
+ import { logicalCSS } from '../../global_styling';
10
+ export var euiPopoverStyles = function euiPopoverStyles() {
11
+ return {
12
+ // Base anchor wrapper
13
+ euiPopover: /*#__PURE__*/css("position:relative;vertical-align:middle;", logicalCSS('max-width', '100%'), ";;label:euiPopover;")
14
+ };
15
+ };
@@ -0,0 +1,40 @@
1
+ var _excluded = ["children", "position"];
2
+
3
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+
5
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
+
7
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
8
+
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+ import React from 'react';
17
+ import PropTypes from "prop-types";
18
+ import { euiPopoverArrowStyles } from './_popover_arrow.styles';
19
+ import { useEuiTheme } from '../../../services';
20
+ import { jsx as ___EmotionJSX } from "@emotion/react";
21
+ export var POSITIONS = ['top', 'left', 'right', 'bottom'];
22
+ export var EuiPopoverArrow = function EuiPopoverArrow(_ref) {
23
+ var children = _ref.children,
24
+ position = _ref.position,
25
+ rest = _objectWithoutProperties(_ref, _excluded);
26
+
27
+ var euiTheme = useEuiTheme();
28
+ var styles = euiPopoverArrowStyles(euiTheme);
29
+ var cssStyles = [styles.euiPopoverArrow, styles[position]];
30
+ return ___EmotionJSX("div", _extends({
31
+ "data-popover-arrow": position,
32
+ css: cssStyles
33
+ }, rest), children);
34
+ };
35
+ EuiPopoverArrow.propTypes = {
36
+ className: PropTypes.string,
37
+ "aria-label": PropTypes.string,
38
+ "data-test-subj": PropTypes.string,
39
+ position: PropTypes.any.isRequired
40
+ };
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { css } from '@emotion/react';
9
+ import { euiBackgroundColor, logicals, logicalSizeCSS } from '../../../global_styling';
10
+ export var popoverArrowSize = 'm';
11
+ export var euiPopoverArrowStyles = function euiPopoverArrowStyles(euiThemeContext) {
12
+ var euiTheme = euiThemeContext.euiTheme; // Match the background color of panels
13
+
14
+ var borderColor = euiBackgroundColor(euiThemeContext, 'plain');
15
+ var arrowSize = euiTheme.size[popoverArrowSize];
16
+ return {
17
+ // Base
18
+ euiPopoverArrow: /*#__PURE__*/css("position:absolute;", logicalSizeCSS(0, 0), "&:before{content:'';position:absolute;", logicalSizeCSS(0, 0), ";};label:euiPopoverArrow;"),
19
+ // POSITIONS
20
+ top: /*#__PURE__*/css("&:before{", logicals.bottom, ":-", arrowSize, ";", logicals['border-left'], ":", arrowSize, " solid transparent;", logicals['border-right'], ":", arrowSize, " solid transparent;", logicals['border-top'], ":", arrowSize, " solid ", borderColor, ";};label:top;"),
21
+ bottom: /*#__PURE__*/css("&:before{", logicals.top, ":-", arrowSize, ";", logicals['border-left'], ":", arrowSize, " solid transparent;", logicals['border-right'], ":", arrowSize, " solid transparent;", logicals['border-bottom'], ":", arrowSize, " solid ", borderColor, ";};label:bottom;"),
22
+ left: /*#__PURE__*/css("&:before{", logicals.top, ":50%;", logicals.right, ":-", arrowSize, ";", logicals['border-top'], ":", arrowSize, " solid transparent;", logicals['border-bottom'], ":", arrowSize, " solid transparent;", logicals['border-left'], ":", arrowSize, " solid ", borderColor, ";};label:left;"),
23
+ right: /*#__PURE__*/css("&:before{", logicals.top, ":50%;", logicals.left, ":-", arrowSize, ";", logicals['border-top'], ":", arrowSize, " solid transparent;", logicals['border-bottom'], ":", arrowSize, " solid transparent;", logicals['border-right'], ":", arrowSize, " solid ", borderColor, ";};label:right;")
24
+ };
25
+ };
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ export { EuiPopoverArrow } from './_popover_arrow';
@@ -13,28 +13,31 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  * in compliance with, at your election, the Elastic License 2.0 or the Server
14
14
  * Side Public License, v 1.
15
15
  */
16
- import React from 'react';
16
+ import React, { useContext } from 'react';
17
17
  import PropTypes from "prop-types";
18
18
  import classNames from 'classnames';
19
- import { keysOf } from '../common';
19
+ import { useEuiPaddingCSS } from '../../global_styling';
20
+ import { useEuiTheme } from '../../services';
21
+ import { euiPopoverFooterStyles } from './popover_footer.styles';
22
+ import { EuiPopoverPanelContext } from './popover_panel/_popover_panel';
20
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
- var paddingSizeToClassNameMap = {
22
- none: 'euiPopoverFooter--paddingNone',
23
- s: 'euiPopoverFooter--paddingSmall',
24
- m: 'euiPopoverFooter--paddingMedium',
25
- l: 'euiPopoverFooter--paddingLarge'
26
- };
27
- export var PADDING_SIZES = keysOf(paddingSizeToClassNameMap);
28
24
  export var EuiPopoverFooter = function EuiPopoverFooter(_ref) {
29
25
  var children = _ref.children,
30
26
  className = _ref.className,
31
27
  paddingSize = _ref.paddingSize,
32
28
  rest = _objectWithoutProperties(_ref, _excluded);
33
29
 
34
- var classes = classNames('euiPopoverFooter', // @ts-expect-error EuiPanel increased its available sizes.
35
- // When we convert this component to Emotion, we should also increase sizes to match EuiPanel and remove this comment.
36
- paddingSize ? paddingSizeToClassNameMap[paddingSize] : null, className);
30
+ var _useContext = useContext(EuiPopoverPanelContext),
31
+ panelPadding = _useContext.paddingSize;
32
+
33
+ var euiTheme = useEuiTheme();
34
+ var styles = euiPopoverFooterStyles(euiTheme, panelPadding);
35
+ var paddingStyles = useEuiPaddingCSS();
36
+ var cssStyles = [styles.euiPopoverFooter, // If a paddingSize is not directly provided, inherit from the EuiPopoverPanel
37
+ paddingStyles[paddingSize || panelPadding]];
38
+ var classes = classNames('euiPopoverFooter', className);
37
39
  return ___EmotionJSX("div", _extends({
40
+ css: cssStyles,
38
41
  className: classes
39
42
  }, rest), children);
40
43
  };
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { css } from '@emotion/react';
9
+ import { euiFontSize, euiPaddingSize, logicalCSS } from '../../global_styling';
10
+ export var euiPopoverFooterStyles = function euiPopoverFooterStyles(euiThemeContext, panelPadding) {
11
+ var euiTheme = euiThemeContext.euiTheme; // If the popover's containing panel has padding applied,
12
+ // ensure the title expands to cover that padding and
13
+
14
+ var panelPaddingSize = euiPaddingSize(euiThemeContext, panelPadding);
15
+ return {
16
+ // Base
17
+ euiPopoverFooter: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";", logicalCSS('border-top', euiTheme.border.thin), ";margin:", panelPaddingSize, " -", panelPaddingSize, " -", panelPaddingSize, ";;label:euiPopoverFooter;")
18
+ };
19
+ };