@elastic/eui 106.1.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 (551) 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 +2 -1
  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/emotion/prefixer.js +116 -22
  129. package/eui.d.ts +780 -426
  130. package/i18ntokens.json +624 -624
  131. package/lib/components/accessibility/index.js +8 -1
  132. package/lib/components/accessibility/live_announcer/index.js +16 -0
  133. package/lib/components/accessibility/live_announcer/live_announcer.js +93 -0
  134. package/lib/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
  135. package/lib/components/avatar/avatar.js +1 -1
  136. package/lib/components/badge/badge.js +1 -1
  137. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  138. package/lib/components/basic_table/basic_table.js +4 -4
  139. package/lib/components/basic_table/in_memory_table.js +4 -4
  140. package/lib/components/button/button.js +1 -1
  141. package/lib/components/button/button_display/_button_display.js +1 -1
  142. package/lib/components/button/button_display/_button_display_content.js +1 -1
  143. package/lib/components/button/button_empty/button_empty.js +1 -1
  144. package/lib/components/button/button_group/button_group.js +1 -1
  145. package/lib/components/button/button_group/button_group_button.js +1 -1
  146. package/lib/components/button/button_icon/button_icon.js +1 -1
  147. package/lib/components/call_out/call_out.js +17 -6
  148. package/lib/components/card/card.js +2 -2
  149. package/lib/components/card/card_select/card_select.js +1 -1
  150. package/lib/components/card/checkable_card/checkable_card.js +29 -4
  151. package/lib/components/code/code_block.js +5 -2
  152. package/lib/components/code/code_block_virtualized.js +5 -3
  153. package/lib/components/collapsible_nav/collapsible_nav.js +4 -106
  154. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  155. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  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/combo_box/combo_box.a11y.js +97 -81
  161. package/lib/components/combo_box/combo_box.js +3 -2
  162. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
  163. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  164. package/lib/components/comment_list/comment.js +2 -2
  165. package/lib/components/comment_list/comment_event.js +1 -1
  166. package/lib/components/comment_list/comment_list.js +2 -2
  167. package/lib/components/comment_list/comment_timeline.js +1 -1
  168. package/lib/components/context_menu/context_menu_item.js +1 -1
  169. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  170. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  171. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  172. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  173. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  174. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  175. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  176. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  177. package/lib/components/datagrid/data_grid.styles.js +1 -1
  178. package/lib/components/datagrid/utils/in_memory.js +6 -6
  179. package/lib/components/date_picker/date_picker.js +2 -2
  180. package/lib/components/date_picker/date_picker_range.js +1 -1
  181. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  182. package/lib/components/facet/facet_button.js +1 -1
  183. package/lib/components/filter_group/filter_select_item.js +16 -3
  184. package/lib/components/flyout/const.js +49 -0
  185. package/lib/components/flyout/flyout.component.js +385 -0
  186. package/lib/components/flyout/flyout.js +68 -362
  187. package/lib/components/flyout/flyout.styles.js +98 -3
  188. package/lib/components/flyout/flyout_menu.js +95 -0
  189. package/lib/components/flyout/flyout_menu.styles.js +22 -0
  190. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
  191. package/lib/components/flyout/flyout_resizable.js +3 -2
  192. package/lib/components/flyout/hooks.js +30 -0
  193. package/lib/components/flyout/index.js +14 -14
  194. package/lib/components/flyout/manager/actions.js +103 -0
  195. package/lib/components/flyout/manager/activity_stage.js +77 -0
  196. package/lib/components/flyout/manager/const.js +56 -0
  197. package/lib/components/flyout/manager/context.js +41 -0
  198. package/lib/components/flyout/manager/flyout_child.js +85 -0
  199. package/lib/components/flyout/manager/flyout_child.styles.js +32 -0
  200. package/lib/components/flyout/manager/flyout_main.js +70 -0
  201. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  202. package/lib/components/flyout/manager/flyout_managed.js +136 -0
  203. package/lib/components/flyout/manager/flyout_managed.styles.js +70 -0
  204. package/lib/components/flyout/manager/hooks.js +161 -0
  205. package/lib/components/flyout/manager/index.js +150 -0
  206. package/lib/components/flyout/manager/layout_mode.js +171 -0
  207. package/lib/components/flyout/manager/provider.js +46 -0
  208. package/lib/components/flyout/manager/reducer.js +205 -0
  209. package/lib/components/flyout/manager/selectors.js +93 -0
  210. package/lib/components/flyout/manager/validation.js +121 -0
  211. package/lib/components/form/field_number/field_number.js +2 -2
  212. package/lib/components/form/field_password/field_password.styles.js +1 -0
  213. package/lib/components/form/field_text/field_text.js +2 -2
  214. package/lib/components/form/form.styles.js +2 -2
  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.styles.js +1 -1
  217. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  218. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  219. package/lib/components/form/range/range.styles.js +2 -2
  220. package/lib/components/form/text_area/text_area.js +2 -2
  221. package/lib/components/header/header_links/header_link.js +1 -1
  222. package/lib/components/header/header_links/header_links.js +1 -1
  223. package/lib/components/header/header_logo/header_logo.js +1 -1
  224. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  225. package/lib/components/icon/assets/thumbDown.js +44 -0
  226. package/lib/components/icon/assets/thumbUp.js +44 -0
  227. package/lib/components/icon/icon.js +1 -1
  228. package/lib/components/icon/icon_map.js +2 -0
  229. package/lib/components/icon/svgs/thumbDown.svg +4 -0
  230. package/lib/components/icon/svgs/thumbUp.svg +4 -0
  231. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  232. package/lib/components/list_group/list_group.js +2 -2
  233. package/lib/components/list_group/list_group_item.js +2 -2
  234. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  235. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  236. package/lib/components/loading/loading_logo.js +1 -1
  237. package/lib/components/markdown_editor/index.js +7 -0
  238. package/lib/components/markdown_editor/markdown_editor.js +16 -5
  239. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
  240. package/lib/components/markdown_editor/markdown_editor_footer.js +11 -118
  241. package/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  242. package/lib/components/markdown_editor/markdown_editor_help_button.js +151 -0
  243. package/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  244. package/lib/components/markdown_editor/markdown_editor_toolbar.js +29 -24
  245. package/lib/components/overlay_mask/overlay_mask.js +7 -2
  246. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  247. package/lib/components/page/page_header/page_header_content.js +1 -1
  248. package/lib/components/pagination/pagination_button.js +1 -1
  249. package/lib/components/popover/popover.js +2 -1
  250. package/lib/components/provider/provider.js +2 -1
  251. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  252. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  253. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.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/global_styling/mixins/_button.js +1 -1
  260. package/lib/services/emotion/prefixer.js +116 -22
  261. package/optimize/es/components/accessibility/index.js +2 -1
  262. package/optimize/es/components/{flyout/sessions → accessibility/live_announcer}/index.js +1 -2
  263. package/optimize/es/components/accessibility/live_announcer/live_announcer.js +68 -0
  264. package/optimize/es/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
  265. package/optimize/es/components/call_out/call_out.js +6 -2
  266. package/optimize/es/components/card/checkable_card/checkable_card.js +25 -5
  267. package/optimize/es/components/code/code_block.js +5 -2
  268. package/optimize/es/components/code/code_block_virtualized.js +5 -3
  269. package/optimize/es/components/combo_box/combo_box.a11y.js +97 -81
  270. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
  271. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +6 -2
  272. package/optimize/es/components/datagrid/data_grid.styles.js +1 -1
  273. package/optimize/es/components/filter_group/filter_select_item.js +15 -3
  274. package/optimize/es/components/flyout/const.js +42 -0
  275. package/optimize/es/components/flyout/flyout.component.js +346 -0
  276. package/optimize/es/components/flyout/flyout.js +39 -332
  277. package/optimize/es/components/flyout/flyout.styles.js +95 -3
  278. package/optimize/es/components/flyout/flyout_menu.js +74 -0
  279. package/optimize/es/components/flyout/flyout_menu.styles.js +16 -0
  280. package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
  281. package/optimize/es/components/flyout/flyout_resizable.js +3 -2
  282. package/optimize/es/components/flyout/hooks.js +25 -0
  283. package/optimize/es/components/flyout/index.js +4 -2
  284. package/optimize/es/components/flyout/manager/actions.js +97 -0
  285. package/optimize/es/components/flyout/manager/activity_stage.js +71 -0
  286. package/optimize/es/components/flyout/manager/const.js +50 -0
  287. package/optimize/es/components/flyout/manager/context.js +33 -0
  288. package/optimize/es/components/flyout/manager/flyout_child.js +76 -0
  289. package/optimize/es/components/flyout/manager/flyout_child.styles.js +26 -0
  290. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  291. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  292. package/optimize/es/components/flyout/manager/flyout_managed.js +125 -0
  293. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +66 -0
  294. package/optimize/es/components/flyout/manager/hooks.js +93 -0
  295. package/optimize/es/components/flyout/manager/index.js +31 -0
  296. package/optimize/es/components/flyout/manager/layout_mode.js +159 -0
  297. package/optimize/es/components/flyout/manager/provider.js +37 -0
  298. package/optimize/es/components/flyout/manager/reducer.js +192 -0
  299. package/optimize/es/components/flyout/manager/selectors.js +87 -0
  300. package/optimize/es/components/flyout/manager/validation.js +112 -0
  301. package/optimize/es/components/form/field_password/field_password.styles.js +1 -0
  302. package/optimize/es/components/form/form.styles.js +2 -2
  303. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  304. package/optimize/es/components/form/range/range.styles.js +2 -2
  305. package/optimize/es/components/icon/assets/thumbDown.js +36 -0
  306. package/optimize/es/components/icon/assets/thumbUp.js +36 -0
  307. package/optimize/es/components/icon/icon_map.js +2 -0
  308. package/optimize/es/components/markdown_editor/index.js +1 -0
  309. package/optimize/es/components/markdown_editor/markdown_editor.js +7 -3
  310. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
  311. package/optimize/es/components/markdown_editor/markdown_editor_footer.js +12 -120
  312. package/optimize/es/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  313. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +139 -0
  314. package/optimize/es/components/markdown_editor/markdown_editor_help_button.styles.js +16 -0
  315. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +20 -16
  316. package/optimize/es/components/overlay_mask/overlay_mask.js +8 -3
  317. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  318. package/optimize/es/components/popover/popover.js +2 -1
  319. package/optimize/es/components/provider/provider.js +2 -1
  320. package/optimize/es/global_styling/mixins/_button.js +1 -1
  321. package/optimize/es/services/emotion/prefixer.js +116 -22
  322. package/optimize/lib/components/accessibility/index.js +8 -1
  323. package/optimize/lib/components/accessibility/live_announcer/index.js +16 -0
  324. package/optimize/lib/components/accessibility/live_announcer/live_announcer.js +77 -0
  325. package/optimize/lib/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
  326. package/optimize/lib/components/call_out/call_out.js +7 -3
  327. package/optimize/lib/components/card/checkable_card/checkable_card.js +24 -4
  328. package/optimize/lib/components/code/code_block.js +5 -2
  329. package/optimize/lib/components/code/code_block_virtualized.js +5 -3
  330. package/optimize/lib/components/combo_box/combo_box.a11y.js +97 -81
  331. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
  332. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  333. package/optimize/lib/components/datagrid/data_grid.styles.js +1 -1
  334. package/optimize/lib/components/filter_group/filter_select_item.js +15 -3
  335. package/optimize/lib/components/flyout/const.js +49 -0
  336. package/optimize/lib/components/flyout/flyout.component.js +354 -0
  337. package/optimize/lib/components/flyout/flyout.js +63 -332
  338. package/optimize/lib/components/flyout/flyout.styles.js +95 -3
  339. package/optimize/lib/components/flyout/flyout_menu.js +83 -0
  340. package/optimize/lib/components/flyout/flyout_menu.styles.js +22 -0
  341. package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
  342. package/optimize/lib/components/flyout/flyout_resizable.js +3 -2
  343. package/optimize/lib/components/flyout/hooks.js +30 -0
  344. package/optimize/lib/components/flyout/index.js +14 -14
  345. package/optimize/lib/components/flyout/manager/actions.js +103 -0
  346. package/optimize/lib/components/flyout/manager/activity_stage.js +77 -0
  347. package/optimize/lib/components/flyout/manager/const.js +56 -0
  348. package/optimize/lib/components/flyout/manager/context.js +41 -0
  349. package/optimize/lib/components/flyout/manager/flyout_child.js +81 -0
  350. package/optimize/lib/components/flyout/manager/flyout_child.styles.js +32 -0
  351. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  352. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  353. package/optimize/lib/components/flyout/manager/flyout_managed.js +134 -0
  354. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +71 -0
  355. package/optimize/lib/components/flyout/manager/hooks.js +159 -0
  356. package/optimize/lib/components/flyout/manager/index.js +150 -0
  357. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  358. package/optimize/lib/components/flyout/manager/provider.js +46 -0
  359. package/optimize/lib/components/flyout/manager/reducer.js +198 -0
  360. package/optimize/lib/components/flyout/manager/selectors.js +93 -0
  361. package/optimize/lib/components/flyout/manager/validation.js +121 -0
  362. package/optimize/lib/components/form/field_password/field_password.styles.js +1 -0
  363. package/optimize/lib/components/form/form.styles.js +2 -2
  364. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  365. package/optimize/lib/components/form/range/range.styles.js +2 -2
  366. package/optimize/lib/components/icon/assets/thumbDown.js +44 -0
  367. package/optimize/lib/components/icon/assets/thumbUp.js +44 -0
  368. package/optimize/lib/components/icon/icon_map.js +2 -0
  369. package/optimize/lib/components/icon/svgs/thumbDown.svg +4 -0
  370. package/optimize/lib/components/icon/svgs/thumbUp.svg +4 -0
  371. package/optimize/lib/components/markdown_editor/index.js +7 -0
  372. package/optimize/lib/components/markdown_editor/markdown_editor.js +7 -3
  373. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
  374. package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +9 -118
  375. package/optimize/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  376. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +150 -0
  377. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  378. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +20 -16
  379. package/optimize/lib/components/overlay_mask/overlay_mask.js +7 -2
  380. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  381. package/optimize/lib/components/popover/popover.js +2 -1
  382. package/optimize/lib/components/provider/provider.js +2 -1
  383. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  384. package/optimize/lib/services/emotion/prefixer.js +116 -22
  385. package/package.json +3 -2
  386. package/src/components/date_picker/react-datepicker/src/stylesheets/datepicker.scss +6 -7
  387. package/src/global_styling/mixins/_typography.scss +0 -1
  388. package/src/themes/amsterdam/global_styling/mixins/_typography.scss +0 -1
  389. package/test-env/components/accessibility/index.js +8 -1
  390. package/test-env/components/accessibility/live_announcer/index.js +16 -0
  391. package/test-env/components/accessibility/live_announcer/live_announcer.js +87 -0
  392. package/test-env/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
  393. package/test-env/components/avatar/avatar.js +1 -1
  394. package/test-env/components/badge/badge.js +1 -1
  395. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  396. package/test-env/components/basic_table/basic_table.js +4 -4
  397. package/test-env/components/basic_table/in_memory_table.js +4 -4
  398. package/test-env/components/button/button.js +1 -1
  399. package/test-env/components/button/button_display/_button_display.js +1 -1
  400. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  401. package/test-env/components/button/button_empty/button_empty.js +1 -1
  402. package/test-env/components/button/button_group/button_group.js +1 -1
  403. package/test-env/components/button/button_group/button_group_button.js +1 -1
  404. package/test-env/components/button/button_icon/button_icon.js +1 -1
  405. package/test-env/components/call_out/call_out.js +17 -6
  406. package/test-env/components/card/card.js +2 -2
  407. package/test-env/components/card/card_select/card_select.js +1 -1
  408. package/test-env/components/card/checkable_card/checkable_card.js +24 -4
  409. package/test-env/components/code/code_block_virtualized.js +5 -3
  410. package/test-env/components/collapsible_nav/collapsible_nav.js +4 -106
  411. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  412. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  413. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  414. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  415. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  416. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  417. package/test-env/components/combo_box/combo_box.a11y.js +97 -81
  418. package/test-env/components/combo_box/combo_box.js +3 -2
  419. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
  420. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
  421. package/test-env/components/comment_list/comment.js +2 -2
  422. package/test-env/components/comment_list/comment_event.js +1 -1
  423. package/test-env/components/comment_list/comment_list.js +2 -2
  424. package/test-env/components/comment_list/comment_timeline.js +1 -1
  425. package/test-env/components/context_menu/context_menu_item.js +1 -1
  426. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  427. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  428. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  429. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  430. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  431. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  432. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  433. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  434. package/test-env/components/datagrid/data_grid.styles.js +1 -1
  435. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  436. package/test-env/components/date_picker/date_picker.js +2 -2
  437. package/test-env/components/date_picker/date_picker_range.js +1 -1
  438. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  439. package/test-env/components/facet/facet_button.js +1 -1
  440. package/test-env/components/filter_group/filter_select_item.js +16 -3
  441. package/test-env/components/flyout/const.js +49 -0
  442. package/test-env/components/flyout/flyout.component.js +374 -0
  443. package/test-env/components/flyout/flyout.styles.js +95 -3
  444. package/test-env/components/flyout/flyout_menu.js +94 -0
  445. package/test-env/components/flyout/flyout_menu.styles.js +22 -0
  446. package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  447. package/test-env/components/flyout/flyout_resizable.js +3 -2
  448. package/test-env/components/flyout/hooks.js +30 -0
  449. package/test-env/components/flyout/index.js +14 -14
  450. package/test-env/components/flyout/manager/actions.js +103 -0
  451. package/test-env/components/flyout/manager/activity_stage.js +77 -0
  452. package/test-env/components/flyout/manager/const.js +56 -0
  453. package/test-env/components/flyout/manager/context.js +41 -0
  454. package/test-env/components/flyout/manager/flyout_child.js +81 -0
  455. package/test-env/components/flyout/manager/flyout_child.styles.js +32 -0
  456. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  457. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  458. package/test-env/components/flyout/manager/flyout_managed.js +134 -0
  459. package/test-env/components/flyout/manager/flyout_managed.styles.js +71 -0
  460. package/test-env/components/flyout/manager/hooks.js +159 -0
  461. package/test-env/components/flyout/manager/index.js +150 -0
  462. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  463. package/test-env/components/flyout/manager/provider.js +46 -0
  464. package/test-env/components/flyout/manager/reducer.js +198 -0
  465. package/test-env/components/flyout/manager/selectors.js +93 -0
  466. package/test-env/components/flyout/manager/validation.js +121 -0
  467. package/test-env/components/form/field_number/field_number.js +2 -2
  468. package/test-env/components/form/field_password/field_password.styles.js +1 -0
  469. package/test-env/components/form/field_text/field_text.js +2 -2
  470. package/test-env/components/form/form.styles.js +2 -2
  471. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  472. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +1 -1
  473. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  474. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  475. package/test-env/components/form/range/range.styles.js +2 -2
  476. package/test-env/components/form/text_area/text_area.js +2 -2
  477. package/test-env/components/header/header_links/header_link.js +1 -1
  478. package/test-env/components/header/header_links/header_links.js +1 -1
  479. package/test-env/components/header/header_logo/header_logo.js +1 -1
  480. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  481. package/test-env/components/icon/assets/thumbDown.js +44 -0
  482. package/test-env/components/icon/assets/thumbUp.js +44 -0
  483. package/test-env/components/icon/icon_map.js +2 -0
  484. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  485. package/test-env/components/list_group/list_group.js +2 -2
  486. package/test-env/components/list_group/list_group_item.js +2 -2
  487. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  488. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  489. package/test-env/components/loading/loading_logo.js +1 -1
  490. package/test-env/components/markdown_editor/index.js +7 -0
  491. package/test-env/components/markdown_editor/markdown_editor.js +16 -5
  492. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
  493. package/test-env/components/markdown_editor/markdown_editor_footer.js +10 -119
  494. package/test-env/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
  495. package/test-env/components/markdown_editor/markdown_editor_help_button.js +150 -0
  496. package/test-env/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
  497. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +29 -24
  498. package/test-env/components/overlay_mask/overlay_mask.js +7 -2
  499. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  500. package/test-env/components/page/page_header/page_header_content.js +1 -1
  501. package/test-env/components/pagination/pagination_button.js +1 -1
  502. package/test-env/components/popover/popover.js +2 -1
  503. package/test-env/components/provider/provider.js +2 -1
  504. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  505. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  506. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  507. package/test-env/components/table/table_header_cell.js +1 -1
  508. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  509. package/test-env/components/toast/global_toast_list.js +1 -1
  510. package/test-env/components/toast/toast.js +1 -1
  511. package/test-env/components/tool_tip/icon_tip.js +1 -1
  512. package/test-env/global_styling/mixins/_button.js +1 -1
  513. package/test-env/services/emotion/prefixer.js +116 -22
  514. package/es/components/flyout/flyout_child.js +0 -223
  515. package/es/components/flyout/flyout_child.styles.js +0 -32
  516. package/es/components/flyout/flyout_child_manager.js +0 -114
  517. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  518. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  519. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  520. package/lib/components/flyout/flyout_child.js +0 -231
  521. package/lib/components/flyout/flyout_child.styles.js +0 -38
  522. package/lib/components/flyout/flyout_child_manager.js +0 -122
  523. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  524. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  525. package/lib/components/flyout/sessions/index.js +0 -25
  526. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  527. package/optimize/es/components/flyout/flyout_child.js +0 -178
  528. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  529. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  530. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  531. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  532. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  533. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  534. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  535. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  536. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  537. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  538. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  539. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  540. package/test-env/components/flyout/flyout_child.js +0 -230
  541. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  542. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  543. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  544. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  545. package/test-env/components/flyout/sessions/index.js +0 -25
  546. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  547. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  548. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  549. /package/optimize/es/components/flyout/{sessions → manager}/types.js +0 -0
  550. /package/optimize/lib/components/flyout/{sessions → manager}/types.js +0 -0
  551. /package/test-env/components/flyout/{sessions → manager}/types.js +0 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiManagedFlyout = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _flyout = require("../flyout.component");
14
+ var _hooks = require("./hooks");
15
+ var _services = require("../../../services");
16
+ var _resize_observer = require("../../observer/resize_observer");
17
+ var _flyout_managed = require("./flyout_managed.styles");
18
+ var _flyout_menu_context = require("../flyout_menu_context");
19
+ var _validation = require("./validation");
20
+ var _const = require("./const");
21
+ var _context = require("./context");
22
+ var _activity_stage = require("./activity_stage");
23
+ var _react2 = require("@emotion/react");
24
+ var _excluded = ["id", "onClose", "level", "size", "css"];
25
+ /*
26
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
27
+ * or more contributor license agreements. Licensed under the Elastic License
28
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
29
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
30
+ * Side Public License, v 1.
31
+ */
32
+ /**
33
+ * Props for `EuiManagedFlyout`, the internal persistent flyout used by
34
+ * the manager. Extends base flyout props and requires a `level` to
35
+ * distinguish `main` vs `child` behavior.
36
+ */
37
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
38
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
39
+ 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; }
40
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
41
+ var useFlyoutManager = function useFlyoutManager() {
42
+ var context = (0, _hooks.useFlyoutManager)();
43
+ if (!context) {
44
+ throw new Error('EuiManagedFlyout must be used within an EuiFlyoutManager');
45
+ }
46
+ return context;
47
+ };
48
+
49
+ /**
50
+ * Persistent managed flyout rendered inside the provider. Handles:
51
+ * - registration/unregistration with the manager
52
+ * - size validation and parent/child size compatibility
53
+ * - width tracking for responsive layouts
54
+ * - lifecycle stage transitions and data attributes for styling
55
+ */
56
+ var EuiManagedFlyout = exports.EuiManagedFlyout = function EuiManagedFlyout(_ref) {
57
+ var id = _ref.id,
58
+ onCloseProp = _ref.onClose,
59
+ level = _ref.level,
60
+ size = _ref.size,
61
+ customCss = _ref.css,
62
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
63
+ var flyoutId = (0, _hooks.useFlyoutId)(id);
64
+ var flyoutRef = (0, _react.useRef)(null);
65
+ var _useFlyoutManager2 = useFlyoutManager(),
66
+ addFlyout = _useFlyoutManager2.addFlyout,
67
+ closeFlyout = _useFlyoutManager2.closeFlyout,
68
+ setFlyoutWidth = _useFlyoutManager2.setFlyoutWidth;
69
+ var isActive = (0, _hooks.useIsFlyoutActive)(flyoutId);
70
+ var parentSize = (0, _hooks.useParentFlyoutSize)(flyoutId);
71
+
72
+ // Get layout mode for responsive behavior
73
+ var layoutMode = (0, _hooks.useFlyoutLayoutMode)();
74
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout_managed.euiManagedFlyoutStyles);
75
+
76
+ // Validate size and add flyout
77
+ (0, _react.useEffect)(function () {
78
+ // Validate that managed flyouts use named sizes (s, m, l)
79
+ var sizeTypeError = (0, _validation.validateManagedFlyoutSize)(size, flyoutId, level);
80
+ if (sizeTypeError) {
81
+ throw new Error((0, _validation.createValidationErrorMessage)(sizeTypeError));
82
+ }
83
+
84
+ // For child flyouts, validate parent-child combinations
85
+ if (level === _const.LEVEL_CHILD && parentSize && (0, _validation.isNamedSize)(size) && (0, _validation.isNamedSize)(parentSize)) {
86
+ var combinationError = (0, _validation.validateSizeCombination)(parentSize, size);
87
+ if (combinationError) {
88
+ combinationError.flyoutId = flyoutId;
89
+ combinationError.level = level;
90
+ throw new Error((0, _validation.createValidationErrorMessage)(combinationError));
91
+ }
92
+ }
93
+ addFlyout(flyoutId, level, size);
94
+ return function () {
95
+ closeFlyout(flyoutId);
96
+ };
97
+ }, [size, flyoutId, level, parentSize, addFlyout, closeFlyout]);
98
+
99
+ // Track width changes for flyouts
100
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isActive ? flyoutRef.current : null, 'width'),
101
+ width = _useResizeObserver.width;
102
+ var onClose = function onClose(event) {
103
+ onCloseProp(event);
104
+ closeFlyout(flyoutId);
105
+ };
106
+
107
+ // Update width in manager state when it changes
108
+ (0, _react.useEffect)(function () {
109
+ if (isActive && width) {
110
+ setFlyoutWidth(flyoutId, width);
111
+ }
112
+ }, [flyoutId, level, isActive, width, setFlyoutWidth]);
113
+ var _useFlyoutActivitySta = (0, _activity_stage.useFlyoutActivityStage)({
114
+ flyoutId: flyoutId,
115
+ level: level
116
+ }),
117
+ activityStage = _useFlyoutActivitySta.activityStage,
118
+ onAnimationEnd = _useFlyoutActivitySta.onAnimationEnd;
119
+ return (0, _react2.jsx)(_context.EuiFlyoutIsManagedProvider, {
120
+ isManaged: true
121
+ }, (0, _react2.jsx)(_flyout_menu_context.EuiFlyoutMenuContext.Provider, {
122
+ value: {
123
+ onClose: onClose
124
+ }
125
+ }, (0, _react2.jsx)(_flyout.EuiFlyoutComponent, (0, _extends2.default)({
126
+ id: flyoutId,
127
+ ref: flyoutRef,
128
+ css: [styles.managedFlyout, customCss, styles.stage(activityStage, props.side), ";label:EuiManagedFlyout;"]
129
+ }, _objectSpread(_objectSpread({}, props), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
130
+ onClose: onClose,
131
+ size: size,
132
+ onAnimationEnd: onAnimationEnd
133
+ }, _const.PROPERTY_FLYOUT, true), _const.PROPERTY_LAYOUT_MODE, layoutMode), _const.PROPERTY_LEVEL, level))))));
134
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.euiManagedFlyoutStyles = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _global_styling = require("../../../global_styling");
11
+ var _const = require("./const");
12
+ var _flyout = require("../flyout.styles");
13
+ var _const2 = require("../const");
14
+ var _templateObject, _templateObject2;
15
+ 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)."; } /*
16
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
+ * or more contributor license agreements. Licensed under the Elastic License
18
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
19
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
20
+ * Side Public License, v 1.
21
+ */
22
+ var _ref = process.env.NODE_ENV === "production" ? {
23
+ name: "hklg7q-managedFlyout",
24
+ styles: "perspective:1000px;transform-style:preserve-3d;label:managedFlyout;"
25
+ } : {
26
+ name: "hklg7q-managedFlyout",
27
+ styles: "perspective:1000px;transform-style:preserve-3d;label:managedFlyout;",
28
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
+ };
30
+ /**
31
+ * Emotion styles for managed flyouts.
32
+ * Provides base 3D context and animations tied to managed flyout stages
33
+ * via data attributes.
34
+ */
35
+ var euiManagedFlyoutStyles = exports.euiManagedFlyoutStyles = function euiManagedFlyoutStyles(euiThemeContext) {
36
+ var euiTheme = euiThemeContext.euiTheme;
37
+ return {
38
+ stage: function stage(activeStage) {
39
+ var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _const2.DEFAULT_SIDE;
40
+ // Animation for moving flyout backwards in 3D space (z-axis) when inactive
41
+ var euiFlyoutSlideBack3D = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n from {\n transform: translateZ(0) translateX(0) scale(1);\n filter: blur(0px);\n opacity: 1;\n }\n to {\n transform: translateZ(-1500px) translateX(", ") scale(0.5);\n filter: blur(3px);\n opacity: 0.6;\n }\n "])), side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)');
42
+
43
+ // Animation for bringing flyout forward from 3D space when transitioning to active
44
+ var euiFlyoutSlideForward3D = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n from {\n transform: translateZ(-500px) translateX(", ") scale(0.85);\n filter: blur(3px);\n opacity: 0.6;\n }\n to {\n transform: translateZ(0) translateX(0) scale(1);\n filter: blur(0px);\n opacity: 1;\n }\n "])), side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)');
45
+ // When flyout is becoming inactive, animate backwards in 3D space
46
+ var inactiveTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideBack3D, " ", euiTheme.animation.extraSlow, " ", euiTheme.animation.resistance, " forwards;pointer-events:none;};label:inactiveTransition;");
47
+
48
+ // When flyout is becoming active from a backgrounded state, animate forward in 3D space
49
+ var returningTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideForward3D, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, " forwards;};label:returningTransition;");
50
+ var openingTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", side === 'left' ? _flyout.euiFlyoutSlideInLeft : _flyout.euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, " forwards;};label:openingTransition;");
51
+ var noTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:none;opacity:1;};label:noTransition;");
52
+ var activeFlyout = /*#__PURE__*/(0, _react.css)("z-index:", parseInt(euiTheme.levels.flyout) + 1, ";pointer-events:auto;;label:activeFlyout;");
53
+ var inactiveFlyout = /*#__PURE__*/(0, _react.css)(side === 'left' ? (0, _global_styling.logicalCSS)('right', '100vw') : (0, _global_styling.logicalCSS)('left', '100vw'), " transform:translateX(", side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)', ");;label:inactiveFlyout;");
54
+ switch (activeStage) {
55
+ case _const.STAGE_OPENING:
56
+ return [activeFlyout, openingTransition];
57
+ case _const.STAGE_ACTIVE:
58
+ return [activeFlyout, noTransition];
59
+ case _const.STAGE_CLOSING:
60
+ case _const.STAGE_BACKGROUNDING:
61
+ return [inactiveTransition];
62
+ case _const.STAGE_INACTIVE:
63
+ case _const.STAGE_BACKGROUNDED:
64
+ return [inactiveFlyout, noTransition];
65
+ case _const.STAGE_RETURNING:
66
+ return [activeFlyout, returningTransition];
67
+ }
68
+ },
69
+ managedFlyout: _ref
70
+ };
71
+ };
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "useCurrentChildFlyout", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _selectors.useCurrentChildFlyout;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "useCurrentMainFlyout", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _selectors.useCurrentMainFlyout;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "useCurrentSession", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _selectors.useCurrentSession;
23
+ }
24
+ });
25
+ exports.useFlyoutId = void 0;
26
+ Object.defineProperty(exports, "useFlyoutLayoutMode", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _layout_mode.useFlyoutLayoutMode;
30
+ }
31
+ });
32
+ exports.useFlyoutManager = void 0;
33
+ exports.useFlyoutManagerReducer = useFlyoutManagerReducer;
34
+ Object.defineProperty(exports, "useFlyoutWidth", {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return _selectors.useFlyoutWidth;
38
+ }
39
+ });
40
+ Object.defineProperty(exports, "useHasActiveSession", {
41
+ enumerable: true,
42
+ get: function get() {
43
+ return _selectors.useHasActiveSession;
44
+ }
45
+ });
46
+ Object.defineProperty(exports, "useHasChildFlyout", {
47
+ enumerable: true,
48
+ get: function get() {
49
+ return _selectors.useHasChildFlyout;
50
+ }
51
+ });
52
+ Object.defineProperty(exports, "useIsFlyoutActive", {
53
+ enumerable: true,
54
+ get: function get() {
55
+ return _selectors.useIsFlyoutActive;
56
+ }
57
+ });
58
+ Object.defineProperty(exports, "useIsInManagedFlyout", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _context.useIsInManagedFlyout;
62
+ }
63
+ });
64
+ Object.defineProperty(exports, "useParentFlyoutSize", {
65
+ enumerable: true,
66
+ get: function get() {
67
+ return _selectors.useParentFlyoutSize;
68
+ }
69
+ });
70
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
71
+ var _react = require("react");
72
+ var _services = require("../../../services");
73
+ var _reducer = require("./reducer");
74
+ var _actions = require("./actions");
75
+ var _provider = require("./provider");
76
+ var _const = require("./const");
77
+ var _selectors = require("./selectors");
78
+ var _layout_mode = require("./layout_mode");
79
+ var _context = require("./context");
80
+ /*
81
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
82
+ * or more contributor license agreements. Licensed under the Elastic License
83
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
84
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
85
+ * Side Public License, v 1.
86
+ */
87
+
88
+ // Ensure uniqueness across multiple hook instances, including in test envs
89
+ var autoGeneratedFlyoutIdCounter = 0;
90
+ // Convenience selector for a flyout's activity stage
91
+
92
+ /**
93
+ * Hook that provides the flyout manager reducer and bound action creators.
94
+ * Accepts an optional initial state (mainly for tests or custom setups).
95
+ */
96
+ function useFlyoutManagerReducer() {
97
+ var initial = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _reducer.initialState;
98
+ var _useReducer = (0, _react.useReducer)(_reducer.flyoutManagerReducer, initial),
99
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
100
+ state = _useReducer2[0],
101
+ dispatch = _useReducer2[1];
102
+ var addFlyout = (0, _react.useCallback)(function (flyoutId) {
103
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _const.LEVEL_MAIN;
104
+ var size = arguments.length > 2 ? arguments[2] : undefined;
105
+ return dispatch((0, _actions.addFlyout)(flyoutId, level, size));
106
+ }, []);
107
+ var closeFlyout = (0, _react.useCallback)(function (flyoutId) {
108
+ return dispatch((0, _actions.closeFlyout)(flyoutId));
109
+ }, []);
110
+ var setActiveFlyout = (0, _react.useCallback)(function (flyoutId) {
111
+ return dispatch((0, _actions.setActiveFlyout)(flyoutId));
112
+ }, []);
113
+ var setFlyoutWidth = (0, _react.useCallback)(function (flyoutId, width) {
114
+ return dispatch((0, _actions.setFlyoutWidth)(flyoutId, width));
115
+ }, []);
116
+ return {
117
+ state: state,
118
+ dispatch: dispatch,
119
+ addFlyout: addFlyout,
120
+ closeFlyout: closeFlyout,
121
+ setActiveFlyout: setActiveFlyout,
122
+ setFlyoutWidth: setFlyoutWidth
123
+ };
124
+ }
125
+
126
+ /** Access the flyout manager context (state and actions). */
127
+ var useFlyoutManager = exports.useFlyoutManager = function useFlyoutManager() {
128
+ return (0, _react.useContext)(_provider.EuiFlyoutManagerContext);
129
+ };
130
+
131
+ /**
132
+ * Stable flyout ID utility. Uses the passed `id` if provided and not already registered,
133
+ * otherwise generates a deterministic ID for the component's lifetime.
134
+ * The ID remains stable across re-renders to maintain consistency in effects and other hooks.
135
+ */
136
+ var useFlyoutId = exports.useFlyoutId = function useFlyoutId(flyoutId) {
137
+ var defaultId = (0, _services.useGeneratedHtmlId)({
138
+ prefix: 'flyout-'
139
+ });
140
+ var isRegistered = (0, _selectors.useIsFlyoutRegistered)(flyoutId);
141
+
142
+ // Use ref to maintain ID stability across re-renders
143
+ var componentIdRef = (0, _react.useRef)(undefined);
144
+ if (!componentIdRef.current) {
145
+ // Determine the ID to use
146
+ if (!flyoutId) {
147
+ // No ID provided, generate a new one
148
+ componentIdRef.current = "".concat(defaultId, "-").concat(++autoGeneratedFlyoutIdCounter);
149
+ } else if (isRegistered) {
150
+ // ID is provided but already registered, generate a new one
151
+ (0, _services.warnOnce)("flyout-id-".concat(flyoutId), "Flyout with ID ".concat(flyoutId, " already registered; using new ID ").concat(defaultId));
152
+ componentIdRef.current = "".concat(defaultId, "-").concat(++autoGeneratedFlyoutIdCounter);
153
+ } else {
154
+ // ID is provided and not registered, use it
155
+ componentIdRef.current = flyoutId;
156
+ }
157
+ }
158
+ return componentIdRef.current;
159
+ };
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiFlyoutChild", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _flyout_child.EuiFlyoutChild;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "EuiFlyoutMain", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _flyout_main.EuiFlyoutMain;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "EuiFlyoutManager", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _provider.EuiFlyoutManager;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "addFlyoutAction", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _actions.addFlyout;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "closeFlyoutAction", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _actions.closeFlyout;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "flyoutManagerReducer", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _reducer.flyoutManagerReducer;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "getWidthFromSize", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _layout_mode.getWidthFromSize;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "initialState", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _reducer.initialState;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "setActiveFlyoutAction", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _actions.setActiveFlyout;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "setActivityStageAction", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _actions.setActivityStage;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "setFlyoutWidthAction", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _actions.setFlyoutWidth;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "useCurrentChildFlyout", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _hooks.useCurrentChildFlyout;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "useCurrentMainFlyout", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _hooks.useCurrentMainFlyout;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "useCurrentSession", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _hooks.useCurrentSession;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "useFlyoutId", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _hooks.useFlyoutId;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "useFlyoutLayoutMode", {
97
+ enumerable: true,
98
+ get: function get() {
99
+ return _hooks.useFlyoutLayoutMode;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "useFlyoutManager", {
103
+ enumerable: true,
104
+ get: function get() {
105
+ return _hooks.useFlyoutManager;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "useFlyoutWidth", {
109
+ enumerable: true,
110
+ get: function get() {
111
+ return _hooks.useFlyoutWidth;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "useHasActiveSession", {
115
+ enumerable: true,
116
+ get: function get() {
117
+ return _hooks.useHasActiveSession;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "useHasChildFlyout", {
121
+ enumerable: true,
122
+ get: function get() {
123
+ return _hooks.useHasChildFlyout;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "useIsFlyoutActive", {
127
+ enumerable: true,
128
+ get: function get() {
129
+ return _hooks.useIsFlyoutActive;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, "useIsInManagedFlyout", {
133
+ enumerable: true,
134
+ get: function get() {
135
+ return _hooks.useIsInManagedFlyout;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "useParentFlyoutSize", {
139
+ enumerable: true,
140
+ get: function get() {
141
+ return _hooks.useParentFlyoutSize;
142
+ }
143
+ });
144
+ var _actions = require("./actions");
145
+ var _reducer = require("./reducer");
146
+ var _provider = require("./provider");
147
+ var _hooks = require("./hooks");
148
+ var _flyout_child = require("./flyout_child");
149
+ var _flyout_main = require("./flyout_main");
150
+ var _layout_mode = require("./layout_mode");
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useFlyoutLayoutMode = exports.useApplyFlyoutLayoutMode = exports.getWidthFromSize = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _services = require("../../../services");
12
+ var _actions = require("./actions");
13
+ var _selectors = require("./selectors");
14
+ var _hooks = require("./hooks");
15
+ var _const = require("./const");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ /*
19
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
+ * or more contributor license agreements. Licensed under the Elastic License
21
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
23
+ * Side Public License, v 1.
24
+ */
25
+
26
+ /**
27
+ * Hook to handle responsive layout mode for managed flyouts.
28
+ * Decides whether to place flyouts side-by-side or stacked based on
29
+ * viewport width and flyout widths/sizes.
30
+ */
31
+ var useApplyFlyoutLayoutMode = exports.useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
32
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
33
+ euiTheme = _useEuiTheme.euiTheme;
34
+ var context = (0, _hooks.useFlyoutManager)();
35
+ var currentSession = (0, _selectors.useCurrentSession)();
36
+ var parentFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.main;
37
+ var childFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.child;
38
+ var parentFlyout = (0, _selectors.useCurrentMainFlyout)();
39
+ var childFlyout = (0, _selectors.useCurrentChildFlyout)();
40
+ var parentWidth = (0, _selectors.useFlyoutWidth)(parentFlyoutId);
41
+ var childWidth = (0, _selectors.useFlyoutWidth)(childFlyoutId);
42
+ var _useState = (0, _react.useState)(typeof window !== 'undefined' ? window.innerWidth : Infinity),
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
+ windowWidth = _useState2[0],
45
+ setWindowWidth = _useState2[1];
46
+ var setMode = _react.default.useCallback(function (layoutMode) {
47
+ if (context !== null && context !== void 0 && context.dispatch && layoutMode !== context.state.layoutMode) {
48
+ context.dispatch((0, _actions.setLayoutMode)(layoutMode));
49
+ }
50
+ }, [context]);
51
+ (0, _react.useEffect)(function () {
52
+ if (typeof window === 'undefined') {
53
+ return;
54
+ }
55
+ var rafId = 0;
56
+ var handleResize = function handleResize() {
57
+ if (rafId) {
58
+ cancelAnimationFrame(rafId);
59
+ }
60
+ rafId = requestAnimationFrame(function () {
61
+ return setWindowWidth(window.innerWidth);
62
+ });
63
+ };
64
+ window.addEventListener('resize', handleResize);
65
+ return function () {
66
+ if (rafId) {
67
+ cancelAnimationFrame(rafId);
68
+ }
69
+ window.removeEventListener('resize', handleResize);
70
+ };
71
+ }, []);
72
+ (0, _react.useEffect)(function () {
73
+ if (!context) {
74
+ return;
75
+ }
76
+ var currentLayoutMode = context.state.layoutMode;
77
+
78
+ // Thresholds to prevent thrashing near the breakpoint.
79
+ var THRESHOLD_TO_SIDE_BY_SIDE = 85;
80
+ var THRESHOLD_TO_STACKED = 95;
81
+
82
+ // If the window is too small, set the mode to stacked.
83
+ //
84
+ // The value is based on the maximum width of a flyout in
85
+ // `composeFlyoutSizing` in `flyout.styles.ts` multiplied
86
+ // by 2 (open flyouts side-by-side).
87
+ if (windowWidth < Math.round(euiTheme.breakpoint.s * 1.4)) {
88
+ if (currentLayoutMode !== _const.LAYOUT_MODE_STACKED) {
89
+ setMode(_const.LAYOUT_MODE_STACKED);
90
+ }
91
+ return;
92
+ }
93
+ if (!childFlyoutId) {
94
+ if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
95
+ return;
96
+ }
97
+ var parentWidthValue = parentWidth;
98
+ var childWidthValue = childWidth;
99
+ if (!parentWidthValue && parentFlyout !== null && parentFlyout !== void 0 && parentFlyout.size) {
100
+ parentWidthValue = getWidthFromSize(parentFlyout.size);
101
+ }
102
+ if (!childWidthValue && childFlyout !== null && childFlyout !== void 0 && childFlyout.size) {
103
+ childWidthValue = getWidthFromSize(childFlyout.size);
104
+ }
105
+ if (!parentWidthValue || !childWidthValue) {
106
+ if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
107
+ return;
108
+ }
109
+ var combinedWidth = parentWidthValue + childWidthValue;
110
+ var combinedWidthPercentage = combinedWidth / windowWidth * 100;
111
+ var newLayoutMode;
112
+
113
+ // Handle fill size flyouts: keep layout as side-by-side when fill flyout is present
114
+ // This allows fill flyouts to dynamically calculate their width based on sibling
115
+ if ((parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size) === 'fill' || (childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size) === 'fill') {
116
+ // For fill flyouts, we want to maintain side-by-side layout to enable dynamic width calculation
117
+ // Only stack if the viewport is too small (below the small breakpoint)
118
+ if (windowWidth >= Math.round(euiTheme.breakpoint.s * 1.4)) {
119
+ if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) {
120
+ setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
121
+ }
122
+ return;
123
+ }
124
+ }
125
+ if (currentLayoutMode === _const.LAYOUT_MODE_STACKED) {
126
+ newLayoutMode = combinedWidthPercentage <= THRESHOLD_TO_SIDE_BY_SIDE ? _const.LAYOUT_MODE_SIDE_BY_SIDE : _const.LAYOUT_MODE_STACKED;
127
+ } else {
128
+ newLayoutMode = combinedWidthPercentage >= THRESHOLD_TO_STACKED ? _const.LAYOUT_MODE_STACKED : _const.LAYOUT_MODE_SIDE_BY_SIDE;
129
+ }
130
+ if (currentLayoutMode !== newLayoutMode) {
131
+ setMode(newLayoutMode);
132
+ }
133
+ }, [windowWidth, context, parentWidth, setMode, childWidth, childFlyoutId, parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size, childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size, euiTheme]);
134
+ };
135
+
136
+ /** Convert a flyout `size` value to a pixel width using theme breakpoints. */
137
+ var getWidthFromSize = exports.getWidthFromSize = function getWidthFromSize(size) {
138
+ if (typeof size === 'number') {
139
+ return size;
140
+ }
141
+ if (typeof size === 'string') {
142
+ var parsed = parseInt(size, 10);
143
+ if (!Number.isNaN(parsed)) {
144
+ return parsed;
145
+ }
146
+
147
+ // Size is a function of a percentage of `vw`, defined in `composeFlyoutSizing` in `flyout.styles.ts`
148
+ switch (size) {
149
+ case 's':
150
+ return Math.round(window.innerWidth * 0.25);
151
+ case 'm':
152
+ return Math.round(window.innerWidth * 0.5);
153
+ case 'l':
154
+ return Math.round(window.innerWidth * 0.75);
155
+ case 'fill':
156
+ return Math.round(window.innerWidth * 0.9);
157
+ default:
158
+ break;
159
+ }
160
+ }
161
+ return 0;
162
+ };
163
+
164
+ /** Current layout mode for managed flyouts (`side-by-side` or `stacked`). */
165
+ var useFlyoutLayoutMode = exports.useFlyoutLayoutMode = function useFlyoutLayoutMode() {
166
+ var _context$state;
167
+ var context = (0, _hooks.useFlyoutManager)();
168
+ return (context === null || context === void 0 || (_context$state = context.state) === null || _context$state === void 0 ? void 0 : _context$state.layoutMode) || _const.LAYOUT_MODE_SIDE_BY_SIDE;
169
+ };