@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,374 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiFlyoutComponent = void 0;
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _services = require("../../services");
18
+ var _manager = require("./manager");
19
+ var _focus_trap = require("../focus_trap");
20
+ var _overlay_mask = require("../overlay_mask");
21
+ var _i18n = require("../i18n");
22
+ var _resize_observer = require("../observer/resize_observer");
23
+ var _portal = require("../portal");
24
+ var _accessibility = require("../accessibility");
25
+ var _flyout_close_button = require("./_flyout_close_button");
26
+ var _flyout = require("./flyout.styles");
27
+ var _component_defaults = require("../provider/component_defaults");
28
+ var _const = require("./const");
29
+ var _hooks = require("./hooks");
30
+ var _react2 = require("@emotion/react");
31
+ 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", "id"];
32
+ /*
33
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
34
+ * or more contributor license agreements. Licensed under the Elastic License
35
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
36
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
37
+ * Side Public License, v 1.
38
+ */
39
+ /* eslint-disable local/i18n */
40
+ 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); }
41
+ 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; }
42
+ 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; }
43
+ 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; }
44
+ var defaultElement = 'div';
45
+ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
46
+ var _usePropsWithComponen = (0, _component_defaults.usePropsWithComponentDefaults)('EuiFlyout', props),
47
+ className = _usePropsWithComponen.className,
48
+ children = _usePropsWithComponen.children,
49
+ 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
+ onClose = _usePropsWithComponen.onClose,
56
+ _usePropsWithComponen4 = _usePropsWithComponen.ownFocus,
57
+ ownFocus = _usePropsWithComponen4 === void 0 ? true : _usePropsWithComponen4,
58
+ _usePropsWithComponen5 = _usePropsWithComponen.side,
59
+ side = _usePropsWithComponen5 === void 0 ? _const.DEFAULT_SIDE : _usePropsWithComponen5,
60
+ _usePropsWithComponen6 = _usePropsWithComponen.size,
61
+ size = _usePropsWithComponen6 === void 0 ? _const.DEFAULT_SIZE : _usePropsWithComponen6,
62
+ _usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
63
+ paddingSize = _usePropsWithComponen7 === void 0 ? _const.DEFAULT_PADDING_SIZE : _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 ? _const.DEFAULT_TYPE : _usePropsWithComponen9,
70
+ outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
71
+ _usePropsWithComponen10 = _usePropsWithComponen.pushMinBreakpoint,
72
+ pushMinBreakpoint = _usePropsWithComponen10 === void 0 ? _const.DEFAULT_PUSH_MIN_BREAKPOINT : _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
+ id = _usePropsWithComponen.id,
81
+ rest = (0, _objectWithoutProperties2.default)(_usePropsWithComponen, _excluded);
82
+ var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
83
+ setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
84
+ var Element = as || defaultElement;
85
+ var maskRef = (0, _react.useRef)(null);
86
+
87
+ // Ref for the main flyout element to pass to context
88
+ var internalParentFlyoutRef = (0, _react.useRef)(null);
89
+ var isPushed = (0, _hooks.useIsPushed)({
90
+ type: type,
91
+ pushMinBreakpoint: pushMinBreakpoint
92
+ });
93
+
94
+ /**
95
+ * Setting up the refs on the actual flyout element in order to
96
+ * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
97
+ */
98
+ var _useState = (0, _react.useState)(null),
99
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
100
+ resizeRef = _useState2[0],
101
+ setResizeRef = _useState2[1];
102
+ var setRef = (0, _services.useCombinedRefs)([setResizeRef, ref, internalParentFlyoutRef]);
103
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isPushed ? resizeRef : null, 'width'),
104
+ width = _useResizeObserver.width;
105
+ (0, _react.useEffect)(function () {
106
+ /**
107
+ * Accomodate for the `isPushed` state by adding padding to the body equal to the width of the element
108
+ */
109
+ if (isPushed) {
110
+ var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
111
+ var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
112
+ document.body.style[paddingSide] = "".concat(width, "px");
113
+
114
+ // EUI doesn't use this css variable, but it is useful for consumers
115
+ setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, "".concat(width, "px")));
116
+ return function () {
117
+ document.body.style[paddingSide] = '';
118
+ setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, null));
119
+ };
120
+ }
121
+ }, [isPushed, setGlobalCSSVariables, side, width]);
122
+
123
+ /**
124
+ * This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
125
+ */
126
+ (0, _react.useEffect)(function () {
127
+ document.body.classList.add('euiBody--hasFlyout');
128
+ return function () {
129
+ // Remove the hasFlyout class when the flyout is unmounted
130
+ document.body.classList.remove('euiBody--hasFlyout');
131
+ };
132
+ }, []);
133
+ var currentSession = (0, _manager.useCurrentSession)();
134
+ var isInManagedContext = (0, _manager.useIsInManagedFlyout)();
135
+
136
+ // Get flyout manager context for dynamic width calculation
137
+ var flyoutId = (0, _manager.useFlyoutId)(id);
138
+ var layoutMode = (0, _manager.useFlyoutLayoutMode)();
139
+
140
+ // Memoize flyout identification and relationships to prevent race conditions
141
+ var flyoutIdentity = (0, _react.useMemo)(function () {
142
+ if (!flyoutId || !currentSession) {
143
+ return {
144
+ isMainFlyout: false,
145
+ siblingFlyoutId: null,
146
+ hasValidSession: false,
147
+ sessionForWidth: null
148
+ };
149
+ }
150
+ var siblingFlyoutId = currentSession.main === flyoutId ? currentSession.child : currentSession.main;
151
+ return {
152
+ siblingFlyoutId: siblingFlyoutId,
153
+ hasValidSession: true,
154
+ sessionForWidth: currentSession
155
+ };
156
+ }, [flyoutId, currentSession]);
157
+
158
+ // Destructure for easier use
159
+ var siblingFlyoutId = flyoutIdentity.siblingFlyoutId;
160
+ var hasChildFlyout = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.child) != null;
161
+ var isChildFlyout = isInManagedContext && hasChildFlyout && (currentSession === null || currentSession === void 0 ? void 0 : currentSession.child) === id;
162
+ var shouldCloseOnEscape = (0, _react.useMemo)(function () {
163
+ // Regular flyout - always close on ESC
164
+ if (!isInManagedContext) {
165
+ return true;
166
+ }
167
+
168
+ // Managed flyout with no child - close on ESC
169
+ if (!hasChildFlyout) {
170
+ return true;
171
+ }
172
+
173
+ // Child flyout - close on ESC
174
+ if (isChildFlyout) {
175
+ return true;
176
+ }
177
+
178
+ // Main flyout with child flyout - don't close on ESC
179
+ return false;
180
+ }, [isInManagedContext, hasChildFlyout, isChildFlyout]);
181
+
182
+ /**
183
+ * ESC key closes flyout based on flyout hierarchy rules
184
+ */
185
+ var onKeyDown = (0, _react.useCallback)(function (event) {
186
+ if (!isPushed && event.key === _services.keys.ESCAPE && shouldCloseOnEscape) {
187
+ event.preventDefault();
188
+ onClose(event);
189
+ }
190
+ }, [onClose, isPushed, shouldCloseOnEscape]);
191
+ var siblingFlyoutWidth = (0, _manager.useFlyoutWidth)(siblingFlyoutId);
192
+
193
+ /**
194
+ * Set inline styles
195
+ */
196
+ var inlineStyles = (0, _react.useMemo)(function () {
197
+ var composedStyles = (0, _flyout.composeFlyoutInlineStyles)(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth || null, maxWidth);
198
+ return _objectSpread(_objectSpread({}, style), composedStyles);
199
+ }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth]);
200
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout.euiFlyoutStyles);
201
+ var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], (0, _const.isEuiFlyoutSizeNamed)(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], isPushed && !pushAnimation && styles.push.noAnimation, styles[side]];
202
+ var classes = (0, _classnames.default)('euiFlyout', className);
203
+ var flyoutToggle = (0, _react.useRef)(document.activeElement);
204
+ var _useState3 = (0, _react.useState)([]),
205
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
206
+ focusTrapShards = _useState4[0],
207
+ setFocusTrapShards = _useState4[1];
208
+ var focusTrapSelectors = (0, _react.useMemo)(function () {
209
+ var selectors = [];
210
+ if (includeSelectorInFocusTrap) {
211
+ selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
212
+ }
213
+ if (includeFixedHeadersInFocusTrap) {
214
+ selectors.push('.euiHeader[data-fixed-header]');
215
+ }
216
+ return selectors;
217
+ }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
218
+ (0, _react.useEffect)(function () {
219
+ if (focusTrapSelectors.length > 0) {
220
+ var shardsEls = focusTrapSelectors.flatMap(function (selector) {
221
+ return Array.from(document.querySelectorAll(selector));
222
+ });
223
+ setFocusTrapShards(Array.from(shardsEls));
224
+
225
+ // Flyouts that are toggled from shards do not have working
226
+ // focus trap autoFocus, so we need to focus the flyout wrapper ourselves
227
+ shardsEls.forEach(function (shard) {
228
+ if (shard.contains(flyoutToggle.current)) {
229
+ resizeRef === null || resizeRef === void 0 || resizeRef.focus();
230
+ }
231
+ });
232
+ } else {
233
+ // Clear existing shards if necessary, e.g. switching to `false`
234
+ setFocusTrapShards(function (shards) {
235
+ return shards.length ? [] : shards;
236
+ });
237
+ }
238
+ }, [focusTrapSelectors, resizeRef]);
239
+ var focusTrapProps = (0, _react.useMemo)(function () {
240
+ return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
241
+ shards: [].concat((0, _toConsumableArray2.default)(focusTrapShards), (0, _toConsumableArray2.default)((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
242
+ });
243
+ }, [_focusTrapProps, focusTrapShards]);
244
+
245
+ /*
246
+ * Provide meaningful screen reader instructions/details
247
+ */
248
+ var hasOverlayMask = ownFocus && !isPushed;
249
+ var descriptionId = (0, _services.useGeneratedHtmlId)();
250
+ var ariaDescribedBy = (0, _classnames.default)(descriptionId, _ariaDescribedBy);
251
+ var screenReaderDescription = (0, _react.useMemo)(function () {
252
+ return (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
253
+ id: descriptionId
254
+ }, hasOverlayMask ? (0, _react2.jsx)(_i18n.EuiI18n, {
255
+ token: "euiFlyout.screenReaderModalDialog",
256
+ default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
257
+ }) : (0, _react2.jsx)(_i18n.EuiI18n, {
258
+ token: "euiFlyout.screenReaderNonModalDialog",
259
+ default: "You are in a non-modal dialog. To close the dialog, press Escape."
260
+ }), ' ', focusTrapShards.length > 0 && (0, _react2.jsx)(_i18n.EuiI18n, {
261
+ token: "euiFlyout.screenReaderFocusTrapShards",
262
+ default: "You can still continue tabbing through other global page landmarks."
263
+ })));
264
+ }, [hasOverlayMask, descriptionId, focusTrapShards.length]);
265
+
266
+ /*
267
+ * Trap focus even when `ownFocus={false}`, otherwise closing
268
+ * the flyout won't return focus to the originating button.
269
+ *
270
+ * Set `clickOutsideDisables={true}` when `ownFocus={false}`
271
+ * to allow non-keyboard users the ability to interact with
272
+ * elements outside the flyout.
273
+ *
274
+ * Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
275
+ * or if `outsideClickCloses={true}` to close on clicks that target
276
+ * (both mousedown and mouseup) the overlay mask.
277
+ */
278
+ var onClickOutside = (0, _react.useCallback)(function (event) {
279
+ // Do not close the flyout for any external click
280
+ if (outsideClickCloses === false) return undefined;
281
+ if (hasOverlayMask) {
282
+ // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
283
+ if (event.target === maskRef.current) return onClose(event);
284
+ } else {
285
+ // No overlay mask is present, so any outside clicks should close the flyout
286
+ if (outsideClickCloses === true) return onClose(event);
287
+ }
288
+ // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
289
+ return undefined;
290
+ }, [onClose, hasOverlayMask, outsideClickCloses]);
291
+ return (0, _react2.jsx)(EuiFlyoutComponentWrapper, {
292
+ hasOverlayMask: hasOverlayMask,
293
+ maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
294
+ maskRef: (0, _services.useCombinedRefs)([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef])
295
+ }),
296
+ isPortalled: !isPushed
297
+ }, (0, _react2.jsx)(_services.EuiWindowEvent, {
298
+ event: "keydown",
299
+ handler: onKeyDown
300
+ }), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
301
+ disabled: isPushed,
302
+ scrollLock: hasOverlayMask,
303
+ clickOutsideDisables: !ownFocus,
304
+ onClickOutside: onClickOutside
305
+ }, focusTrapProps), (0, _react2.jsx)(Element, (0, _extends2.default)({
306
+ className: classes,
307
+ css: cssStyles,
308
+ style: inlineStyles,
309
+ ref: setRef,
310
+ id: id
311
+ }, rest, {
312
+ role: !isPushed ? 'dialog' : rest.role,
313
+ "aria-modal": !isPushed || undefined,
314
+ tabIndex: !isPushed ? 0 : rest.tabIndex,
315
+ "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
316
+ "data-autofocus": !isPushed || undefined
317
+ }), !isPushed && screenReaderDescription, !hideCloseButton && onClose && (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, (0, _extends2.default)({}, closeButtonProps, {
318
+ onClose: onClose,
319
+ closeButtonPosition: closeButtonPosition,
320
+ side: side
321
+ })), children)));
322
+ }
323
+ // React.forwardRef interferes with the inferred element type
324
+ // Casting to ensure correct element prop type checking for `as`
325
+ // e.g., `href` is not on a `div`
326
+ );
327
+ // Recast to allow `displayName`
328
+ EuiFlyoutComponent.displayName = 'EuiFlyoutComponent';
329
+
330
+ /**
331
+ * Light wrapper for conditionally rendering portals or overlay masks:
332
+ * - If ownFocus is set, wrap with an overlay and allow the user to click it to close it.
333
+ * - Otherwise still wrap within an EuiPortal so it appends to the bottom of the window.
334
+ * Push flyouts have no overlay OR portal behavior.
335
+ */
336
+ var EuiFlyoutComponentWrapper = function EuiFlyoutComponentWrapper(_ref) {
337
+ var children = _ref.children,
338
+ hasOverlayMask = _ref.hasOverlayMask,
339
+ maskProps = _ref.maskProps,
340
+ isPortalled = _ref.isPortalled;
341
+ // TODO: @tkajtoch - this is causing all kinds of issues with animations if a
342
+ // main flyout is opened with ownFocus={true}. Since the logic is to _change_
343
+ // ownFocus to false if a child is rendered, the component remounts, spinning all
344
+ // of the animations into a tailspin. One option would be to flat-out _hide_ this
345
+ // mask. :shrug:
346
+ if (hasOverlayMask) {
347
+ return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, (0, _extends2.default)({
348
+ headerZindexLocation: "below"
349
+ }, maskProps), children);
350
+ } else if (isPortalled) {
351
+ return (0, _react2.jsx)(_portal.EuiPortal, null, children);
352
+ } else {
353
+ return (0, _react2.jsx)(_react.default.Fragment, null, children);
354
+ }
355
+ };
356
+ EuiFlyoutComponentWrapper.propTypes = {
357
+ children: _propTypes.default.node.isRequired,
358
+ hasOverlayMask: _propTypes.default.bool.isRequired,
359
+ maskProps: _propTypes.default.shape({
360
+ /**
361
+ * ReactNode to render as this component's content
362
+ */
363
+ children: _propTypes.default.node,
364
+ /**
365
+ * Should the mask visually sit above or below the EuiHeader (controlled by z-index)
366
+ */
367
+ headerZindexLocation: _propTypes.default.oneOf(["above", "below"]),
368
+ /**
369
+ * React ref to be passed to the wrapping container
370
+ */
371
+ maskRef: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired])
372
+ }).isRequired,
373
+ isPortalled: _propTypes.default.bool.isRequired
374
+ };
@@ -4,13 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.maxedFlyoutWidth = exports.euiFlyoutStyles = exports.euiFlyoutSlideInRight = exports.euiFlyoutSlideInLeft = exports.composeFlyoutSizing = exports.FLYOUT_BREAKPOINT = void 0;
7
+ exports.maxedFlyoutWidth = exports.euiFlyoutStyles = exports.euiFlyoutSlideInRight = exports.euiFlyoutSlideInLeft = exports.composeFlyoutSizing = exports.composeFlyoutInlineStyles = exports.FLYOUT_BREAKPOINT = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
10
  var _react = require("@emotion/react");
10
11
  var _euiThemeCommon = require("@elastic/eui-theme-common");
12
+ var _const = require("./const");
13
+ var _const2 = require("./manager/const");
11
14
  var _global_styling = require("../../global_styling");
12
15
  var _form = require("../form/form.styles");
13
16
  var _templateObject, _templateObject2;
17
+ 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; }
18
+ 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; }
14
19
  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)."; } /*
15
20
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
21
  * or more contributor license agreements. Licensed under the Elastic License
@@ -39,11 +44,12 @@ var euiFlyoutStyles = exports.euiFlyoutStyles = function euiFlyoutStyles(euiThem
39
44
  s: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 's'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--m{", composeFlyoutSizing(euiThemeContext, 'm'), ";};label:s;"),
40
45
  m: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 'm'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--s{", composeFlyoutSizing(euiThemeContext, 's'), ";};label:m;"),
41
46
  l: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 'l'), ";;label:l;"),
47
+ fill: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 'fill'), ";;label:fill;"),
42
48
  noMaxWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', 'none'), ";;label:noMaxWidth;"),
43
49
  // Side
44
- right: /*#__PURE__*/(0, _react.css)("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", (0, _global_styling.logicalCSS)('right', 0), " ", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";}&.euiFlyout--hasChild{clip-path:none;};label:right;"),
50
+ right: /*#__PURE__*/(0, _react.css)("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", (0, _global_styling.logicalCSS)('right', 0), "&:not([", _const2.PROPERTY_FLYOUT, "]){", _global_styling.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;"),
45
51
  // Left-side flyouts should only be used for navigation
46
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:left;"),
52
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);&:not([", _const2.PROPERTY_FLYOUT, "]){", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, " forwards;animation-fill-mode:forwards;animation-iteration-count:1;}};label:left;"),
47
53
  // Type
48
54
  overlay: {
49
55
  overlay: /*#__PURE__*/(0, _react.css)((0, _euiThemeCommon.euiShadowXLarge)(euiThemeContext, {
@@ -95,6 +101,13 @@ var composeFlyoutSizing = exports.composeFlyoutSizing = function composeFlyoutSi
95
101
  // 1.
96
102
  width: '75vw',
97
103
  max: "".concat(euiTheme.breakpoint.l, "px")
104
+ },
105
+ // NOTE: These styles are for the flyout system in `stacked` layout mode.
106
+ // In `side-by-side` mode, @flyout.component.tsx uses inline styles.
107
+ fill: {
108
+ min: '90vw',
109
+ width: '90vw',
110
+ max: '90vw'
98
111
  }
99
112
  };
100
113
  return "\n ".concat((0, _global_styling.logicalCSS)('max-width', flyoutSizes[size].max), "\n\n ").concat((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', 0), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].min), "\n }\n ").concat((0, _global_styling.euiMinBreakpoint)(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', flyoutSizes[size].min), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].width), "\n }\n ");
@@ -120,4 +133,83 @@ var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddin
120
133
  }), " ").concat(euiTheme.size.l, ";")
121
134
  };
122
135
  return "\n .euiFlyoutHeader {\n ".concat((0, _global_styling.logicalCSS)('padding-horizontal', paddingModifierMap[paddingSize]), "\n ").concat((0, _global_styling.logicalCSS)('padding-top', paddingModifierMap[paddingSize]), "\n }\n\n [class*='euiFlyoutHeader-hasBorder'] {\n ").concat((0, _global_styling.logicalCSS)('padding-bottom', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutBody__overflowContent {\n padding: ").concat(paddingModifierMap[paddingSize], ";\n }\n\n .euiFlyoutBody__banner .euiCallOut {\n ").concat((0, _global_styling.logicalCSS)('padding-horizontal', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutFooter {\n padding: ").concat(footerPaddingSizes[paddingSize], ";\n }\n ");
136
+ };
137
+
138
+ /**
139
+ * Helper for `composeFlyoutInlineStyles`
140
+ * Handles maxWidth prop overrides to ensure they take precedence over base CSS
141
+ */
142
+ var composeMaxWidthOverrides = function composeMaxWidthOverrides(maxWidth, isFill) {
143
+ if (typeof maxWidth === 'boolean') {
144
+ return {};
145
+ }
146
+ var overrides = {
147
+ maxWidth: maxWidth
148
+ };
149
+
150
+ // For fill size flyouts, we need to override min-width to allow dynamic sizing
151
+ if (isFill) {
152
+ overrides.minWidth = '0';
153
+
154
+ // When maxWidth is provided for fill flyouts, we need to override the CSS rule
155
+ // that sets min-inline-size: 90vw. We calculate min(maxWidth, 90vw) to ensure
156
+ // the flyout respects both constraints and doesn't get stuck at 90vw minimum.
157
+ if (maxWidth) {
158
+ var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
159
+ overrides.minWidth = "min(".concat(maxWidthWithUnits, ", 90vw)");
160
+ }
161
+ }
162
+ return (0, _global_styling.logicalStyles)(overrides);
163
+ };
164
+
165
+ /**
166
+ * Composes all inline styles for a flyout based on its configuration
167
+ */
168
+ var composeFlyoutInlineStyles = exports.composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth) {
169
+ // Handle custom width values (non-named sizes)
170
+ var customWidthStyles = !(0, _const.isEuiFlyoutSizeNamed)(size) ? (0, _global_styling.logicalStyles)({
171
+ width: size
172
+ }) : {};
173
+ var isFill = size === 'fill';
174
+
175
+ // Handle dynamic width calculation for fill size in side-by-side mode
176
+ var dynamicStyles = isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth ? (0, _global_styling.logicalStyles)({
177
+ width: "calc(90vw - ".concat(siblingFlyoutWidth, "px)"),
178
+ minWidth: '0'
179
+ }) : {};
180
+
181
+ // For fill flyouts with maxWidth, we need to ensure the minWidth override is applied
182
+ // to override the CSS rule that sets min-inline-size: 90vw
183
+ var minWidthOverride = {};
184
+ if (isFill && maxWidth) {
185
+ if (layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
186
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
187
+ var dynamicWidth = dynamicStyles.inlineSize;
188
+ var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
189
+ minWidthOverride = {
190
+ minWidth: "min(".concat(maxWidthWithUnits, ", ").concat(dynamicWidth, ")")
191
+ };
192
+ } else {
193
+ // For fill flyouts with maxWidth but no sibling: min(maxWidth, 90vw)
194
+ var maxWidthOverrides = composeMaxWidthOverrides(maxWidth, isFill);
195
+ minWidthOverride = {
196
+ minWidth: maxWidthOverrides.minInlineSize
197
+ };
198
+ }
199
+ }
200
+
201
+ // Calculate the final maxWidth based on conditions
202
+ var finalMaxWidth;
203
+ if (maxWidth && isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
204
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
205
+ var _dynamicWidth = dynamicStyles.inlineSize;
206
+ var _maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
207
+ finalMaxWidth = "min(".concat(_maxWidthWithUnits, ", ").concat(_dynamicWidth, ")");
208
+ } else if (maxWidth) {
209
+ // For all other cases with maxWidth: use the original maxWidth value
210
+ finalMaxWidth = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
211
+ }
212
+ return (0, _global_styling.logicalStyles)(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, customWidthStyles), dynamicStyles), minWidthOverride), finalMaxWidth ? {
213
+ maxWidth: finalMaxWidth
214
+ } : {}));
123
215
  };
@@ -0,0 +1,94 @@
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.EuiFlyoutMenu = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _services = require("../../services");
15
+ var _flex = require("../flex");
16
+ var _title = require("../title");
17
+ var _flyout_close_button = require("./_flyout_close_button");
18
+ var _flyout_menu = require("./flyout_menu.styles");
19
+ var _flyout_menu_context = require("./flyout_menu_context");
20
+ var _react2 = require("@emotion/react");
21
+ var _excluded = ["children", "className", "backButton", "popover", "title", "hideCloseButton"];
22
+ /*
23
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
+ * or more contributor license agreements. Licensed under the Elastic License
25
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
26
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
27
+ * Side Public License, v 1.
28
+ */
29
+ 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); }
30
+ 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; }
31
+ var EuiFlyoutMenu = exports.EuiFlyoutMenu = function EuiFlyoutMenu(_ref) {
32
+ var children = _ref.children,
33
+ className = _ref.className,
34
+ backButton = _ref.backButton,
35
+ popover = _ref.popover,
36
+ title = _ref.title,
37
+ hideCloseButton = _ref.hideCloseButton,
38
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
+ var _useContext = (0, _react.useContext)(_flyout_menu_context.EuiFlyoutMenuContext),
40
+ onClose = _useContext.onClose;
41
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout_menu.euiFlyoutMenuStyles);
42
+ var classes = (0, _classnames.default)('euiFlyoutMenu', className);
43
+ var titleId = (0, _services.useGeneratedHtmlId)();
44
+ var titleNode;
45
+ if (title) {
46
+ titleNode = (0, _react2.jsx)(_title.EuiTitle, {
47
+ size: "xxs",
48
+ id: titleId
49
+ }, (0, _react2.jsx)("h3", null, title));
50
+ }
51
+ var handleClose = function handleClose(event) {
52
+ onClose === null || onClose === void 0 || onClose(event);
53
+ };
54
+ var closeButton;
55
+ if (!hideCloseButton) {
56
+ closeButton = (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, {
57
+ onClose: handleClose,
58
+ side: "right",
59
+ closeButtonPosition: "inside"
60
+ });
61
+ }
62
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
63
+ className: classes,
64
+ css: styles.euiFlyoutMenu__container
65
+ }, rest), (0, _react2.jsx)(_flex.EuiFlexGroup, {
66
+ alignItems: "center",
67
+ justifyContent: "spaceBetween",
68
+ gutterSize: "none",
69
+ responsive: false
70
+ }, backButton && (0, _react2.jsx)(_flex.EuiFlexItem, {
71
+ grow: false
72
+ }, backButton), popover && (0, _react2.jsx)(_flex.EuiFlexItem, {
73
+ grow: false
74
+ }, popover), titleNode && (0, _react2.jsx)(_flex.EuiFlexItem, {
75
+ grow: false
76
+ }, titleNode), (0, _react2.jsx)(_flex.EuiFlexItem, {
77
+ grow: true
78
+ }), children && (0, _react2.jsx)(_flex.EuiFlexItem, {
79
+ grow: false
80
+ }, children), (0, _react2.jsx)(_flex.EuiFlexItem, {
81
+ grow: false,
82
+ css: styles.euiFlyoutMenu__spacer
83
+ })), closeButton);
84
+ };
85
+ EuiFlyoutMenu.propTypes = {
86
+ className: _propTypes.default.string,
87
+ "aria-label": _propTypes.default.string,
88
+ "data-test-subj": _propTypes.default.string,
89
+ css: _propTypes.default.any,
90
+ backButton: _propTypes.default.node,
91
+ popover: _propTypes.default.node,
92
+ title: _propTypes.default.node,
93
+ hideCloseButton: _propTypes.default.bool
94
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiFlyoutMenuStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ var euiFlyoutMenuStyles = exports.euiFlyoutMenuStyles = function euiFlyoutMenuStyles(euiThemeContext) {
17
+ var euiTheme = euiThemeContext.euiTheme;
18
+ return {
19
+ euiFlyoutMenu__container: /*#__PURE__*/(0, _react.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;"),
20
+ euiFlyoutMenu__spacer: /*#__PURE__*/(0, _react.css)("padding-inline:", euiTheme.size.m, ";;label:euiFlyoutMenu__spacer;")
21
+ };
22
+ };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.EuiFlyoutContext = void 0;
6
+ exports.EuiFlyoutMenuContext = void 0;
7
7
  var _react = require("react");
8
8
  /*
9
9
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -13,9 +13,4 @@ var _react = require("react");
13
13
  * Side Public License, v 1.
14
14
  */
15
15
 
16
- /**
17
- * Context shared between the main and child flyouts
18
- * @internal
19
- */
20
-
21
- var EuiFlyoutContext = exports.EuiFlyoutContext = /*#__PURE__*/(0, _react.createContext)(null);
16
+ var EuiFlyoutMenuContext = exports.EuiFlyoutMenuContext = /*#__PURE__*/(0, _react.createContext)({});