@elastic/eui 110.0.0 → 111.1.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 (572) hide show
  1. package/es/components/avatar/avatar.js +1 -1
  2. package/es/components/badge/badge.js +1 -1
  3. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  4. package/es/components/basic_table/basic_table.js +36 -55
  5. package/es/components/basic_table/in_memory_table.js +6 -6
  6. package/es/components/beacon/beacon.styles.js +1 -1
  7. package/es/components/button/button_display/_button_display_content.js +1 -1
  8. package/es/components/button/button_empty/button_empty.js +1 -1
  9. package/es/components/button/button_group/button_group.js +1 -1
  10. package/es/components/button/button_group/button_group_button.js +1 -1
  11. package/es/components/button/button_icon/button_icon.js +1 -1
  12. package/es/components/button/index.js +2 -1
  13. package/es/components/button/split_button/index.js +10 -0
  14. package/es/components/button/split_button/split_button.js +120 -0
  15. package/es/components/button/split_button/split_button.styles.js +51 -0
  16. package/es/components/button/split_button/split_button_actions.js +115 -0
  17. package/{optimize/es/components/flyout/flyout_context.js → es/components/button/split_button/split_button_context.js} +5 -7
  18. package/es/components/call_out/call_out.js +1 -1
  19. package/es/components/card/card.js +1 -1
  20. package/es/components/collapsible_nav/collapsible_nav.js +20 -101
  21. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  22. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  23. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  28. package/es/components/comment_list/comment.js +2 -2
  29. package/es/components/comment_list/comment_event.js +1 -1
  30. package/es/components/comment_list/comment_list.js +2 -2
  31. package/es/components/comment_list/comment_timeline.js +1 -1
  32. package/es/components/context_menu/context_menu_item.js +1 -1
  33. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  34. package/es/components/datagrid/body/data_grid_body.js +7 -7
  35. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  36. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  37. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  38. package/es/components/datagrid/controls/column_sorting.js +7 -7
  39. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  40. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  41. package/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  42. package/es/components/datagrid/utils/in_memory.js +6 -6
  43. package/es/components/date_picker/date_picker.js +2 -2
  44. package/es/components/date_picker/date_picker_range.js +1 -1
  45. package/es/components/empty_prompt/empty_prompt.js +2 -2
  46. package/es/components/flex/flex_group.js +1 -1
  47. package/es/components/flyout/_flyout_overlay.js +52 -0
  48. package/es/components/flyout/_flyout_resize_button.js +32 -0
  49. package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  50. package/es/components/flyout/const.js +42 -0
  51. package/es/components/flyout/flyout.component.js +481 -0
  52. package/es/components/flyout/flyout.js +77 -379
  53. package/es/components/flyout/flyout.styles.js +106 -7
  54. package/es/components/flyout/flyout_menu.js +241 -0
  55. package/es/components/flyout/flyout_menu.styles.js +19 -0
  56. package/es/components/flyout/{flyout_context.js → flyout_menu_context.js} +1 -7
  57. package/es/components/flyout/flyout_parent_context.js +36 -0
  58. package/es/components/flyout/flyout_resizable.js +33 -144
  59. package/es/components/flyout/hooks.js +25 -0
  60. package/es/components/flyout/index.js +5 -2
  61. package/es/components/flyout/manager/actions.js +153 -0
  62. package/es/components/flyout/manager/activity_stage.js +95 -0
  63. package/es/components/flyout/manager/const.js +56 -0
  64. package/es/components/flyout/manager/context.js +33 -0
  65. package/es/components/flyout/manager/flyout_child.js +75 -0
  66. package/es/components/flyout/manager/flyout_main.js +65 -0
  67. package/es/components/flyout/manager/flyout_main.styles.js +25 -0
  68. package/es/components/flyout/manager/flyout_managed.js +227 -0
  69. package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  70. package/es/components/flyout/manager/hooks.js +55 -0
  71. package/es/components/flyout/manager/index.js +31 -0
  72. package/es/components/flyout/manager/layout_mode.js +167 -0
  73. package/es/components/flyout/manager/provider.js +57 -0
  74. package/es/components/flyout/manager/reducer.js +320 -0
  75. package/es/components/flyout/manager/selectors.js +116 -0
  76. package/es/components/flyout/manager/store.js +113 -0
  77. package/es/components/flyout/manager/validation.js +85 -0
  78. package/es/components/flyout/use_flyout_resizable.js +149 -0
  79. package/es/components/flyout/use_flyout_z_index.js +46 -0
  80. package/es/components/form/field_number/field_number.js +2 -2
  81. package/es/components/form/field_text/field_text.js +2 -2
  82. package/es/components/form/form_control_button/form_control_button.js +1 -1
  83. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  84. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  85. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  86. package/es/components/form/text_area/text_area.js +2 -2
  87. package/es/components/header/header_links/header_link.js +1 -1
  88. package/es/components/header/header_links/header_links.js +1 -1
  89. package/es/components/header/header_logo/header_logo.js +1 -1
  90. package/es/components/header/header_section/header_section_item_button.js +1 -1
  91. package/es/components/horizontal_rule/horizontal_rule.js +1 -1
  92. package/es/components/icon/assets/agentBuilderRobot.js +37 -0
  93. package/es/components/icon/assets/cross_project_search.js +35 -0
  94. package/es/components/icon/assets/dashed_circle.js +35 -0
  95. package/es/components/icon/assets/product_robot.js +37 -0
  96. package/es/components/icon/icon.js +1 -1
  97. package/es/components/icon/icon_map.js +3 -0
  98. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  99. package/es/components/link/external_link_icon.js +6 -3
  100. package/es/components/list_group/list_group.js +2 -2
  101. package/es/components/list_group/list_group_item.js +2 -2
  102. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  103. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  104. package/es/components/loading/loading_logo.js +1 -1
  105. package/es/components/markdown_editor/markdown_editor.js +1 -1
  106. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  107. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  108. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  109. package/es/components/overlay_mask/overlay_mask.js +13 -3
  110. package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  111. package/es/components/page/page_header/page_header_content.js +2 -2
  112. package/es/components/pagination/pagination_button.js +1 -1
  113. package/es/components/provider/provider.js +2 -1
  114. package/es/components/search_bar/search_bar.js +1 -1
  115. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  116. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  117. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  118. package/es/components/spacer/spacer.js +1 -1
  119. package/es/components/table/table_header_cell.js +1 -1
  120. package/es/components/timeline/timeline_item_icon.js +1 -1
  121. package/es/components/toast/global_toast_list.js +1 -1
  122. package/es/components/toast/toast.js +1 -1
  123. package/es/components/tool_tip/icon_tip.js +1 -1
  124. package/es/components/tour/tour_step_indicator.js +8 -3
  125. package/es/global_styling/mixins/_button.js +28 -9
  126. package/es/global_styling/mixins/_container_query.js +106 -0
  127. package/es/global_styling/mixins/index.js +1 -0
  128. package/es/services/container_query/container_query_hook.js +64 -0
  129. package/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
  130. package/es/services/container_query/match_container.js +242 -0
  131. package/eui.d.ts +7558 -6642
  132. package/i18ntokens.json +1438 -1384
  133. package/lib/components/avatar/avatar.js +1 -1
  134. package/lib/components/badge/badge.js +1 -1
  135. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  136. package/lib/components/basic_table/basic_table.js +36 -55
  137. package/lib/components/basic_table/in_memory_table.js +6 -6
  138. package/lib/components/beacon/beacon.styles.js +1 -1
  139. package/lib/components/button/button_display/_button_display_content.js +1 -1
  140. package/lib/components/button/button_empty/button_empty.js +1 -1
  141. package/lib/components/button/button_group/button_group.js +1 -1
  142. package/lib/components/button/button_group/button_group_button.js +1 -1
  143. package/lib/components/button/button_icon/button_icon.js +1 -1
  144. package/lib/components/button/index.js +8 -1
  145. package/lib/components/button/split_button/index.js +25 -0
  146. package/lib/components/button/split_button/split_button.js +129 -0
  147. package/lib/components/button/split_button/split_button.styles.js +55 -0
  148. package/lib/components/button/split_button/split_button_actions.js +123 -0
  149. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/button/split_button/split_button_context.js} +6 -7
  150. package/lib/components/call_out/call_out.js +1 -1
  151. package/lib/components/card/card.js +1 -1
  152. package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
  153. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  154. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  159. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  160. package/lib/components/comment_list/comment.js +2 -2
  161. package/lib/components/comment_list/comment_event.js +1 -1
  162. package/lib/components/comment_list/comment_list.js +2 -2
  163. package/lib/components/comment_list/comment_timeline.js +1 -1
  164. package/lib/components/context_menu/context_menu_item.js +1 -1
  165. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  166. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  167. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  168. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  169. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  170. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  171. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  172. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  173. package/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  174. package/lib/components/datagrid/utils/in_memory.js +6 -6
  175. package/lib/components/date_picker/date_picker.js +2 -2
  176. package/lib/components/date_picker/date_picker_range.js +1 -1
  177. package/lib/components/empty_prompt/empty_prompt.js +2 -2
  178. package/lib/components/flex/flex_group.js +1 -1
  179. package/lib/components/flyout/_flyout_overlay.js +59 -0
  180. package/lib/components/flyout/_flyout_resize_button.js +38 -0
  181. package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  182. package/lib/components/flyout/const.js +49 -0
  183. package/lib/components/flyout/flyout.component.js +488 -0
  184. package/lib/components/flyout/flyout.js +102 -379
  185. package/lib/components/flyout/flyout.styles.js +106 -7
  186. package/lib/components/flyout/flyout_menu.js +243 -0
  187. package/lib/components/flyout/flyout_menu.styles.js +25 -0
  188. package/lib/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  189. package/lib/components/flyout/flyout_parent_context.js +43 -0
  190. package/lib/components/flyout/flyout_resizable.js +36 -147
  191. package/lib/components/flyout/hooks.js +30 -0
  192. package/lib/components/flyout/index.js +21 -14
  193. package/lib/components/flyout/manager/actions.js +159 -0
  194. package/lib/components/flyout/manager/activity_stage.js +101 -0
  195. package/lib/components/flyout/manager/const.js +62 -0
  196. package/lib/components/flyout/manager/context.js +41 -0
  197. package/lib/components/flyout/manager/flyout_child.js +80 -0
  198. package/lib/components/flyout/manager/flyout_main.js +70 -0
  199. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  200. package/lib/components/flyout/manager/flyout_managed.js +233 -0
  201. package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
  202. package/lib/components/flyout/manager/hooks.js +131 -0
  203. package/lib/components/flyout/manager/index.js +168 -0
  204. package/lib/components/flyout/manager/layout_mode.js +171 -0
  205. package/lib/components/flyout/manager/provider.js +63 -0
  206. package/lib/components/flyout/manager/reducer.js +325 -0
  207. package/lib/components/flyout/manager/selectors.js +122 -0
  208. package/lib/components/flyout/manager/store.js +120 -0
  209. package/lib/components/flyout/manager/validation.js +94 -0
  210. package/lib/components/flyout/use_flyout_resizable.js +153 -0
  211. package/lib/components/flyout/use_flyout_z_index.js +51 -0
  212. package/lib/components/form/field_number/field_number.js +2 -2
  213. package/lib/components/form/field_text/field_text.js +2 -2
  214. package/lib/components/form/form_control_button/form_control_button.js +1 -1
  215. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  216. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  217. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  218. package/lib/components/form/text_area/text_area.js +2 -2
  219. package/lib/components/header/header_links/header_link.js +1 -1
  220. package/lib/components/header/header_links/header_links.js +1 -1
  221. package/lib/components/header/header_logo/header_logo.js +1 -1
  222. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  223. package/lib/components/horizontal_rule/horizontal_rule.js +1 -1
  224. package/lib/components/icon/assets/agentBuilderRobot.js +44 -0
  225. package/lib/components/icon/assets/cross_project_search.js +42 -0
  226. package/lib/components/icon/assets/dashed_circle.js +42 -0
  227. package/lib/components/icon/assets/product_robot.js +44 -0
  228. package/lib/components/icon/icon.js +1 -1
  229. package/lib/components/icon/icon_map.js +3 -0
  230. package/lib/components/icon/svgs/cross_project_search.svg +3 -0
  231. package/lib/components/icon/svgs/dashed_circle.svg +5 -0
  232. package/lib/components/icon/svgs/product_robot.svg +4 -0
  233. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  234. package/lib/components/link/external_link_icon.js +6 -3
  235. package/lib/components/list_group/list_group.js +2 -2
  236. package/lib/components/list_group/list_group_item.js +2 -2
  237. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  238. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  239. package/lib/components/loading/loading_logo.js +1 -1
  240. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  241. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  242. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  243. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  244. package/lib/components/overlay_mask/overlay_mask.js +12 -2
  245. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  246. package/lib/components/page/page_header/page_header_content.js +2 -2
  247. package/lib/components/pagination/pagination_button.js +1 -1
  248. package/lib/components/provider/provider.js +2 -1
  249. package/lib/components/search_bar/search_bar.js +1 -1
  250. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  251. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  252. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  253. package/lib/components/spacer/spacer.js +1 -1
  254. package/lib/components/table/table_header_cell.js +1 -1
  255. package/lib/components/timeline/timeline_item_icon.js +1 -1
  256. package/lib/components/toast/global_toast_list.js +1 -1
  257. package/lib/components/toast/toast.js +1 -1
  258. package/lib/components/tool_tip/icon_tip.js +1 -1
  259. package/lib/components/tour/tour_step_indicator.js +8 -3
  260. package/lib/global_styling/mixins/_button.js +29 -10
  261. package/lib/global_styling/mixins/_container_query.js +112 -0
  262. package/lib/global_styling/mixins/index.js +11 -0
  263. package/lib/services/container_query/container_query_hook.js +67 -0
  264. package/lib/services/container_query/index.js +16 -0
  265. package/lib/services/container_query/match_container.js +243 -0
  266. package/optimize/es/components/basic_table/basic_table.js +30 -49
  267. package/optimize/es/components/beacon/beacon.styles.js +1 -1
  268. package/optimize/es/components/button/index.js +2 -1
  269. package/optimize/es/components/button/split_button/index.js +10 -0
  270. package/optimize/es/components/button/split_button/split_button.js +98 -0
  271. package/optimize/es/components/button/split_button/split_button.styles.js +51 -0
  272. package/optimize/es/components/button/split_button/split_button_actions.js +89 -0
  273. package/optimize/es/components/button/split_button/split_button_context.js +14 -0
  274. package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
  275. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  276. package/optimize/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  277. package/optimize/es/components/empty_prompt/empty_prompt.js +1 -1
  278. package/optimize/es/components/flex/flex_group.js +1 -1
  279. package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
  280. package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
  281. package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  282. package/optimize/es/components/flyout/const.js +42 -0
  283. package/optimize/es/components/flyout/flyout.component.js +469 -0
  284. package/optimize/es/components/flyout/flyout.js +53 -349
  285. package/optimize/es/components/flyout/flyout.styles.js +103 -7
  286. package/optimize/es/components/flyout/flyout_menu.js +162 -0
  287. package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
  288. package/optimize/es/components/flyout/flyout_menu_context.js +10 -0
  289. package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
  290. package/optimize/es/components/flyout/flyout_resizable.js +7 -138
  291. package/optimize/es/components/flyout/hooks.js +25 -0
  292. package/optimize/es/components/flyout/index.js +5 -2
  293. package/optimize/es/components/flyout/manager/actions.js +153 -0
  294. package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
  295. package/optimize/es/components/flyout/manager/const.js +56 -0
  296. package/optimize/es/components/flyout/manager/context.js +33 -0
  297. package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
  298. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  299. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  300. package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
  301. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  302. package/optimize/es/components/flyout/manager/hooks.js +55 -0
  303. package/optimize/es/components/flyout/manager/index.js +31 -0
  304. package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
  305. package/optimize/es/components/flyout/manager/provider.js +53 -0
  306. package/optimize/es/components/flyout/manager/reducer.js +312 -0
  307. package/optimize/es/components/flyout/manager/selectors.js +116 -0
  308. package/optimize/es/components/flyout/manager/store.js +113 -0
  309. package/optimize/es/components/flyout/manager/types.js +1 -0
  310. package/optimize/es/components/flyout/manager/validation.js +85 -0
  311. package/optimize/es/components/flyout/types.js +1 -0
  312. package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
  313. package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
  314. package/optimize/es/components/horizontal_rule/horizontal_rule.js +1 -1
  315. package/optimize/es/components/icon/assets/agentBuilderRobot.js +36 -0
  316. package/optimize/es/components/icon/assets/cross_project_search.js +34 -0
  317. package/optimize/es/components/icon/assets/dashed_circle.js +34 -0
  318. package/optimize/es/components/icon/assets/product_robot.js +36 -0
  319. package/optimize/es/components/icon/icon_map.js +3 -0
  320. package/optimize/es/components/link/external_link_icon.js +6 -3
  321. package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
  322. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  323. package/optimize/es/components/page/page_header/page_header_content.js +1 -1
  324. package/optimize/es/components/provider/provider.js +2 -1
  325. package/optimize/es/components/search_bar/search_bar.js +1 -1
  326. package/optimize/es/components/spacer/spacer.js +1 -1
  327. package/optimize/es/components/tour/tour_step_indicator.js +8 -3
  328. package/optimize/es/global_styling/mixins/_button.js +28 -9
  329. package/optimize/es/global_styling/mixins/_container_query.js +106 -0
  330. package/optimize/es/global_styling/mixins/index.js +1 -0
  331. package/optimize/es/services/container_query/container_query_hook.js +59 -0
  332. package/optimize/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
  333. package/optimize/es/services/container_query/match_container.js +229 -0
  334. package/optimize/lib/components/basic_table/basic_table.js +30 -49
  335. package/optimize/lib/components/beacon/beacon.styles.js +1 -1
  336. package/optimize/lib/components/button/index.js +8 -1
  337. package/optimize/lib/components/button/split_button/index.js +25 -0
  338. package/optimize/lib/components/button/split_button/split_button.js +107 -0
  339. package/optimize/lib/components/button/split_button/split_button.styles.js +55 -0
  340. package/optimize/lib/components/button/split_button/split_button_actions.js +98 -0
  341. package/{test-env/components/flyout/flyout_context.js → optimize/lib/components/button/split_button/split_button_context.js} +6 -7
  342. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
  343. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  344. package/optimize/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  345. package/optimize/lib/components/empty_prompt/empty_prompt.js +1 -1
  346. package/optimize/lib/components/flex/flex_group.js +1 -1
  347. package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
  348. package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
  349. package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  350. package/optimize/lib/components/flyout/const.js +49 -0
  351. package/optimize/lib/components/flyout/flyout.component.js +477 -0
  352. package/optimize/lib/components/flyout/flyout.js +77 -349
  353. package/optimize/lib/components/flyout/flyout.styles.js +103 -7
  354. package/optimize/lib/components/flyout/flyout_menu.js +168 -0
  355. package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
  356. package/optimize/lib/components/flyout/flyout_menu_context.js +16 -0
  357. package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
  358. package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
  359. package/optimize/lib/components/flyout/hooks.js +30 -0
  360. package/optimize/lib/components/flyout/index.js +21 -14
  361. package/optimize/lib/components/flyout/manager/actions.js +159 -0
  362. package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
  363. package/optimize/lib/components/flyout/manager/const.js +62 -0
  364. package/optimize/lib/components/flyout/manager/context.js +41 -0
  365. package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
  366. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  367. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  368. package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
  369. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
  370. package/optimize/lib/components/flyout/manager/hooks.js +131 -0
  371. package/optimize/lib/components/flyout/manager/index.js +168 -0
  372. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  373. package/optimize/lib/components/flyout/manager/provider.js +61 -0
  374. package/optimize/lib/components/flyout/manager/reducer.js +318 -0
  375. package/optimize/lib/components/flyout/manager/selectors.js +122 -0
  376. package/optimize/lib/components/flyout/manager/store.js +120 -0
  377. package/optimize/lib/components/flyout/manager/validation.js +94 -0
  378. package/optimize/lib/components/flyout/types.js +5 -0
  379. package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
  380. package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
  381. package/optimize/lib/components/horizontal_rule/horizontal_rule.js +1 -1
  382. package/optimize/lib/components/icon/assets/agentBuilderRobot.js +44 -0
  383. package/optimize/lib/components/icon/assets/cross_project_search.js +42 -0
  384. package/optimize/lib/components/icon/assets/dashed_circle.js +42 -0
  385. package/optimize/lib/components/icon/assets/product_robot.js +44 -0
  386. package/optimize/lib/components/icon/icon_map.js +3 -0
  387. package/optimize/lib/components/icon/svgs/cross_project_search.svg +3 -0
  388. package/optimize/lib/components/icon/svgs/dashed_circle.svg +5 -0
  389. package/optimize/lib/components/icon/svgs/product_robot.svg +4 -0
  390. package/optimize/lib/components/link/external_link_icon.js +6 -3
  391. package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
  392. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  393. package/optimize/lib/components/page/page_header/page_header_content.js +1 -1
  394. package/optimize/lib/components/provider/provider.js +2 -1
  395. package/optimize/lib/components/search_bar/search_bar.js +1 -1
  396. package/optimize/lib/components/spacer/spacer.js +1 -1
  397. package/optimize/lib/components/tour/tour_step_indicator.js +8 -3
  398. package/optimize/lib/global_styling/mixins/_button.js +29 -10
  399. package/optimize/lib/global_styling/mixins/_container_query.js +112 -0
  400. package/optimize/lib/global_styling/mixins/index.js +11 -0
  401. package/optimize/lib/services/container_query/container_query_hook.js +65 -0
  402. package/optimize/lib/services/container_query/index.js +16 -0
  403. package/optimize/lib/services/container_query/match_container.js +231 -0
  404. package/package.json +5 -4
  405. package/test-env/components/avatar/avatar.js +1 -1
  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 +36 -55
  409. package/test-env/components/basic_table/in_memory_table.js +6 -6
  410. package/test-env/components/beacon/beacon.styles.js +1 -1
  411. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  412. package/test-env/components/button/button_empty/button_empty.js +1 -1
  413. package/test-env/components/button/button_group/button_group.js +1 -1
  414. package/test-env/components/button/button_group/button_group_button.js +1 -1
  415. package/test-env/components/button/button_icon/button_icon.js +1 -1
  416. package/test-env/components/button/index.js +8 -1
  417. package/test-env/components/button/split_button/index.js +25 -0
  418. package/test-env/components/button/split_button/split_button.js +123 -0
  419. package/test-env/components/button/split_button/split_button.styles.js +55 -0
  420. package/test-env/components/button/split_button/split_button_actions.js +120 -0
  421. package/test-env/components/button/split_button/split_button_context.js +20 -0
  422. package/test-env/components/call_out/call_out.js +1 -1
  423. package/test-env/components/card/card.js +1 -1
  424. package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
  425. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  426. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  427. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  428. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  429. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  430. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  431. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  432. package/test-env/components/comment_list/comment.js +2 -2
  433. package/test-env/components/comment_list/comment_event.js +1 -1
  434. package/test-env/components/comment_list/comment_list.js +2 -2
  435. package/test-env/components/comment_list/comment_timeline.js +1 -1
  436. package/test-env/components/context_menu/context_menu_item.js +1 -1
  437. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  438. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  439. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  440. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  441. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  442. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  443. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  444. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  445. package/test-env/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  446. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  447. package/test-env/components/date_picker/date_picker.js +2 -2
  448. package/test-env/components/date_picker/date_picker_range.js +1 -1
  449. package/test-env/components/empty_prompt/empty_prompt.js +2 -2
  450. package/test-env/components/flex/flex_group.js +1 -1
  451. package/test-env/components/flyout/_flyout_overlay.js +62 -0
  452. package/test-env/components/flyout/_flyout_resize_button.js +37 -0
  453. package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
  454. package/test-env/components/flyout/const.js +49 -0
  455. package/test-env/components/flyout/flyout.component.js +477 -0
  456. package/test-env/components/flyout/flyout.styles.js +103 -7
  457. package/test-env/components/flyout/flyout_menu.js +241 -0
  458. package/test-env/components/flyout/flyout_menu.styles.js +25 -0
  459. package/test-env/components/flyout/flyout_menu_context.js +16 -0
  460. package/test-env/components/flyout/flyout_parent_context.js +43 -0
  461. package/test-env/components/flyout/flyout_resizable.js +35 -139
  462. package/test-env/components/flyout/hooks.js +30 -0
  463. package/test-env/components/flyout/index.js +21 -14
  464. package/test-env/components/flyout/manager/actions.js +159 -0
  465. package/test-env/components/flyout/manager/activity_stage.js +101 -0
  466. package/test-env/components/flyout/manager/const.js +62 -0
  467. package/test-env/components/flyout/manager/context.js +41 -0
  468. package/test-env/components/flyout/manager/flyout_child.js +76 -0
  469. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  470. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  471. package/test-env/components/flyout/manager/flyout_managed.js +231 -0
  472. package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
  473. package/test-env/components/flyout/manager/hooks.js +131 -0
  474. package/test-env/components/flyout/manager/index.js +168 -0
  475. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  476. package/test-env/components/flyout/manager/provider.js +61 -0
  477. package/test-env/components/flyout/manager/reducer.js +318 -0
  478. package/test-env/components/flyout/manager/selectors.js +122 -0
  479. package/test-env/components/flyout/manager/store.js +120 -0
  480. package/test-env/components/flyout/manager/types.js +5 -0
  481. package/test-env/components/flyout/manager/validation.js +94 -0
  482. package/test-env/components/flyout/types.js +5 -0
  483. package/test-env/components/flyout/use_flyout_resizable.js +151 -0
  484. package/test-env/components/flyout/use_flyout_z_index.js +51 -0
  485. package/test-env/components/form/field_number/field_number.js +2 -2
  486. package/test-env/components/form/field_text/field_text.js +2 -2
  487. package/test-env/components/form/form_control_button/form_control_button.js +1 -1
  488. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  489. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  490. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  491. package/test-env/components/form/text_area/text_area.js +2 -2
  492. package/test-env/components/header/header_links/header_link.js +1 -1
  493. package/test-env/components/header/header_links/header_links.js +1 -1
  494. package/test-env/components/header/header_logo/header_logo.js +1 -1
  495. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  496. package/test-env/components/horizontal_rule/horizontal_rule.js +1 -1
  497. package/test-env/components/icon/assets/agentBuilderRobot.js +44 -0
  498. package/test-env/components/icon/assets/cross_project_search.js +42 -0
  499. package/test-env/components/icon/assets/dashed_circle.js +42 -0
  500. package/test-env/components/icon/assets/product_robot.js +44 -0
  501. package/test-env/components/icon/icon_map.js +3 -0
  502. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  503. package/test-env/components/link/external_link_icon.js +6 -3
  504. package/test-env/components/list_group/list_group.js +2 -2
  505. package/test-env/components/list_group/list_group_item.js +2 -2
  506. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  507. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  508. package/test-env/components/loading/loading_logo.js +1 -1
  509. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  510. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  511. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  512. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  513. package/test-env/components/overlay_mask/overlay_mask.js +12 -2
  514. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  515. package/test-env/components/page/page_header/page_header_content.js +2 -2
  516. package/test-env/components/pagination/pagination_button.js +1 -1
  517. package/test-env/components/provider/provider.js +2 -1
  518. package/test-env/components/search_bar/search_bar.js +1 -1
  519. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  520. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  521. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  522. package/test-env/components/spacer/spacer.js +1 -1
  523. package/test-env/components/table/table_header_cell.js +1 -1
  524. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  525. package/test-env/components/toast/global_toast_list.js +1 -1
  526. package/test-env/components/toast/toast.js +1 -1
  527. package/test-env/components/tool_tip/icon_tip.js +1 -1
  528. package/test-env/components/tour/tour_step_indicator.js +8 -3
  529. package/test-env/global_styling/mixins/_button.js +29 -10
  530. package/test-env/global_styling/mixins/_container_query.js +112 -0
  531. package/test-env/global_styling/mixins/index.js +11 -0
  532. package/test-env/services/container_query/container_query_hook.js +65 -0
  533. package/test-env/services/container_query/index.js +16 -0
  534. package/test-env/services/container_query/match_container.js +231 -0
  535. package/es/components/flyout/flyout_child.js +0 -223
  536. package/es/components/flyout/flyout_child.styles.js +0 -32
  537. package/es/components/flyout/flyout_child_manager.js +0 -114
  538. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  539. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  540. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  541. package/lib/components/flyout/flyout_child.js +0 -231
  542. package/lib/components/flyout/flyout_child.styles.js +0 -38
  543. package/lib/components/flyout/flyout_child_manager.js +0 -122
  544. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  545. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  546. package/lib/components/flyout/sessions/index.js +0 -25
  547. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  548. package/optimize/es/components/flyout/flyout_child.js +0 -178
  549. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  550. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  551. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  552. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  553. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  554. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  555. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  556. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  557. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  558. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  559. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  560. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  561. package/test-env/components/flyout/flyout_child.js +0 -230
  562. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  563. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  564. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  565. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  566. package/test-env/components/flyout/sessions/index.js +0 -25
  567. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  568. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  569. /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
  570. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  571. /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
  572. /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiFlyoutResizableButtonStyles = void 0;
6
+ exports.euiFlyoutResizeButtonStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../global_styling");
9
9
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
@@ -30,25 +30,25 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
30
30
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
31
31
  };
32
32
  var _ref3 = process.env.NODE_ENV === "production" ? {
33
- name: "1cw850z-noOverlay",
34
- styles: "margin-inline:0;label:noOverlay;"
33
+ name: "10l1ho9-root",
34
+ styles: "margin-inline:0;label:root;"
35
35
  } : {
36
- name: "1cw850z-noOverlay",
37
- styles: "margin-inline:0;label:noOverlay;",
36
+ name: "10l1ho9-root",
37
+ styles: "margin-inline:0;label:root;",
38
38
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
39
  };
40
40
  var _ref4 = process.env.NODE_ENV === "production" ? {
41
- name: "1gfwqnd-euiFlyoutResizableButton",
42
- styles: "position:absolute;label:euiFlyoutResizableButton;"
41
+ name: "1yicr0l-root",
42
+ styles: "position:absolute;label:root;"
43
43
  } : {
44
- name: "1gfwqnd-euiFlyoutResizableButton",
45
- styles: "position:absolute;label:euiFlyoutResizableButton;",
44
+ name: "1yicr0l-root",
45
+ styles: "position:absolute;label:root;",
46
46
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
47
47
  };
48
- var euiFlyoutResizableButtonStyles = exports.euiFlyoutResizableButtonStyles = function euiFlyoutResizableButtonStyles(_ref5) {
48
+ var euiFlyoutResizeButtonStyles = exports.euiFlyoutResizeButtonStyles = function euiFlyoutResizeButtonStyles(_ref5) {
49
49
  var euiTheme = _ref5.euiTheme;
50
50
  return {
51
- euiFlyoutResizableButton: _ref4,
51
+ root: _ref4,
52
52
  overlay: {
53
53
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), ";;label:left;"),
54
54
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), ";;label:right;")
@@ -58,7 +58,7 @@ var euiFlyoutResizableButtonStyles = exports.euiFlyoutResizableButtonStyles = fu
58
58
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', "-".concat(euiTheme.border.width.thick)), ";;label:right;")
59
59
  },
60
60
  noOverlay: {
61
- noOverlay: _ref3,
61
+ root: _ref3,
62
62
  left: _ref2,
63
63
  right: _ref
64
64
  }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FLYOUT_TYPES = exports.FLYOUT_SIZES = exports.FLYOUT_SIDES = exports.FLYOUT_PADDING_SIZES = exports.DEFAULT_TYPE = exports.DEFAULT_SIZE = exports.DEFAULT_SIDE = exports.DEFAULT_PUSH_MIN_BREAKPOINT = exports.DEFAULT_PADDING_SIZE = void 0;
7
+ exports.isEuiFlyoutSizeNamed = isEuiFlyoutSizeNamed;
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ /** Allowed flyout render types. */
17
+ var FLYOUT_TYPES = exports.FLYOUT_TYPES = ['push', 'overlay'];
18
+ /** Type representing a supported flyout render type. */
19
+
20
+ /** Allowed flyout attachment sides. */
21
+ var FLYOUT_SIDES = exports.FLYOUT_SIDES = ['left', 'right'];
22
+ /** Type representing a supported flyout side. */
23
+
24
+ /** Allowed named flyout sizes used by the manager. */
25
+ var FLYOUT_SIZES = exports.FLYOUT_SIZES = ['s', 'm', 'l', 'fill'];
26
+ /** Type representing a supported named flyout size. */
27
+
28
+ /** Allowed padding sizes for flyout content. */
29
+ var FLYOUT_PADDING_SIZES = exports.FLYOUT_PADDING_SIZES = ['none', 's', 'm', 'l'];
30
+ /** Type representing a supported flyout padding size. */
31
+
32
+ /** Default minimum breakpoint at which push-type flyouts begin to push content. */
33
+ var DEFAULT_PUSH_MIN_BREAKPOINT = exports.DEFAULT_PUSH_MIN_BREAKPOINT = 'l';
34
+ /** Default flyout type when none is provided. */
35
+ var DEFAULT_TYPE = exports.DEFAULT_TYPE = 'overlay';
36
+ /** Default side where flyouts anchor when none is provided. */
37
+ var DEFAULT_SIDE = exports.DEFAULT_SIDE = 'right';
38
+ /** Default named flyout size. */
39
+ var DEFAULT_SIZE = exports.DEFAULT_SIZE = 'm';
40
+ /** Default padding size inside flyouts. */
41
+ var DEFAULT_PADDING_SIZE = exports.DEFAULT_PADDING_SIZE = 'l';
42
+
43
+ /**
44
+ * Custom type checker for named flyout sizes since the prop
45
+ * `size` can also be CSSProperties['width'] (string | number)
46
+ */
47
+ function isEuiFlyoutSizeNamed(value) {
48
+ return FLYOUT_SIZES.includes(value);
49
+ }
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiFlyoutComponent = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _services = require("../../services");
17
+ var _manager = require("./manager");
18
+ var _focus_trap = require("../focus_trap");
19
+ var _i18n = require("../i18n");
20
+ var _resize_observer = require("../observer/resize_observer");
21
+ var _accessibility = require("../accessibility");
22
+ var _flyout_close_button = require("./_flyout_close_button");
23
+ var _flyout = require("./flyout.styles");
24
+ var _component_defaults = require("../provider/component_defaults");
25
+ var _const = require("./const");
26
+ var _hooks = require("./hooks");
27
+ var _flyout_menu = require("./flyout_menu");
28
+ var _flyout_overlay = require("./_flyout_overlay");
29
+ var _flyout_resize_button = require("./_flyout_resize_button");
30
+ var _use_flyout_resizable = require("./use_flyout_resizable");
31
+ var _use_flyout_z_index = require("./use_flyout_z_index");
32
+ var _flyout_parent_context = require("./flyout_parent_context");
33
+ var _selectors = require("./manager/selectors");
34
+ var _react2 = require("@emotion/react");
35
+ var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd"],
36
+ _excluded2 = ["titleId"];
37
+ /*
38
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
39
+ * or more contributor license agreements. Licensed under the Elastic License
40
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
41
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
42
+ * Side Public License, v 1.
43
+ */
44
+ /* eslint-disable local/i18n */
45
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
46
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
47
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
48
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
49
+ var defaultElement = 'div';
50
+ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
51
+ var _usePropsWithComponen = (0, _component_defaults.usePropsWithComponentDefaults)('EuiFlyout', props),
52
+ className = _usePropsWithComponen.className,
53
+ children = _usePropsWithComponen.children,
54
+ as = _usePropsWithComponen.as,
55
+ _usePropsWithComponen2 = _usePropsWithComponen.hideCloseButton,
56
+ hideCloseButton = _usePropsWithComponen2 === void 0 ? false : _usePropsWithComponen2,
57
+ _flyoutMenuProps = _usePropsWithComponen.flyoutMenuProps,
58
+ closeButtonProps = _usePropsWithComponen.closeButtonProps,
59
+ _usePropsWithComponen3 = _usePropsWithComponen.closeButtonPosition,
60
+ closeButtonPosition = _usePropsWithComponen3 === void 0 ? 'inside' : _usePropsWithComponen3,
61
+ onClose = _usePropsWithComponen.onClose,
62
+ _usePropsWithComponen4 = _usePropsWithComponen.ownFocus,
63
+ ownFocus = _usePropsWithComponen4 === void 0 ? true : _usePropsWithComponen4,
64
+ _usePropsWithComponen5 = _usePropsWithComponen.side,
65
+ side = _usePropsWithComponen5 === void 0 ? _const.DEFAULT_SIDE : _usePropsWithComponen5,
66
+ _usePropsWithComponen6 = _usePropsWithComponen.size,
67
+ _size = _usePropsWithComponen6 === void 0 ? _const.DEFAULT_SIZE : _usePropsWithComponen6,
68
+ _usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
69
+ paddingSize = _usePropsWithComponen7 === void 0 ? _const.DEFAULT_PADDING_SIZE : _usePropsWithComponen7,
70
+ _usePropsWithComponen8 = _usePropsWithComponen.maxWidth,
71
+ maxWidth = _usePropsWithComponen8 === void 0 ? false : _usePropsWithComponen8,
72
+ style = _usePropsWithComponen.style,
73
+ _usePropsWithComponen9 = _usePropsWithComponen.hasChildBackground,
74
+ hasChildBackground = _usePropsWithComponen9 === void 0 ? false : _usePropsWithComponen9,
75
+ maskProps = _usePropsWithComponen.maskProps,
76
+ _usePropsWithComponen10 = _usePropsWithComponen.type,
77
+ type = _usePropsWithComponen10 === void 0 ? _const.DEFAULT_TYPE : _usePropsWithComponen10,
78
+ outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
79
+ _usePropsWithComponen11 = _usePropsWithComponen.pushMinBreakpoint,
80
+ pushMinBreakpoint = _usePropsWithComponen11 === void 0 ? _const.DEFAULT_PUSH_MIN_BREAKPOINT : _usePropsWithComponen11,
81
+ _usePropsWithComponen12 = _usePropsWithComponen.pushAnimation,
82
+ pushAnimation = _usePropsWithComponen12 === void 0 ? false : _usePropsWithComponen12,
83
+ _focusTrapProps = _usePropsWithComponen.focusTrapProps,
84
+ _usePropsWithComponen13 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
85
+ includeFixedHeadersInFocusTrap = _usePropsWithComponen13 === void 0 ? true : _usePropsWithComponen13,
86
+ includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
87
+ _ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
88
+ _ariaLabelledBy = _usePropsWithComponen['aria-labelledby'],
89
+ id = _usePropsWithComponen.id,
90
+ _usePropsWithComponen14 = _usePropsWithComponen.resizable,
91
+ resizable = _usePropsWithComponen14 === void 0 ? false : _usePropsWithComponen14,
92
+ minWidth = _usePropsWithComponen.minWidth,
93
+ onResize = _usePropsWithComponen.onResize,
94
+ onAnimationEnd = _usePropsWithComponen.onAnimationEnd,
95
+ rest = (0, _objectWithoutProperties2.default)(_usePropsWithComponen, _excluded);
96
+ var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
97
+ setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
98
+ var Element = as || defaultElement;
99
+ var maskRef = (0, _react.useRef)(null);
100
+
101
+ // Ref for the main flyout element to pass to context
102
+ var internalParentFlyoutRef = (0, _react.useRef)(null);
103
+ var isPushed = (0, _hooks.useIsPushed)({
104
+ type: type,
105
+ pushMinBreakpoint: pushMinBreakpoint
106
+ });
107
+ var currentSession = (0, _manager.useCurrentSession)();
108
+ var isInManagedContext = (0, _manager.useIsInManagedFlyout)();
109
+ var flyoutId = (0, _manager.useFlyoutId)(id);
110
+ var layoutMode = (0, _manager.useFlyoutLayoutMode)();
111
+ var isActiveManagedFlyout = (0, _manager.useIsFlyoutActive)(flyoutId);
112
+ var flyoutManager = (0, _manager.useFlyoutManager)();
113
+ var currentZIndexRef = (0, _selectors.useCurrentFlyoutZIndexRef)();
114
+
115
+ // Use a ref to access the latest flyoutManager without triggering effect re-runs
116
+ var flyoutManagerRef = (0, _react.useRef)(flyoutManager);
117
+ (0, _react.useEffect)(function () {
118
+ flyoutManagerRef.current = flyoutManager;
119
+ }, [flyoutManager]);
120
+ (0, _react.useEffect)(function () {
121
+ // Keep track of unmanaged flyouts to properly calculate z-index
122
+ // values for all flyouts
123
+ if (!isInManagedContext) {
124
+ var _flyoutManagerRef$cur;
125
+ (_flyoutManagerRef$cur = flyoutManagerRef.current) === null || _flyoutManagerRef$cur === void 0 || _flyoutManagerRef$cur.addUnmanagedFlyout(flyoutId);
126
+ return function () {
127
+ var _flyoutManagerRef$cur2;
128
+ return (_flyoutManagerRef$cur2 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur2 === void 0 ? void 0 : _flyoutManagerRef$cur2.closeUnmanagedFlyout(flyoutId);
129
+ };
130
+ }
131
+ }, [isInManagedContext, flyoutId]);
132
+ var _useEuiFlyoutResizabl = (0, _use_flyout_resizable.useEuiFlyoutResizable)({
133
+ enabled: resizable,
134
+ minWidth: minWidth,
135
+ maxWidth: typeof maxWidth === 'number' ? maxWidth : 0,
136
+ onResize: onResize,
137
+ side: side,
138
+ size: _size
139
+ }),
140
+ onMouseDownResizableButton = _useEuiFlyoutResizabl.onMouseDown,
141
+ onKeyDownResizableButton = _useEuiFlyoutResizabl.onKeyDown,
142
+ size = _useEuiFlyoutResizabl.size,
143
+ setFlyoutRef = _useEuiFlyoutResizabl.setFlyoutRef;
144
+
145
+ /**
146
+ * Setting up the refs on the actual flyout element in order to
147
+ * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
148
+ */
149
+ var _useState = (0, _react.useState)(null),
150
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
151
+ resizeRef = _useState2[0],
152
+ setResizeRef = _useState2[1];
153
+ var setRef = (0, _services.useCombinedRefs)([setResizeRef, ref, internalParentFlyoutRef, setFlyoutRef]);
154
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isPushed ? resizeRef : null, 'width'),
155
+ width = _useResizeObserver.width;
156
+
157
+ /**
158
+ * Effect for adding push padding to body. Using useLayoutEffect to ensure
159
+ * padding changes happen synchronously before child components render -
160
+ * this is needed to prevent RemoveScrollBar from measuring the body in an
161
+ * inconsistent state during flyout transitions.
162
+ */
163
+ (0, _react.useLayoutEffect)(function () {
164
+ if (!isPushed) {
165
+ return; // Only push-type flyouts manage body padding
166
+ }
167
+ var shouldApplyPadding = !isInManagedContext || isActiveManagedFlyout;
168
+ var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
169
+ var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
170
+ var managerSide = side === 'left' ? 'left' : 'right';
171
+ if (shouldApplyPadding) {
172
+ document.body.style[paddingSide] = "".concat(width, "px");
173
+ setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, "".concat(width, "px")));
174
+ // Update manager state if in managed context
175
+ if (isInManagedContext && flyoutManagerRef.current) {
176
+ flyoutManagerRef.current.setPushPadding(managerSide, width);
177
+ }
178
+ } else {
179
+ // Explicitly remove padding when this push flyout becomes inactive
180
+ document.body.style[paddingSide] = '';
181
+ setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, null));
182
+ // Clear manager state if in managed context
183
+ if (isInManagedContext && flyoutManagerRef.current) {
184
+ flyoutManagerRef.current.setPushPadding(managerSide, 0);
185
+ }
186
+ }
187
+
188
+ // Cleanup on unmount
189
+ return function () {
190
+ document.body.style[paddingSide] = '';
191
+ setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, null));
192
+ // Clear manager state on unmount if in managed context
193
+ if (isInManagedContext && flyoutManagerRef.current) {
194
+ flyoutManagerRef.current.setPushPadding(managerSide, 0);
195
+ }
196
+ };
197
+ }, [isPushed, isInManagedContext, isActiveManagedFlyout, setGlobalCSSVariables, side, width]);
198
+
199
+ /**
200
+ * This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
201
+ */
202
+ (0, _react.useEffect)(function () {
203
+ document.body.classList.add('euiBody--hasFlyout');
204
+ return function () {
205
+ // Remove the hasFlyout class when the flyout is unmounted
206
+ document.body.classList.remove('euiBody--hasFlyout');
207
+ };
208
+ }, []);
209
+
210
+ // Memoize flyout identification and relationships to prevent race conditions
211
+ var flyoutIdentity = (0, _react.useMemo)(function () {
212
+ if (!flyoutId || !currentSession) {
213
+ return {
214
+ isMainFlyout: false,
215
+ siblingFlyoutId: null,
216
+ hasValidSession: false,
217
+ sessionForWidth: null
218
+ };
219
+ }
220
+ var siblingFlyoutId = currentSession.mainFlyoutId === flyoutId ? currentSession.childFlyoutId : currentSession.mainFlyoutId;
221
+ return {
222
+ siblingFlyoutId: siblingFlyoutId,
223
+ hasValidSession: true,
224
+ sessionForWidth: currentSession
225
+ };
226
+ }, [flyoutId, currentSession]);
227
+
228
+ // Destructure for easier use
229
+ var siblingFlyoutId = flyoutIdentity.siblingFlyoutId;
230
+ var hasChildFlyout = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) != null;
231
+ var isChildFlyout = isInManagedContext && hasChildFlyout && (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === id;
232
+ var shouldCloseOnEscape = (0, _react.useMemo)(function () {
233
+ // Regular flyout - always close on ESC
234
+ if (!isInManagedContext) {
235
+ return true;
236
+ }
237
+
238
+ // Managed flyout with no child - close on ESC
239
+ if (!hasChildFlyout) {
240
+ return true;
241
+ }
242
+
243
+ // Child flyout - close on ESC
244
+ if (isChildFlyout) {
245
+ return true;
246
+ }
247
+
248
+ // Main flyout with child flyout - don't close on ESC
249
+ return false;
250
+ }, [isInManagedContext, hasChildFlyout, isChildFlyout]);
251
+
252
+ /**
253
+ * ESC key closes flyout based on flyout hierarchy rules
254
+ */
255
+ var onKeyDown = (0, _react.useCallback)(function (event) {
256
+ if (!isPushed && event.key === _services.keys.ESCAPE && shouldCloseOnEscape) {
257
+ event.preventDefault();
258
+ onClose(event);
259
+ }
260
+ }, [onClose, isPushed, shouldCloseOnEscape]);
261
+ var siblingFlyoutWidth = (0, _manager.useFlyoutWidth)(siblingFlyoutId);
262
+ var managedFlyoutIndex = currentZIndexRef.current;
263
+ if (isInManagedContext && currentSession) {
264
+ managedFlyoutIndex = currentSession.zIndex;
265
+ }
266
+ var _useEuiFlyoutZIndex = (0, _use_flyout_z_index.useEuiFlyoutZIndex)({
267
+ maskProps: maskProps,
268
+ isPushed: isPushed,
269
+ managedFlyoutIndex: managedFlyoutIndex,
270
+ isChildFlyout: isChildFlyout
271
+ }),
272
+ flyoutZIndex = _useEuiFlyoutZIndex.flyoutZIndex,
273
+ maskZIndex = _useEuiFlyoutZIndex.maskZIndex;
274
+
275
+ /**
276
+ * Set inline styles
277
+ */
278
+ var inlineStyles = (0, _react.useMemo)(function () {
279
+ var composedStyles = (0, _flyout.composeFlyoutInlineStyles)(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth || null, maxWidth, flyoutZIndex);
280
+ return _objectSpread(_objectSpread({}, style), composedStyles);
281
+ }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, flyoutZIndex]);
282
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout.euiFlyoutStyles);
283
+ var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], (0, _const.isEuiFlyoutSizeNamed)(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], isPushed && !pushAnimation && styles.push.noAnimation, styles[side]];
284
+ var classes = (0, _classnames.default)('euiFlyout', isChildFlyout && hasChildBackground && 'euiFlyout--hasChildBackground', className);
285
+ var flyoutToggle = (0, _react.useRef)(document.activeElement);
286
+ var _useState3 = (0, _react.useState)([]),
287
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
288
+ focusTrapShards = _useState4[0],
289
+ setFocusTrapShards = _useState4[1];
290
+ var focusTrapSelectors = (0, _react.useMemo)(function () {
291
+ var selectors = [];
292
+ if (includeSelectorInFocusTrap) {
293
+ selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
294
+ }
295
+ if (includeFixedHeadersInFocusTrap) {
296
+ selectors.push('.euiHeader[data-fixed-header]');
297
+ }
298
+ return selectors;
299
+ }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
300
+
301
+ /**
302
+ * Finds the shards to include in the focus trap by querying by `focusTrapSelectors`.
303
+ *
304
+ * @param shouldAutoFocus Whether to auto-focus the flyout wrapper when the focus trap is activated.
305
+ * This is necessary because when a flyout is toggled from within a shard, the focus trap's `autoFocus`
306
+ * feature doesn't work. This logic manually focuses the flyout as a workaround.
307
+ */
308
+ var findShards = (0, _react.useCallback)(function () {
309
+ var shouldAutoFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
310
+ if (focusTrapSelectors.length > 0) {
311
+ var shardsEls = focusTrapSelectors.flatMap(function (selector) {
312
+ return Array.from(document.querySelectorAll(selector));
313
+ });
314
+ setFocusTrapShards(Array.from(shardsEls));
315
+ if (shouldAutoFocus) {
316
+ shardsEls.forEach(function (shard) {
317
+ if (shard.contains(flyoutToggle.current)) {
318
+ resizeRef === null || resizeRef === void 0 || resizeRef.focus();
319
+ }
320
+ });
321
+ }
322
+ } else {
323
+ // Clear existing shards if necessary, e.g. switching to `false`
324
+ setFocusTrapShards(function (shards) {
325
+ return shards.length ? [] : shards;
326
+ });
327
+ }
328
+ }, [focusTrapSelectors, resizeRef]);
329
+ (0, _react.useEffect)(function () {
330
+ // Auto-focus should only happen on initial flyout mount (or when the dependencies change)
331
+ // because it snaps focus to the flyout wrapper, which steals it from subsequently focused elements.
332
+ findShards(true);
333
+ var unsubscribe = _services.focusTrapPubSub.subscribe(function () {
334
+ return findShards();
335
+ });
336
+ return unsubscribe;
337
+ }, [findShards]);
338
+ var focusTrapProps = (0, _react.useMemo)(function () {
339
+ return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
340
+ shards: [].concat((0, _toConsumableArray2.default)(focusTrapShards), (0, _toConsumableArray2.default)((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
341
+ });
342
+ }, [_focusTrapProps, focusTrapShards]);
343
+
344
+ /*
345
+ * Provide meaningful screen reader instructions/details
346
+ */
347
+ var hasOverlayMask = ownFocus && !isPushed;
348
+ var descriptionId = (0, _services.useGeneratedHtmlId)();
349
+ var ariaDescribedBy = (0, _classnames.default)(descriptionId, _ariaDescribedBy);
350
+ var screenReaderDescription = (0, _react.useMemo)(function () {
351
+ return (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
352
+ id: descriptionId
353
+ }, hasOverlayMask ? (0, _react2.jsx)(_i18n.EuiI18n, {
354
+ token: "euiFlyout.screenReaderModalDialog",
355
+ default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
356
+ }) : (0, _react2.jsx)(_i18n.EuiI18n, {
357
+ token: "euiFlyout.screenReaderNonModalDialog",
358
+ default: "You are in a non-modal dialog. To close the dialog, press Escape."
359
+ }), ' ', focusTrapShards.length > 0 && (0, _react2.jsx)(_i18n.EuiI18n, {
360
+ token: "euiFlyout.screenReaderFocusTrapShards",
361
+ default: "You can still continue tabbing through other global page landmarks."
362
+ })));
363
+ }, [hasOverlayMask, descriptionId, focusTrapShards.length]);
364
+
365
+ /*
366
+ * If the flyout menu is to be rendered, ensure the flyout has aria-labelledby referencing the menu's titleId
367
+ */
368
+ var generatedMenuId = (0, _services.useGeneratedHtmlId)();
369
+ var _ref = _flyoutMenuProps || {},
370
+ _titleId = _ref.titleId,
371
+ flyoutMenuProps = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
372
+ var hasMenu = !!_flyoutMenuProps;
373
+ var flyoutMenuId = (0, _react.useMemo)(function () {
374
+ if (!hasMenu) return undefined;
375
+ return _titleId || generatedMenuId;
376
+ }, [hasMenu, _titleId, generatedMenuId]);
377
+
378
+ // If the flyout level is LEVEL_MAIN, the title should be hidden by default
379
+ var flyoutMenuHideTitle = (0, _react.useMemo)(function () {
380
+ if (!hasMenu) return undefined;
381
+ if ((_flyoutMenuProps === null || _flyoutMenuProps === void 0 ? void 0 : _flyoutMenuProps.hideTitle) !== undefined) {
382
+ return _flyoutMenuProps.hideTitle;
383
+ }
384
+ return (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId;
385
+ }, [hasMenu, _flyoutMenuProps, currentSession, flyoutId]);
386
+ var ariaLabelledBy = (0, _react.useMemo)(function () {
387
+ if (flyoutMenuId) {
388
+ return (0, _classnames.default)(flyoutMenuId, _ariaLabelledBy);
389
+ }
390
+ return _ariaLabelledBy;
391
+ }, [flyoutMenuId, _ariaLabelledBy]);
392
+
393
+ /*
394
+ * Trap focus even when `ownFocus={false}`, otherwise closing
395
+ * the flyout won't return focus to the originating button.
396
+ *
397
+ * Set `clickOutsideDisables={true}` when `ownFocus={false}`
398
+ * to allow non-keyboard users the ability to interact with
399
+ * elements outside the flyout.
400
+ *
401
+ * Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
402
+ * or if `outsideClickCloses={true}` to close on clicks that target
403
+ * (both mousedown and mouseup) the overlay mask.
404
+ */
405
+ var onClickOutside = (0, _react.useCallback)(function (event) {
406
+ // Do not close the flyout for any external click
407
+ if (outsideClickCloses === false) return undefined;
408
+ if (hasOverlayMask) {
409
+ // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
410
+ if (event.target === maskRef.current) return onClose(event);
411
+ } else {
412
+ // No overlay mask is present, so any outside clicks should close the flyout
413
+ if (outsideClickCloses === true) return onClose(event);
414
+ }
415
+ // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
416
+ return undefined;
417
+ }, [onClose, hasOverlayMask, outsideClickCloses]);
418
+ var maskCombinedRefs = (0, _services.useCombinedRefs)([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef]);
419
+
420
+ /**
421
+ * For overlay flyouts in managed contexts, coordinate scroll locking with push flyout state.
422
+ */
423
+ var hasPushPaddingInManager = (0, _manager.useHasPushPadding)();
424
+ var shouldDeferScrollLock = !isPushed && isInManagedContext && hasPushPaddingInManager;
425
+ var shouldUseScrollLock = hasOverlayMask && !shouldDeferScrollLock;
426
+ return (0, _react2.jsx)(_flyout_overlay.EuiFlyoutOverlay, {
427
+ hasOverlayMask: hasOverlayMask,
428
+ isPushed: isPushed,
429
+ maskZIndex: maskZIndex,
430
+ maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
431
+ maskRef: maskCombinedRefs
432
+ })
433
+ }, (0, _react2.jsx)(_services.EuiWindowEvent, {
434
+ event: "keydown",
435
+ handler: onKeyDown
436
+ }), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
437
+ disabled: isPushed,
438
+ scrollLock: shouldUseScrollLock,
439
+ clickOutsideDisables: !ownFocus,
440
+ onClickOutside: onClickOutside
441
+ }, focusTrapProps), (0, _react2.jsx)(Element, (0, _extends2.default)({
442
+ className: classes,
443
+ css: cssStyles,
444
+ style: inlineStyles,
445
+ ref: setRef,
446
+ id: id
447
+ }, rest, {
448
+ role: !isPushed ? 'dialog' : rest.role,
449
+ "aria-modal": !isPushed || undefined,
450
+ tabIndex: !isPushed ? 0 : rest.tabIndex,
451
+ "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
452
+ "aria-labelledby": ariaLabelledBy,
453
+ "data-autofocus": !isPushed || undefined,
454
+ onAnimationEnd: onAnimationEnd
455
+ }), !isPushed && screenReaderDescription, !_flyoutMenuProps && !hideCloseButton && (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, (0, _extends2.default)({}, closeButtonProps, {
456
+ onClose: onClose,
457
+ closeButtonPosition: closeButtonPosition,
458
+ side: side
459
+ })), _flyoutMenuProps && (0, _react2.jsx)(_flyout_menu.EuiFlyoutMenu, (0, _extends2.default)({}, flyoutMenuProps, {
460
+ hideTitle: flyoutMenuHideTitle,
461
+ titleId: flyoutMenuId
462
+ })), resizable && (0, _react2.jsx)(_flyout_resize_button.EuiFlyoutResizeButton, {
463
+ type: type,
464
+ side: side,
465
+ ownFocus: ownFocus,
466
+ isPushed: isPushed,
467
+ onMouseDown: onMouseDownResizableButton,
468
+ onTouchStart: onMouseDownResizableButton,
469
+ onKeyDown: onKeyDownResizableButton
470
+ }), (0, _react2.jsx)(_flyout_parent_context.EuiFlyoutParentProvider, null, children))));
471
+ }
472
+ // React.forwardRef interferes with the inferred element type
473
+ // Casting to ensure correct element prop type checking for `as`
474
+ // e.g., `href` is not on a `div`
475
+ );
476
+ // Recast to allow `displayName`
477
+ EuiFlyoutComponent.displayName = 'EuiFlyoutComponent';