@elastic/eui 60.2.0 → 62.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. package/dist/eui_theme_dark.css +20 -660
  2. package/dist/eui_theme_dark.json +1 -2
  3. package/dist/eui_theme_dark.json.d.ts +1 -2
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +20 -660
  6. package/dist/eui_theme_light.json +1 -2
  7. package/dist/eui_theme_light.json.d.ts +1 -2
  8. package/dist/eui_theme_light.min.css +1 -1
  9. package/es/components/accessibility/skip_link/skip_link.js +1 -1
  10. package/es/components/accordion/accordion.js +10 -5
  11. package/es/components/avatar/avatar.js +1 -2
  12. package/es/components/badge/badge.js +1 -1
  13. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  14. package/es/components/basic_table/basic_table.js +1 -1
  15. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  16. package/es/components/basic_table/in_memory_table.js +1 -1
  17. package/es/components/button/_button_content_deprecated.js +1 -1
  18. package/es/components/button/button.js +2 -2
  19. package/es/components/button/button_display/_button_display.js +1 -1
  20. package/es/components/button/button_display/_button_display_content.js +1 -1
  21. package/es/components/button/button_empty/button_empty.js +1 -1
  22. package/es/components/button/button_group/button_group.js +1 -1
  23. package/es/components/button/button_group/button_group_button.js +1 -1
  24. package/es/components/button/button_icon/button_icon.js +1 -1
  25. package/es/components/call_out/call_out.js +1 -1
  26. package/es/components/card/card.js +1 -1
  27. package/es/components/card/card_select.js +1 -1
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  29. package/es/components/color_picker/color_picker.js +1 -1
  30. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
  31. package/es/components/comment_list/comment.js +54 -24
  32. package/es/components/comment_list/comment_event.js +103 -32
  33. package/es/components/comment_list/comment_event.styles.js +78 -0
  34. package/es/components/comment_list/comment_list.js +45 -12
  35. package/es/components/comment_list/comment_timeline.js +29 -35
  36. package/es/components/context_menu/context_menu.js +1 -1
  37. package/es/components/context_menu/context_menu_panel.js +1 -1
  38. package/es/components/datagrid/body/data_grid_body.js +20 -17
  39. package/es/components/datagrid/body/data_grid_cell.js +102 -34
  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 +15 -13
  44. package/es/components/datagrid/utils/in_memory.js +12 -12
  45. package/es/components/datagrid/utils/ref.js +24 -3
  46. package/es/components/datagrid/utils/row_heights.js +27 -33
  47. package/es/components/date_picker/date_picker.js +2 -2
  48. package/es/components/date_picker/date_picker_range.js +1 -1
  49. package/es/components/empty_prompt/empty_prompt.js +1 -1
  50. package/es/components/error_boundary/error_boundary.js +18 -11
  51. package/es/components/error_boundary/error_boundary.styles.js +18 -0
  52. package/es/components/focus_trap/focus_trap.js +1 -0
  53. package/es/components/form/field_number/field_number.js +1 -1
  54. package/es/components/form/field_text/field_text.js +2 -2
  55. package/es/components/form/form.styles.js +11 -0
  56. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  57. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  58. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  59. package/es/components/header/header_links/header_link.js +1 -1
  60. package/es/components/header/header_links/header_links.js +10 -8
  61. package/es/components/header/header_logo.js +1 -1
  62. package/es/components/icon/assets/keyboard.js +38 -0
  63. package/es/components/icon/assets/tokenMetricCounter.js +38 -0
  64. package/es/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
  65. package/es/components/icon/icon.js +1 -1
  66. package/es/components/icon/icon_map.js +39 -37
  67. package/es/components/image/image.js +71 -166
  68. package/es/components/image/image.styles.js +28 -0
  69. package/es/components/image/image_button.js +68 -0
  70. package/es/components/image/image_button.styles.js +41 -0
  71. package/es/components/image/image_caption.js +28 -0
  72. package/es/components/image/image_caption.styles.js +18 -0
  73. package/es/components/image/image_fullscreen_wrapper.js +100 -0
  74. package/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
  75. package/es/components/image/image_types.js +10 -0
  76. package/es/components/image/image_wrapper.js +78 -0
  77. package/es/components/image/image_wrapper.styles.js +41 -0
  78. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  79. package/es/components/list_group/list_group.js +2 -2
  80. package/es/components/list_group/list_group_item.js +2 -2
  81. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  82. package/es/components/loading/loading_logo.js +1 -1
  83. package/es/components/markdown_editor/markdown_editor.js +1 -1
  84. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  85. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  86. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  87. package/es/components/notification/notification_event.js +2 -2
  88. package/es/components/notification/notification_event_meta.js +1 -1
  89. package/es/components/page/page_header/page_header.js +1 -1
  90. package/es/components/page/page_header/page_header_content.js +1 -1
  91. package/es/components/page/page_template.js +1 -1
  92. package/es/components/pagination/pagination_button.js +1 -1
  93. package/es/components/popover/input_popover.js +8 -4
  94. package/es/components/popover/popover.js +58 -148
  95. package/es/components/popover/popover.styles.js +15 -0
  96. package/es/components/popover/popover_arrow/_popover_arrow.js +40 -0
  97. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
  98. package/es/components/popover/popover_arrow/index.js +8 -0
  99. package/es/components/popover/popover_footer.js +15 -12
  100. package/es/components/popover/popover_footer.styles.js +19 -0
  101. package/es/components/popover/popover_panel/_popover_panel.js +114 -0
  102. package/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
  103. package/es/components/popover/popover_panel/index.js +8 -0
  104. package/es/components/popover/popover_title.js +15 -12
  105. package/es/components/popover/popover_title.styles.js +20 -0
  106. package/es/components/selectable/selectable.js +10 -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 +5 -4
  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.js +1 -2
  118. package/es/components/timeline/timeline_item_icon.js +1 -1
  119. package/es/components/toast/global_toast_list.js +1 -1
  120. package/es/components/toast/toast.js +1 -1
  121. package/es/components/token/token.js +1 -1
  122. package/es/components/token/token_map.js +115 -107
  123. package/es/components/tool_tip/icon_tip.js +1 -1
  124. package/es/components/tour/tour.js +6 -6
  125. package/es/components/tour/tour_step.js +6 -6
  126. package/es/global_styling/functions/logicals.js +22 -0
  127. package/es/global_styling/mixins/_responsive.js +46 -0
  128. package/es/global_styling/mixins/index.js +2 -1
  129. package/es/services/hooks/index.js +1 -0
  130. package/es/services/hooks/useLatest.js +18 -0
  131. package/es/test/emotion-prefix.js +1 -1
  132. package/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  133. package/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  134. package/eui.d.ts +620 -252
  135. package/i18ntokens.json +147 -51
  136. package/lib/components/accessibility/skip_link/skip_link.js +1 -1
  137. package/lib/components/accordion/accordion.js +10 -5
  138. package/lib/components/avatar/avatar.js +1 -2
  139. package/lib/components/badge/badge.js +1 -1
  140. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  141. package/lib/components/basic_table/basic_table.js +1 -1
  142. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  143. package/lib/components/basic_table/in_memory_table.js +1 -1
  144. package/lib/components/button/_button_content_deprecated.js +1 -1
  145. package/lib/components/button/button.js +2 -2
  146. package/lib/components/button/button_display/_button_display.js +1 -1
  147. package/lib/components/button/button_display/_button_display_content.js +1 -1
  148. package/lib/components/button/button_empty/button_empty.js +1 -1
  149. package/lib/components/button/button_group/button_group.js +1 -1
  150. package/lib/components/button/button_group/button_group_button.js +1 -1
  151. package/lib/components/button/button_icon/button_icon.js +1 -1
  152. package/lib/components/call_out/call_out.js +1 -1
  153. package/lib/components/card/card.js +1 -1
  154. package/lib/components/card/card_select.js +1 -1
  155. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  156. package/lib/components/color_picker/color_picker.js +1 -1
  157. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
  158. package/lib/components/comment_list/comment.js +53 -25
  159. package/lib/components/comment_list/comment_event.js +104 -41
  160. package/lib/components/comment_list/comment_event.styles.js +86 -0
  161. package/lib/components/comment_list/comment_list.js +46 -12
  162. package/lib/components/comment_list/comment_timeline.js +30 -40
  163. package/lib/components/context_menu/context_menu.js +1 -1
  164. package/lib/components/context_menu/context_menu_panel.js +1 -1
  165. package/lib/components/datagrid/body/data_grid_body.js +20 -17
  166. package/lib/components/datagrid/body/data_grid_cell.js +101 -33
  167. package/lib/components/datagrid/body/header/data_grid_header_cell.js +166 -67
  168. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  169. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  170. package/lib/components/datagrid/data_grid.js +15 -13
  171. package/lib/components/datagrid/utils/in_memory.js +12 -12
  172. package/lib/components/datagrid/utils/ref.js +24 -3
  173. package/lib/components/datagrid/utils/row_heights.js +26 -32
  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/focus_trap/focus_trap.js +1 -0
  180. package/lib/components/form/field_number/field_number.js +1 -1
  181. package/lib/components/form/field_text/field_text.js +2 -2
  182. package/lib/components/form/form.styles.js +20 -0
  183. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  184. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  185. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  186. package/lib/components/header/header_links/header_link.js +1 -1
  187. package/lib/components/header/header_links/header_links.js +10 -8
  188. package/lib/components/header/header_logo.js +1 -1
  189. package/lib/components/icon/assets/keyboard.js +45 -0
  190. package/lib/components/icon/assets/tokenMetricCounter.js +45 -0
  191. package/lib/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
  192. package/lib/components/icon/icon.js +1 -1
  193. package/lib/components/icon/icon_map.js +39 -37
  194. package/lib/components/icon/svgs/keyboard.svg +3 -0
  195. package/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
  196. package/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
  197. package/lib/components/image/image.js +73 -168
  198. package/lib/components/image/image.styles.js +40 -0
  199. package/lib/components/image/image_button.js +81 -0
  200. package/lib/components/image/image_button.styles.js +48 -0
  201. package/lib/components/image/image_caption.js +49 -0
  202. package/lib/components/image/image_caption.styles.js +30 -0
  203. package/lib/components/image/image_fullscreen_wrapper.js +117 -0
  204. package/lib/components/image/image_fullscreen_wrapper.styles.js +30 -0
  205. package/lib/components/image/image_types.js +18 -0
  206. package/lib/components/image/image_wrapper.js +91 -0
  207. package/lib/components/image/image_wrapper.styles.js +44 -0
  208. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  209. package/lib/components/list_group/list_group.js +2 -2
  210. package/lib/components/list_group/list_group_item.js +2 -2
  211. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  212. package/lib/components/loading/loading_logo.js +1 -1
  213. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  214. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  215. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  216. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  217. package/lib/components/notification/notification_event.js +2 -2
  218. package/lib/components/notification/notification_event_meta.js +1 -1
  219. package/lib/components/page/page_header/page_header.js +1 -1
  220. package/lib/components/page/page_header/page_header_content.js +1 -1
  221. package/lib/components/page/page_template.js +1 -1
  222. package/lib/components/popover/input_popover.js +8 -3
  223. package/lib/components/popover/popover.js +74 -165
  224. package/lib/components/popover/popover.styles.js +26 -0
  225. package/lib/components/popover/popover_arrow/_popover_arrow.js +51 -0
  226. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  227. package/lib/components/popover/popover_arrow/index.js +13 -0
  228. package/lib/components/popover/popover_footer.js +25 -15
  229. package/lib/components/popover/popover_footer.styles.js +30 -0
  230. package/lib/components/popover/popover_panel/_popover_panel.js +132 -0
  231. package/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  232. package/lib/components/popover/popover_panel/index.js +13 -0
  233. package/lib/components/popover/popover_title.js +25 -15
  234. package/lib/components/popover/popover_title.styles.js +32 -0
  235. package/lib/components/selectable/selectable.js +10 -9
  236. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  237. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  238. package/lib/components/selectable/selectable_search/selectable_search.js +0 -5
  239. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
  240. package/lib/components/suggest/suggest.js +1 -5
  241. package/lib/components/suggest/suggest_item.js +1 -1
  242. package/lib/components/table/table_header_button.js +1 -1
  243. package/lib/components/text/text.styles.js +4 -3
  244. package/lib/components/text_diff/text_diff.js +7 -0
  245. package/lib/components/text_diff/text_diff.styles.js +25 -0
  246. package/lib/components/timeline/timeline_item.js +1 -2
  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/services/hooks/index.js +13 -0
  257. package/lib/services/hooks/useLatest.js +26 -0
  258. package/lib/test/emotion-prefix.js +1 -1
  259. package/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  260. package/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  261. package/optimize/es/components/accordion/accordion.js +10 -5
  262. package/optimize/es/components/avatar/avatar.js +0 -1
  263. package/optimize/es/components/color_picker/color_picker.js +1 -1
  264. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
  265. package/optimize/es/components/comment_list/comment.js +24 -18
  266. package/optimize/es/components/comment_list/comment_event.js +83 -28
  267. package/optimize/es/components/comment_list/comment_event.styles.js +78 -0
  268. package/optimize/es/components/comment_list/comment_list.js +7 -3
  269. package/optimize/es/components/comment_list/comment_timeline.js +19 -32
  270. package/optimize/es/components/context_menu/context_menu_panel.js +1 -1
  271. package/optimize/es/components/datagrid/body/data_grid_body.js +7 -4
  272. package/optimize/es/components/datagrid/body/data_grid_cell.js +18 -9
  273. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +150 -54
  274. package/optimize/es/components/datagrid/data_grid.js +2 -0
  275. package/optimize/es/components/datagrid/utils/ref.js +24 -3
  276. package/optimize/es/components/datagrid/utils/row_heights.js +27 -33
  277. package/optimize/es/components/error_boundary/error_boundary.js +17 -10
  278. package/optimize/es/components/error_boundary/error_boundary.styles.js +18 -0
  279. package/optimize/es/components/focus_trap/focus_trap.js +1 -0
  280. package/optimize/es/components/form/form.styles.js +11 -0
  281. package/optimize/es/components/icon/assets/keyboard.js +34 -0
  282. package/optimize/es/components/icon/assets/tokenMetricCounter.js +34 -0
  283. package/optimize/es/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
  284. package/optimize/es/components/icon/icon_map.js +39 -37
  285. package/optimize/es/components/image/image.js +50 -154
  286. package/optimize/es/components/image/image.styles.js +28 -0
  287. package/optimize/es/components/image/image_button.js +56 -0
  288. package/optimize/es/components/image/image_button.styles.js +41 -0
  289. package/optimize/es/components/image/image_caption.js +24 -0
  290. package/optimize/es/components/image/image_caption.styles.js +18 -0
  291. package/optimize/es/components/image/image_fullscreen_wrapper.js +84 -0
  292. package/optimize/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
  293. package/optimize/es/components/image/image_types.js +10 -0
  294. package/optimize/es/components/image/image_wrapper.js +62 -0
  295. package/optimize/es/components/image/image_wrapper.styles.js +41 -0
  296. package/optimize/es/components/popover/input_popover.js +8 -4
  297. package/optimize/es/components/popover/popover.js +41 -131
  298. package/optimize/es/components/popover/popover.styles.js +15 -0
  299. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +29 -0
  300. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
  301. package/optimize/es/components/popover/popover_arrow/index.js +8 -0
  302. package/optimize/es/components/popover/popover_footer.js +15 -12
  303. package/optimize/es/components/popover/popover_footer.styles.js +19 -0
  304. package/optimize/es/components/popover/popover_panel/_popover_panel.js +55 -0
  305. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
  306. package/optimize/es/components/popover/popover_panel/index.js +8 -0
  307. package/optimize/es/components/popover/popover_title.js +15 -12
  308. package/optimize/es/components/popover/popover_title.styles.js +20 -0
  309. package/optimize/es/components/selectable/selectable.js +10 -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 +5 -4
  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/timeline/timeline_item.js +1 -2
  317. package/optimize/es/components/token/token_map.js +115 -107
  318. package/optimize/es/global_styling/functions/logicals.js +22 -0
  319. package/optimize/es/global_styling/mixins/_responsive.js +46 -0
  320. package/optimize/es/global_styling/mixins/index.js +2 -1
  321. package/optimize/es/services/hooks/index.js +1 -0
  322. package/optimize/es/services/hooks/useLatest.js +18 -0
  323. package/optimize/es/test/emotion-prefix.js +1 -1
  324. package/optimize/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  325. package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  326. package/optimize/lib/components/accordion/accordion.js +8 -5
  327. package/optimize/lib/components/avatar/avatar.js +0 -1
  328. package/optimize/lib/components/color_picker/color_picker.js +1 -1
  329. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
  330. package/optimize/lib/components/comment_list/comment.js +23 -18
  331. package/optimize/lib/components/comment_list/comment_event.js +85 -31
  332. package/optimize/lib/components/comment_list/comment_event.styles.js +86 -0
  333. package/optimize/lib/components/comment_list/comment_list.js +8 -3
  334. package/optimize/lib/components/comment_list/comment_timeline.js +21 -38
  335. package/optimize/lib/components/context_menu/context_menu_panel.js +1 -1
  336. package/optimize/lib/components/datagrid/body/data_grid_body.js +7 -4
  337. package/optimize/lib/components/datagrid/body/data_grid_cell.js +17 -8
  338. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +153 -54
  339. package/optimize/lib/components/datagrid/data_grid.js +2 -0
  340. package/optimize/lib/components/datagrid/utils/ref.js +24 -3
  341. package/optimize/lib/components/datagrid/utils/row_heights.js +25 -30
  342. package/optimize/lib/components/error_boundary/error_boundary.js +20 -10
  343. package/optimize/lib/components/error_boundary/error_boundary.styles.js +30 -0
  344. package/optimize/lib/components/focus_trap/focus_trap.js +1 -0
  345. package/optimize/lib/components/form/form.styles.js +20 -0
  346. package/optimize/lib/components/icon/assets/keyboard.js +44 -0
  347. package/optimize/lib/components/icon/assets/tokenMetricCounter.js +44 -0
  348. package/{test-env/components/icon/assets/keyboard_shortcut.js → optimize/lib/components/icon/assets/tokenMetricGauge.js} +3 -3
  349. package/optimize/lib/components/icon/icon_map.js +39 -37
  350. package/optimize/lib/components/icon/svgs/keyboard.svg +3 -0
  351. package/optimize/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
  352. package/optimize/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
  353. package/optimize/lib/components/image/image.js +52 -156
  354. package/optimize/lib/components/image/image.styles.js +40 -0
  355. package/optimize/lib/components/image/image_button.js +68 -0
  356. package/optimize/lib/components/image/image_button.styles.js +48 -0
  357. package/optimize/lib/components/image/image_caption.js +42 -0
  358. package/optimize/lib/components/image/image_caption.styles.js +30 -0
  359. package/optimize/lib/components/image/image_fullscreen_wrapper.js +108 -0
  360. package/optimize/lib/components/image/image_fullscreen_wrapper.styles.js +32 -0
  361. package/optimize/lib/components/image/image_types.js +18 -0
  362. package/optimize/lib/components/image/image_wrapper.js +82 -0
  363. package/optimize/lib/components/image/image_wrapper.styles.js +44 -0
  364. package/optimize/lib/components/popover/input_popover.js +7 -3
  365. package/optimize/lib/components/popover/popover.js +60 -150
  366. package/optimize/lib/components/popover/popover.styles.js +26 -0
  367. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +39 -0
  368. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  369. package/optimize/lib/components/popover/popover_arrow/index.js +13 -0
  370. package/optimize/lib/components/popover/popover_footer.js +26 -14
  371. package/optimize/lib/components/popover/popover_footer.styles.js +30 -0
  372. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +74 -0
  373. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  374. package/optimize/lib/components/popover/popover_panel/index.js +13 -0
  375. package/optimize/lib/components/popover/popover_title.js +26 -14
  376. package/optimize/lib/components/popover/popover_title.styles.js +32 -0
  377. package/optimize/lib/components/selectable/selectable.js +10 -8
  378. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +0 -5
  379. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  380. package/optimize/lib/components/suggest/suggest.js +0 -4
  381. package/optimize/lib/components/text/text.styles.js +4 -3
  382. package/optimize/lib/components/text_diff/text_diff.js +7 -0
  383. package/optimize/lib/components/text_diff/text_diff.styles.js +25 -0
  384. package/optimize/lib/components/timeline/timeline_item.js +1 -2
  385. package/optimize/lib/components/token/token_map.js +115 -107
  386. package/optimize/lib/global_styling/functions/logicals.js +30 -2
  387. package/optimize/lib/global_styling/mixins/_responsive.js +60 -0
  388. package/optimize/lib/global_styling/mixins/index.js +13 -0
  389. package/optimize/lib/services/hooks/index.js +13 -0
  390. package/optimize/lib/services/hooks/useLatest.js +26 -0
  391. package/optimize/lib/test/emotion-prefix.js +1 -1
  392. package/optimize/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  393. package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  394. package/package.json +3 -3
  395. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +0 -4
  396. package/src/components/context_menu/_context_menu_panel.scss +2 -2
  397. package/src/components/index.scss +0 -5
  398. package/src/components/markdown_editor/_markdown_editor.scss +3 -2
  399. package/src/components/tour/_tour.scss +13 -9
  400. package/src/global_styling/mixins/_index.scss +0 -1
  401. package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -2
  402. package/src/themes/amsterdam/overrides/_index.scss +0 -3
  403. package/test-env/components/accessibility/skip_link/skip_link.js +1 -1
  404. package/test-env/components/accordion/accordion.js +8 -5
  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 +53 -24
  426. package/test-env/components/comment_list/comment_event.js +105 -35
  427. package/test-env/components/comment_list/comment_event.styles.js +86 -0
  428. package/test-env/components/comment_list/comment_list.js +46 -12
  429. package/test-env/components/comment_list/comment_timeline.js +30 -40
  430. package/test-env/components/context_menu/context_menu.js +1 -1
  431. package/test-env/components/context_menu/context_menu_panel.js +1 -1
  432. package/test-env/components/datagrid/body/data_grid_body.js +20 -17
  433. package/test-env/components/datagrid/body/data_grid_cell.js +101 -33
  434. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +166 -67
  435. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  436. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  437. package/test-env/components/datagrid/data_grid.js +15 -13
  438. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  439. package/test-env/components/datagrid/utils/ref.js +24 -3
  440. package/test-env/components/datagrid/utils/row_heights.js +25 -30
  441. package/test-env/components/date_picker/date_picker.js +2 -2
  442. package/test-env/components/date_picker/date_picker_range.js +1 -1
  443. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  444. package/test-env/components/error_boundary/error_boundary.js +23 -13
  445. package/test-env/components/error_boundary/error_boundary.styles.js +30 -0
  446. package/test-env/components/form/field_number/field_number.js +1 -1
  447. package/test-env/components/form/field_text/field_text.js +2 -2
  448. package/test-env/components/form/form.styles.js +20 -0
  449. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  450. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  451. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  452. package/test-env/components/header/header_links/header_link.js +1 -1
  453. package/test-env/components/header/header_links/header_links.js +10 -8
  454. package/test-env/components/header/header_logo.js +1 -1
  455. package/test-env/components/icon/assets/keyboard.js +44 -0
  456. package/test-env/components/icon/assets/tokenMetricCounter.js +44 -0
  457. package/{optimize/lib/components/icon/assets/keyboard_shortcut.js → test-env/components/icon/assets/tokenMetricGauge.js} +3 -3
  458. package/test-env/components/icon/icon_map.js +39 -37
  459. package/test-env/components/image/image.js +73 -168
  460. package/test-env/components/image/image.styles.js +40 -0
  461. package/test-env/components/image/image_button.js +77 -0
  462. package/test-env/components/image/image_button.styles.js +48 -0
  463. package/test-env/components/image/image_caption.js +49 -0
  464. package/test-env/components/image/image_caption.styles.js +30 -0
  465. package/test-env/components/image/image_fullscreen_wrapper.js +114 -0
  466. package/test-env/components/image/image_fullscreen_wrapper.styles.js +32 -0
  467. package/test-env/components/image/image_types.js +18 -0
  468. package/test-env/components/image/image_wrapper.js +88 -0
  469. package/test-env/components/image/image_wrapper.styles.js +44 -0
  470. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  471. package/test-env/components/list_group/list_group.js +2 -2
  472. package/test-env/components/list_group/list_group_item.js +2 -2
  473. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  474. package/test-env/components/loading/loading_logo.js +1 -1
  475. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  476. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  477. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  478. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  479. package/test-env/components/notification/notification_event.js +2 -2
  480. package/test-env/components/notification/notification_event_meta.js +1 -1
  481. package/test-env/components/page/page_header/page_header.js +1 -1
  482. package/test-env/components/page/page_header/page_header_content.js +1 -1
  483. package/test-env/components/page/page_template.js +1 -1
  484. package/test-env/components/popover/input_popover.js +7 -3
  485. package/test-env/components/popover/popover.js +75 -166
  486. package/test-env/components/popover/popover.styles.js +26 -0
  487. package/test-env/components/popover/popover_arrow/_popover_arrow.js +47 -0
  488. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
  489. package/test-env/components/popover/popover_arrow/index.js +13 -0
  490. package/test-env/components/popover/popover_footer.js +26 -14
  491. package/test-env/components/popover/popover_footer.styles.js +30 -0
  492. package/test-env/components/popover/popover_panel/_popover_panel.js +119 -0
  493. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +54 -0
  494. package/test-env/components/popover/popover_panel/index.js +13 -0
  495. package/test-env/components/popover/popover_title.js +26 -14
  496. package/test-env/components/popover/popover_title.styles.js +32 -0
  497. package/test-env/components/selectable/selectable.js +10 -8
  498. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  499. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  500. package/test-env/components/selectable/selectable_search/selectable_search.js +0 -5
  501. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
  502. package/test-env/components/suggest/suggest.js +1 -5
  503. package/test-env/components/suggest/suggest_item.js +1 -1
  504. package/test-env/components/table/table_header_button.js +1 -1
  505. package/test-env/components/text/text.styles.js +4 -3
  506. package/test-env/components/text_diff/text_diff.js +7 -0
  507. package/test-env/components/text_diff/text_diff.styles.js +25 -0
  508. package/test-env/components/timeline/timeline_item.js +1 -2
  509. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  510. package/test-env/components/toast/global_toast_list.js +1 -1
  511. package/test-env/components/toast/toast.js +1 -1
  512. package/test-env/components/token/token.js +1 -1
  513. package/test-env/components/token/token_map.js +115 -107
  514. package/test-env/components/tool_tip/icon_tip.js +1 -1
  515. package/test-env/global_styling/functions/logicals.js +30 -2
  516. package/test-env/global_styling/mixins/_responsive.js +60 -0
  517. package/test-env/global_styling/mixins/index.js +13 -0
  518. package/test-env/services/hooks/index.js +13 -0
  519. package/test-env/services/hooks/useLatest.js +26 -0
  520. package/test-env/test/emotion-prefix.js +1 -1
  521. package/test-env/themes/amsterdam/global_styling/functions/shadows.js +1 -1
  522. package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
  523. package/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
  524. package/optimize/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
  525. package/src/components/comment_list/_comment.scss +0 -38
  526. package/src/components/comment_list/_comment_event.scss +0 -77
  527. package/src/components/comment_list/_comment_timeline.scss +0 -27
  528. package/src/components/comment_list/_index.scss +0 -3
  529. package/src/components/error_boundary/_error_boundary.scss +0 -13
  530. package/src/components/error_boundary/_index.scss +0 -1
  531. package/src/components/image/_image.scss +0 -212
  532. package/src/components/image/_index.scss +0 -1
  533. package/src/components/popover/_index.scss +0 -5
  534. package/src/components/popover/_input_popover.scss +0 -7
  535. package/src/components/popover/_popover.scss +0 -182
  536. package/src/components/popover/_popover_footer.scss +0 -27
  537. package/src/components/popover/_popover_title.scss +0 -27
  538. package/src/components/popover/_variables.scss +0 -2
  539. package/src/components/text_diff/_index.scss +0 -1
  540. package/src/components/text_diff/_text_diff.scss +0 -9
  541. package/src/global_styling/mixins/_popover.scss +0 -19
  542. package/src/themes/amsterdam/global_styling/mixins/_popover.scss +0 -5
  543. package/src/themes/amsterdam/overrides/_comment.scss +0 -3
  544. package/src/themes/amsterdam/overrides/_image.scss +0 -10
  545. package/src/themes/amsterdam/overrides/_popover.scss +0 -104
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.EuiPopover = exports.DISPLAY = exports.ANCHOR_POSITIONS = void 0;
8
+ exports.EuiPopover = void 0;
7
9
  exports.getPopoverAlignFromAnchorPosition = getPopoverAlignFromAnchorPosition;
8
10
  exports.getPopoverPositionFromAnchorPosition = getPopoverPositionFromAnchorPosition;
9
11
  exports.popoverAnchorPosition = void 0;
10
12
 
13
+ var _react = require("@emotion/react");
14
+
11
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
16
 
13
- var _react = _interopRequireWildcard(require("react"));
17
+ var _react2 = _interopRequireWildcard(require("react"));
14
18
 
15
19
  var _classnames = _interopRequireDefault(require("classnames"));
16
20
 
@@ -22,8 +26,6 @@ var _services = require("../../services");
22
26
 
23
27
  var _accessibility = require("../accessibility");
24
28
 
25
- var _panel = require("../panel");
26
-
27
29
  var _portal = require("../portal");
28
30
 
29
31
  var _mutation_observer = require("../observer/mutation_observer");
@@ -34,9 +36,13 @@ var _i18n = require("../i18n");
34
36
 
35
37
  var _outside_click_detector = require("../outside_click_detector");
36
38
 
37
- var _react2 = require("@emotion/react");
39
+ var _popover_arrow = require("./popover_arrow");
40
+
41
+ var _popover2 = require("./popover.styles");
38
42
 
39
- 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"];
43
+ var _popover_panel = require("./popover_panel");
44
+
45
+ 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"];
40
46
 
41
47
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
42
48
 
@@ -84,8 +90,6 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
84
90
 
85
91
  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; }
86
92
 
87
- 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); }
88
-
89
93
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
90
94
 
91
95
  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."); }
@@ -137,47 +141,10 @@ function getPopoverAlignFromAnchorPosition(anchorPosition) {
137
141
  return anchorPositionToPopoverPositionMap[align.toLowerCase()];
138
142
  }
139
143
 
140
- var anchorPositionToClassNameMap = {
141
- upCenter: 'euiPopover--anchorUpCenter',
142
- upLeft: 'euiPopover--anchorUpLeft',
143
- upRight: 'euiPopover--anchorUpRight',
144
- downCenter: 'euiPopover--anchorDownCenter',
145
- downLeft: 'euiPopover--anchorDownLeft',
146
- downRight: 'euiPopover--anchorDownRight',
147
- leftCenter: 'euiPopover--anchorLeftCenter',
148
- leftUp: 'euiPopover--anchorLeftUp',
149
- leftDown: 'euiPopover--anchorLeftDown',
150
- rightCenter: 'euiPopover--anchorRightCenter',
151
- rightUp: 'euiPopover--anchorRightUp',
152
- rightDown: 'euiPopover--anchorRightDown'
153
- };
154
- var ANCHOR_POSITIONS = Object.keys(anchorPositionToClassNameMap);
155
- exports.ANCHOR_POSITIONS = ANCHOR_POSITIONS;
156
- var displayToClassNameMap = {
157
- inlineBlock: undefined,
158
- block: 'euiPopover--displayBlock'
159
- };
160
- var DISPLAY = Object.keys(displayToClassNameMap);
161
- exports.DISPLAY = DISPLAY;
162
144
  var DEFAULT_POPOVER_STYLES = {
163
145
  top: 50,
164
146
  left: 50
165
147
  };
166
-
167
- function getElementFromInitialFocus(initialFocus) {
168
- var initialFocusType = _typeof(initialFocus);
169
-
170
- if (initialFocusType === 'string') {
171
- return document.querySelector(initialFocus);
172
- }
173
-
174
- if (initialFocusType === 'function') {
175
- return initialFocus();
176
- }
177
-
178
- return initialFocus;
179
- }
180
-
181
148
  var returnFocusConfig = {
182
149
  preventScroll: true
183
150
  };
@@ -203,14 +170,10 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
203
170
 
204
171
  _defineProperty(_assertThisInitialized(_this), "closingTransitionAnimationFrame", void 0);
205
172
 
206
- _defineProperty(_assertThisInitialized(_this), "updateFocusAnimationFrame", void 0);
207
-
208
173
  _defineProperty(_assertThisInitialized(_this), "button", null);
209
174
 
210
175
  _defineProperty(_assertThisInitialized(_this), "panel", null);
211
176
 
212
- _defineProperty(_assertThisInitialized(_this), "hasSetInitialFocus", false);
213
-
214
177
  _defineProperty(_assertThisInitialized(_this), "descriptionId", (0, _services.htmlIdGenerator)()());
215
178
 
216
179
  _defineProperty(_assertThisInitialized(_this), "closePopover", function () {
@@ -295,8 +258,6 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
295
258
  isOpenStable: true
296
259
  }, function () {
297
260
  _this.positionPopoverFixed();
298
-
299
- _this.updateFocus();
300
261
  });
301
262
  }, durationMatch + delayMatch);
302
263
  });
@@ -422,64 +383,9 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
422
383
  }
423
384
 
424
385
  _createClass(EuiPopover, [{
425
- key: "updateFocus",
426
- value: function updateFocus() {
427
- var _this2 = this;
428
-
429
- // Wait for the DOM to update.
430
- this.updateFocusAnimationFrame = window.requestAnimationFrame(function () {
431
- if (!_this2.props.ownFocus || !_this2.panel || _this2.props.initialFocus === false) {
432
- return;
433
- } // If we've already focused on something inside the panel, everything's fine.
434
-
435
-
436
- if (_this2.hasSetInitialFocus && _this2.panel.contains(document.activeElement)) {
437
- return;
438
- } // Otherwise focus either `initialFocus` or the panel
439
-
440
-
441
- var focusTarget;
442
-
443
- if (_this2.props.initialFocus != null) {
444
- focusTarget = getElementFromInitialFocus(_this2.props.initialFocus);
445
- } // there's a race condition between the popover content becoming visible and this function call
446
- // if the element isn't visible yet (due to css styling) then it can't accept focus
447
- // so wait for another render and try again
448
-
449
-
450
- if (focusTarget == null) {
451
- // there isn't a focus target, one of two reasons:
452
- // #1 is the whole panel hidden? If so, schedule another check
453
- // #2 panel is visible and no `initialFocus` was set, move focus to the panel
454
- var panelVisibility = window.getComputedStyle(_this2.panel).opacity;
455
-
456
- if (panelVisibility === '0') {
457
- // #1
458
- _this2.updateFocus();
459
- } else {
460
- // #2
461
- focusTarget = _this2.panel;
462
- }
463
- } else {
464
- // found an element to focus, but is it visible?
465
- var visibility = window.getComputedStyle(focusTarget).visibility;
466
-
467
- if (visibility === 'hidden') {
468
- // not visible, check again next render frame
469
- _this2.updateFocus();
470
- }
471
- }
472
-
473
- if (focusTarget != null) {
474
- _this2.hasSetInitialFocus = true;
475
- focusTarget.focus();
476
- }
477
- });
478
- }
479
- }, {
480
386
  key: "componentDidMount",
481
387
  value: function componentDidMount() {
482
- var _this3 = this;
388
+ var _this2 = this;
483
389
 
484
390
  if (this.state.suppressingPopover) {
485
391
  // component was created with isOpen=true; now that it's mounted
@@ -489,7 +395,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
489
395
  suppressingPopover: false,
490
396
  isOpening: true
491
397
  }, function () {
492
- _this3.onOpenPopover();
398
+ _this2.onOpenPopover();
493
399
  });
494
400
  }
495
401
 
@@ -500,7 +406,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
500
406
  }, {
501
407
  key: "componentDidUpdate",
502
408
  value: function componentDidUpdate(prevProps) {
503
- var _this4 = this;
409
+ var _this3 = this;
504
410
 
505
411
  // The popover is being opened.
506
412
  if (!prevProps.isOpen && this.props.isOpen) {
@@ -521,9 +427,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
521
427
  // If the user has just closed the popover, queue up the removal of the content after the
522
428
  // transition is complete.
523
429
  this.closingTransitionTimeout = window.setTimeout(function () {
524
- _this4.hasSetInitialFocus = false;
525
-
526
- _this4.setState({
430
+ _this3.setState({
527
431
  isClosing: false
528
432
  });
529
433
  }, closingTransitionTime);
@@ -537,12 +441,11 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
537
441
  clearTimeout(this.strandedFocusTimeout);
538
442
  clearTimeout(this.closingTransitionTimeout);
539
443
  cancelAnimationFrame(this.closingTransitionAnimationFrame);
540
- cancelAnimationFrame(this.updateFocusAnimationFrame);
541
444
  }
542
445
  }, {
543
446
  key: "render",
544
447
  value: function render() {
545
- var _this5 = this;
448
+ var _this4 = this;
546
449
 
547
450
  var _this$props = this.props,
548
451
  anchorClassName = _this$props.anchorClassName,
@@ -566,7 +469,6 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
566
469
  arrowChildren = _this$props.arrowChildren,
567
470
  repositionOnScroll = _this$props.repositionOnScroll,
568
471
  zIndex = _this$props.zIndex,
569
- initialFocus = _this$props.initialFocus,
570
472
  attachToAnchor = _this$props.attachToAnchor,
571
473
  display = _this$props.display,
572
474
  offset = _this$props.offset,
@@ -576,27 +478,24 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
576
478
  ariaLabelledBy = _this$props['aria-labelledby'],
577
479
  container = _this$props.container,
578
480
  focusTrapProps = _this$props.focusTrapProps,
481
+ initialFocusProp = _this$props.initialFocus,
579
482
  tabIndexProp = _this$props.tabIndex,
580
483
  rest = _objectWithoutProperties(_this$props, _excluded);
581
484
 
582
- var classes = (0, _classnames.default)('euiPopover', anchorPosition ? anchorPositionToClassNameMap[anchorPosition] : null, display ? displayToClassNameMap[display] : null, {
485
+ var styles = (0, _popover2.euiPopoverStyles)();
486
+ var popoverStyles = [styles.euiPopover, {
487
+ display: display
488
+ }];
489
+ var classes = (0, _classnames.default)('euiPopover', {
583
490
  'euiPopover-isOpen': this.state.isOpening
584
491
  }, className);
585
492
  var anchorClasses = (0, _classnames.default)('euiPopover__anchor', anchorClassName);
586
- var panelClasses = (0, _classnames.default)('euiPopover__panel', "euiPopover__panel--".concat(this.state.arrowPosition), {
587
- 'euiPopover__panel-isOpen': this.state.isOpening
588
- }, {
589
- 'euiPopover__panel-noArrow': !hasArrow || attachToAnchor
590
- }, {
591
- 'euiPopover__panel-isAttached': attachToAnchor
592
- }, panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className);
493
+ var showArrow = hasArrow && !attachToAnchor;
593
494
  var panel;
594
495
 
595
496
  if (!this.state.suppressingPopover && (isOpen || this.state.isClosing)) {
596
497
  var tabIndex = tabIndexProp;
597
-
598
- var _initialFocus;
599
-
498
+ var initialFocus = initialFocusProp;
600
499
  var ariaDescribedby;
601
500
  var ariaLive;
602
501
  var panelAriaModal = panelProps !== null && panelProps !== void 0 && panelProps.hasOwnProperty('aria-modal') ? panelProps['aria-modal'] : 'true';
@@ -606,9 +505,11 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
606
505
  tabIndex = tabIndexProp !== null && tabIndexProp !== void 0 ? tabIndexProp : 0;
607
506
  ariaLive = 'off';
608
507
 
609
- _initialFocus = function _initialFocus() {
610
- return _this5.panel;
611
- };
508
+ if (!initialFocus) {
509
+ initialFocus = function initialFocus() {
510
+ return _this4.panel;
511
+ };
512
+ }
612
513
  } else {
613
514
  ariaLive = 'assertive';
614
515
  }
@@ -617,32 +518,33 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
617
518
 
618
519
  if (ownFocus || popoverScreenReaderText) {
619
520
  ariaDescribedby = this.descriptionId;
620
- focusTrapScreenReaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
521
+ focusTrapScreenReaderText = (0, _react.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react.jsx)("p", {
621
522
  id: this.descriptionId
622
- }, ownFocus && (0, _react2.jsx)(_i18n.EuiI18n, {
523
+ }, ownFocus && (0, _react.jsx)(_i18n.EuiI18n, {
623
524
  token: "euiPopover.screenReaderAnnouncement",
624
525
  default: "You are in a dialog. To close this dialog, hit escape."
625
526
  }), popoverScreenReaderText));
626
527
  }
627
528
 
628
- var arrowClassNames = (0, _classnames.default)('euiPopover__panelArrow', "euiPopover__panelArrow--".concat(this.state.arrowPosition));
629
529
  var returnFocus = this.state.isOpenStable ? returnFocusConfig : false;
630
- panel = (0, _react2.jsx)(_portal.EuiPortal, {
530
+ panel = (0, _react.jsx)(_portal.EuiPortal, {
631
531
  insert: insert
632
- }, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, _extends({
532
+ }, (0, _react.jsx)(_focus_trap.EuiFocusTrap, _extends({
633
533
  clickOutsideDisables: true
634
534
  }, focusTrapProps, {
635
535
  returnFocus: returnFocus // Ignore temporary state of indecisive focus
636
536
  ,
637
- initialFocus: _initialFocus,
537
+ initialFocus: initialFocus,
638
538
  onDeactivation: onTrapDeactivation,
639
539
  onClickOutside: this.onClickOutside,
640
540
  onEscapeKey: this.onEscapeKey,
641
541
  disabled: !ownFocus || !this.state.isOpenStable || this.state.isClosing
642
- }), (0, _react2.jsx)(_panel.EuiPanel, _extends({}, panelProps, {
643
- "data-popover-panel": true,
542
+ }), (0, _react.jsx)(_popover_panel.EuiPopoverPanel, _extends({}, panelProps, {
644
543
  panelRef: this.panelRef,
645
- className: panelClasses,
544
+ isOpen: this.state.isOpening,
545
+ position: this.state.arrowPosition,
546
+ isAttached: attachToAnchor,
547
+ className: (0, _classnames.default)(panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className),
646
548
  hasShadow: false,
647
549
  paddingSize: panelPaddingSize,
648
550
  tabIndex: tabIndex,
@@ -656,10 +558,10 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
656
558
  // Adding `will-change` to reduce risk of a blurry animation in Chrome 86+
657
559
  willChange: !this.state.isOpenStable ? 'transform, opacity' : undefined
658
560
  })
659
- }), (0, _react2.jsx)("div", {
660
- className: arrowClassNames,
561
+ }), showArrow && this.state.arrowPosition && (0, _react.jsx)(_popover_arrow.EuiPopoverArrow, {
562
+ position: this.state.arrowPosition,
661
563
  style: this.state.arrowStyles
662
- }, arrowChildren), focusTrapScreenReaderText, (0, _react2.jsx)(_mutation_observer.EuiMutationObserver, {
564
+ }, arrowChildren), focusTrapScreenReaderText, (0, _react.jsx)(_mutation_observer.EuiMutationObserver, {
663
565
  observerOptions: {
664
566
  attributes: true,
665
567
  // element attribute changes
@@ -672,30 +574,38 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
672
574
  },
673
575
  onMutation: this.onMutation
674
576
  }, function (mutationRef) {
675
- return (0, _react2.jsx)("div", {
577
+ return (0, _react.jsx)("div", {
676
578
  ref: mutationRef
677
579
  }, children);
678
580
  }))));
679
- } // react-focus-on and relataed do not register outside click detection
581
+ } // react-focus-on and related do not register outside click detection
680
582
  // when disabled, so we still need to conditionally check for that ourselves
681
583
 
682
584
 
683
585
  if (ownFocus) {
684
- return (0, _react2.jsx)("div", _extends({
586
+ return (0, _react.jsx)("div", _extends({
587
+ css: popoverStyles,
685
588
  className: classes,
686
589
  ref: popoverRef
687
- }, rest), (0, _react2.jsx)("div", {
590
+ }, rest), (0, _react.jsx)("div", {
591
+ css: /*#__PURE__*/(0, _react.css)({
592
+ display: display
593
+ }, ";label:render;"),
688
594
  className: anchorClasses,
689
595
  ref: this.buttonRef
690
596
  }, button instanceof HTMLElement ? null : button), panel);
691
597
  } else {
692
- return (0, _react2.jsx)(_outside_click_detector.EuiOutsideClickDetector, {
598
+ return (0, _react.jsx)(_outside_click_detector.EuiOutsideClickDetector, {
693
599
  onOutsideClick: this.closePopover
694
- }, (0, _react2.jsx)("div", _extends({
600
+ }, (0, _react.jsx)("div", _extends({
601
+ css: popoverStyles,
695
602
  className: classes,
696
603
  ref: popoverRef,
697
604
  onKeyDown: this.onKeyDown
698
- }, rest), (0, _react2.jsx)("div", {
605
+ }, rest), (0, _react.jsx)("div", {
606
+ css: /*#__PURE__*/(0, _react.css)({
607
+ display: display
608
+ }, ";label:render;"),
699
609
  className: anchorClasses,
700
610
  ref: this.buttonRef
701
611
  }, button instanceof HTMLElement ? null : button), panel));
@@ -727,7 +637,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
727
637
  }]);
728
638
 
729
639
  return EuiPopover;
730
- }(_react.Component);
640
+ }(_react2.Component);
731
641
 
732
642
  exports.EuiPopover = EuiPopover;
733
643
 
@@ -737,18 +647,10 @@ _defineProperty(EuiPopover, "defaultProps", {
737
647
  anchorPosition: 'downCenter',
738
648
  panelPaddingSize: 'm',
739
649
  hasArrow: true,
740
- display: 'inlineBlock'
650
+ display: 'inline-block'
741
651
  });
742
652
 
743
653
  EuiPopover.propTypes = {
744
- className: _propTypes.default.string,
745
-
746
- /**
747
- * Provide a name to the popover panel
748
- */
749
- "aria-label": _propTypes.default.string,
750
- "data-test-subj": _propTypes.default.string,
751
-
752
654
  /**
753
655
  * Class name passed to the direct parent of the button
754
656
  */
@@ -785,7 +687,7 @@ EuiPopover.propTypes = {
785
687
  /**
786
688
  * CSS display type for both the popover and anchor
787
689
  */
788
- display: _propTypes.default.oneOf(["inlineBlock", "block"]),
690
+ display: _propTypes.default.any,
789
691
 
790
692
  /**
791
693
  * Object of props passed to EuiFocusTrap
@@ -801,11 +703,11 @@ EuiPopover.propTypes = {
801
703
  * Specifies what element should initially have focus; Can be a DOM
802
704
  * node, or a selector string (which will be passed to
803
705
  * document.querySelector() to find the DOM node), or a function that
804
- * returns a DOM node
805
- * Set to `false` to prevent initial auto-focus. Use only
806
- * when your app handles setting initial focus state.
706
+ * returns a DOM node.
707
+ *
708
+ * If not passed, initial focus defaults to the popover panel.
807
709
  */
808
- initialFocus: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([false])]),
710
+ initialFocus: _propTypes.default.any,
809
711
 
810
712
  /**
811
713
  * Passed directly to EuiPortal for DOM positioning. Both properties are
@@ -842,7 +744,7 @@ EuiPopover.propTypes = {
842
744
  panelStyle: _propTypes.default.any,
843
745
 
844
746
  /**
845
- * Object of props passed to EuiPanel
747
+ * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
846
748
  */
847
749
  panelProps: _propTypes.default.any,
848
750
  panelRef: _propTypes.default.any,
@@ -892,9 +794,16 @@ EuiPopover.propTypes = {
892
794
  */
893
795
  arrowChildren: _propTypes.default.node,
894
796
 
797
+ /**
798
+ * Provide a name to the popover panel
799
+ */
800
+ "aria-label": _propTypes.default.string,
801
+
895
802
  /**
896
803
  * Alternative option to `aria-label` that takes an `id`.
897
804
  * Usually takes the `id` of the popover title
898
805
  */
899
- "aria-labelledby": _propTypes.default.string
806
+ "aria-labelledby": _propTypes.default.string,
807
+ className: _propTypes.default.string,
808
+ "data-test-subj": _propTypes.default.string
900
809
  };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiPopoverStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ var euiPopoverStyles = function euiPopoverStyles() {
20
+ return {
21
+ // Base anchor wrapper
22
+ euiPopover: /*#__PURE__*/(0, _react.css)("position:relative;vertical-align:middle;", (0, _global_styling.logicalCSS)('max-width', '100%'), ";;label:euiPopover;")
23
+ };
24
+ };
25
+
26
+ exports.euiPopoverStyles = euiPopoverStyles;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.POSITIONS = exports.EuiPopoverArrow = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _popover_arrow = require("./_popover_arrow.styles");
13
+
14
+ var _services = require("../../../services");
15
+
16
+ var _react2 = require("@emotion/react");
17
+
18
+ var _excluded = ["children", "position"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ var POSITIONS = ['top', 'left', 'right', 'bottom'];
29
+ exports.POSITIONS = POSITIONS;
30
+
31
+ var EuiPopoverArrow = function EuiPopoverArrow(_ref) {
32
+ var children = _ref.children,
33
+ position = _ref.position,
34
+ rest = _objectWithoutProperties(_ref, _excluded);
35
+
36
+ var euiTheme = (0, _services.useEuiTheme)();
37
+ var styles = (0, _popover_arrow.euiPopoverArrowStyles)(euiTheme);
38
+ var cssStyles = [styles.euiPopoverArrow, styles[position]];
39
+ return (0, _react2.jsx)("div", _extends({
40
+ "data-popover-arrow": position,
41
+ css: cssStyles
42
+ }, rest), children);
43
+ };
44
+
45
+ exports.EuiPopoverArrow = EuiPopoverArrow;
46
+ EuiPopoverArrow.propTypes = {
47
+ className: _propTypes.default.string,
48
+ "aria-label": _propTypes.default.string,
49
+ "data-test-subj": _propTypes.default.string,
50
+ position: _propTypes.default.any.isRequired
51
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.popoverArrowSize = exports.euiPopoverArrowStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../../global_styling");
11
+
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ var popoverArrowSize = 'm';
20
+ exports.popoverArrowSize = popoverArrowSize;
21
+
22
+ var euiPopoverArrowStyles = function euiPopoverArrowStyles(euiThemeContext) {
23
+ var euiTheme = euiThemeContext.euiTheme; // Match the background color of panels
24
+
25
+ var borderColor = (0, _global_styling.euiBackgroundColor)(euiThemeContext, 'plain');
26
+ var arrowSize = euiTheme.size[popoverArrowSize];
27
+ return {
28
+ // Base
29
+ euiPopoverArrow: /*#__PURE__*/(0, _react.css)("position:absolute;", (0, _global_styling.logicalSizeCSS)(0, 0), "&:before{content:'';position:absolute;", (0, _global_styling.logicalSizeCSS)(0, 0), ";};label:euiPopoverArrow;"),
30
+ // POSITIONS
31
+ top: /*#__PURE__*/(0, _react.css)("&:before{", _global_styling.logicals.bottom, ":-", arrowSize, ";", _global_styling.logicals['border-left'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-right'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-top'], ":", arrowSize, " solid ", borderColor, ";};label:top;"),
32
+ bottom: /*#__PURE__*/(0, _react.css)("&:before{", _global_styling.logicals.top, ":-", arrowSize, ";", _global_styling.logicals['border-left'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-right'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-bottom'], ":", arrowSize, " solid ", borderColor, ";};label:bottom;"),
33
+ left: /*#__PURE__*/(0, _react.css)("&:before{", _global_styling.logicals.top, ":50%;", _global_styling.logicals.right, ":-", arrowSize, ";", _global_styling.logicals['border-top'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-bottom'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-left'], ":", arrowSize, " solid ", borderColor, ";};label:left;"),
34
+ right: /*#__PURE__*/(0, _react.css)("&:before{", _global_styling.logicals.top, ":50%;", _global_styling.logicals.left, ":-", arrowSize, ";", _global_styling.logicals['border-top'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-bottom'], ":", arrowSize, " solid transparent;", _global_styling.logicals['border-right'], ":", arrowSize, " solid ", borderColor, ";};label:right;")
35
+ };
36
+ };
37
+
38
+ exports.euiPopoverArrowStyles = euiPopoverArrowStyles;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiPopoverArrow", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _popover_arrow.EuiPopoverArrow;
10
+ }
11
+ });
12
+
13
+ var _popover_arrow = require("./_popover_arrow");