@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
@@ -0,0 +1,114 @@
1
+ var _excluded = ["children", "className", "isOpen", "isAttached", "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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
+
7
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+
9
+ 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); }
10
+
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+
13
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
+
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ /*
22
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
+ * or more contributor license agreements. Licensed under the Elastic License
24
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
25
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
26
+ * Side Public License, v 1.
27
+ */
28
+ import React, { createContext, useContext } from 'react';
29
+ import PropTypes from "prop-types";
30
+ import classNames from 'classnames';
31
+ import { useEuiTheme } from '../../../services';
32
+ import { EuiPanel } from '../../panel/panel';
33
+ import { euiPopoverPanelStyles } from './_popover_panel.styles';
34
+ import { jsx as ___EmotionJSX } from "@emotion/react";
35
+ export var EuiPopoverPanelContext = /*#__PURE__*/createContext({
36
+ paddingSize: 'l'
37
+ });
38
+
39
+ /**
40
+ * *INTERNAL ONLY*
41
+ * Purely for re-use of styling
42
+ */
43
+ export var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
44
+ var children = _ref.children,
45
+ className = _ref.className,
46
+ isOpen = _ref.isOpen,
47
+ isAttached = _ref.isAttached,
48
+ position = _ref.position,
49
+ rest = _objectWithoutProperties(_ref, _excluded);
50
+
51
+ var panelContext = useContext(EuiPopoverPanelContext);
52
+ if (rest.paddingSize) panelContext.paddingSize = rest.paddingSize;
53
+ var euiThemeContext = useEuiTheme(); // Using BEM child class for BWC
54
+
55
+ var classes = classNames('euiPopover__panel', className);
56
+ var styles = euiPopoverPanelStyles(euiThemeContext);
57
+ var panelCSS = [styles.euiPopover__panel, isOpen && styles.isOpen, isOpen && position && styles[position]];
58
+
59
+ if (isAttached) {
60
+ panelCSS = [].concat(_toConsumableArray(panelCSS), [isOpen && styles.attached.isOpen, position && styles.attached[position]]);
61
+ }
62
+
63
+ return ___EmotionJSX(EuiPopoverPanelContext.Provider, {
64
+ value: panelContext
65
+ }, ___EmotionJSX(EuiPanel, _extends({
66
+ className: classes,
67
+ css: panelCSS,
68
+ "data-popover-panel": true,
69
+ "data-popover-open": isOpen || undefined
70
+ }, rest), children));
71
+ };
72
+ EuiPopoverPanel.propTypes = {
73
+ element: PropTypes.oneOf(["div"]),
74
+
75
+ /**
76
+ * Adds a medium shadow to the panel;
77
+ * Only works when `color="plain"`
78
+ */
79
+ hasShadow: PropTypes.bool,
80
+
81
+ /**
82
+ * Adds a slight 1px border on all edges.
83
+ * Only works when `color="plain | transparent"`
84
+ */
85
+ hasBorder: PropTypes.bool,
86
+
87
+ /**
88
+ * Padding for all four sides
89
+ */
90
+ paddingSize: PropTypes.any,
91
+
92
+ /**
93
+ * Corner border radius
94
+ */
95
+ borderRadius: PropTypes.any,
96
+
97
+ /**
98
+ * When true the panel will grow in height to match `EuiFlexItem`
99
+ */
100
+ grow: PropTypes.bool,
101
+ panelRef: PropTypes.any,
102
+
103
+ /**
104
+ * Background color of the panel;
105
+ * Usually a lightened form of the brand colors
106
+ */
107
+ color: PropTypes.any,
108
+ className: PropTypes.string,
109
+ "aria-label": PropTypes.string,
110
+ "data-test-subj": PropTypes.string,
111
+ isOpen: PropTypes.bool,
112
+ isAttached: PropTypes.bool,
113
+ position: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf([null])])
114
+ };
@@ -0,0 +1,42 @@
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 { euiShadow, euiShadowFlat, euiShadowMedium } from '../../../themes/amsterdam/global_styling/mixins';
10
+ import { euiCanAnimate, logicalCSS } from '../../../global_styling';
11
+ var translateDistance = 's';
12
+ /**
13
+ * 1. Can expand further, but it looks weird if it's smaller than the originating button.
14
+ * 2. Animation happens on the panel. But don't animate position when using the attached mode like for inputs
15
+ * 3. Make sure the panel stays within the window.
16
+ */
17
+
18
+ export var euiPopoverPanelStyles = function euiPopoverPanelStyles(euiThemeContext) {
19
+ var euiTheme = euiThemeContext.euiTheme;
20
+ return {
21
+ // Base
22
+ euiPopover__panel: /*#__PURE__*/css("position:absolute;", logicalCSS('min-width', "".concat(euiTheme.base * 7, "px")), ";", logicalCSS('max-width', "calc(100vw - ".concat(euiTheme.size.xl, ")")), ";backface-visibility:hidden;pointer-events:none;opacity:0;transform:translateY(0) translateX(0) translateZ(0);", euiShadowMedium(euiThemeContext, {
23
+ property: 'filter'
24
+ }), " &:focus{outline-offset:0;};label:euiPopover__panel;"),
25
+ // Is visible / open
26
+ isOpen: /*#__PURE__*/css("opacity:1;pointer-events:auto;", euiCanAnimate, "{transition:opacity ", euiTheme.animation.bounce, " ", euiTheme.animation.slow, ",transform ", euiTheme.animation.bounce, " calc(", euiTheme.animation.slow, " + 100ms);};label:isOpen;"),
27
+ // Positions
28
+ top: /*#__PURE__*/css("transform:translateY(", euiTheme.size[translateDistance], ") translateZ(0);;label:top;"),
29
+ bottom: /*#__PURE__*/css("transform:translateY(-", euiTheme.size[translateDistance], ") translateZ(0);;label:bottom;"),
30
+ left: /*#__PURE__*/css("transform:translateX(", euiTheme.size[translateDistance], ") translateZ(0);;label:left;"),
31
+ right: /*#__PURE__*/css("transform:translateX(-", euiTheme.size[translateDistance], ") translateZ(0);;label:right;"),
32
+ // Attached version overrides
33
+ attached: {
34
+ isOpen: /*#__PURE__*/css("filter:none;", euiCanAnimate, "{transition:opacity ", euiTheme.animation.bounce, " ", euiTheme.animation.slow, ";};label:isOpen;"),
35
+ top: /*#__PURE__*/css(euiShadowFlat(euiThemeContext), ";;label:top;"),
36
+ bottom: /*#__PURE__*/css(euiShadow(euiThemeContext, 'm'), ";;label:bottom;"),
37
+ // Satisfies TS
38
+ left: /*#__PURE__*/css(";label:left;"),
39
+ right: /*#__PURE__*/css(";label:right;")
40
+ }
41
+ };
42
+ };
@@ -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 { EuiPopoverPanel } from './_popover_panel';
@@ -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 { euiPopoverTitleStyles } from './popover_title.styles';
22
+ import { EuiPopoverPanelContext } from './popover_panel/_popover_panel';
20
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
- var paddingSizeToClassNameMap = {
22
- none: 'euiPopoverTitle--paddingNone',
23
- s: 'euiPopoverTitle--paddingSmall',
24
- m: 'euiPopoverTitle--paddingMedium',
25
- l: 'euiPopoverTitle--paddingLarge'
26
- };
27
- export var PADDING_SIZES = keysOf(paddingSizeToClassNameMap);
28
24
  export var EuiPopoverTitle = function EuiPopoverTitle(_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('euiPopoverTitle', // @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 = euiPopoverTitleStyles(euiTheme, panelPadding);
35
+ var paddingStyles = useEuiPaddingCSS();
36
+ var cssStyles = [styles.euiPopoverTitle, // If a paddingSize is not directly provided, inherit from the EuiPopoverPanel
37
+ paddingStyles[paddingSize || panelPadding]];
38
+ var classes = classNames('euiPopoverTitle', className);
37
39
  return ___EmotionJSX("div", _extends({
40
+ css: cssStyles,
38
41
  className: classes
39
42
  }, rest), children);
40
43
  };
@@ -0,0 +1,20 @@
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 { euiPaddingSize, logicalCSS } from '../../global_styling';
10
+ import { euiTitle } from '../title/title.styles';
11
+ export var euiPopoverTitleStyles = function euiPopoverTitleStyles(euiThemeContext, panelPadding) {
12
+ var euiTheme = euiThemeContext.euiTheme; // If the popover's containing panel has padding applied,
13
+ // ensure the title expands to cover that padding and
14
+
15
+ var panelPaddingSize = euiPaddingSize(euiThemeContext, panelPadding);
16
+ return {
17
+ // Base
18
+ euiPopoverTitle: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxs'), ";", logicalCSS('border-bottom', euiTheme.border.thin), ";margin:-", panelPaddingSize, " -", panelPaddingSize, " ", panelPaddingSize, ";;label:euiPopoverTitle;")
19
+ };
20
+ };
@@ -1,34 +1,22 @@
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
1
  var _excluded = ["button"];
4
2
 
5
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); }
6
4
 
7
- 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; }
8
-
9
- 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; }
10
-
11
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12
-
13
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14
-
15
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
6
 
17
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
7
+ 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."); }
18
8
 
19
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9
+ 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); }
20
10
 
21
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
12
 
23
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
13
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
24
14
 
25
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
16
 
27
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
-
29
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17
+ 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; }
30
18
 
31
- 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; }
19
+ 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; }
32
20
 
33
21
  /*
34
22
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -37,7 +25,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
37
25
  * in compliance with, at your election, the Elastic License 2.0 or the Server
38
26
  * Side Public License, v 1.
39
27
  */
40
- import React, { Component } from 'react';
28
+ import React, { useState, useEffect } from 'react';
41
29
  import PropTypes from "prop-types";
42
30
  import { EuiPopover } from './popover';
43
31
  import { EuiPortal } from '../portal';
@@ -48,77 +36,46 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
48
36
  * then the button element is moved into the popover dom.
49
37
  * On unmount, the button is moved back to its original location.
50
38
  */
51
- export var EuiWrappingPopover = /*#__PURE__*/function (_Component) {
52
- _inherits(EuiWrappingPopover, _Component);
53
-
54
- var _super = _createSuper(EuiWrappingPopover);
55
-
56
- function EuiWrappingPopover() {
57
- var _this;
58
-
59
- _classCallCheck(this, EuiWrappingPopover);
60
-
61
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
62
- args[_key] = arguments[_key];
39
+ export var EuiWrappingPopover = function EuiWrappingPopover(_ref) {
40
+ var button = _ref.button,
41
+ rest = _objectWithoutProperties(_ref, _excluded);
42
+
43
+ var _useState = useState(null),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ anchor = _useState2[0],
46
+ setAnchor = _useState2[1];
47
+
48
+ var _useState3 = useState(null),
49
+ _useState4 = _slicedToArray(_useState3, 2),
50
+ portal = _useState4[0],
51
+ setPortal = _useState4[1];
52
+
53
+ useEffect(function () {
54
+ if (anchor) {
55
+ // move the button into the popover DOM
56
+ anchor.insertAdjacentElement('beforebegin', button);
63
57
  }
64
58
 
65
- _this = _super.call.apply(_super, [this].concat(args));
66
-
67
- _defineProperty(_assertThisInitialized(_this), "portal", null);
68
-
69
- _defineProperty(_assertThisInitialized(_this), "anchor", null);
70
-
71
- _defineProperty(_assertThisInitialized(_this), "setPortalRef", function (node) {
72
- _this.portal = node;
73
- });
74
-
75
- _defineProperty(_assertThisInitialized(_this), "setAnchorRef", function (node) {
76
- _this.anchor = node;
77
- });
78
-
79
- return _this;
80
- }
81
-
82
- _createClass(EuiWrappingPopover, [{
83
- key: "componentDidMount",
84
- value: function componentDidMount() {
85
- if (this.anchor) {
86
- this.anchor.insertAdjacentElement('beforebegin', this.props.button);
87
- }
88
- }
89
- }, {
90
- key: "componentWillUnmount",
91
- value: function componentWillUnmount() {
92
- if (this.props.button.parentNode) {
93
- if (this.portal) {
94
- this.portal.insertAdjacentElement('beforebegin', this.props.button);
95
- }
59
+ return function () {
60
+ if (portal) {
61
+ // move the button back out of the popover DOM
62
+ portal.insertAdjacentElement('beforebegin', button);
96
63
  }
64
+ };
65
+ }, [anchor, button, portal]);
66
+ return ___EmotionJSX(EuiPortal, {
67
+ portalRef: setPortal,
68
+ insert: {
69
+ sibling: button,
70
+ position: 'after'
97
71
  }
98
- }, {
99
- key: "render",
100
- value: function render() {
101
- var _this$props = this.props,
102
- button = _this$props.button,
103
- rest = _objectWithoutProperties(_this$props, _excluded);
104
-
105
- return ___EmotionJSX(EuiPortal, {
106
- portalRef: this.setPortalRef,
107
- insert: {
108
- sibling: this.props.button,
109
- position: 'after'
110
- }
111
- }, ___EmotionJSX(EuiPopover, _extends({}, rest, {
112
- button: ___EmotionJSX("div", {
113
- ref: this.setAnchorRef,
114
- className: "euiWrappingPopover__anchor"
115
- })
116
- })));
117
- }
118
- }]);
119
-
120
- return EuiWrappingPopover;
121
- }(Component);
72
+ }, ___EmotionJSX(EuiPopover, _extends({}, rest, {
73
+ button: ___EmotionJSX("div", {
74
+ ref: setAnchor,
75
+ className: "euiWrappingPopover__anchor"
76
+ })
77
+ })));
78
+ };
122
79
  EuiWrappingPopover.propTypes = {
123
80
  button: PropTypes.any.isRequired
124
81
  };
@@ -1,26 +1,14 @@
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); }
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
2
 
3
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ 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."); }
4
4
 
5
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
5
+ 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); }
6
6
 
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8
8
 
9
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
9
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
10
 
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
-
13
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
-
15
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
16
-
17
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
-
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
-
21
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
-
23
- 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; }
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
12
 
25
13
  /*
26
14
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -34,83 +22,54 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
34
22
  * NOTE: We can't test this component because Enzyme doesn't support rendering
35
23
  * into portals.
36
24
  */
37
- import { Component } from 'react';
38
- import PropTypes from "prop-types";
25
+ import { useState, useEffect } from 'react';
39
26
  import { createPortal } from 'react-dom';
40
27
  import { keysOf } from '../common';
28
+ import { useUpdateEffect } from '../../services';
41
29
  export var insertPositions = {
42
30
  after: 'afterend',
43
31
  before: 'beforebegin'
44
32
  };
45
33
  export var INSERT_POSITIONS = keysOf(insertPositions);
46
- export var EuiPortal = /*#__PURE__*/function (_Component) {
47
- _inherits(EuiPortal, _Component);
48
-
49
- var _super = _createSuper(EuiPortal);
50
-
51
- function EuiPortal(props) {
52
- var _this;
34
+ export var EuiPortal = function EuiPortal(_ref) {
35
+ var insert = _ref.insert,
36
+ portalRef = _ref.portalRef,
37
+ children = _ref.children;
53
38
 
54
- _classCallCheck(this, EuiPortal);
39
+ var _useState = useState(null),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ portalNode = _useState2[0],
42
+ setPortalNode = _useState2[1]; // pull `sibling` and `position` out of insert in case their wrapping object is recreated every render
55
43
 
56
- _this = _super.call(this, props);
57
44
 
58
- _defineProperty(_assertThisInitialized(_this), "portalNode", void 0);
45
+ var _ref2 = insert || {},
46
+ sibling = _ref2.sibling,
47
+ position = _ref2.position;
59
48
 
60
- var insert = _this.props.insert;
61
- _this.portalNode = document.createElement('div');
49
+ useEffect(function () {
50
+ var portalNode = document.createElement('div');
51
+ portalNode.dataset.euiportal = 'true';
52
+ setPortalNode(portalNode);
62
53
 
63
- if (insert == null) {
54
+ if (sibling == null || position == null) {
64
55
  // no insertion defined, append to body
65
- document.body.appendChild(_this.portalNode);
56
+ document.body.appendChild(portalNode);
66
57
  } else {
67
58
  // inserting before or after an element
68
- var sibling = insert.sibling,
69
- position = insert.position;
70
- sibling.insertAdjacentElement(insertPositions[position], _this.portalNode);
59
+ sibling.insertAdjacentElement(insertPositions[position], portalNode);
71
60
  }
72
61
 
73
- return _this;
74
- }
75
-
76
- _createClass(EuiPortal, [{
77
- key: "componentDidMount",
78
- value: function componentDidMount() {
79
- this.updatePortalRef(this.portalNode);
80
- }
81
- }, {
82
- key: "componentWillUnmount",
83
- value: function componentWillUnmount() {
84
- if (this.portalNode.parentNode) {
85
- this.portalNode.parentNode.removeChild(this.portalNode);
86
- }
87
-
88
- this.updatePortalRef(null);
89
- }
90
- }, {
91
- key: "updatePortalRef",
92
- value: function updatePortalRef(ref) {
93
- if (this.props.portalRef) {
94
- this.props.portalRef(ref);
62
+ return function () {
63
+ if (portalNode && portalNode.parentNode) {
64
+ portalNode.parentNode.removeChild(portalNode);
95
65
  }
96
- }
97
- }, {
98
- key: "render",
99
- value: function render() {
100
- return /*#__PURE__*/createPortal(this.props.children, this.portalNode);
101
- }
102
- }]);
103
-
104
- return EuiPortal;
105
- }(Component);
106
- EuiPortal.propTypes = {
107
- /**
108
- * ReactNode to render as this component's content
109
- */
110
- children: PropTypes.node.isRequired,
111
- insert: PropTypes.shape({
112
- sibling: PropTypes.any.isRequired,
113
- position: PropTypes.oneOf(["before", "after"]).isRequired
114
- }),
115
- portalRef: PropTypes.func
66
+ };
67
+ }, [sibling, position]);
68
+ useUpdateEffect(function () {
69
+ portalRef === null || portalRef === void 0 ? void 0 : portalRef(portalNode);
70
+ return function () {
71
+ portalRef === null || portalRef === void 0 ? void 0 : portalRef(null);
72
+ };
73
+ }, [portalNode, portalRef]);
74
+ return portalNode == null ? null : /*#__PURE__*/createPortal(children, portalNode);
116
75
  };
@@ -74,6 +74,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
74
74
  var _super = _createSuper(EuiSelectable);
75
75
 
76
76
  function EuiSelectable(props) {
77
+ var _searchProps$onChange;
78
+
77
79
  var _this;
78
80
 
79
81
  _classCallCheck(this, EuiSelectable);
@@ -94,10 +96,6 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
94
96
 
95
97
  _defineProperty(_assertThisInitialized(_this), "listId", void 0);
96
98
 
97
- _defineProperty(_assertThisInitialized(_this), "hasActiveOption", function () {
98
- return _this.state.activeOptionIndex != null;
99
- });
100
-
101
99
  _defineProperty(_assertThisInitialized(_this), "onMouseDown", function () {
102
100
  // Bypass onFocus when a click event originates from this.containerRef.
103
101
  // Prevents onFocus from scrolling away from a clicked option and negating the selection event.
@@ -111,7 +109,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
111
109
  return;
112
110
  }
113
111
 
114
- if (!_this.state.visibleOptions.length || _this.state.activeOptionIndex) {
112
+ if (!_this.state.visibleOptions.length || _this.state.activeOptionIndex != null) {
115
113
  return;
116
114
  }
117
115
 
@@ -248,6 +246,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
248
246
  });
249
247
 
250
248
  _defineProperty(_assertThisInitialized(_this), "onSearchChange", function (searchValue, visibleOptions) {
249
+ var _this$props$searchPro, _this$props$searchPro2;
250
+
251
251
  _this.setState({
252
252
  searchValue: searchValue,
253
253
  visibleOptions: visibleOptions,
@@ -258,9 +258,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
258
258
  }
259
259
  });
260
260
 
261
- if (_this.props.searchProps && _this.props.searchProps.onChange) {
262
- _this.props.searchProps.onChange(searchValue, visibleOptions);
263
- }
261
+ (_this$props$searchPro = _this.props.searchProps) === null || _this$props$searchPro === void 0 ? void 0 : (_this$props$searchPro2 = _this$props$searchPro.onChange) === null || _this$props$searchPro2 === void 0 ? void 0 : _this$props$searchPro2.call(_this$props$searchPro, searchValue, visibleOptions);
264
262
  });
265
263
 
266
264
  _defineProperty(_assertThisInitialized(_this), "onContainerBlur", function (e) {
@@ -314,8 +312,9 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
314
312
  searchProps = props.searchProps;
315
313
  var initialSearchValue = (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) || String((searchProps === null || searchProps === void 0 ? void 0 : searchProps.defaultValue) || '');
316
314
 
317
- var _visibleOptions = getMatchingOptions(_options, initialSearchValue, _isPreFiltered); // ensure that the currently selected single option is active if it is in the visibleOptions
315
+ var _visibleOptions = getMatchingOptions(_options, initialSearchValue, _isPreFiltered);
318
316
 
317
+ searchProps === null || searchProps === void 0 ? void 0 : (_searchProps$onChange = searchProps.onChange) === null || _searchProps$onChange === void 0 ? void 0 : _searchProps$onChange.call(searchProps, initialSearchValue, _visibleOptions); // ensure that the currently selected single option is active if it is in the visibleOptions
319
318
 
320
319
  var selectedOptions = _options.filter(function (option) {
321
320
  return option.checked;