@elastic/eui 106.1.0-amsterdam.0 → 106.2.0-snapshot.1757009122780

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 (561) hide show
  1. package/es/components/accessibility/index.js +2 -1
  2. package/es/components/{flyout/sessions → accessibility/live_announcer}/index.js +1 -2
  3. package/es/components/accessibility/live_announcer/live_announcer.js +84 -0
  4. package/es/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
  5. package/es/components/avatar/avatar.js +1 -1
  6. package/es/components/badge/badge.js +1 -1
  7. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  8. package/es/components/basic_table/basic_table.js +4 -4
  9. package/es/components/basic_table/in_memory_table.js +4 -4
  10. package/es/components/button/button.js +1 -1
  11. package/es/components/button/button_display/_button_display.js +1 -1
  12. package/es/components/button/button_display/_button_display_content.js +1 -1
  13. package/es/components/button/button_empty/button_empty.js +1 -1
  14. package/es/components/button/button_group/button_group.js +1 -1
  15. package/es/components/button/button_group/button_group_button.js +1 -1
  16. package/es/components/button/button_icon/button_icon.js +1 -1
  17. package/es/components/call_out/call_out.js +16 -5
  18. package/es/components/card/card.js +2 -2
  19. package/es/components/card/card_select/card_select.js +1 -1
  20. package/es/components/card/checkable_card/checkable_card.js +30 -5
  21. package/es/components/code/code_block.js +5 -2
  22. package/es/components/code/code_block_virtualized.js +5 -3
  23. package/es/components/collapsible_nav/collapsible_nav.js +4 -106
  24. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  25. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  30. package/es/components/combo_box/combo_box.a11y.js +97 -81
  31. package/es/components/combo_box/combo_box.js +3 -2
  32. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
  33. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +6 -2
  34. package/es/components/comment_list/comment.js +2 -2
  35. package/es/components/comment_list/comment_event.js +1 -1
  36. package/es/components/comment_list/comment_list.js +2 -2
  37. package/es/components/comment_list/comment_timeline.js +1 -1
  38. package/es/components/context_menu/context_menu_item.js +1 -1
  39. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  40. package/es/components/datagrid/body/data_grid_body.js +7 -7
  41. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  42. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  43. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  44. package/es/components/datagrid/controls/column_sorting.js +7 -7
  45. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  46. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  47. package/es/components/datagrid/data_grid.styles.js +1 -1
  48. package/es/components/datagrid/utils/in_memory.js +6 -6
  49. package/es/components/date_picker/date_picker.js +2 -2
  50. package/es/components/date_picker/date_picker_range.js +1 -1
  51. package/es/components/empty_prompt/empty_prompt.js +1 -1
  52. package/es/components/facet/facet_button.js +1 -1
  53. package/es/components/filter_group/filter_select_item.js +16 -3
  54. package/es/components/flyout/const.js +42 -0
  55. package/es/components/flyout/flyout.component.js +378 -0
  56. package/es/components/flyout/flyout.js +43 -362
  57. package/es/components/flyout/flyout.styles.js +98 -3
  58. package/es/components/flyout/flyout_menu.js +86 -0
  59. package/es/components/flyout/flyout_menu.styles.js +16 -0
  60. package/{optimize/es/components/flyout/flyout_context.js → es/components/flyout/flyout_menu_context.js} +1 -7
  61. package/es/components/flyout/flyout_resizable.js +3 -2
  62. package/es/components/flyout/hooks.js +25 -0
  63. package/es/components/flyout/index.js +4 -2
  64. package/es/components/flyout/manager/actions.js +97 -0
  65. package/es/components/flyout/manager/activity_stage.js +71 -0
  66. package/es/components/flyout/manager/const.js +50 -0
  67. package/es/components/flyout/manager/context.js +33 -0
  68. package/es/components/flyout/manager/flyout_child.js +80 -0
  69. package/es/components/flyout/manager/flyout_child.styles.js +26 -0
  70. package/es/components/flyout/manager/flyout_main.js +65 -0
  71. package/es/components/flyout/manager/flyout_main.styles.js +25 -0
  72. package/es/components/flyout/manager/flyout_managed.js +129 -0
  73. package/es/components/flyout/manager/flyout_managed.styles.js +66 -0
  74. package/es/components/flyout/manager/hooks.js +98 -0
  75. package/es/components/flyout/manager/index.js +31 -0
  76. package/es/components/flyout/manager/layout_mode.js +164 -0
  77. package/es/components/flyout/manager/provider.js +37 -0
  78. package/es/components/flyout/manager/reducer.js +200 -0
  79. package/es/components/flyout/manager/selectors.js +87 -0
  80. package/es/components/flyout/manager/validation.js +112 -0
  81. package/es/components/form/field_number/field_number.js +2 -2
  82. package/es/components/form/field_password/field_password.styles.js +1 -0
  83. package/es/components/form/field_text/field_text.js +2 -2
  84. package/es/components/form/form.styles.js +2 -2
  85. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  86. package/es/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  87. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  88. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  89. package/es/components/form/range/range.styles.js +2 -2
  90. package/es/components/form/text_area/text_area.js +2 -2
  91. package/es/components/header/header_links/header_link.js +1 -1
  92. package/es/components/header/header_links/header_links.js +1 -1
  93. package/es/components/header/header_logo/header_logo.js +1 -1
  94. package/es/components/header/header_section/header_section_item_button.js +1 -1
  95. package/es/components/icon/assets/thumbDown.js +37 -0
  96. package/es/components/icon/assets/thumbUp.js +37 -0
  97. package/es/components/icon/icon.js +1 -1
  98. package/es/components/icon/icon_map.js +2 -0
  99. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  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/index.js +1 -0
  106. package/es/components/markdown_editor/markdown_editor.js +16 -5
  107. package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
  108. package/es/components/markdown_editor/markdown_editor_footer.js +13 -121
  109. package/es/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  110. package/es/components/markdown_editor/markdown_editor_help_button.js +144 -0
  111. package/es/components/markdown_editor/markdown_editor_help_button.styles.js +16 -0
  112. package/es/components/markdown_editor/markdown_editor_toolbar.js +29 -24
  113. package/es/components/overlay_mask/overlay_mask.js +8 -3
  114. package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  115. package/es/components/page/page_header/page_header_content.js +1 -1
  116. package/es/components/pagination/pagination_button.js +1 -1
  117. package/es/components/popover/popover.js +2 -1
  118. package/es/components/provider/provider.js +4 -3
  119. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  120. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  121. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  122. package/es/components/table/table_header_cell.js +1 -1
  123. package/es/components/timeline/timeline_item_icon.js +1 -1
  124. package/es/components/toast/global_toast_list.js +1 -1
  125. package/es/components/toast/toast.js +1 -1
  126. package/es/components/tool_tip/icon_tip.js +1 -1
  127. package/es/global_styling/mixins/_button.js +1 -1
  128. package/es/services/color/vis_color_store.js +1 -1
  129. package/es/services/emotion/prefixer.js +116 -22
  130. package/es/services/theme/context.js +2 -2
  131. package/eui.d.ts +1126 -772
  132. package/i18ntokens.json +624 -624
  133. package/lib/components/accessibility/index.js +8 -1
  134. package/lib/components/accessibility/live_announcer/index.js +16 -0
  135. package/lib/components/accessibility/live_announcer/live_announcer.js +93 -0
  136. package/lib/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
  137. package/lib/components/avatar/avatar.js +1 -1
  138. package/lib/components/badge/badge.js +1 -1
  139. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  140. package/lib/components/basic_table/basic_table.js +4 -4
  141. package/lib/components/basic_table/in_memory_table.js +4 -4
  142. package/lib/components/button/button.js +1 -1
  143. package/lib/components/button/button_display/_button_display.js +1 -1
  144. package/lib/components/button/button_display/_button_display_content.js +1 -1
  145. package/lib/components/button/button_empty/button_empty.js +1 -1
  146. package/lib/components/button/button_group/button_group.js +1 -1
  147. package/lib/components/button/button_group/button_group_button.js +1 -1
  148. package/lib/components/button/button_icon/button_icon.js +1 -1
  149. package/lib/components/call_out/call_out.js +17 -6
  150. package/lib/components/card/card.js +2 -2
  151. package/lib/components/card/card_select/card_select.js +1 -1
  152. package/lib/components/card/checkable_card/checkable_card.js +29 -4
  153. package/lib/components/code/code_block.js +5 -2
  154. package/lib/components/code/code_block_virtualized.js +5 -3
  155. package/lib/components/collapsible_nav/collapsible_nav.js +4 -106
  156. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  157. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  159. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  160. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  161. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  162. package/lib/components/combo_box/combo_box.a11y.js +97 -81
  163. package/lib/components/combo_box/combo_box.js +3 -2
  164. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
  165. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  166. package/lib/components/comment_list/comment.js +2 -2
  167. package/lib/components/comment_list/comment_event.js +1 -1
  168. package/lib/components/comment_list/comment_list.js +2 -2
  169. package/lib/components/comment_list/comment_timeline.js +1 -1
  170. package/lib/components/context_menu/context_menu_item.js +1 -1
  171. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  172. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  173. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  174. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  175. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  176. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  177. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  178. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  179. package/lib/components/datagrid/data_grid.styles.js +1 -1
  180. package/lib/components/datagrid/utils/in_memory.js +6 -6
  181. package/lib/components/date_picker/date_picker.js +2 -2
  182. package/lib/components/date_picker/date_picker_range.js +1 -1
  183. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  184. package/lib/components/facet/facet_button.js +1 -1
  185. package/lib/components/filter_group/filter_select_item.js +16 -3
  186. package/lib/components/flyout/const.js +49 -0
  187. package/lib/components/flyout/flyout.component.js +385 -0
  188. package/lib/components/flyout/flyout.js +68 -362
  189. package/lib/components/flyout/flyout.styles.js +98 -3
  190. package/lib/components/flyout/flyout_menu.js +95 -0
  191. package/lib/components/flyout/flyout_menu.styles.js +22 -0
  192. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
  193. package/lib/components/flyout/flyout_resizable.js +3 -2
  194. package/lib/components/flyout/hooks.js +30 -0
  195. package/lib/components/flyout/index.js +14 -14
  196. package/lib/components/flyout/manager/actions.js +103 -0
  197. package/lib/components/flyout/manager/activity_stage.js +77 -0
  198. package/lib/components/flyout/manager/const.js +56 -0
  199. package/lib/components/flyout/manager/context.js +41 -0
  200. package/lib/components/flyout/manager/flyout_child.js +85 -0
  201. package/lib/components/flyout/manager/flyout_child.styles.js +32 -0
  202. package/lib/components/flyout/manager/flyout_main.js +70 -0
  203. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  204. package/lib/components/flyout/manager/flyout_managed.js +136 -0
  205. package/lib/components/flyout/manager/flyout_managed.styles.js +70 -0
  206. package/lib/components/flyout/manager/hooks.js +161 -0
  207. package/lib/components/flyout/manager/index.js +150 -0
  208. package/lib/components/flyout/manager/layout_mode.js +171 -0
  209. package/lib/components/flyout/manager/provider.js +46 -0
  210. package/lib/components/flyout/manager/reducer.js +205 -0
  211. package/lib/components/flyout/manager/selectors.js +93 -0
  212. package/lib/components/flyout/manager/validation.js +121 -0
  213. package/lib/components/form/field_number/field_number.js +2 -2
  214. package/lib/components/form/field_password/field_password.styles.js +1 -0
  215. package/lib/components/form/field_text/field_text.js +2 -2
  216. package/lib/components/form/form.styles.js +2 -2
  217. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  218. package/lib/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  219. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  220. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  221. package/lib/components/form/range/range.styles.js +2 -2
  222. package/lib/components/form/text_area/text_area.js +2 -2
  223. package/lib/components/header/header_links/header_link.js +1 -1
  224. package/lib/components/header/header_links/header_links.js +1 -1
  225. package/lib/components/header/header_logo/header_logo.js +1 -1
  226. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  227. package/lib/components/icon/assets/thumbDown.js +44 -0
  228. package/lib/components/icon/assets/thumbUp.js +44 -0
  229. package/lib/components/icon/icon.js +1 -1
  230. package/lib/components/icon/icon_map.js +2 -0
  231. package/lib/components/icon/svgs/thumbDown.svg +4 -0
  232. package/lib/components/icon/svgs/thumbUp.svg +4 -0
  233. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  234. package/lib/components/list_group/list_group.js +2 -2
  235. package/lib/components/list_group/list_group_item.js +2 -2
  236. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  237. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  238. package/lib/components/loading/loading_logo.js +1 -1
  239. package/lib/components/markdown_editor/index.js +7 -0
  240. package/lib/components/markdown_editor/markdown_editor.js +16 -5
  241. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
  242. package/lib/components/markdown_editor/markdown_editor_footer.js +11 -118
  243. package/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  244. package/lib/components/markdown_editor/markdown_editor_help_button.js +151 -0
  245. package/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  246. package/lib/components/markdown_editor/markdown_editor_toolbar.js +29 -24
  247. package/lib/components/overlay_mask/overlay_mask.js +7 -2
  248. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  249. package/lib/components/page/page_header/page_header_content.js +1 -1
  250. package/lib/components/pagination/pagination_button.js +1 -1
  251. package/lib/components/popover/popover.js +2 -1
  252. package/lib/components/provider/provider.js +4 -3
  253. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  254. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  255. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  256. package/lib/components/table/table_header_cell.js +1 -1
  257. package/lib/components/timeline/timeline_item_icon.js +1 -1
  258. package/lib/components/toast/global_toast_list.js +1 -1
  259. package/lib/components/toast/toast.js +1 -1
  260. package/lib/components/tool_tip/icon_tip.js +1 -1
  261. package/lib/global_styling/mixins/_button.js +1 -1
  262. package/lib/services/color/vis_color_store.js +2 -2
  263. package/lib/services/emotion/prefixer.js +116 -22
  264. package/lib/services/theme/context.js +2 -2
  265. package/optimize/es/components/accessibility/index.js +2 -1
  266. package/optimize/es/components/{flyout/sessions → accessibility/live_announcer}/index.js +1 -2
  267. package/optimize/es/components/accessibility/live_announcer/live_announcer.js +68 -0
  268. package/optimize/es/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
  269. package/optimize/es/components/call_out/call_out.js +6 -2
  270. package/optimize/es/components/card/checkable_card/checkable_card.js +25 -5
  271. package/optimize/es/components/code/code_block.js +5 -2
  272. package/optimize/es/components/code/code_block_virtualized.js +5 -3
  273. package/optimize/es/components/combo_box/combo_box.a11y.js +97 -81
  274. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
  275. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +6 -2
  276. package/optimize/es/components/datagrid/data_grid.styles.js +1 -1
  277. package/optimize/es/components/filter_group/filter_select_item.js +15 -3
  278. package/optimize/es/components/flyout/const.js +42 -0
  279. package/optimize/es/components/flyout/flyout.component.js +346 -0
  280. package/optimize/es/components/flyout/flyout.js +39 -332
  281. package/optimize/es/components/flyout/flyout.styles.js +95 -3
  282. package/optimize/es/components/flyout/flyout_menu.js +74 -0
  283. package/optimize/es/components/flyout/flyout_menu.styles.js +16 -0
  284. package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
  285. package/optimize/es/components/flyout/flyout_resizable.js +3 -2
  286. package/optimize/es/components/flyout/hooks.js +25 -0
  287. package/optimize/es/components/flyout/index.js +4 -2
  288. package/optimize/es/components/flyout/manager/actions.js +97 -0
  289. package/optimize/es/components/flyout/manager/activity_stage.js +71 -0
  290. package/optimize/es/components/flyout/manager/const.js +50 -0
  291. package/optimize/es/components/flyout/manager/context.js +33 -0
  292. package/optimize/es/components/flyout/manager/flyout_child.js +76 -0
  293. package/optimize/es/components/flyout/manager/flyout_child.styles.js +26 -0
  294. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  295. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  296. package/optimize/es/components/flyout/manager/flyout_managed.js +125 -0
  297. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +66 -0
  298. package/optimize/es/components/flyout/manager/hooks.js +93 -0
  299. package/optimize/es/components/flyout/manager/index.js +31 -0
  300. package/optimize/es/components/flyout/manager/layout_mode.js +159 -0
  301. package/optimize/es/components/flyout/manager/provider.js +37 -0
  302. package/optimize/es/components/flyout/manager/reducer.js +192 -0
  303. package/optimize/es/components/flyout/manager/selectors.js +87 -0
  304. package/optimize/es/components/flyout/manager/validation.js +112 -0
  305. package/optimize/es/components/form/field_password/field_password.styles.js +1 -0
  306. package/optimize/es/components/form/form.styles.js +2 -2
  307. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  308. package/optimize/es/components/form/range/range.styles.js +2 -2
  309. package/optimize/es/components/icon/assets/thumbDown.js +36 -0
  310. package/optimize/es/components/icon/assets/thumbUp.js +36 -0
  311. package/optimize/es/components/icon/icon_map.js +2 -0
  312. package/optimize/es/components/markdown_editor/index.js +1 -0
  313. package/optimize/es/components/markdown_editor/markdown_editor.js +7 -3
  314. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
  315. package/optimize/es/components/markdown_editor/markdown_editor_footer.js +12 -120
  316. package/optimize/es/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  317. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +139 -0
  318. package/optimize/es/components/markdown_editor/markdown_editor_help_button.styles.js +16 -0
  319. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +20 -16
  320. package/optimize/es/components/overlay_mask/overlay_mask.js +8 -3
  321. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  322. package/optimize/es/components/popover/popover.js +2 -1
  323. package/optimize/es/components/provider/provider.js +4 -3
  324. package/optimize/es/global_styling/mixins/_button.js +1 -1
  325. package/optimize/es/services/color/vis_color_store.js +1 -1
  326. package/optimize/es/services/emotion/prefixer.js +116 -22
  327. package/optimize/es/services/theme/context.js +2 -2
  328. package/optimize/lib/components/accessibility/index.js +8 -1
  329. package/optimize/lib/components/accessibility/live_announcer/index.js +16 -0
  330. package/optimize/lib/components/accessibility/live_announcer/live_announcer.js +77 -0
  331. package/optimize/lib/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
  332. package/optimize/lib/components/call_out/call_out.js +7 -3
  333. package/optimize/lib/components/card/checkable_card/checkable_card.js +24 -4
  334. package/optimize/lib/components/code/code_block.js +5 -2
  335. package/optimize/lib/components/code/code_block_virtualized.js +5 -3
  336. package/optimize/lib/components/combo_box/combo_box.a11y.js +97 -81
  337. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
  338. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  339. package/optimize/lib/components/datagrid/data_grid.styles.js +1 -1
  340. package/optimize/lib/components/filter_group/filter_select_item.js +15 -3
  341. package/optimize/lib/components/flyout/const.js +49 -0
  342. package/optimize/lib/components/flyout/flyout.component.js +354 -0
  343. package/optimize/lib/components/flyout/flyout.js +63 -332
  344. package/optimize/lib/components/flyout/flyout.styles.js +95 -3
  345. package/optimize/lib/components/flyout/flyout_menu.js +83 -0
  346. package/optimize/lib/components/flyout/flyout_menu.styles.js +22 -0
  347. package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
  348. package/optimize/lib/components/flyout/flyout_resizable.js +3 -2
  349. package/optimize/lib/components/flyout/hooks.js +30 -0
  350. package/optimize/lib/components/flyout/index.js +14 -14
  351. package/optimize/lib/components/flyout/manager/actions.js +103 -0
  352. package/optimize/lib/components/flyout/manager/activity_stage.js +77 -0
  353. package/optimize/lib/components/flyout/manager/const.js +56 -0
  354. package/optimize/lib/components/flyout/manager/context.js +41 -0
  355. package/optimize/lib/components/flyout/manager/flyout_child.js +81 -0
  356. package/optimize/lib/components/flyout/manager/flyout_child.styles.js +32 -0
  357. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  358. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  359. package/optimize/lib/components/flyout/manager/flyout_managed.js +134 -0
  360. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +71 -0
  361. package/optimize/lib/components/flyout/manager/hooks.js +159 -0
  362. package/optimize/lib/components/flyout/manager/index.js +150 -0
  363. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  364. package/optimize/lib/components/flyout/manager/provider.js +46 -0
  365. package/optimize/lib/components/flyout/manager/reducer.js +198 -0
  366. package/optimize/lib/components/flyout/manager/selectors.js +93 -0
  367. package/optimize/lib/components/flyout/manager/validation.js +121 -0
  368. package/optimize/lib/components/form/field_password/field_password.styles.js +1 -0
  369. package/optimize/lib/components/form/form.styles.js +2 -2
  370. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  371. package/optimize/lib/components/form/range/range.styles.js +2 -2
  372. package/optimize/lib/components/icon/assets/thumbDown.js +44 -0
  373. package/optimize/lib/components/icon/assets/thumbUp.js +44 -0
  374. package/optimize/lib/components/icon/icon_map.js +2 -0
  375. package/optimize/lib/components/icon/svgs/thumbDown.svg +4 -0
  376. package/optimize/lib/components/icon/svgs/thumbUp.svg +4 -0
  377. package/optimize/lib/components/markdown_editor/index.js +7 -0
  378. package/optimize/lib/components/markdown_editor/markdown_editor.js +7 -3
  379. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
  380. package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +9 -118
  381. package/optimize/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  382. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +150 -0
  383. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  384. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +20 -16
  385. package/optimize/lib/components/overlay_mask/overlay_mask.js +7 -2
  386. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  387. package/optimize/lib/components/popover/popover.js +2 -1
  388. package/optimize/lib/components/provider/provider.js +4 -3
  389. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  390. package/optimize/lib/services/color/vis_color_store.js +2 -2
  391. package/optimize/lib/services/emotion/prefixer.js +116 -22
  392. package/optimize/lib/services/theme/context.js +2 -2
  393. package/package.json +3 -2
  394. package/src/components/date_picker/react-datepicker/src/stylesheets/datepicker.scss +6 -7
  395. package/src/global_styling/mixins/_typography.scss +0 -1
  396. package/src/themes/amsterdam/global_styling/mixins/_typography.scss +0 -1
  397. package/test-env/components/accessibility/index.js +8 -1
  398. package/test-env/components/accessibility/live_announcer/index.js +16 -0
  399. package/test-env/components/accessibility/live_announcer/live_announcer.js +87 -0
  400. package/test-env/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
  401. package/test-env/components/avatar/avatar.js +1 -1
  402. package/test-env/components/badge/badge.js +1 -1
  403. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  404. package/test-env/components/basic_table/basic_table.js +4 -4
  405. package/test-env/components/basic_table/in_memory_table.js +4 -4
  406. package/test-env/components/button/button.js +1 -1
  407. package/test-env/components/button/button_display/_button_display.js +1 -1
  408. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  409. package/test-env/components/button/button_empty/button_empty.js +1 -1
  410. package/test-env/components/button/button_group/button_group.js +1 -1
  411. package/test-env/components/button/button_group/button_group_button.js +1 -1
  412. package/test-env/components/button/button_icon/button_icon.js +1 -1
  413. package/test-env/components/call_out/call_out.js +17 -6
  414. package/test-env/components/card/card.js +2 -2
  415. package/test-env/components/card/card_select/card_select.js +1 -1
  416. package/test-env/components/card/checkable_card/checkable_card.js +24 -4
  417. package/test-env/components/code/code_block_virtualized.js +5 -3
  418. package/test-env/components/collapsible_nav/collapsible_nav.js +4 -106
  419. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  420. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  421. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  422. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  423. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  424. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  425. package/test-env/components/combo_box/combo_box.a11y.js +97 -81
  426. package/test-env/components/combo_box/combo_box.js +3 -2
  427. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
  428. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  429. package/test-env/components/comment_list/comment.js +2 -2
  430. package/test-env/components/comment_list/comment_event.js +1 -1
  431. package/test-env/components/comment_list/comment_list.js +2 -2
  432. package/test-env/components/comment_list/comment_timeline.js +1 -1
  433. package/test-env/components/context_menu/context_menu_item.js +1 -1
  434. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  435. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  436. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  437. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  438. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  439. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  440. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  441. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  442. package/test-env/components/datagrid/data_grid.styles.js +1 -1
  443. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  444. package/test-env/components/date_picker/date_picker.js +2 -2
  445. package/test-env/components/date_picker/date_picker_range.js +1 -1
  446. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  447. package/test-env/components/facet/facet_button.js +1 -1
  448. package/test-env/components/filter_group/filter_select_item.js +16 -3
  449. package/test-env/components/flyout/const.js +49 -0
  450. package/test-env/components/flyout/flyout.component.js +374 -0
  451. package/test-env/components/flyout/flyout.styles.js +95 -3
  452. package/test-env/components/flyout/flyout_menu.js +94 -0
  453. package/test-env/components/flyout/flyout_menu.styles.js +22 -0
  454. package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  455. package/test-env/components/flyout/flyout_resizable.js +3 -2
  456. package/test-env/components/flyout/hooks.js +30 -0
  457. package/test-env/components/flyout/index.js +14 -14
  458. package/test-env/components/flyout/manager/actions.js +103 -0
  459. package/test-env/components/flyout/manager/activity_stage.js +77 -0
  460. package/test-env/components/flyout/manager/const.js +56 -0
  461. package/test-env/components/flyout/manager/context.js +41 -0
  462. package/test-env/components/flyout/manager/flyout_child.js +81 -0
  463. package/test-env/components/flyout/manager/flyout_child.styles.js +32 -0
  464. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  465. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  466. package/test-env/components/flyout/manager/flyout_managed.js +134 -0
  467. package/test-env/components/flyout/manager/flyout_managed.styles.js +71 -0
  468. package/test-env/components/flyout/manager/hooks.js +159 -0
  469. package/test-env/components/flyout/manager/index.js +150 -0
  470. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  471. package/test-env/components/flyout/manager/provider.js +46 -0
  472. package/test-env/components/flyout/manager/reducer.js +198 -0
  473. package/test-env/components/flyout/manager/selectors.js +93 -0
  474. package/test-env/components/flyout/manager/validation.js +121 -0
  475. package/test-env/components/form/field_number/field_number.js +2 -2
  476. package/test-env/components/form/field_password/field_password.styles.js +1 -0
  477. package/test-env/components/form/field_text/field_text.js +2 -2
  478. package/test-env/components/form/form.styles.js +2 -2
  479. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  480. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  481. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  482. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  483. package/test-env/components/form/range/range.styles.js +2 -2
  484. package/test-env/components/form/text_area/text_area.js +2 -2
  485. package/test-env/components/header/header_links/header_link.js +1 -1
  486. package/test-env/components/header/header_links/header_links.js +1 -1
  487. package/test-env/components/header/header_logo/header_logo.js +1 -1
  488. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  489. package/test-env/components/icon/assets/thumbDown.js +44 -0
  490. package/test-env/components/icon/assets/thumbUp.js +44 -0
  491. package/test-env/components/icon/icon_map.js +2 -0
  492. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  493. package/test-env/components/list_group/list_group.js +2 -2
  494. package/test-env/components/list_group/list_group_item.js +2 -2
  495. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  496. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  497. package/test-env/components/loading/loading_logo.js +1 -1
  498. package/test-env/components/markdown_editor/index.js +7 -0
  499. package/test-env/components/markdown_editor/markdown_editor.js +16 -5
  500. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
  501. package/test-env/components/markdown_editor/markdown_editor_footer.js +10 -119
  502. package/test-env/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  503. package/test-env/components/markdown_editor/markdown_editor_help_button.js +150 -0
  504. package/test-env/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  505. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +29 -24
  506. package/test-env/components/overlay_mask/overlay_mask.js +7 -2
  507. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  508. package/test-env/components/page/page_header/page_header_content.js +1 -1
  509. package/test-env/components/pagination/pagination_button.js +1 -1
  510. package/test-env/components/popover/popover.js +2 -1
  511. package/test-env/components/provider/provider.js +4 -3
  512. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  513. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  514. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  515. package/test-env/components/table/table_header_cell.js +1 -1
  516. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  517. package/test-env/components/toast/global_toast_list.js +1 -1
  518. package/test-env/components/toast/toast.js +1 -1
  519. package/test-env/components/tool_tip/icon_tip.js +1 -1
  520. package/test-env/global_styling/mixins/_button.js +1 -1
  521. package/test-env/services/color/vis_color_store.js +2 -2
  522. package/test-env/services/emotion/prefixer.js +116 -22
  523. package/test-env/services/theme/context.js +2 -2
  524. package/es/components/flyout/flyout_child.js +0 -223
  525. package/es/components/flyout/flyout_child.styles.js +0 -32
  526. package/es/components/flyout/flyout_child_manager.js +0 -114
  527. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  528. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  529. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  530. package/lib/components/flyout/flyout_child.js +0 -231
  531. package/lib/components/flyout/flyout_child.styles.js +0 -38
  532. package/lib/components/flyout/flyout_child_manager.js +0 -122
  533. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  534. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  535. package/lib/components/flyout/sessions/index.js +0 -25
  536. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  537. package/optimize/es/components/flyout/flyout_child.js +0 -178
  538. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  539. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  540. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  541. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  542. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  543. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  544. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  545. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  546. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  547. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  548. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  549. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  550. package/test-env/components/flyout/flyout_child.js +0 -230
  551. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  552. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  553. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  554. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  555. package/test-env/components/flyout/sessions/index.js +0 -25
  556. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  557. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  558. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  559. /package/optimize/es/components/flyout/{sessions → manager}/types.js +0 -0
  560. /package/optimize/lib/components/flyout/{sessions → manager}/types.js +0 -0
  561. /package/test-env/components/flyout/{sessions → manager}/types.js +0 -0
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { useIsWithinMinBreakpoint } from '../../services';
10
+ import { usePropsWithComponentDefaults } from '../provider/component_defaults';
11
+ import { DEFAULT_PUSH_MIN_BREAKPOINT, DEFAULT_TYPE } from './const';
12
+
13
+ /**
14
+ * Determines if a flyout should be rendered in a "pushed" state based on its
15
+ * configuration and the current window size.
16
+ */
17
+ export var useIsPushed = function useIsPushed(props) {
18
+ var _usePropsWithComponen = usePropsWithComponentDefaults('EuiFlyout', props),
19
+ _usePropsWithComponen2 = _usePropsWithComponen.type,
20
+ type = _usePropsWithComponen2 === void 0 ? DEFAULT_TYPE : _usePropsWithComponen2,
21
+ _usePropsWithComponen3 = _usePropsWithComponen.pushMinBreakpoint,
22
+ pushMinBreakpoint = _usePropsWithComponen3 === void 0 ? DEFAULT_PUSH_MIN_BREAKPOINT : _usePropsWithComponen3;
23
+ var windowIsLargeEnoughToPush = useIsWithinMinBreakpoint(pushMinBreakpoint);
24
+ return type === 'push' && windowIsLargeEnoughToPush;
25
+ };
@@ -12,5 +12,7 @@ export { EuiFlyoutFooter } from './flyout_footer';
12
12
  export { EuiFlyoutHeader } from './flyout_header';
13
13
  export { euiFlyoutSlideInRight, euiFlyoutSlideInLeft } from './flyout.styles';
14
14
  export { EuiFlyoutResizable } from './flyout_resizable';
15
- export { EuiFlyoutChild } from './flyout_child';
16
- export { EuiFlyoutSessionProvider, useEuiFlyoutSession } from './sessions';
15
+ export { EuiFlyoutMenu } from './flyout_menu';
16
+
17
+ // Hooks for using Manager-based flyouts
18
+ export { useIsInManagedFlyout, useHasActiveSession } from './manager';
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { LEVEL_MAIN } from './const';
10
+ var PREFIX = 'eui/flyoutManager';
11
+ /** Dispatched when a flyout registers itself with the manager. */
12
+ export var ACTION_ADD = "".concat(PREFIX, "/add");
13
+ /** Dispatched to remove a flyout from the manager (usually on close/unmount). */
14
+ export var ACTION_CLOSE = "".concat(PREFIX, "/close");
15
+ /** Dispatched to set which flyout is currently active within the session. */
16
+ export var ACTION_SET_ACTIVE = "".concat(PREFIX, "/setActive");
17
+ /** Dispatched when an active flyout's pixel width changes (for responsive layout). */
18
+ export var ACTION_SET_WIDTH = "".concat(PREFIX, "/setWidth");
19
+ /** Dispatched to switch layout mode between `side-by-side` and `stacked`. */
20
+ export var ACTION_SET_LAYOUT_MODE = "".concat(PREFIX, "/setLayoutMode");
21
+ /** Dispatched to update a flyout's activity stage (e.g., opening -> active). */
22
+ export var ACTION_SET_ACTIVITY_STAGE = "".concat(PREFIX, "/setActivityStage");
23
+
24
+ /**
25
+ * Add a flyout to manager state. The manager will create or update
26
+ * the current session depending on the `level` provided.
27
+ */
28
+
29
+ /** Remove a flyout from manager state. Also updates the active session. */
30
+
31
+ /** Set the active flyout within the current session (or clear with `null`). */
32
+
33
+ /** Update a flyout's measured width in pixels. */
34
+
35
+ /** Change how flyouts are arranged: `side-by-side` or `stacked`. */
36
+
37
+ /** Set a specific flyout's activity stage. */
38
+
39
+ /** Union of all flyout manager actions. */
40
+
41
+ /**
42
+ * Register a flyout with the manager.
43
+ * - `level` determines whether the flyout is `main` or `child`.
44
+ * - Optional `size` is the named EUI size (e.g. `s`, `m`, `l`).
45
+ */
46
+ export var addFlyout = function addFlyout(flyoutId) {
47
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LEVEL_MAIN;
48
+ var size = arguments.length > 2 ? arguments[2] : undefined;
49
+ return {
50
+ type: ACTION_ADD,
51
+ flyoutId: flyoutId,
52
+ level: level,
53
+ size: size
54
+ };
55
+ };
56
+
57
+ /** Unregister a flyout and update the session accordingly. */
58
+ export var closeFlyout = function closeFlyout(flyoutId) {
59
+ return {
60
+ type: ACTION_CLOSE,
61
+ flyoutId: flyoutId
62
+ };
63
+ };
64
+
65
+ /** Set or clear the active flyout for the current session. */
66
+ export var setActiveFlyout = function setActiveFlyout(flyoutId) {
67
+ return {
68
+ type: ACTION_SET_ACTIVE,
69
+ flyoutId: flyoutId
70
+ };
71
+ };
72
+
73
+ /** Record a flyout's current width in pixels. */
74
+ export var setFlyoutWidth = function setFlyoutWidth(flyoutId, width) {
75
+ return {
76
+ type: ACTION_SET_WIDTH,
77
+ flyoutId: flyoutId,
78
+ width: width
79
+ };
80
+ };
81
+
82
+ /** Switch layout mode between `side-by-side` and `stacked`. */
83
+ export var setLayoutMode = function setLayoutMode(layoutMode) {
84
+ return {
85
+ type: ACTION_SET_LAYOUT_MODE,
86
+ layoutMode: layoutMode
87
+ };
88
+ };
89
+
90
+ /** Update a flyout's activity stage. */
91
+ export var setActivityStage = function setActivityStage(flyoutId, activityStage) {
92
+ return {
93
+ type: ACTION_SET_ACTIVITY_STAGE,
94
+ flyoutId: flyoutId,
95
+ activityStage: activityStage
96
+ };
97
+ };
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { useCallback, useEffect, useRef } from 'react';
10
+ import { LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_MAIN, STAGE_ACTIVE, STAGE_BACKGROUNDED, STAGE_BACKGROUNDING, STAGE_CLOSING, STAGE_INACTIVE, STAGE_OPENING, STAGE_RETURNING } from './const';
11
+ import { useFlyoutLayoutMode, useHasChildFlyout, useIsFlyoutActive } from './hooks';
12
+ import { setActivityStage } from './actions';
13
+ import { useFlyoutManager } from './provider';
14
+ /**
15
+ * Encapsulates all activity-stage transitions and animation-driven updates
16
+ * for managed flyouts.
17
+ */
18
+ export var useFlyoutActivityStage = function useFlyoutActivityStage(_ref) {
19
+ var _ctx$state$flyouts$fi;
20
+ var flyoutId = _ref.flyoutId,
21
+ level = _ref.level;
22
+ var isActive = useIsFlyoutActive(flyoutId);
23
+ var hasChild = useHasChildFlyout(flyoutId);
24
+ var layoutMode = useFlyoutLayoutMode();
25
+ var ctx = useFlyoutManager();
26
+ var stage = (ctx === null || ctx === void 0 || (_ctx$state$flyouts$fi = ctx.state.flyouts.find(function (f) {
27
+ return f.flyoutId === flyoutId;
28
+ })) === null || _ctx$state$flyouts$fi === void 0 ? void 0 : _ctx$state$flyouts$fi.activityStage) || (isActive ? STAGE_ACTIVE : STAGE_INACTIVE);
29
+ var stageRef = useRef(stage);
30
+ if (stageRef.current !== stage) {
31
+ stageRef.current = stage;
32
+ }
33
+
34
+ /**
35
+ * 1. ACTIVE -> CLOSING when no longer the active flyout.
36
+ * 2. INACTIVE -> RETURNING when it becomes active again (e.g., reopened or brought forward).
37
+ * 3. (Main flyout only) ACTIVE + stacked + has child -> BACKGROUNDING (begin background animation).
38
+ * 4. (Main only) BACKGROUNDED/BACKGROUNDING + (child gone OR side-by-side) -> RETURNING (bring main to foreground).
39
+ *
40
+ * Any stages that depend on animation end (OPENING, RETURNING, CLOSING, BACKGROUNDING) are finalized in `onAnimationEnd`.
41
+ */
42
+ useEffect(function () {
43
+ var s = stageRef.current;
44
+ var next = null;
45
+ if (s === STAGE_ACTIVE && !isActive) next = STAGE_CLOSING;else if (s === STAGE_INACTIVE && isActive) next = STAGE_RETURNING;else if (level === LEVEL_MAIN && isActive && s === STAGE_ACTIVE && hasChild && layoutMode === LAYOUT_MODE_STACKED) next = STAGE_BACKGROUNDING;else if (level === LEVEL_MAIN && (s === STAGE_BACKGROUNDED || s === STAGE_BACKGROUNDING) && (!hasChild || layoutMode === LAYOUT_MODE_SIDE_BY_SIDE)) next = STAGE_RETURNING;
46
+ if (next && next !== s) {
47
+ var _ctx$dispatch;
48
+ ctx === null || ctx === void 0 || (_ctx$dispatch = ctx.dispatch) === null || _ctx$dispatch === void 0 || _ctx$dispatch.call(ctx, setActivityStage(flyoutId, next));
49
+ stageRef.current = next;
50
+ }
51
+ }, [isActive, hasChild, layoutMode, level, ctx, flyoutId, stage]);
52
+
53
+ /**
54
+ * OPENING / RETURNING -> ACTIVE
55
+ * CLOSING -> INACTIVE
56
+ * BACKGROUNDING -> BACKGROUNDED
57
+ */
58
+ var onAnimationEnd = useCallback(function () {
59
+ var s = stageRef.current;
60
+ var next = s === STAGE_OPENING || s === STAGE_RETURNING ? STAGE_ACTIVE : s === STAGE_CLOSING ? STAGE_INACTIVE : s === STAGE_BACKGROUNDING ? STAGE_BACKGROUNDED : null;
61
+ if (next && next !== s) {
62
+ var _ctx$dispatch2;
63
+ ctx === null || ctx === void 0 || (_ctx$dispatch2 = ctx.dispatch) === null || _ctx$dispatch2 === void 0 || _ctx$dispatch2.call(ctx, setActivityStage(flyoutId, next));
64
+ stageRef.current = next;
65
+ }
66
+ }, [ctx, flyoutId]);
67
+ return {
68
+ activityStage: stage,
69
+ onAnimationEnd: onAnimationEnd
70
+ };
71
+ };
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ var PREFIX = 'data-managed-flyout';
10
+
11
+ /**
12
+ * Data attribute applied to a managed flyout element to help identify it as a managed flyout.
13
+ */
14
+ export var PROPERTY_FLYOUT = "".concat(PREFIX);
15
+
16
+ /**
17
+ * Data attribute indicating whether the flyout is the `main` or `child` flyout.
18
+ */
19
+ export var PROPERTY_LEVEL = "".concat(PREFIX, "-level");
20
+
21
+ /**
22
+ * Data attribute representing how multiple flyouts are laid out
23
+ * (`side-by-side` or `stacked`).
24
+ */
25
+ export var PROPERTY_LAYOUT_MODE = "".concat(PREFIX, "-layout-mode");
26
+
27
+ /** Stacked layout mode where child flyouts overlay on top of the main flyout. */
28
+ export var LAYOUT_MODE_STACKED = 'stacked';
29
+ /** Side-by-side layout mode where child flyouts render adjacent to the main flyout. */
30
+ export var LAYOUT_MODE_SIDE_BY_SIDE = 'side-by-side';
31
+
32
+ /** The primary (parent) flyout in a session. */
33
+ export var LEVEL_MAIN = 'main';
34
+ /** The secondary (child) flyout spawned by the main flyout. */
35
+ export var LEVEL_CHILD = 'child';
36
+
37
+ /** Flyout is mounting and playing its opening animation. */
38
+ export var STAGE_OPENING = 'opening';
39
+ /** Flyout is fully visible and interactive. */
40
+ export var STAGE_ACTIVE = 'active';
41
+ /** Flyout is unmounted or not currently visible/interactable. */
42
+ export var STAGE_INACTIVE = 'inactive';
43
+ /** Main flyout is transitioning behind an active session flyout. */
44
+ export var STAGE_BACKGROUNDING = 'backgrounding';
45
+ /** Main flyout is backgrounded behind an active session flyout. */
46
+ export var STAGE_BACKGROUNDED = 'backgrounded';
47
+ /** Flyout is returning to the foreground from a backgrounded state. */
48
+ export var STAGE_RETURNING = 'returning';
49
+ /** Flyout is playing its closing animation. */
50
+ export var STAGE_CLOSING = 'closing';
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React, { createContext, useContext } from 'react';
10
+
11
+ // Context to track if we're within a managed flyout
12
+ import { jsx as ___EmotionJSX } from "@emotion/react";
13
+ var EuiFlyoutIsManagedContext = /*#__PURE__*/createContext(false);
14
+
15
+ /**
16
+ * React provider that marks descendants as being rendered inside
17
+ * an EUI managed flyout. Used by hooks/components to alter behavior
18
+ * (e.g., focus handling) when inside a managed flyout tree.
19
+ */
20
+ export var EuiFlyoutIsManagedProvider = function EuiFlyoutIsManagedProvider(_ref) {
21
+ var isManaged = _ref.isManaged,
22
+ children = _ref.children;
23
+ return ___EmotionJSX(EuiFlyoutIsManagedContext.Provider, {
24
+ value: isManaged
25
+ }, children);
26
+ };
27
+
28
+ /**
29
+ * Hook that returns `true` when called within an EUI managed flyout subtree.
30
+ */
31
+ export var useIsInManagedFlyout = function useIsInManagedFlyout() {
32
+ return useContext(EuiFlyoutIsManagedContext);
33
+ };
@@ -0,0 +1,76 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["css", "backgroundStyle", "side"];
5
+ /*
6
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
+ * or more contributor license agreements. Licensed under the Elastic License
8
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
10
+ * Side Public License, v 1.
11
+ */
12
+
13
+ import React from 'react';
14
+ import { useEuiMemoizedStyles, useEuiTheme } from '../../../services';
15
+ import { euiChildFlyoutStyles } from './flyout_child.styles';
16
+ import { EuiManagedFlyout } from './flyout_managed';
17
+ import { useCurrentMainFlyout, useFlyoutLayoutMode, useFlyoutWidth } from './hooks';
18
+ import { LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_CHILD } from './const';
19
+ import { DEFAULT_SIDE } from '../const';
20
+
21
+ /**
22
+ * Props for `EuiFlyoutChild`, a managed child flyout that pairs with a main flyout.
23
+ *
24
+ * Notes:
25
+ * - `type`, `side`, and `level` are fixed by the component and thus omitted.
26
+ * - `backgroundStyle` toggles between default and shaded backgrounds.
27
+ */
28
+ import { jsx as ___EmotionJSX } from "@emotion/react";
29
+ /**
30
+ * Managed child flyout that renders alongside or stacked over the main flyout,
31
+ * depending on the current layout mode. Handles background styling and required
32
+ * managed flyout props.
33
+ */
34
+ export function EuiFlyoutChild(_ref) {
35
+ var customCss = _ref.css,
36
+ backgroundStyle = _ref.backgroundStyle,
37
+ _ref$side = _ref.side,
38
+ side = _ref$side === void 0 ? DEFAULT_SIDE : _ref$side,
39
+ props = _objectWithoutProperties(_ref, _excluded);
40
+ var _useEuiTheme = useEuiTheme(),
41
+ euiTheme = _useEuiTheme.euiTheme;
42
+ var styles = useEuiMemoizedStyles(euiChildFlyoutStyles);
43
+ var mainFlyout = useCurrentMainFlyout();
44
+ var mainWidth = useFlyoutWidth(mainFlyout === null || mainFlyout === void 0 ? void 0 : mainFlyout.flyoutId);
45
+ var layoutMode = useFlyoutLayoutMode();
46
+
47
+ // Runtime validation: prevent orphan child flyouts
48
+ if (!mainFlyout) {
49
+ var errorMessage = 'EuiFlyoutChild must be used with an EuiFlyoutMain. ' + 'This usually means the main flyout was not rendered before the child flyout.';
50
+
51
+ // In development, throw an error to catch the issue early
52
+ if (process.env.NODE_ENV === 'development') {
53
+ throw new Error(errorMessage);
54
+ }
55
+
56
+ // In production, log a warning and prevent rendering
57
+ console.error('EuiFlyoutChild validation failed:', errorMessage);
58
+ return null;
59
+ }
60
+ var style = {};
61
+ if (mainWidth && layoutMode === LAYOUT_MODE_SIDE_BY_SIDE) {
62
+ style = _defineProperty({}, side, mainWidth);
63
+ } else if (layoutMode === LAYOUT_MODE_STACKED) {
64
+ style = {
65
+ zIndex: Number(euiTheme.levels.flyout) + 2
66
+ };
67
+ }
68
+ return ___EmotionJSX(EuiManagedFlyout, _extends({}, props, {
69
+ style: style,
70
+ level: LEVEL_CHILD,
71
+ type: "overlay",
72
+ ownFocus: false,
73
+ side: side,
74
+ css: [backgroundStyle === 'shaded' ? styles.backgroundShaded : styles.backgroundDefault, customCss, ";label:EuiFlyoutChild;"]
75
+ }));
76
+ }
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ /**
11
+ * Emotion styles for child flyouts.
12
+ * Provides background variants coordinated with the EUI theme.
13
+ *
14
+ * Returns an object with the following CSS snippets:
15
+ * - `backgroundDefault`: plain background
16
+ * - `backgroundShaded`: subdued background used to de-emphasize child content
17
+ */
18
+ export var euiChildFlyoutStyles = function euiChildFlyoutStyles(euiThemeContext) {
19
+ var _euiThemeContext$euiT = euiThemeContext.euiTheme.colors,
20
+ backgroundBasePlain = _euiThemeContext$euiT.backgroundBasePlain,
21
+ backgroundBaseSubdued = _euiThemeContext$euiT.backgroundBaseSubdued;
22
+ return {
23
+ backgroundDefault: /*#__PURE__*/css("background:", backgroundBasePlain, ";;label:backgroundDefault;"),
24
+ backgroundShaded: /*#__PURE__*/css("background:", backgroundBaseSubdued, ";;label:backgroundShaded;")
25
+ };
26
+ };
@@ -0,0 +1,61 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["id", "pushMinBreakpoint", "type", "side"];
5
+ 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; }
6
+ 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; }
7
+ /*
8
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
+ * or more contributor license agreements. Licensed under the Elastic License
10
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
11
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
12
+ * Side Public License, v 1.
13
+ */
14
+
15
+ import React from 'react';
16
+ import { EuiManagedFlyout } from './flyout_managed';
17
+ import { useHasChildFlyout, useFlyoutId } from './hooks';
18
+ import { euiMainFlyoutStyles } from './flyout_main.styles';
19
+ import { useEuiMemoizedStyles } from '../../../services';
20
+ import { DEFAULT_PUSH_MIN_BREAKPOINT, DEFAULT_SIDE, DEFAULT_TYPE } from '../const';
21
+ import { useIsPushed } from '../hooks';
22
+ import { LEVEL_MAIN } from './const';
23
+
24
+ /**
25
+ * Props for `EuiFlyoutMain`, the primary managed flyout component.
26
+ * The `level` prop is fixed internally to `main` and is therefore omitted.
27
+ */
28
+ import { jsx as ___EmotionJSX } from "@emotion/react";
29
+ /**
30
+ * Managed main flyout. Handles ID management, child-flyout styling,
31
+ * and push/overlay behavior based on provided props.
32
+ */
33
+ export function EuiFlyoutMain(_ref) {
34
+ var id = _ref.id,
35
+ _ref$pushMinBreakpoin = _ref.pushMinBreakpoint,
36
+ pushMinBreakpoint = _ref$pushMinBreakpoin === void 0 ? DEFAULT_PUSH_MIN_BREAKPOINT : _ref$pushMinBreakpoin,
37
+ _ref$type = _ref.type,
38
+ type = _ref$type === void 0 ? DEFAULT_TYPE : _ref$type,
39
+ _ref$side = _ref.side,
40
+ side = _ref$side === void 0 ? DEFAULT_SIDE : _ref$side,
41
+ props = _objectWithoutProperties(_ref, _excluded);
42
+ var flyoutId = useFlyoutId(id);
43
+ var hasChildFlyout = useHasChildFlyout(flyoutId);
44
+ var styles = useEuiMemoizedStyles(euiMainFlyoutStyles);
45
+ var isPushed = useIsPushed({
46
+ type: type,
47
+ pushMinBreakpoint: pushMinBreakpoint
48
+ });
49
+ var cssStyles = [hasChildFlyout && !isPushed && styles.hasChildFlyout[side]];
50
+ var style = {};
51
+ return ___EmotionJSX(EuiManagedFlyout, _extends({
52
+ id: flyoutId,
53
+ level: LEVEL_MAIN,
54
+ style: style,
55
+ css: cssStyles
56
+ }, _objectSpread(_objectSpread({}, props), {}, {
57
+ pushMinBreakpoint: pushMinBreakpoint,
58
+ type: type,
59
+ side: side
60
+ })));
61
+ }
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ /**
11
+ * Emotion styles for the main (parent) managed flyout.
12
+ * Adds subtle borders when a child flyout is present, depending on side.
13
+ *
14
+ * Returns an object with:
15
+ * - `hasChildFlyout.left` and `.right`: border styles to separate from child.
16
+ */
17
+ export var euiMainFlyoutStyles = function euiMainFlyoutStyles(euiThemeContext) {
18
+ var thin = euiThemeContext.euiTheme.border.thin;
19
+ return {
20
+ hasChildFlyout: {
21
+ left: /*#__PURE__*/css("box-shadow:none;border-inline-end:", thin, ";;label:left;"),
22
+ right: /*#__PURE__*/css("box-shadow:none;border-inline-start:", thin, ";;label:right;")
23
+ }
24
+ };
25
+ };
@@ -0,0 +1,125 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["id", "onClose", "level", "size", "css"];
5
+ 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; }
6
+ 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; }
7
+ /*
8
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
+ * or more contributor license agreements. Licensed under the Elastic License
10
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
11
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
12
+ * Side Public License, v 1.
13
+ */
14
+ import React, { useEffect, useRef } from 'react';
15
+ import { EuiFlyoutComponent } from '../flyout.component';
16
+ import { useFlyoutManager as _useFlyoutManager, useIsFlyoutActive, useParentFlyoutSize, useFlyoutLayoutMode, useFlyoutId } from './hooks';
17
+ import { useEuiMemoizedStyles } from '../../../services';
18
+ import { useResizeObserver } from '../../observer/resize_observer';
19
+ import { euiManagedFlyoutStyles } from './flyout_managed.styles';
20
+ import { EuiFlyoutMenuContext } from '../flyout_menu_context';
21
+ import { validateManagedFlyoutSize, validateSizeCombination, createValidationErrorMessage, isNamedSize } from './validation';
22
+ import { LEVEL_CHILD, PROPERTY_FLYOUT, PROPERTY_LAYOUT_MODE, PROPERTY_LEVEL } from './const';
23
+ import { EuiFlyoutIsManagedProvider } from './context';
24
+ import { useFlyoutActivityStage } from './activity_stage';
25
+
26
+ /**
27
+ * Props for `EuiManagedFlyout`, the internal persistent flyout used by
28
+ * the manager. Extends base flyout props and requires a `level` to
29
+ * distinguish `main` vs `child` behavior.
30
+ */
31
+ import { jsx as ___EmotionJSX } from "@emotion/react";
32
+ var useFlyoutManager = function useFlyoutManager() {
33
+ var context = _useFlyoutManager();
34
+ if (!context) {
35
+ throw new Error('EuiManagedFlyout must be used within an EuiFlyoutManager');
36
+ }
37
+ return context;
38
+ };
39
+
40
+ /**
41
+ * Persistent managed flyout rendered inside the provider. Handles:
42
+ * - registration/unregistration with the manager
43
+ * - size validation and parent/child size compatibility
44
+ * - width tracking for responsive layouts
45
+ * - lifecycle stage transitions and data attributes for styling
46
+ */
47
+ export var EuiManagedFlyout = function EuiManagedFlyout(_ref) {
48
+ var id = _ref.id,
49
+ onCloseProp = _ref.onClose,
50
+ level = _ref.level,
51
+ size = _ref.size,
52
+ customCss = _ref.css,
53
+ props = _objectWithoutProperties(_ref, _excluded);
54
+ var flyoutId = useFlyoutId(id);
55
+ var flyoutRef = useRef(null);
56
+ var _useFlyoutManager2 = useFlyoutManager(),
57
+ addFlyout = _useFlyoutManager2.addFlyout,
58
+ closeFlyout = _useFlyoutManager2.closeFlyout,
59
+ setFlyoutWidth = _useFlyoutManager2.setFlyoutWidth;
60
+ var isActive = useIsFlyoutActive(flyoutId);
61
+ var parentSize = useParentFlyoutSize(flyoutId);
62
+
63
+ // Get layout mode for responsive behavior
64
+ var layoutMode = useFlyoutLayoutMode();
65
+ var styles = useEuiMemoizedStyles(euiManagedFlyoutStyles);
66
+
67
+ // Validate size and add flyout
68
+ useEffect(function () {
69
+ // Validate that managed flyouts use named sizes (s, m, l)
70
+ var sizeTypeError = validateManagedFlyoutSize(size, flyoutId, level);
71
+ if (sizeTypeError) {
72
+ throw new Error(createValidationErrorMessage(sizeTypeError));
73
+ }
74
+
75
+ // For child flyouts, validate parent-child combinations
76
+ if (level === LEVEL_CHILD && parentSize && isNamedSize(size) && isNamedSize(parentSize)) {
77
+ var combinationError = validateSizeCombination(parentSize, size);
78
+ if (combinationError) {
79
+ combinationError.flyoutId = flyoutId;
80
+ combinationError.level = level;
81
+ throw new Error(createValidationErrorMessage(combinationError));
82
+ }
83
+ }
84
+ addFlyout(flyoutId, level, size);
85
+ return function () {
86
+ closeFlyout(flyoutId);
87
+ };
88
+ }, [size, flyoutId, level, parentSize, addFlyout, closeFlyout]);
89
+
90
+ // Track width changes for flyouts
91
+ var _useResizeObserver = useResizeObserver(isActive ? flyoutRef.current : null, 'width'),
92
+ width = _useResizeObserver.width;
93
+ var onClose = function onClose(event) {
94
+ onCloseProp(event);
95
+ closeFlyout(flyoutId);
96
+ };
97
+
98
+ // Update width in manager state when it changes
99
+ useEffect(function () {
100
+ if (isActive && width) {
101
+ setFlyoutWidth(flyoutId, width);
102
+ }
103
+ }, [flyoutId, level, isActive, width, setFlyoutWidth]);
104
+ var _useFlyoutActivitySta = useFlyoutActivityStage({
105
+ flyoutId: flyoutId,
106
+ level: level
107
+ }),
108
+ activityStage = _useFlyoutActivitySta.activityStage,
109
+ onAnimationEnd = _useFlyoutActivitySta.onAnimationEnd;
110
+ return ___EmotionJSX(EuiFlyoutIsManagedProvider, {
111
+ isManaged: true
112
+ }, ___EmotionJSX(EuiFlyoutMenuContext.Provider, {
113
+ value: {
114
+ onClose: onClose
115
+ }
116
+ }, ___EmotionJSX(EuiFlyoutComponent, _extends({
117
+ id: flyoutId,
118
+ ref: flyoutRef,
119
+ css: [styles.managedFlyout, customCss, styles.stage(activityStage, props.side), ";label:EuiManagedFlyout;"]
120
+ }, _objectSpread(_objectSpread({}, props), {}, _defineProperty(_defineProperty(_defineProperty({
121
+ onClose: onClose,
122
+ size: size,
123
+ onAnimationEnd: onAnimationEnd
124
+ }, PROPERTY_FLYOUT, true), PROPERTY_LAYOUT_MODE, layoutMode), PROPERTY_LEVEL, level))))));
125
+ };