@elastic/eui 113.1.0 → 113.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/es/components/accordion/accordion_trigger/accordion_arrow.js +1 -1
  2. package/es/components/badge/badge.js +12 -6
  3. package/es/components/badge/badge.styles.js +55 -4
  4. package/es/components/badge/color_utils.js +39 -17
  5. package/es/components/basic_table/basic_table.a11y.js +1 -1
  6. package/es/components/basic_table/basic_table.js +82 -16
  7. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  8. package/es/components/basic_table/in_memory_table.js +47 -2
  9. package/es/components/breadcrumbs/_breadcrumb_content.js +1 -1
  10. package/es/components/button/split_button/split_button.js +3 -3
  11. package/es/components/button/split_button/split_button_actions.js +2 -2
  12. package/es/components/code/code_block_copy.js +1 -1
  13. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -1
  14. package/es/components/combo_box/combo_box_input/combo_box_input.js +1 -1
  15. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  16. package/es/components/context_menu/context_menu_item.js +1 -1
  17. package/es/components/context_menu/context_menu_panel.js +1 -1
  18. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +1 -1
  19. package/es/components/datagrid/body/header/column_actions.js +1 -1
  20. package/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  21. package/es/components/datagrid/controls/column_selector.js +2 -2
  22. package/es/components/datagrid/controls/column_sorting.js +1 -1
  23. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  24. package/es/components/datagrid/data_grid.a11y.js +1 -1
  25. package/es/components/datagrid/data_grid.stories.utils.js +3 -3
  26. package/es/components/datagrid/utils/data_grid_schema.js +1 -1
  27. package/es/components/date_picker/auto_refresh/auto_refresh.js +2 -2
  28. package/es/components/date_picker/react-datepicker/src/month_dropdown.js +1 -1
  29. package/es/components/date_picker/react-datepicker/src/month_year_dropdown.js +1 -1
  30. package/es/components/date_picker/react-datepicker/src/year_dropdown.js +1 -1
  31. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +2 -2
  32. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -1
  33. package/es/components/date_picker/super_date_picker/time_window_buttons.js +4 -4
  34. package/es/components/filter_group/filter_button.js +2 -2
  35. package/es/components/filter_group/filter_group.a11y.js +1 -1
  36. package/es/components/flyout/_flyout_overlay.js +5 -2
  37. package/es/components/flyout/flyout.component.js +329 -81
  38. package/es/components/flyout/flyout.styles.js +57 -31
  39. package/es/components/flyout/flyout_menu.js +2 -2
  40. package/es/components/flyout/manager/actions.js +27 -1
  41. package/es/components/flyout/manager/activity_stage.js +18 -7
  42. package/es/components/flyout/manager/flyout_child.js +18 -5
  43. package/es/components/flyout/manager/flyout_managed.js +29 -12
  44. package/es/components/flyout/manager/layout_mode.js +93 -33
  45. package/es/components/flyout/manager/reducer.js +24 -2
  46. package/es/components/flyout/manager/selectors.js +6 -0
  47. package/es/components/flyout/manager/store.js +6 -3
  48. package/es/components/flyout/use_flyout_resizable.js +64 -10
  49. package/es/components/flyout/use_flyout_z_index.js +5 -7
  50. package/es/components/form/checkbox/checkbox.js +1 -1
  51. package/es/components/form/field_password/field_password.js +1 -1
  52. package/es/components/form/field_search/field_search.js +1 -1
  53. package/es/components/form/file_picker/file_picker.js +1 -1
  54. package/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  55. package/es/components/header/header.a11y.js +1 -1
  56. package/es/components/link/external_link_icon.js +1 -1
  57. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +1 -1
  58. package/es/components/markdown_editor/markdown_editor_toolbar.js +6 -6
  59. package/es/components/pagination/pagination_button_arrow.js +4 -4
  60. package/es/components/provider/component_defaults/component_defaults.js +2 -2
  61. package/es/components/search_bar/filters/field_value_selection_filter.js +1 -1
  62. package/es/components/selectable/selectable.a11y.js +1 -1
  63. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  64. package/es/components/side_nav/side_nav_item.js +1 -1
  65. package/es/components/table/_table_cell_content.js +1 -1
  66. package/es/components/table/_table_cell_content.styles.js +2 -1
  67. package/es/components/table/const.js +15 -0
  68. package/es/components/table/index.js +2 -1
  69. package/es/components/table/mobile/responsive_context.js +2 -5
  70. package/es/components/table/mobile/table_header_mobile.js +10 -3
  71. package/es/components/table/mobile/table_sort_mobile.js +1 -1
  72. package/es/components/table/table.js +44 -15
  73. package/es/components/table/table.styles.js +27 -9
  74. package/es/components/table/table_cells_shared.styles.js +41 -1
  75. package/es/components/table/table_footer_cell.js +53 -8
  76. package/es/components/table/table_header_cell.js +47 -9
  77. package/es/components/table/table_header_cell_checkbox.js +15 -7
  78. package/es/components/table/table_pagination/table_pagination.js +1 -1
  79. package/es/components/table/table_row_cell.js +61 -12
  80. package/es/components/table/types.js +1 -0
  81. package/es/components/table/utils.js +50 -24
  82. package/es/components/tree_view/tree_view_item.js +1 -1
  83. package/es/global_styling/mixins/_button.js +14 -10
  84. package/es/global_styling/mixins/_container_query.js +1 -1
  85. package/eui.d.ts +474 -183
  86. package/i18ntokens.json +1043 -1043
  87. package/lib/components/accordion/accordion_trigger/accordion_arrow.js +1 -1
  88. package/lib/components/badge/badge.js +11 -5
  89. package/lib/components/badge/badge.styles.js +54 -3
  90. package/lib/components/badge/color_utils.js +39 -17
  91. package/lib/components/basic_table/basic_table.a11y.js +1 -1
  92. package/lib/components/basic_table/basic_table.js +82 -16
  93. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  94. package/lib/components/basic_table/in_memory_table.js +47 -2
  95. package/lib/components/breadcrumbs/_breadcrumb_content.js +1 -1
  96. package/lib/components/button/split_button/split_button.js +2 -2
  97. package/lib/components/button/split_button/split_button_actions.js +2 -2
  98. package/lib/components/code/code_block_copy.js +1 -1
  99. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -1
  100. package/lib/components/combo_box/combo_box_input/combo_box_input.js +1 -1
  101. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  102. package/lib/components/context_menu/context_menu_item.js +1 -1
  103. package/lib/components/context_menu/context_menu_panel.js +1 -1
  104. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +1 -1
  105. package/lib/components/datagrid/body/header/column_actions.js +1 -1
  106. package/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  107. package/lib/components/datagrid/controls/column_selector.js +2 -2
  108. package/lib/components/datagrid/controls/column_sorting.js +1 -1
  109. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  110. package/lib/components/datagrid/data_grid.a11y.js +1 -1
  111. package/lib/components/datagrid/data_grid.stories.utils.js +3 -3
  112. package/lib/components/datagrid/utils/data_grid_schema.js +1 -1
  113. package/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -2
  114. package/lib/components/date_picker/react-datepicker/src/month_dropdown.js +1 -1
  115. package/lib/components/date_picker/react-datepicker/src/month_year_dropdown.js +1 -1
  116. package/lib/components/date_picker/react-datepicker/src/year_dropdown.js +1 -1
  117. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +2 -2
  118. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -1
  119. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +4 -4
  120. package/lib/components/filter_group/filter_button.js +2 -2
  121. package/lib/components/filter_group/filter_group.a11y.js +1 -1
  122. package/lib/components/flyout/_flyout_overlay.js +5 -2
  123. package/lib/components/flyout/flyout.component.js +327 -79
  124. package/lib/components/flyout/flyout.styles.js +58 -32
  125. package/lib/components/flyout/flyout_menu.js +2 -2
  126. package/lib/components/flyout/manager/actions.js +28 -2
  127. package/lib/components/flyout/manager/activity_stage.js +18 -7
  128. package/lib/components/flyout/manager/flyout_child.js +17 -4
  129. package/lib/components/flyout/manager/flyout_managed.js +26 -9
  130. package/lib/components/flyout/manager/layout_mode.js +92 -32
  131. package/lib/components/flyout/manager/reducer.js +23 -1
  132. package/lib/components/flyout/manager/selectors.js +7 -1
  133. package/lib/components/flyout/manager/store.js +5 -2
  134. package/lib/components/flyout/use_flyout_resizable.js +64 -10
  135. package/lib/components/flyout/use_flyout_z_index.js +5 -7
  136. package/lib/components/form/checkbox/checkbox.js +1 -1
  137. package/lib/components/form/field_password/field_password.js +1 -1
  138. package/lib/components/form/field_search/field_search.js +1 -1
  139. package/lib/components/form/file_picker/file_picker.js +1 -1
  140. package/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  141. package/lib/components/header/header.a11y.js +1 -1
  142. package/lib/components/link/external_link_icon.js +1 -1
  143. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +1 -1
  144. package/lib/components/markdown_editor/markdown_editor_toolbar.js +6 -6
  145. package/lib/components/pagination/pagination_button_arrow.js +4 -4
  146. package/lib/components/provider/component_defaults/component_defaults.js +2 -2
  147. package/lib/components/search_bar/filters/field_value_selection_filter.js +1 -1
  148. package/lib/components/selectable/selectable.a11y.js +1 -1
  149. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  150. package/lib/components/side_nav/side_nav_item.js +1 -1
  151. package/lib/components/table/_table_cell_content.js +1 -1
  152. package/lib/components/table/_table_cell_content.styles.js +2 -1
  153. package/lib/components/table/const.js +21 -0
  154. package/lib/components/table/index.js +8 -1
  155. package/lib/components/table/mobile/responsive_context.js +2 -5
  156. package/lib/components/table/mobile/table_header_mobile.js +10 -3
  157. package/lib/components/table/mobile/table_sort_mobile.js +1 -1
  158. package/lib/components/table/table.js +44 -15
  159. package/lib/components/table/table.styles.js +26 -8
  160. package/lib/components/table/table_cells_shared.styles.js +43 -3
  161. package/lib/components/table/table_footer_cell.js +50 -6
  162. package/lib/components/table/table_header_cell.js +45 -7
  163. package/lib/components/table/table_header_cell_checkbox.js +14 -6
  164. package/lib/components/table/table_pagination/table_pagination.js +1 -1
  165. package/lib/components/table/table_row_cell.js +60 -11
  166. package/lib/components/table/types.js +5 -0
  167. package/lib/components/table/utils.js +51 -25
  168. package/lib/components/tree_view/tree_view_item.js +1 -1
  169. package/lib/global_styling/mixins/_button.js +15 -11
  170. package/lib/global_styling/mixins/_container_query.js +1 -1
  171. package/optimize/es/components/accordion/accordion_trigger/accordion_arrow.js +1 -1
  172. package/optimize/es/components/badge/badge.js +12 -6
  173. package/optimize/es/components/badge/badge.styles.js +55 -4
  174. package/optimize/es/components/badge/color_utils.js +39 -17
  175. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -1
  176. package/optimize/es/components/basic_table/basic_table.js +35 -14
  177. package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -1
  178. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +1 -1
  179. package/optimize/es/components/button/split_button/split_button.js +3 -3
  180. package/optimize/es/components/button/split_button/split_button_actions.js +2 -2
  181. package/optimize/es/components/code/code_block_copy.js +1 -1
  182. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -1
  183. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +1 -1
  184. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  185. package/optimize/es/components/context_menu/context_menu_item.js +1 -1
  186. package/optimize/es/components/context_menu/context_menu_panel.js +1 -1
  187. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +1 -1
  188. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -1
  189. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  190. package/optimize/es/components/datagrid/controls/column_selector.js +2 -2
  191. package/optimize/es/components/datagrid/controls/column_sorting.js +1 -1
  192. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  193. package/optimize/es/components/datagrid/data_grid.a11y.js +1 -1
  194. package/optimize/es/components/datagrid/data_grid.stories.utils.js +3 -3
  195. package/optimize/es/components/datagrid/utils/data_grid_schema.js +1 -1
  196. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +2 -2
  197. package/optimize/es/components/date_picker/react-datepicker/src/month_dropdown.js +1 -1
  198. package/optimize/es/components/date_picker/react-datepicker/src/month_year_dropdown.js +1 -1
  199. package/optimize/es/components/date_picker/react-datepicker/src/year_dropdown.js +1 -1
  200. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +2 -2
  201. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -1
  202. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +4 -4
  203. package/optimize/es/components/filter_group/filter_button.js +1 -1
  204. package/optimize/es/components/filter_group/filter_group.a11y.js +1 -1
  205. package/optimize/es/components/flyout/_flyout_overlay.js +5 -2
  206. package/optimize/es/components/flyout/flyout.component.js +329 -81
  207. package/optimize/es/components/flyout/flyout.styles.js +57 -31
  208. package/optimize/es/components/flyout/flyout_menu.js +2 -2
  209. package/optimize/es/components/flyout/manager/actions.js +27 -1
  210. package/optimize/es/components/flyout/manager/activity_stage.js +18 -7
  211. package/optimize/es/components/flyout/manager/flyout_child.js +18 -5
  212. package/optimize/es/components/flyout/manager/flyout_managed.js +29 -12
  213. package/optimize/es/components/flyout/manager/layout_mode.js +93 -33
  214. package/optimize/es/components/flyout/manager/reducer.js +24 -2
  215. package/optimize/es/components/flyout/manager/selectors.js +6 -0
  216. package/optimize/es/components/flyout/manager/store.js +6 -3
  217. package/optimize/es/components/flyout/use_flyout_resizable.js +64 -10
  218. package/optimize/es/components/flyout/use_flyout_z_index.js +5 -7
  219. package/optimize/es/components/form/checkbox/checkbox.js +1 -1
  220. package/optimize/es/components/form/field_password/field_password.js +1 -1
  221. package/optimize/es/components/form/field_search/field_search.js +1 -1
  222. package/optimize/es/components/form/file_picker/file_picker.js +1 -1
  223. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  224. package/optimize/es/components/header/header.a11y.js +1 -1
  225. package/optimize/es/components/link/external_link_icon.js +1 -1
  226. package/optimize/es/components/list_group/pinnable_list_group/pinnable_list_group.js +1 -1
  227. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +6 -6
  228. package/optimize/es/components/pagination/pagination_button_arrow.js +4 -4
  229. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +1 -1
  230. package/optimize/es/components/selectable/selectable.a11y.js +1 -1
  231. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  232. package/optimize/es/components/side_nav/side_nav_item.js +1 -1
  233. package/optimize/es/components/table/_table_cell_content.js +1 -1
  234. package/optimize/es/components/table/_table_cell_content.styles.js +2 -1
  235. package/optimize/es/components/table/const.js +15 -0
  236. package/optimize/es/components/table/index.js +2 -1
  237. package/optimize/es/components/table/mobile/responsive_context.js +2 -5
  238. package/optimize/es/components/table/mobile/table_header_mobile.js +10 -3
  239. package/optimize/es/components/table/mobile/table_sort_mobile.js +1 -1
  240. package/optimize/es/components/table/table.js +34 -15
  241. package/optimize/es/components/table/table.styles.js +27 -9
  242. package/optimize/es/components/table/table_cells_shared.styles.js +41 -1
  243. package/optimize/es/components/table/table_footer_cell.js +21 -7
  244. package/optimize/es/components/table/table_header_cell.js +17 -7
  245. package/optimize/es/components/table/table_header_cell_checkbox.js +11 -5
  246. package/optimize/es/components/table/table_pagination/table_pagination.js +1 -1
  247. package/optimize/es/components/table/table_row_cell.js +28 -9
  248. package/optimize/es/components/table/types.js +1 -0
  249. package/optimize/es/components/table/utils.js +50 -20
  250. package/optimize/es/components/tree_view/tree_view_item.js +1 -1
  251. package/optimize/es/global_styling/mixins/_button.js +14 -10
  252. package/optimize/es/global_styling/mixins/_container_query.js +1 -1
  253. package/optimize/lib/components/accordion/accordion_trigger/accordion_arrow.js +1 -1
  254. package/optimize/lib/components/badge/badge.js +11 -5
  255. package/optimize/lib/components/badge/badge.styles.js +54 -3
  256. package/optimize/lib/components/badge/color_utils.js +39 -17
  257. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -1
  258. package/optimize/lib/components/basic_table/basic_table.js +35 -14
  259. package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -1
  260. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +1 -1
  261. package/optimize/lib/components/button/split_button/split_button.js +2 -2
  262. package/optimize/lib/components/button/split_button/split_button_actions.js +2 -2
  263. package/optimize/lib/components/code/code_block_copy.js +1 -1
  264. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -1
  265. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +1 -1
  266. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  267. package/optimize/lib/components/context_menu/context_menu_item.js +1 -1
  268. package/optimize/lib/components/context_menu/context_menu_panel.js +1 -1
  269. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +1 -1
  270. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -1
  271. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  272. package/optimize/lib/components/datagrid/controls/column_selector.js +2 -2
  273. package/optimize/lib/components/datagrid/controls/column_sorting.js +1 -1
  274. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  275. package/optimize/lib/components/datagrid/data_grid.a11y.js +1 -1
  276. package/optimize/lib/components/datagrid/data_grid.stories.utils.js +3 -3
  277. package/optimize/lib/components/datagrid/utils/data_grid_schema.js +1 -1
  278. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -2
  279. package/optimize/lib/components/date_picker/react-datepicker/src/month_dropdown.js +1 -1
  280. package/optimize/lib/components/date_picker/react-datepicker/src/month_year_dropdown.js +1 -1
  281. package/optimize/lib/components/date_picker/react-datepicker/src/year_dropdown.js +1 -1
  282. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +2 -2
  283. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -1
  284. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +4 -4
  285. package/optimize/lib/components/filter_group/filter_button.js +1 -1
  286. package/optimize/lib/components/filter_group/filter_group.a11y.js +1 -1
  287. package/optimize/lib/components/flyout/_flyout_overlay.js +5 -2
  288. package/optimize/lib/components/flyout/flyout.component.js +327 -79
  289. package/optimize/lib/components/flyout/flyout.styles.js +58 -32
  290. package/optimize/lib/components/flyout/flyout_menu.js +2 -2
  291. package/optimize/lib/components/flyout/manager/actions.js +28 -2
  292. package/optimize/lib/components/flyout/manager/activity_stage.js +18 -7
  293. package/optimize/lib/components/flyout/manager/flyout_child.js +17 -4
  294. package/optimize/lib/components/flyout/manager/flyout_managed.js +26 -9
  295. package/optimize/lib/components/flyout/manager/layout_mode.js +92 -32
  296. package/optimize/lib/components/flyout/manager/reducer.js +23 -1
  297. package/optimize/lib/components/flyout/manager/selectors.js +7 -1
  298. package/optimize/lib/components/flyout/manager/store.js +5 -2
  299. package/optimize/lib/components/flyout/use_flyout_resizable.js +64 -10
  300. package/optimize/lib/components/flyout/use_flyout_z_index.js +5 -7
  301. package/optimize/lib/components/form/checkbox/checkbox.js +1 -1
  302. package/optimize/lib/components/form/field_password/field_password.js +1 -1
  303. package/optimize/lib/components/form/field_search/field_search.js +1 -1
  304. package/optimize/lib/components/form/file_picker/file_picker.js +1 -1
  305. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  306. package/optimize/lib/components/header/header.a11y.js +1 -1
  307. package/optimize/lib/components/link/external_link_icon.js +1 -1
  308. package/optimize/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +1 -1
  309. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +6 -6
  310. package/optimize/lib/components/pagination/pagination_button_arrow.js +4 -4
  311. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +1 -1
  312. package/optimize/lib/components/selectable/selectable.a11y.js +1 -1
  313. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  314. package/optimize/lib/components/side_nav/side_nav_item.js +1 -1
  315. package/optimize/lib/components/table/_table_cell_content.js +1 -1
  316. package/optimize/lib/components/table/_table_cell_content.styles.js +2 -1
  317. package/optimize/lib/components/table/const.js +21 -0
  318. package/optimize/lib/components/table/index.js +8 -1
  319. package/optimize/lib/components/table/mobile/responsive_context.js +2 -5
  320. package/optimize/lib/components/table/mobile/table_header_mobile.js +10 -3
  321. package/optimize/lib/components/table/mobile/table_sort_mobile.js +1 -1
  322. package/optimize/lib/components/table/table.js +34 -15
  323. package/optimize/lib/components/table/table.styles.js +26 -8
  324. package/optimize/lib/components/table/table_cells_shared.styles.js +42 -2
  325. package/optimize/lib/components/table/table_footer_cell.js +19 -5
  326. package/optimize/lib/components/table/table_header_cell.js +15 -5
  327. package/optimize/lib/components/table/table_header_cell_checkbox.js +10 -4
  328. package/optimize/lib/components/table/table_pagination/table_pagination.js +1 -1
  329. package/optimize/lib/components/table/table_row_cell.js +27 -8
  330. package/optimize/lib/components/table/types.js +5 -0
  331. package/optimize/lib/components/table/utils.js +51 -22
  332. package/optimize/lib/components/tree_view/tree_view_item.js +1 -1
  333. package/optimize/lib/global_styling/mixins/_button.js +15 -11
  334. package/optimize/lib/global_styling/mixins/_container_query.js +1 -1
  335. package/package.json +1 -1
  336. package/test-env/components/accordion/accordion_trigger/accordion_arrow.js +1 -1
  337. package/test-env/components/badge/badge.js +11 -5
  338. package/test-env/components/badge/badge.styles.js +54 -3
  339. package/test-env/components/badge/color_utils.js +39 -17
  340. package/test-env/components/basic_table/basic_table.a11y.js +1 -1
  341. package/test-env/components/basic_table/basic_table.js +82 -16
  342. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  343. package/test-env/components/basic_table/in_memory_table.js +47 -2
  344. package/test-env/components/breadcrumbs/_breadcrumb_content.js +1 -1
  345. package/test-env/components/button/split_button/split_button.js +2 -2
  346. package/test-env/components/button/split_button/split_button_actions.js +2 -2
  347. package/test-env/components/code/code_block_copy.js +1 -1
  348. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -1
  349. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +1 -1
  350. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  351. package/test-env/components/context_menu/context_menu_item.js +1 -1
  352. package/test-env/components/context_menu/context_menu_panel.js +1 -1
  353. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +1 -1
  354. package/test-env/components/datagrid/body/header/column_actions.js +1 -1
  355. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  356. package/test-env/components/datagrid/controls/column_selector.js +2 -2
  357. package/test-env/components/datagrid/controls/column_sorting.js +1 -1
  358. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  359. package/test-env/components/datagrid/data_grid.a11y.js +1 -1
  360. package/test-env/components/datagrid/data_grid.stories.utils.js +3 -3
  361. package/test-env/components/datagrid/utils/data_grid_schema.js +1 -1
  362. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +2 -2
  363. package/test-env/components/date_picker/react-datepicker/src/month_dropdown.js +1 -1
  364. package/test-env/components/date_picker/react-datepicker/src/month_year_dropdown.js +1 -1
  365. package/test-env/components/date_picker/react-datepicker/src/year_dropdown.js +1 -1
  366. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +2 -2
  367. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -1
  368. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +4 -4
  369. package/test-env/components/filter_group/filter_button.js +2 -2
  370. package/test-env/components/filter_group/filter_group.a11y.js +1 -1
  371. package/test-env/components/flyout/_flyout_overlay.js +5 -2
  372. package/test-env/components/flyout/flyout.component.js +327 -79
  373. package/test-env/components/flyout/flyout.styles.js +58 -32
  374. package/test-env/components/flyout/flyout_menu.js +2 -2
  375. package/test-env/components/flyout/manager/actions.js +28 -2
  376. package/test-env/components/flyout/manager/activity_stage.js +18 -7
  377. package/test-env/components/flyout/manager/flyout_child.js +17 -4
  378. package/test-env/components/flyout/manager/flyout_managed.js +26 -9
  379. package/test-env/components/flyout/manager/layout_mode.js +92 -32
  380. package/test-env/components/flyout/manager/reducer.js +23 -1
  381. package/test-env/components/flyout/manager/selectors.js +7 -1
  382. package/test-env/components/flyout/manager/store.js +5 -2
  383. package/test-env/components/flyout/use_flyout_resizable.js +64 -10
  384. package/test-env/components/flyout/use_flyout_z_index.js +5 -7
  385. package/test-env/components/form/checkbox/checkbox.js +1 -1
  386. package/test-env/components/form/field_password/field_password.js +1 -1
  387. package/test-env/components/form/field_search/field_search.js +1 -1
  388. package/test-env/components/form/file_picker/file_picker.js +1 -1
  389. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  390. package/test-env/components/header/header.a11y.js +1 -1
  391. package/test-env/components/link/external_link_icon.js +1 -1
  392. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +1 -1
  393. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +6 -6
  394. package/test-env/components/pagination/pagination_button_arrow.js +4 -4
  395. package/test-env/components/provider/component_defaults/component_defaults.js +2 -2
  396. package/test-env/components/search_bar/filters/field_value_selection_filter.js +1 -1
  397. package/test-env/components/selectable/selectable.a11y.js +1 -1
  398. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  399. package/test-env/components/side_nav/side_nav_item.js +1 -1
  400. package/test-env/components/table/_table_cell_content.js +1 -1
  401. package/test-env/components/table/_table_cell_content.styles.js +2 -1
  402. package/test-env/components/table/const.js +21 -0
  403. package/test-env/components/table/index.js +8 -1
  404. package/test-env/components/table/mobile/responsive_context.js +2 -5
  405. package/test-env/components/table/mobile/table_header_mobile.js +10 -3
  406. package/test-env/components/table/mobile/table_sort_mobile.js +1 -1
  407. package/test-env/components/table/table.js +44 -15
  408. package/test-env/components/table/table.styles.js +26 -8
  409. package/test-env/components/table/table_cells_shared.styles.js +42 -2
  410. package/test-env/components/table/table_footer_cell.js +48 -6
  411. package/test-env/components/table/table_header_cell.js +45 -7
  412. package/test-env/components/table/table_header_cell_checkbox.js +14 -6
  413. package/test-env/components/table/table_pagination/table_pagination.js +1 -1
  414. package/test-env/components/table/table_row_cell.js +60 -11
  415. package/test-env/components/table/types.js +5 -0
  416. package/test-env/components/table/utils.js +51 -22
  417. package/test-env/components/tree_view/tree_view_item.js +1 -1
  418. package/test-env/global_styling/mixins/_button.js +15 -11
  419. package/test-env/global_styling/mixins/_container_query.js +1 -1
@@ -25,9 +25,8 @@ var _flyout_resize_button = require("./_flyout_resize_button");
25
25
  var _use_flyout_resizable = require("./use_flyout_resizable");
26
26
  var _use_flyout_z_index = require("./use_flyout_z_index");
27
27
  var _flyout_parent_context = require("./flyout_parent_context");
28
- var _selectors = require("./manager/selectors");
29
28
  var _react2 = require("@emotion/react");
30
- var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd"],
29
+ var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd", "container"],
31
30
  _excluded2 = ["titleId"];
32
31
  /*
33
32
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -58,8 +57,24 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
58
57
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
59
58
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
60
59
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
60
+ /**
61
+ * Resolves the container prop (element, getter, or selector string) to an
62
+ * HTMLElement, or null if not found / invalid.
63
+ */
64
+ var resolveContainer = function resolveContainer(raw) {
65
+ if (raw == null) return null;
66
+ if (typeof raw === 'string') {
67
+ if (typeof document === 'undefined') return null;
68
+ var el = document.querySelector(raw);
69
+ return el instanceof HTMLElement ? el : null;
70
+ }
71
+ if (typeof raw === 'function') return raw();
72
+ if (typeof HTMLElement === 'undefined') return null;
73
+ return raw instanceof HTMLElement ? raw : null;
74
+ };
61
75
  var defaultElement = 'div';
62
76
  var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
77
+ var _maskProps$headerZind, _managerSessions, _managerState$layoutM, _managerState$current, _managerState$flyouts, _managerState$pushPad;
63
78
  var _usePropsWithComponen = (0, _component_defaults.usePropsWithComponentDefaults)('EuiFlyout', props),
64
79
  className = _usePropsWithComponen.className,
65
80
  children = _usePropsWithComponen.children,
@@ -104,7 +119,9 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
104
119
  minWidth = _usePropsWithComponen.minWidth,
105
120
  onResize = _usePropsWithComponen.onResize,
106
121
  onAnimationEnd = _usePropsWithComponen.onAnimationEnd,
122
+ containerProp = _usePropsWithComponen.container,
107
123
  rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
124
+ var container = resolveContainer(containerProp);
108
125
  var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
109
126
  setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
110
127
  var Element = as || defaultElement;
@@ -116,13 +133,46 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
116
133
  type: type,
117
134
  pushMinBreakpoint: pushMinBreakpoint
118
135
  });
119
- var currentSession = (0, _manager.useCurrentSession)();
136
+ // When no explicit container is provided, push padding targets
137
+ // document.body and global push-offset CSS vars are set. When a
138
+ // container is provided, only that element receives padding.
139
+ var shouldSetGlobalPushVars = container == null;
140
+ if ('container' in props && ('maskProps' in props || 'includeFixedHeadersInFocusTrap' in props) && process.env.NODE_ENV === 'development') {
141
+ if ('maskProps' in props) {
142
+ console.warn('EuiFlyout: `maskProps` is deprecated. Prefer using the `container` prop to scope flyouts.');
143
+ }
144
+ if ('includeFixedHeadersInFocusTrap' in props) {
145
+ console.warn('EuiFlyout: `includeFixedHeadersInFocusTrap` is deprecated. Prefer `includeSelectorInFocusTrap` when using `container`.');
146
+ }
147
+ }
148
+ // Explicit viewport flyouts (container={null}) default to 'above' so
149
+ // they render above fixed headers. Container-scoped and legacy flyouts
150
+ // (no container prop) default to 'below'.
151
+ var effectiveHeaderZindexLocation = (_maskProps$headerZind = maskProps === null || maskProps === void 0 ? void 0 : maskProps.headerZindexLocation) !== null && _maskProps$headerZind !== void 0 ? _maskProps$headerZind : containerProp === null ? 'above' : 'below';
152
+
153
+ // Report the container element to the flyout manager for layout calculations.
154
+ (0, _react.useEffect)(function () {
155
+ var _flyoutManagerRef$cur;
156
+ if (!container) return;
157
+ (_flyoutManagerRef$cur = flyoutManagerRef.current) === null || _flyoutManagerRef$cur === void 0 || _flyoutManagerRef$cur.setContainerElement(container);
158
+ return function () {
159
+ var _flyoutManagerRef$cur2;
160
+ if (((_flyoutManagerRef$cur2 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur2 === void 0 || (_flyoutManagerRef$cur2 = _flyoutManagerRef$cur2.state) === null || _flyoutManagerRef$cur2 === void 0 ? void 0 : _flyoutManagerRef$cur2.containerElement) === container) {
161
+ flyoutManagerRef.current.setContainerElement(null);
162
+ }
163
+ };
164
+ }, [container]);
165
+
166
+ // Performance: read context once and derive all manager-dependent values inline.
120
167
  var isInManagedContext = (0, _manager.useIsInManagedFlyout)();
121
168
  var flyoutId = (0, _manager.useFlyoutId)(id);
122
- var layoutMode = (0, _manager.useFlyoutLayoutMode)();
123
- var isActiveManagedFlyout = (0, _manager.useIsFlyoutActive)(flyoutId);
124
169
  var flyoutManager = (0, _manager.useFlyoutManager)();
125
- var currentZIndexRef = (0, _selectors.useCurrentFlyoutZIndexRef)();
170
+ var managerState = flyoutManager === null || flyoutManager === void 0 ? void 0 : flyoutManager.state;
171
+ var managerSessions = managerState === null || managerState === void 0 ? void 0 : managerState.sessions;
172
+ var currentSession = managerSessions ? (_managerSessions = managerSessions[managerSessions.length - 1]) !== null && _managerSessions !== void 0 ? _managerSessions : null : null;
173
+ var layoutMode = (_managerState$layoutM = managerState === null || managerState === void 0 ? void 0 : managerState.layoutMode) !== null && _managerState$layoutM !== void 0 ? _managerState$layoutM : _const.LAYOUT_MODE_SIDE_BY_SIDE;
174
+ var isActiveManagedFlyout = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId || (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === flyoutId;
175
+ var currentZIndexRef = (0, _react.useRef)((_managerState$current = managerState === null || managerState === void 0 ? void 0 : managerState.currentZIndex) !== null && _managerState$current !== void 0 ? _managerState$current : 0);
126
176
 
127
177
  // Use a ref to access the latest flyoutManager without triggering effect re-runs
128
178
  var flyoutManagerRef = (0, _react.useRef)(flyoutManager);
@@ -133,106 +183,186 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
133
183
  // Keep track of unmanaged flyouts to properly calculate z-index
134
184
  // values for all flyouts
135
185
  if (!isInManagedContext) {
136
- var _flyoutManagerRef$cur;
137
- (_flyoutManagerRef$cur = flyoutManagerRef.current) === null || _flyoutManagerRef$cur === void 0 || _flyoutManagerRef$cur.addUnmanagedFlyout(flyoutId);
186
+ var _flyoutManagerRef$cur3;
187
+ (_flyoutManagerRef$cur3 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur3 === void 0 || _flyoutManagerRef$cur3.addUnmanagedFlyout(flyoutId);
138
188
  return function () {
139
- var _flyoutManagerRef$cur2;
140
- return (_flyoutManagerRef$cur2 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur2 === void 0 ? void 0 : _flyoutManagerRef$cur2.closeUnmanagedFlyout(flyoutId);
189
+ var _flyoutManagerRef$cur4;
190
+ return (_flyoutManagerRef$cur4 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur4 === void 0 ? void 0 : _flyoutManagerRef$cur4.closeUnmanagedFlyout(flyoutId);
141
191
  };
142
192
  }
143
193
  }, [isInManagedContext, flyoutId]);
144
- var _useEuiFlyoutResizabl = (0, _use_flyout_resizable.useEuiFlyoutResizable)({
145
- enabled: resizable,
146
- minWidth: minWidth,
147
- maxWidth: typeof maxWidth === 'number' ? maxWidth : 0,
148
- onResize: onResize,
149
- side: side,
150
- size: _size
151
- }),
152
- onMouseDownResizableButton = _useEuiFlyoutResizabl.onMouseDown,
153
- onKeyDownResizableButton = _useEuiFlyoutResizabl.onKeyDown,
154
- size = _useEuiFlyoutResizabl.size,
155
- setFlyoutRef = _useEuiFlyoutResizabl.setFlyoutRef;
156
194
 
157
- /**
158
- * Setting up the refs on the actual flyout element in order to
159
- * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
160
- */
161
- var _useState = (0, _react.useState)(null),
162
- _useState2 = _slicedToArray(_useState, 2),
163
- resizeRef = _useState2[0],
164
- setResizeRef = _useState2[1];
165
- var setRef = (0, _services.useCombinedRefs)([setResizeRef, ref, internalParentFlyoutRef, setFlyoutRef]);
166
- var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isPushed ? resizeRef : null, 'width'),
167
- width = _useResizeObserver.width;
168
-
169
- // Memoize flyout identification and relationships to prevent race conditions
195
+ // Derive flyout identity and sibling info from the single context read
170
196
  var flyoutIdentity = (0, _react.useMemo)(function () {
171
197
  if (!flyoutId || !currentSession) {
172
198
  return {
173
199
  isMainFlyout: false,
174
200
  siblingFlyoutId: null,
175
- hasValidSession: false,
176
- sessionForWidth: null
201
+ hasValidSession: false
177
202
  };
178
203
  }
179
204
  var siblingFlyoutId = currentSession.mainFlyoutId === flyoutId ? currentSession.childFlyoutId : currentSession.mainFlyoutId;
180
205
  return {
181
206
  isMainFlyout: currentSession.mainFlyoutId === flyoutId,
182
207
  siblingFlyoutId: siblingFlyoutId,
183
- hasValidSession: true,
184
- sessionForWidth: currentSession
208
+ hasValidSession: true
185
209
  };
186
210
  }, [flyoutId, currentSession]);
187
211
 
188
212
  // Destructure for easier use
189
213
  var siblingFlyoutId = flyoutIdentity.siblingFlyoutId,
190
214
  isMainFlyout = flyoutIdentity.isMainFlyout;
191
- var _siblingFlyoutWidth = (0, _manager.useFlyoutWidth)(siblingFlyoutId);
215
+
216
+ // Derive sibling flyout data from manager state (single read, no extra hooks)
217
+ var siblingFlyout = siblingFlyoutId ? (_managerState$flyouts = managerState === null || managerState === void 0 ? void 0 : managerState.flyouts.find(function (f) {
218
+ return f.flyoutId === siblingFlyoutId;
219
+ })) !== null && _managerState$flyouts !== void 0 ? _managerState$flyouts : null : null;
220
+ var _siblingFlyoutWidth = siblingFlyout === null || siblingFlyout === void 0 ? void 0 : siblingFlyout.width;
221
+ var isSiblingFill = (siblingFlyout === null || siblingFlyout === void 0 ? void 0 : siblingFlyout.size) === 'fill';
222
+ var siblingFlyoutMinWidth = siblingFlyout === null || siblingFlyout === void 0 ? void 0 : siblingFlyout.minWidth;
192
223
  var siblingFlyoutWidth = layoutMode === _const.LAYOUT_MODE_STACKED ? 0 : _siblingFlyoutWidth;
193
224
 
225
+ // Observe the container's dimensions so the resize hook and
226
+ // positioning styles stay aligned with its bounding rect.
227
+ // When no container is provided, these remain inert (null/undefined).
228
+ var containerDimensions = (0, _resize_observer.useResizeObserver)(container !== null && container !== void 0 ? container : null, 'width');
229
+ var containerReferenceWidth = container ? containerDimensions.width || container.clientWidth : undefined;
230
+
231
+ // Track the container's bounding rect for positioning the flyout.
232
+ var _useState = (0, _react.useState)(null),
233
+ _useState2 = _slicedToArray(_useState, 2),
234
+ containerRect = _useState2[0],
235
+ setContainerRect = _useState2[1];
236
+ (0, _react.useLayoutEffect)(function () {
237
+ if (!container) {
238
+ setContainerRect(null);
239
+ return;
240
+ }
241
+ setContainerRect(container.getBoundingClientRect());
242
+ }, [container, containerDimensions.width]);
243
+ (0, _react.useEffect)(function () {
244
+ if (!container) return;
245
+ var updateRect = function updateRect() {
246
+ var next = container.getBoundingClientRect();
247
+ setContainerRect(function (prev) {
248
+ if (prev && prev.top === next.top && prev.left === next.left && prev.width === next.width && prev.height === next.height) {
249
+ return prev;
250
+ }
251
+ return next;
252
+ });
253
+ };
254
+ window.addEventListener('scroll', updateRect, {
255
+ passive: true
256
+ });
257
+ window.addEventListener('resize', updateRect, {
258
+ passive: true
259
+ });
260
+ return function () {
261
+ window.removeEventListener('scroll', updateRect);
262
+ window.removeEventListener('resize', updateRect);
263
+ };
264
+ }, [container]);
265
+ // Prefer the manager's reference width when available so resize clamp
266
+ // uses the same value as layout mode. When we have a container, cap by
267
+ // its measured width so we never allow resize past the container (e.g. if
268
+ // manager had viewport fallback or timing mismatch).
269
+ var managerRefWidth = isInManagedContext && typeof (managerState === null || managerState === void 0 ? void 0 : managerState.referenceWidth) === 'number' && managerState.referenceWidth > 0 ? managerState.referenceWidth : undefined;
270
+ var effectiveReferenceWidth = containerReferenceWidth != null && containerReferenceWidth > 0 ? managerRefWidth != null ? Math.min(managerRefWidth, containerReferenceWidth) : containerReferenceWidth : managerRefWidth !== null && managerRefWidth !== void 0 ? managerRefWidth : containerReferenceWidth;
271
+ var _useEuiFlyoutResizabl = (0, _use_flyout_resizable.useEuiFlyoutResizable)({
272
+ enabled: resizable,
273
+ minWidth: minWidth,
274
+ maxWidth: typeof maxWidth === 'number' ? maxWidth : undefined,
275
+ // For fill siblings, clamp based on their minWidth rather than their
276
+ // current measured width. Fill siblings dynamically adjust via CSS
277
+ // (`calc(90% - mainWidth)`), so subtracting their current width from
278
+ // the max creates a circular dependency where the main flyout can
279
+ // never grow (max = 90% - (90% - main) = main). Using minWidth
280
+ // breaks this cycle while ensuring the fill sibling never collapses
281
+ // below its configured minimum.
282
+ siblingFlyoutWidth: isSiblingFill ? siblingFlyoutMinWidth : siblingFlyoutWidth !== null && siblingFlyoutWidth !== void 0 ? siblingFlyoutWidth : undefined,
283
+ referenceWidth: effectiveReferenceWidth,
284
+ onResize: onResize,
285
+ side: side,
286
+ size: _size
287
+ }),
288
+ onMouseDownResizableButton = _useEuiFlyoutResizabl.onMouseDown,
289
+ onKeyDownResizableButton = _useEuiFlyoutResizabl.onKeyDown,
290
+ size = _useEuiFlyoutResizabl.size,
291
+ setFlyoutRef = _useEuiFlyoutResizabl.setFlyoutRef;
292
+
293
+ // Publish the main flyout's resolved width as a CSS custom property on
294
+ // the document element so that the child (fill) flyout can track it
295
+ // synchronously during drag resize, avoiding the 1-frame lag that
296
+ // results from the async ResizeObserver → manager-state pipeline.
297
+ (0, _react.useLayoutEffect)(function () {
298
+ if (!isMainFlyout) return;
299
+
300
+ // Only set when we have a computed percentage (during active resize)
301
+ if (typeof size === 'string' && size.endsWith('%')) {
302
+ document.documentElement.style.setProperty('--euiFlyoutMainWidth', size);
303
+ }
304
+ return function () {
305
+ document.documentElement.style.removeProperty('--euiFlyoutMainWidth');
306
+ };
307
+ }, [isMainFlyout, size]);
308
+
309
+ /**
310
+ * Setting up the refs on the actual flyout element in order to
311
+ * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
312
+ */
313
+ var _useState3 = (0, _react.useState)(null),
314
+ _useState4 = _slicedToArray(_useState3, 2),
315
+ resizeRef = _useState4[0],
316
+ setResizeRef = _useState4[1];
317
+ var setRef = (0, _services.useCombinedRefs)([setResizeRef, ref, internalParentFlyoutRef, setFlyoutRef]);
318
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isPushed ? resizeRef : null, 'width'),
319
+ width = _useResizeObserver.width;
320
+
194
321
  /**
195
- * Effect for adding push padding to body. Using useLayoutEffect to ensure
196
- * padding changes happen synchronously before child components render -
197
- * this is needed to prevent RemoveScrollBar from measuring the body in an
198
- * inconsistent state during flyout transitions.
322
+ * Effect for adding push padding so the flyout has room. Targets the
323
+ * container element when one is provided, otherwise document.body.
324
+ * Uses useLayoutEffect so padding is applied before child render.
199
325
  */
200
326
  (0, _react.useLayoutEffect)(function () {
201
327
  if (!isPushed) {
202
- return; // Only push-type flyouts manage body padding
328
+ return;
203
329
  }
330
+ var paddingTarget = container !== null && container !== void 0 ? container : document.body;
204
331
  var shouldApplyPadding = !isInManagedContext || isActiveManagedFlyout;
205
332
  var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
206
333
  var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
207
334
  var managerSide = side === 'left' ? 'left' : 'right';
335
+
336
+ // Capture pre-existing inline padding so it can be restored on cleanup
337
+ var previousPadding = paddingTarget.style[paddingSide];
208
338
  var paddingWidth = layoutMode === _const.LAYOUT_MODE_STACKED && isMainFlyout && _siblingFlyoutWidth ? _siblingFlyoutWidth : width;
209
339
  if (shouldApplyPadding) {
210
- document.body.style[paddingSide] = "".concat(paddingWidth, "px");
211
- setGlobalCSSVariables(_defineProperty({}, cssVarName, "".concat(paddingWidth, "px")));
212
- // Update manager state if in managed context
340
+ paddingTarget.style[paddingSide] = "".concat(paddingWidth, "px");
341
+ if (shouldSetGlobalPushVars) {
342
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, "".concat(paddingWidth, "px")));
343
+ }
213
344
  if (isInManagedContext && flyoutManagerRef.current) {
214
345
  flyoutManagerRef.current.setPushPadding(managerSide, paddingWidth);
215
346
  }
216
347
  } else {
217
- // Explicitly remove padding when this push flyout becomes inactive
218
- document.body.style[paddingSide] = '';
219
- setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
220
- // Clear manager state if in managed context
348
+ paddingTarget.style[paddingSide] = previousPadding;
349
+ if (shouldSetGlobalPushVars) {
350
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
351
+ }
221
352
  if (isInManagedContext && flyoutManagerRef.current) {
222
353
  flyoutManagerRef.current.setPushPadding(managerSide, 0);
223
354
  }
224
355
  }
225
-
226
- // Cleanup on unmount
227
356
  return function () {
228
- document.body.style[paddingSide] = '';
229
- setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
230
- // Clear manager state on unmount if in managed context
357
+ paddingTarget.style[paddingSide] = previousPadding;
358
+ if (shouldSetGlobalPushVars) {
359
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
360
+ }
231
361
  if (isInManagedContext && flyoutManagerRef.current) {
232
362
  flyoutManagerRef.current.setPushPadding(managerSide, 0);
233
363
  }
234
364
  };
235
- }, [isPushed, isInManagedContext, isActiveManagedFlyout, setGlobalCSSVariables, side, width, layoutMode, isMainFlyout, _siblingFlyoutWidth]);
365
+ }, [isPushed, isInManagedContext, isActiveManagedFlyout, setGlobalCSSVariables, side, width, layoutMode, isMainFlyout, _siblingFlyoutWidth, shouldSetGlobalPushVars, container]);
236
366
 
237
367
  /**
238
368
  * This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
@@ -240,7 +370,6 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
240
370
  (0, _react.useEffect)(function () {
241
371
  document.body.classList.add('euiBody--hasFlyout');
242
372
  return function () {
243
- // Remove the hasFlyout class when the flyout is unmounted
244
373
  document.body.classList.remove('euiBody--hasFlyout');
245
374
  };
246
375
  }, []);
@@ -265,6 +394,9 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
265
394
  // Main flyout with child flyout - don't close on ESC
266
395
  return false;
267
396
  }, [isInManagedContext, hasChildFlyout, isChildFlyout]);
397
+ var handleClose = (0, _react.useCallback)(function (event) {
398
+ onClose(event);
399
+ }, [onClose]);
268
400
 
269
401
  /**
270
402
  * ESC key closes flyout based on flyout hierarchy rules
@@ -272,15 +404,15 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
272
404
  var onKeyDown = (0, _react.useCallback)(function (event) {
273
405
  if (!isPushed && event.key === _services.keys.ESCAPE && shouldCloseOnEscape) {
274
406
  event.preventDefault();
275
- onClose(event);
407
+ handleClose(event);
276
408
  }
277
- }, [onClose, isPushed, shouldCloseOnEscape]);
409
+ }, [handleClose, isPushed, shouldCloseOnEscape]);
278
410
  var managedFlyoutIndex = currentZIndexRef.current;
279
411
  if (isInManagedContext && currentSession) {
280
412
  managedFlyoutIndex = currentSession.zIndex;
281
413
  }
282
414
  var _useEuiFlyoutZIndex = (0, _use_flyout_z_index.useEuiFlyoutZIndex)({
283
- maskProps: maskProps,
415
+ headerZindexLocation: effectiveHeaderZindexLocation,
284
416
  isPushed: isPushed,
285
417
  managedFlyoutIndex: managedFlyoutIndex,
286
418
  isChildFlyout: isChildFlyout
@@ -289,20 +421,125 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
289
421
  maskZIndex = _useEuiFlyoutZIndex.maskZIndex;
290
422
 
291
423
  /**
292
- * Set inline styles
424
+ * Inline styles position the flyout inside the reference container's
425
+ * bounding rect (document.body or a specific element) while remaining in
426
+ * document.body with position: fixed.
293
427
  */
294
428
  var inlineStyles = (0, _react.useMemo)(function () {
295
429
  var composedStyles = (0, _flyout.composeFlyoutInlineStyles)(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth || null, maxWidth, flyoutZIndex);
296
- return _objectSpread(_objectSpread({}, style), composedStyles);
297
- }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, flyoutZIndex]);
430
+
431
+ // Constrain the flyout to the reference container's bounding rect.
432
+ var containerPositionStyles = {};
433
+ if (containerRect) {
434
+ var containerMaxWidth = containerRect.width * 0.9;
435
+ // Use clientWidth (excludes scrollbar) to match the coordinate
436
+ // system of getBoundingClientRect() and CSS position: fixed.
437
+ var viewportWidth = document.documentElement.clientWidth;
438
+ var containerRightOffset = viewportWidth - containerRect.right;
439
+
440
+ // Compute the container-relative width for this flyout.
441
+ //
442
+ // For `position: fixed` elements CSS resolves `%` values against
443
+ // the viewport, not the container. The resize hook outputs
444
+ // percentage strings relative to `_referenceWidth` (the container),
445
+ // so we must convert them to pixel values here.
446
+ //
447
+ // Named sizes use their standard proportions (matching
448
+ // `composeFlyoutSizing`). Percentage strings from the resize hook
449
+ // are parsed and resolved against the container width. Numeric
450
+ // values are used directly.
451
+ var sizePercentMap = {
452
+ s: 0.25,
453
+ m: 0.5,
454
+ l: 0.75,
455
+ fill: 0.9
456
+ };
457
+ var containerRelativeWidth;
458
+ if (typeof size === 'string') {
459
+ var namedPct = sizePercentMap[size];
460
+ if (namedPct !== undefined) {
461
+ containerRelativeWidth = containerRect.width * namedPct;
462
+ } else if (size.endsWith('%')) {
463
+ // Percentage string from the resize hook — the value is
464
+ // relative to `_referenceWidth` (container width). Parse it
465
+ // and resolve against the container to get the correct pixels.
466
+ var pct = parseFloat(size);
467
+ if (!isNaN(pct)) {
468
+ containerRelativeWidth = containerRect.width * (pct / 100);
469
+ }
470
+ }
471
+ } else if (typeof size === 'number') {
472
+ containerRelativeWidth = size;
473
+ }
474
+
475
+ // All container-scoped flyouts get top/height from the container rect.
476
+ // Reset minInlineSize to 0 so that the CSS `min-inline-size` (which
477
+ // resolves against the viewport for `position: fixed`) does not
478
+ // prevent the container-relative width constraints from taking effect.
479
+ containerPositionStyles = {
480
+ top: containerRect.top,
481
+ height: containerRect.height,
482
+ minInlineSize: 0
483
+ };
484
+ if (isChildFlyout) {
485
+ // Child flyouts position themselves relative to the main flyout.
486
+ // In side-by-side mode, `siblingFlyoutWidth` is the main flyout's
487
+ // pixel width; in stacked mode it's 0 (child sits on top).
488
+ var siblingPx = siblingFlyoutWidth || 0;
489
+ if (side === 'left') {
490
+ containerPositionStyles.left = containerRect.left + siblingPx;
491
+ } else {
492
+ containerPositionStyles.right = containerRightOffset + siblingPx;
493
+ }
494
+ if (containerRelativeWidth !== undefined) {
495
+ // Set `inlineSize` (logical property) so it properly overrides
496
+ // `inlineSize` from composedStyles. We intentionally do NOT set
497
+ // maxInlineSize — the CSS `max-inline-size` from the size class
498
+ // provides the size-specific cap on initial render, and the
499
+ // resize hook's clamp handles it after resize interactions.
500
+ //
501
+ // For fill-size children in side-by-side mode, subtract the
502
+ // main flyout's width so the child takes only the remaining
503
+ // available space. For non-fill children, do NOT subtract —
504
+ // a fill-size main will shrink dynamically to accommodate.
505
+ var fillDeduction = size === 'fill' && layoutMode === _const.LAYOUT_MODE_SIDE_BY_SIDE && siblingFlyoutWidth ? siblingFlyoutWidth : 0;
506
+ containerPositionStyles.inlineSize = Math.min(Math.max(0, containerRelativeWidth - fillDeduction), containerMaxWidth);
507
+ } else {
508
+ containerPositionStyles.maxInlineSize = containerMaxWidth;
509
+ }
510
+ } else {
511
+ // Main/standalone flyouts align to the container's edge.
512
+ if (side === 'left') {
513
+ containerPositionStyles.left = containerRect.left;
514
+ } else {
515
+ containerPositionStyles.right = containerRightOffset;
516
+ }
517
+ if (containerRelativeWidth !== undefined) {
518
+ // For fill-size flyouts in side-by-side mode, subtract the
519
+ // sibling's width so the main shrinks to accommodate the child.
520
+ var _siblingPx = size === 'fill' && layoutMode === _const.LAYOUT_MODE_SIDE_BY_SIDE && siblingFlyoutWidth ? siblingFlyoutWidth : 0;
521
+ containerPositionStyles.inlineSize = Math.min(Math.max(0, containerRelativeWidth - _siblingPx), containerMaxWidth);
522
+ } else {
523
+ containerPositionStyles.maxInlineSize = containerMaxWidth;
524
+ }
525
+ }
526
+ }
527
+ return _objectSpread(_objectSpread(_objectSpread({}, style), composedStyles), containerPositionStyles);
528
+ }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, flyoutZIndex, containerRect, side, isChildFlyout]);
298
529
  var styles = (0, _services.useEuiMemoizedStyles)(_flyout.euiFlyoutStyles);
299
530
  var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], (0, _const2.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]];
300
531
  var classes = (0, _classnames.default)('euiFlyout', isChildFlyout && hasChildBackground && 'euiFlyout--hasChildBackground', className);
301
532
  var flyoutToggle = (0, _react.useRef)(document.activeElement);
302
- var _useState3 = (0, _react.useState)([]),
303
- _useState4 = _slicedToArray(_useState3, 2),
304
- focusTrapShards = _useState4[0],
305
- setFocusTrapShards = _useState4[1];
533
+ var _useState5 = (0, _react.useState)([]),
534
+ _useState6 = _slicedToArray(_useState5, 2),
535
+ focusTrapShards = _useState6[0],
536
+ setFocusTrapShards = _useState6[1];
537
+ var isSideBySideChild = isChildFlyout && layoutMode === _const.LAYOUT_MODE_SIDE_BY_SIDE;
538
+ // Side-by-side: main + child form a single modal unit; only main has aria-modal
539
+ // to avoid competing dialog semantics. Stacked children are independent modals.
540
+ var announcesAsModal = (0, _react.useMemo)(function () {
541
+ return !isPushed && !isSideBySideChild;
542
+ }, [isPushed, isSideBySideChild]);
306
543
  var focusTrapSelectors = (0, _react.useMemo)(function () {
307
544
  var selectors = [];
308
545
  if (includeSelectorInFocusTrap) {
@@ -311,8 +548,14 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
311
548
  if (includeFixedHeadersInFocusTrap) {
312
549
  selectors.push('.euiHeader[data-fixed-header]');
313
550
  }
551
+
552
+ // Include parent in focus trap shards for side-by-side mode (unified navigation).
553
+ // In stacked mode, parent is hidden behind child so shouldn't be navigable.
554
+ if (isSideBySideChild) {
555
+ selectors.push("[".concat(_const.PROPERTY_LEVEL, "=\"").concat(_const.LEVEL_MAIN, "\"]"));
556
+ }
314
557
  return selectors;
315
- }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
558
+ }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap, isSideBySideChild]);
316
559
 
317
560
  /**
318
561
  * Finds the shards to include in the focus trap by querying by `focusTrapSelectors`.
@@ -370,8 +613,8 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
370
613
  token: "euiFlyout.screenReaderModalDialog",
371
614
  default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
372
615
  }) : (0, _react2.jsx)(_i18n.EuiI18n, {
373
- token: "euiFlyout.screenReaderNonModalDialog",
374
- default: "You are in a non-modal dialog. To close the dialog, press Escape."
616
+ token: "euiFlyout.screenReaderNoOverlayMaskDialog",
617
+ default: "You are in a modal dialog. To close the dialog, press Escape."
375
618
  }), ' ', focusTrapShards.length > 0 && (0, _react2.jsx)(_i18n.EuiI18n, {
376
619
  token: "euiFlyout.screenReaderFocusTrapShards",
377
620
  default: "You can still continue tabbing through other global page landmarks."
@@ -423,26 +666,31 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
423
666
  if (outsideClickCloses === false) return undefined;
424
667
  if (hasOverlayMask) {
425
668
  // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
426
- if (event.target === maskRef.current) return onClose(event);
669
+ if (event.target === maskRef.current) return handleClose(event);
427
670
  } else {
428
671
  // No overlay mask is present, so any outside clicks should close the flyout
429
- if (outsideClickCloses === true) return onClose(event);
672
+ if (outsideClickCloses === true) return handleClose(event);
430
673
  }
431
674
  // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
432
675
  return undefined;
433
- }, [onClose, hasOverlayMask, outsideClickCloses]);
676
+ }, [handleClose, hasOverlayMask, outsideClickCloses]);
434
677
  var maskCombinedRefs = (0, _services.useCombinedRefs)([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef]);
435
678
 
436
679
  /**
437
680
  * For overlay flyouts in managed contexts, coordinate scroll locking with push flyout state.
438
681
  */
439
- var hasPushPaddingInManager = (0, _manager.useHasPushPadding)();
682
+ var pushPadding = (_managerState$pushPad = managerState === null || managerState === void 0 ? void 0 : managerState.pushPadding) !== null && _managerState$pushPad !== void 0 ? _managerState$pushPad : {
683
+ left: 0,
684
+ right: 0
685
+ };
686
+ var hasPushPaddingInManager = pushPadding.left > 0 || pushPadding.right > 0;
440
687
  var shouldDeferScrollLock = !isPushed && isInManagedContext && hasPushPaddingInManager;
441
688
  var shouldUseScrollLock = hasOverlayMask && !shouldDeferScrollLock;
442
689
  return (0, _react2.jsx)(_flyout_overlay.EuiFlyoutOverlay, {
443
690
  hasOverlayMask: hasOverlayMask,
444
691
  isPushed: isPushed,
445
692
  maskZIndex: maskZIndex,
693
+ headerZindexLocation: effectiveHeaderZindexLocation,
446
694
  maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
447
695
  maskRef: maskCombinedRefs
448
696
  })
@@ -461,15 +709,15 @@ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.fo
461
709
  ref: setRef,
462
710
  id: id
463
711
  }, rest, {
464
- role: !isPushed ? 'dialog' : rest.role,
465
- "aria-modal": !isPushed || undefined,
712
+ role: announcesAsModal ? 'dialog' : rest.role,
713
+ "aria-modal": announcesAsModal ? true : undefined,
466
714
  tabIndex: !isPushed ? 0 : rest.tabIndex,
467
715
  "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
468
716
  "aria-labelledby": ariaLabelledBy,
469
717
  "data-autofocus": !isPushed || undefined,
470
718
  onAnimationEnd: onAnimationEnd
471
719
  }), !isPushed && screenReaderDescription, !_flyoutMenuProps && !hideCloseButton && (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, _extends({}, closeButtonProps, {
472
- onClose: onClose,
720
+ onClose: handleClose,
473
721
  closeButtonPosition: closeButtonPosition,
474
722
  side: side
475
723
  })), _flyoutMenuProps && (0, _react2.jsx)(_flyout_menu.EuiFlyoutMenu, _extends({}, flyoutMenuProps, {