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