@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
@@ -1,11 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
6
- var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby"];
7
- 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; }
8
- 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) { _defineProperty(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; }
3
+ var _excluded = ["as", "onClose", "onActive", "session"];
9
4
  /*
10
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -14,362 +9,71 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
14
9
  * Side Public License, v 1.
15
10
  */
16
11
 
17
- import React, { useEffect, useRef, useMemo, useCallback, useState, forwardRef } from 'react';
18
- import classnames from 'classnames';
19
- import { keys, EuiWindowEvent, useCombinedRefs, useIsWithinMinBreakpoint, useEuiMemoizedStyles, useGeneratedHtmlId, useEuiThemeCSSVariables, focusTrapPubSub } from '../../services';
20
- import { logicalStyle } from '../../global_styling';
21
- import { EuiFocusTrap } from '../focus_trap';
22
- import { EuiOverlayMask } from '../overlay_mask';
23
- import { EuiI18n } from '../i18n';
24
- import { useResizeObserver } from '../observer/resize_observer';
25
- import { EuiPortal } from '../portal';
26
- import { EuiScreenReaderOnly } from '../accessibility';
27
- import { EuiFlyoutCloseButton } from './_flyout_close_button';
28
- import { euiFlyoutStyles } from './flyout.styles';
29
- import { EuiFlyoutChild } from './flyout_child';
30
- import { EuiFlyoutChildProvider } from './flyout_child_manager';
12
+ import React, { useRef, forwardRef } from 'react';
31
13
  import { usePropsWithComponentDefaults } from '../provider/component_defaults';
14
+ import { EuiFlyoutComponent } from './flyout.component';
15
+ import { EuiFlyoutChild, EuiFlyoutMain, useHasActiveSession } from './manager';
16
+ import { EuiFlyoutMenuContext } from './flyout_menu_context';
17
+ import { useIsInsideParentFlyout } from './flyout_parent_context';
18
+ import { SESSION_INHERIT, SESSION_NEVER, SESSION_START } from './manager/const';
32
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
33
- export var TYPES = ['push', 'overlay'];
34
- export var SIDES = ['left', 'right'];
35
- export var SIZES = ['s', 'm', 'l'];
36
- /**
37
- * Custom type checker for named flyout sizes since the prop
38
- * `size` can also be CSSProperties['width'] (string | number)
39
- */
40
- function isEuiFlyoutSizeNamed(value) {
41
- return SIZES.includes(value);
42
- }
43
- export var PADDING_SIZES = ['none', 's', 'm', 'l'];
44
- var defaultElement = 'div';
20
+ export { FLYOUT_SIDES, FLYOUT_PADDING_SIZES, FLYOUT_SIZES, FLYOUT_TYPES } from './const';
45
21
  export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
46
22
  var _usePropsWithComponen = usePropsWithComponentDefaults('EuiFlyout', props),
47
- className = _usePropsWithComponen.className,
48
- children = _usePropsWithComponen.children,
49
23
  as = _usePropsWithComponen.as,
50
- _usePropsWithComponen2 = _usePropsWithComponen.hideCloseButton,
51
- hideCloseButton = _usePropsWithComponen2 === void 0 ? false : _usePropsWithComponen2,
52
- closeButtonProps = _usePropsWithComponen.closeButtonProps,
53
- _usePropsWithComponen3 = _usePropsWithComponen.closeButtonPosition,
54
- _closeButtonPosition = _usePropsWithComponen3 === void 0 ? 'inside' : _usePropsWithComponen3,
55
24
  onClose = _usePropsWithComponen.onClose,
56
- _usePropsWithComponen4 = _usePropsWithComponen.ownFocus,
57
- ownFocus = _usePropsWithComponen4 === void 0 ? true : _usePropsWithComponen4,
58
- _usePropsWithComponen5 = _usePropsWithComponen.side,
59
- side = _usePropsWithComponen5 === void 0 ? 'right' : _usePropsWithComponen5,
60
- _usePropsWithComponen6 = _usePropsWithComponen.size,
61
- size = _usePropsWithComponen6 === void 0 ? 'm' : _usePropsWithComponen6,
62
- _usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
63
- paddingSize = _usePropsWithComponen7 === void 0 ? 'l' : _usePropsWithComponen7,
64
- _usePropsWithComponen8 = _usePropsWithComponen.maxWidth,
65
- maxWidth = _usePropsWithComponen8 === void 0 ? false : _usePropsWithComponen8,
66
- style = _usePropsWithComponen.style,
67
- maskProps = _usePropsWithComponen.maskProps,
68
- _usePropsWithComponen9 = _usePropsWithComponen.type,
69
- type = _usePropsWithComponen9 === void 0 ? 'overlay' : _usePropsWithComponen9,
70
- outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
71
- _usePropsWithComponen10 = _usePropsWithComponen.pushMinBreakpoint,
72
- pushMinBreakpoint = _usePropsWithComponen10 === void 0 ? 'l' : _usePropsWithComponen10,
73
- _usePropsWithComponen11 = _usePropsWithComponen.pushAnimation,
74
- pushAnimation = _usePropsWithComponen11 === void 0 ? false : _usePropsWithComponen11,
75
- _focusTrapProps = _usePropsWithComponen.focusTrapProps,
76
- _usePropsWithComponen12 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
77
- includeFixedHeadersInFocusTrap = _usePropsWithComponen12 === void 0 ? true : _usePropsWithComponen12,
78
- includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
79
- _ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
25
+ onActive = _usePropsWithComponen.onActive,
26
+ session = _usePropsWithComponen.session,
80
27
  rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
81
- var _useEuiThemeCSSVariab = useEuiThemeCSSVariables(),
82
- setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
83
- var Element = as || defaultElement;
84
- var maskRef = useRef(null);
85
-
86
- // Ref for the main flyout element to pass to context
87
- var internalParentFlyoutRef = useRef(null);
88
- var _useState = useState(false),
89
- _useState2 = _slicedToArray(_useState, 2),
90
- isChildFlyoutOpen = _useState2[0],
91
- setIsChildFlyoutOpen = _useState2[1];
92
- var _useState3 = useState('side-by-side'),
93
- _useState4 = _slicedToArray(_useState3, 2),
94
- childLayoutMode = _useState4[0],
95
- setChildLayoutMode = _useState4[1];
96
-
97
- // Check for child flyout
98
- var childFlyoutElement = React.Children.toArray(children).find(function (child) {
99
- return /*#__PURE__*/React.isValidElement(child) && (child.type === EuiFlyoutChild || child.type.displayName === 'EuiFlyoutChild');
100
- });
101
- var hasChildFlyout = !!childFlyoutElement;
102
-
103
- // Validate props, determine close button position and set child flyout classes
104
- var closeButtonPosition;
105
- var childFlyoutClasses = [];
106
- if (hasChildFlyout) {
107
- if (side !== 'right') {
108
- throw new Error('EuiFlyout: When an EuiFlyoutChild is present, the `side` prop of EuiFlyout must be "right".');
109
- }
110
- if (!isEuiFlyoutSizeNamed(size) || !['s', 'm'].includes(size)) {
111
- throw new Error("EuiFlyout: When an EuiFlyoutChild is present, the `size` prop of EuiFlyout must be \"s\" or \"m\". Received \"".concat(size, "\"."));
112
- }
113
- if (_closeButtonPosition !== 'inside') {
114
- throw new Error('EuiFlyout: When an EuiFlyoutChild is present, the `closeButtonPosition` prop of EuiFlyout must be "inside".');
115
- }
116
- closeButtonPosition = 'inside';
117
- childFlyoutClasses = ['euiFlyout--hasChild', "euiFlyout--hasChild--".concat(childLayoutMode), "euiFlyout--hasChild--".concat(childFlyoutElement.props.size || 's')];
118
- } else {
119
- closeButtonPosition = _closeButtonPosition;
120
- }
121
- var windowIsLargeEnoughToPush = useIsWithinMinBreakpoint(pushMinBreakpoint);
122
- var isPushed = type === 'push' && windowIsLargeEnoughToPush;
123
-
124
- /**
125
- * Setting up the refs on the actual flyout element in order to
126
- * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
127
- */
128
- var _useState5 = useState(null),
129
- _useState6 = _slicedToArray(_useState5, 2),
130
- resizeRef = _useState6[0],
131
- setResizeRef = _useState6[1];
132
- var setRef = useCombinedRefs([setResizeRef, ref, internalParentFlyoutRef]);
133
- var _useResizeObserver = useResizeObserver(isPushed ? resizeRef : null, 'width'),
134
- width = _useResizeObserver.width;
135
- useEffect(function () {
136
- /**
137
- * Accomodate for the `isPushed` state by adding padding to the body equal to the width of the element
138
- */
139
- if (isPushed) {
140
- var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
141
- var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
142
- document.body.style[paddingSide] = "".concat(width, "px");
143
-
144
- // EUI doesn't use this css variable, but it is useful for consumers
145
- setGlobalCSSVariables(_defineProperty({}, cssVarName, "".concat(width, "px")));
146
- return function () {
147
- document.body.style[paddingSide] = '';
148
- setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
149
- };
150
- }
151
- }, [isPushed, setGlobalCSSVariables, side, width]);
152
-
153
- /**
154
- * This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
155
- */
156
- useEffect(function () {
157
- document.body.classList.add('euiBody--hasFlyout');
158
- return function () {
159
- // Remove the hasFlyout class when the flyout is unmounted
160
- document.body.classList.remove('euiBody--hasFlyout');
161
- };
162
- }, []);
163
-
164
- /**
165
- * ESC key closes flyout (always?)
166
- */
167
- var onKeyDown = useCallback(function (event) {
168
- if (!isPushed && event.key === keys.ESCAPE && !isChildFlyoutOpen) {
169
- event.preventDefault();
170
- onClose(event);
171
- }
172
- }, [onClose, isPushed, isChildFlyoutOpen]);
173
-
174
- /**
175
- * Set inline styles
176
- */
177
- var inlineStyles = useMemo(function () {
178
- var widthStyle = !isEuiFlyoutSizeNamed(size) && logicalStyle('width', size);
179
- var maxWidthStyle = typeof maxWidth !== 'boolean' && logicalStyle('max-width', maxWidth);
180
- return _objectSpread(_objectSpread(_objectSpread({}, style), widthStyle), maxWidthStyle);
181
- }, [style, maxWidth, size]);
182
- var styles = useEuiMemoizedStyles(euiFlyoutStyles);
183
- var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], 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]];
184
- var classes = classnames.apply(void 0, ['euiFlyout'].concat(_toConsumableArray(childFlyoutClasses), [className]));
28
+ var hasActiveSession = useHasActiveSession();
29
+ var isInsideParentFlyout = useIsInsideParentFlyout();
30
+ var isUnmanagedFlyout = useRef(false);
185
31
 
186
32
  /*
187
- * Trap focus even when `ownFocus={false}`, otherwise closing
188
- * the flyout won't return focus to the originating button.
189
- *
190
- * Set `clickOutsideDisables={true}` when `ownFocus={false}`
191
- * to allow non-keyboard users the ability to interact with
192
- * elements outside the flyout.
193
- *
194
- * Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
195
- * or if `outsideClickCloses={true}` to close on clicks that target
196
- * (both mousedown and mouseup) the overlay mask.
33
+ * Flyout routing logic:
34
+ * - session="start" Main flyout (creates new session)
35
+ * - session="inherit" + active session → Child flyout (auto-joins, works across React roots!)
36
+ * - session="inherit" + no session → Standard flyout
37
+ * - session="never" Standard flyout (explicit opt-out)
38
+ * - session=undefined + inside parent + active session → Child flyout (auto-inherit)
39
+ * - session=undefined + not inside parent → Standard flyout (default behavior)
197
40
  */
198
- var flyoutToggle = useRef(document.activeElement);
199
- var _useState7 = useState([]),
200
- _useState8 = _slicedToArray(_useState7, 2),
201
- focusTrapShards = _useState8[0],
202
- setFocusTrapShards = _useState8[1];
203
- var focusTrapSelectors = useMemo(function () {
204
- var selectors = [];
205
- if (includeSelectorInFocusTrap) {
206
- selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
207
- }
208
- if (includeFixedHeadersInFocusTrap) {
209
- selectors.push('.euiHeader[data-fixed-header]');
210
- }
211
- return selectors;
212
- }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
213
41
 
214
- /**
215
- * Finds the shards to include in the focus trap by querying by `focusTrapSelectors`.
216
- *
217
- * @param shouldAutoFocus Whether to auto-focus the flyout wrapper when the focus trap is activated.
218
- * This is necessary because when a flyout is toggled from within a shard, the focus trap's `autoFocus`
219
- * feature doesn't work. This logic manually focuses the flyout as a workaround.
220
- */
221
- var findShards = useCallback(function () {
222
- var shouldAutoFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
223
- if (focusTrapSelectors.length > 0) {
224
- var shardsEls = focusTrapSelectors.flatMap(function (selector) {
225
- return Array.from(document.querySelectorAll(selector));
226
- });
227
- setFocusTrapShards(Array.from(shardsEls));
228
- if (shouldAutoFocus) {
229
- shardsEls.forEach(function (shard) {
230
- if (shard.contains(flyoutToggle.current)) {
231
- resizeRef === null || resizeRef === void 0 || resizeRef.focus();
232
- }
233
- });
42
+ // Determine effective session behavior when session is undefined
43
+ var effectiveSession = session === undefined && isInsideParentFlyout && hasActiveSession ? SESSION_INHERIT : session !== null && session !== void 0 ? session : SESSION_NEVER;
44
+ if (effectiveSession !== SESSION_NEVER) {
45
+ if (effectiveSession === SESSION_START) {
46
+ // session=start: create new session
47
+ if (isUnmanagedFlyout.current) {
48
+ // TODO: @tkajtoch - We need to find a better way to handle the missing event.
49
+ onClose === null || onClose === void 0 || onClose({});
50
+ return null;
234
51
  }
235
- } else {
236
- // Clear existing shards if necessary, e.g. switching to `false`
237
- setFocusTrapShards(function (shards) {
238
- return shards.length ? [] : shards;
239
- });
52
+ return ___EmotionJSX(EuiFlyoutMain, _extends({}, rest, {
53
+ onClose: onClose,
54
+ onActive: onActive,
55
+ as: "div"
56
+ }));
240
57
  }
241
- }, [focusTrapSelectors, resizeRef]);
242
- useEffect(function () {
243
- // Auto-focus should only happen on initial flyout mount (or when the dependencies change)
244
- // because it snaps focus to the flyout wrapper, which steals it from subsequently focused elements.
245
- findShards(true);
246
- var unsubscribe = focusTrapPubSub.subscribe(function () {
247
- return findShards();
248
- });
249
- return unsubscribe;
250
- }, [findShards]);
251
- var focusTrapProps = useMemo(function () {
252
- return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
253
- shards: [].concat(_toConsumableArray(focusTrapShards), _toConsumableArray((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
254
- });
255
- }, [_focusTrapProps, focusTrapShards]);
256
58
 
257
- /*
258
- * Provide meaningful screen reader instructions/details
259
- */
260
- var hasOverlayMask = ownFocus && !isPushed;
261
- var descriptionId = useGeneratedHtmlId();
262
- var ariaDescribedBy = classnames(descriptionId, _ariaDescribedBy);
263
- var screenReaderDescription = useMemo(function () {
264
- return ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
265
- id: descriptionId
266
- }, hasOverlayMask ? ___EmotionJSX(EuiI18n, {
267
- token: "euiFlyout.screenReaderModalDialog",
268
- default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
269
- }) : ___EmotionJSX(EuiI18n, {
270
- token: "euiFlyout.screenReaderNonModalDialog",
271
- default: "You are in a non-modal dialog. To close the dialog, press Escape."
272
- }), ' ', focusTrapShards.length > 0 && ___EmotionJSX(EuiI18n, {
273
- token: "euiFlyout.screenReaderFocusTrapShards",
274
- default: "You can still continue tabbing through other global page landmarks."
275
- })));
276
- }, [hasOverlayMask, descriptionId, focusTrapShards.length]);
277
-
278
- /*
279
- * Trap focus even when `ownFocus={false}`, otherwise closing
280
- * the flyout won't return focus to the originating button.
281
- *
282
- * Set `clickOutsideDisables={true}` when `ownFocus={false}`
283
- * to allow non-keyboard users the ability to interact with
284
- * elements outside the flyout.
285
- *
286
- * Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
287
- * or if `outsideClickCloses={true}` to close on clicks that target
288
- * (both mousedown and mouseup) the overlay mask.
289
- */
290
- var onClickOutside = useCallback(function (event) {
291
- // Do not close the flyout for any external click
292
- if (outsideClickCloses === false) return undefined;
293
- if (hasOverlayMask) {
294
- // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
295
- if (event.target === maskRef.current) return onClose(event);
296
- } else {
297
- // No overlay mask is present, so any outside clicks should close the flyout
298
- if (outsideClickCloses === true) return onClose(event);
59
+ // session=inherit: auto-join existing session as child
60
+ if (hasActiveSession && effectiveSession === SESSION_INHERIT) {
61
+ return ___EmotionJSX(EuiFlyoutChild, _extends({}, rest, {
62
+ onClose: onClose,
63
+ onActive: onActive,
64
+ as: "div"
65
+ }));
299
66
  }
300
- // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
301
- return undefined;
302
- }, [onClose, hasOverlayMask, outsideClickCloses]);
303
- var closeButton = !hideCloseButton && ___EmotionJSX(EuiFlyoutCloseButton, _extends({}, closeButtonProps, {
304
- onClose: onClose,
305
- closeButtonPosition: closeButtonPosition,
306
- side: side
307
- }));
308
-
309
- // render content within EuiFlyoutChildProvider if childFlyoutElement is present
310
- var contentToRender = children;
311
- if (hasChildFlyout && childFlyoutElement) {
312
- contentToRender = ___EmotionJSX(EuiFlyoutChildProvider, {
313
- parentSize: size,
314
- parentFlyoutRef: internalParentFlyoutRef,
315
- childElement: childFlyoutElement,
316
- childrenToRender: children,
317
- reportIsChildOpen: setIsChildFlyoutOpen,
318
- reportChildLayoutMode: setChildLayoutMode
319
- });
320
- }
321
- return ___EmotionJSX(EuiFlyoutWrapper, {
322
- hasOverlayMask: hasOverlayMask,
323
- maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
324
- maskRef: useCombinedRefs([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef])
325
- }),
326
- isPortalled: !isPushed
327
- }, ___EmotionJSX(EuiWindowEvent, {
328
- event: "keydown",
329
- handler: onKeyDown
330
- }), ___EmotionJSX(EuiFocusTrap, _extends({
331
- disabled: isPushed || ownFocus && isChildFlyoutOpen,
332
- scrollLock: hasOverlayMask,
333
- clickOutsideDisables: !ownFocus,
334
- onClickOutside: onClickOutside
335
- }, focusTrapProps), ___EmotionJSX(Element, _extends({
336
- className: classes,
337
- css: cssStyles,
338
- style: inlineStyles,
339
- ref: setRef
340
- }, rest, {
341
- role: !isPushed ? 'dialog' : rest.role,
342
- "aria-modal": !isPushed || undefined,
343
- tabIndex: !isPushed ? 0 : rest.tabIndex,
344
- "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
345
- "data-autofocus": !isPushed || undefined
346
- }), !isPushed && screenReaderDescription, closeButton, contentToRender)));
347
- }
348
- // React.forwardRef interferes with the inferred element type
349
- // Casting to ensure correct element prop type checking for `as`
350
- // e.g., `href` is not on a `div`
351
- );
352
- // Recast to allow `displayName`
353
- EuiFlyout.displayName = 'EuiFlyout';
354
-
355
- /**
356
- * Light wrapper for conditionally rendering portals or overlay masks:
357
- * - If ownFocus is set, wrap with an overlay and allow the user to click it to close it.
358
- * - Otherwise still wrap within an EuiPortal so it appends to the bottom of the window.
359
- * Push flyouts have no overlay OR portal behavior.
360
- */
361
- var EuiFlyoutWrapper = function EuiFlyoutWrapper(_ref) {
362
- var children = _ref.children,
363
- hasOverlayMask = _ref.hasOverlayMask,
364
- maskProps = _ref.maskProps,
365
- isPortalled = _ref.isPortalled;
366
- if (hasOverlayMask) {
367
- return ___EmotionJSX(EuiOverlayMask, _extends({
368
- headerZindexLocation: "below"
369
- }, maskProps), children);
370
- } else if (isPortalled) {
371
- return ___EmotionJSX(EuiPortal, null, children);
372
- } else {
373
- return ___EmotionJSX(React.Fragment, null, children);
374
67
  }
375
- };
68
+ isUnmanagedFlyout.current = true;
69
+ return ___EmotionJSX(EuiFlyoutMenuContext.Provider, {
70
+ value: {
71
+ onClose: onClose
72
+ }
73
+ }, ___EmotionJSX(EuiFlyoutComponent, _extends({}, rest, {
74
+ onClose: onClose,
75
+ as: as,
76
+ ref: ref
77
+ })));
78
+ });
79
+ EuiFlyout.displayName = 'EuiFlyout';
@@ -1,5 +1,8 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
4
+ 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; }
5
+ 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) { _defineProperty(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; }
3
6
  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)."; }
4
7
  /*
5
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -11,11 +14,15 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
11
14
 
12
15
  import { css, keyframes } from '@emotion/react';
13
16
  import { euiShadowXLarge } from '@elastic/eui-theme-common';
14
- import { euiCanAnimate, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS, mathWithUnits } from '../../global_styling';
17
+ import { isEuiFlyoutSizeNamed } from './const';
18
+ import { euiCanAnimate, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS, logicalStyles, mathWithUnits } from '../../global_styling';
15
19
  import { euiFormMaxWidth } from '../form/form.styles';
20
+ export var EUI_FLYOUT_CONTAINER_NAME = 'euiFlyout';
16
21
  export var FLYOUT_BREAKPOINT = 'm';
17
- export var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
18
- export var euiFlyoutSlideInLeft = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
22
+ export var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
23
+ export var euiFlyoutSlideOutRight = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0%);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n"])));
24
+ export var euiFlyoutSlideInLeft = keyframes(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
25
+ export var euiFlyoutSlideOutLeft = keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n"])));
19
26
  var _ref = process.env.NODE_ENV === "production" ? {
20
27
  name: "yokctr-noAnimation",
21
28
  styles: "animation-duration:0s!important;label:noAnimation;"
@@ -35,17 +42,18 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
35
42
  export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
36
43
  var euiTheme = euiThemeContext.euiTheme;
37
44
  return {
38
- euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyout;"),
45
+ euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), " background:", euiTheme.colors.backgroundBasePlain, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}&.euiFlyout--hasChildBackground{background:", euiTheme.colors.backgroundBaseSubdued, ";}", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyout;"),
39
46
  // Flyout sizes
40
47
  // When a child flyout is stacked on top of the parent, the parent flyout size will match the child flyout size
41
48
  s: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 's'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--m{", composeFlyoutSizing(euiThemeContext, 'm'), ";};label:s;"),
42
49
  m: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'm'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--s{", composeFlyoutSizing(euiThemeContext, 's'), ";};label:m;"),
43
50
  l: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'l'), ";;label:l;"),
51
+ fill: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'fill'), ";;label:fill;"),
44
52
  noMaxWidth: /*#__PURE__*/css(logicalCSS('max-width', 'none'), ";;label:noMaxWidth;"),
45
53
  // Side
46
- right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), " ", euiCanAnimate, "{animation:", euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";}&.euiFlyout--hasChild{clip-path:none;};label:right;"),
54
+ right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), "animation:", euiFlyoutSlideInRight, " 0s ", euiTheme.animation.resistance, " forwards;", euiCanAnimate, "{animation-duration:", euiTheme.animation.normal, ";}&.euiFlyout--hasChild{clip-path:none;};label:right;"),
47
55
  // Left-side flyouts should only be used for navigation
48
- left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:left;"),
56
+ left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);animation:", euiFlyoutSlideInLeft, " 0s ", euiTheme.animation.resistance, " forwards;", euiCanAnimate, "{animation-duration:", euiTheme.animation.normal, ";};label:left;"),
49
57
  // Type
50
58
  overlay: {
51
59
  overlay: _ref2,
@@ -101,6 +109,13 @@ export var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, s
101
109
  // 1.
102
110
  width: '75vw',
103
111
  max: "".concat(euiTheme.breakpoint.l, "px")
112
+ },
113
+ // NOTE: These styles are for the flyout system in `stacked` layout mode.
114
+ // In `side-by-side` mode, @flyout.component.tsx uses inline styles.
115
+ fill: {
116
+ min: '90vw',
117
+ width: '90vw',
118
+ max: '90vw'
104
119
  }
105
120
  };
106
121
  return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ").concat(euiMinBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ");
@@ -126,4 +141,85 @@ var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddin
126
141
  }), " ").concat(euiTheme.size.l, ";")
127
142
  };
128
143
  return "\n .euiFlyoutHeader {\n ".concat(logicalCSS('padding-horizontal', paddingModifierMap[paddingSize]), "\n ").concat(logicalCSS('padding-top', paddingModifierMap[paddingSize]), "\n }\n\n [class*='euiFlyoutHeader-hasBorder'] {\n ").concat(logicalCSS('padding-bottom', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutBody__overflowContent {\n padding: ").concat(paddingModifierMap[paddingSize], ";\n }\n\n .euiFlyoutBody__banner .euiCallOut {\n ").concat(logicalCSS('padding-horizontal', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutFooter {\n padding: ").concat(footerPaddingSizes[paddingSize], ";\n }\n ");
144
+ };
145
+
146
+ /**
147
+ * Helper for `composeFlyoutInlineStyles`
148
+ * Handles maxWidth prop overrides to ensure they take precedence over base CSS
149
+ */
150
+ var composeMaxWidthOverrides = function composeMaxWidthOverrides(maxWidth, isFill) {
151
+ if (typeof maxWidth === 'boolean') {
152
+ return {};
153
+ }
154
+ var overrides = {
155
+ maxWidth: maxWidth
156
+ };
157
+
158
+ // For fill size flyouts, we need to override min-width to allow dynamic sizing
159
+ if (isFill) {
160
+ overrides.minWidth = '0';
161
+
162
+ // When maxWidth is provided for fill flyouts, we need to override the CSS rule
163
+ // that sets min-inline-size: 90vw. We calculate min(maxWidth, 90vw) to ensure
164
+ // the flyout respects both constraints and doesn't get stuck at 90vw minimum.
165
+ if (maxWidth) {
166
+ var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
167
+ overrides.minWidth = "min(".concat(maxWidthWithUnits, ", 90vw)");
168
+ }
169
+ }
170
+ return logicalStyles(overrides);
171
+ };
172
+
173
+ /**
174
+ * Composes all inline styles for a flyout based on its configuration
175
+ */
176
+ export var composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, zIndex) {
177
+ // Handle custom width values (non-named sizes)
178
+ var customWidthStyles = !isEuiFlyoutSizeNamed(size) ? logicalStyles({
179
+ width: size
180
+ }) : {};
181
+ var isFill = size === 'fill';
182
+
183
+ // Handle dynamic width calculation for fill size in side-by-side mode
184
+ var dynamicStyles = isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth ? logicalStyles({
185
+ width: "calc(90vw - ".concat(siblingFlyoutWidth, "px)"),
186
+ minWidth: '0'
187
+ }) : {};
188
+
189
+ // For fill flyouts with maxWidth, we need to ensure the minWidth override is applied
190
+ // to override the CSS rule that sets min-inline-size: 90vw
191
+ var minWidthOverride = {};
192
+ if (isFill && maxWidth) {
193
+ if (layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
194
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
195
+ var dynamicWidth = dynamicStyles.inlineSize;
196
+ var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
197
+ minWidthOverride = {
198
+ minWidth: "min(".concat(maxWidthWithUnits, ", ").concat(dynamicWidth, ")")
199
+ };
200
+ } else {
201
+ // For fill flyouts with maxWidth but no sibling: min(maxWidth, 90vw)
202
+ var maxWidthOverrides = composeMaxWidthOverrides(maxWidth, isFill);
203
+ minWidthOverride = {
204
+ minWidth: maxWidthOverrides.minInlineSize
205
+ };
206
+ }
207
+ }
208
+
209
+ // Calculate the final maxWidth based on conditions
210
+ var finalMaxWidth;
211
+ if (maxWidth && isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
212
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
213
+ var _dynamicWidth = dynamicStyles.inlineSize;
214
+ var _maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
215
+ finalMaxWidth = "min(".concat(_maxWidthWithUnits, ", ").concat(_dynamicWidth, ")");
216
+ } else if (maxWidth) {
217
+ // For all other cases with maxWidth: use the original maxWidth value
218
+ finalMaxWidth = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
219
+ }
220
+ return logicalStyles(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, customWidthStyles), dynamicStyles), minWidthOverride), finalMaxWidth ? {
221
+ maxWidth: finalMaxWidth
222
+ } : {}), {}, {
223
+ zIndex: zIndex
224
+ }));
129
225
  };