@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
@@ -17,12 +17,17 @@ import { euiShadowXLarge } from '@elastic/eui-theme-common';
17
17
  import { isEuiFlyoutSizeNamed } from './const';
18
18
  import { euiCanAnimate, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS, logicalStyles, mathWithUnits } from '../../global_styling';
19
19
  import { euiFormMaxWidth } from '../form/form.styles';
20
- export var EUI_FLYOUT_CONTAINER_NAME = 'euiFlyout';
21
20
  export var FLYOUT_BREAKPOINT = 'm';
22
21
  export var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
23
22
  export var euiFlyoutSlideOutRight = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0%);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n"])));
24
23
  export var euiFlyoutSlideInLeft = keyframes(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
25
24
  export var euiFlyoutSlideOutLeft = keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n"])));
25
+
26
+ /**
27
+ * When a `container` reference element is provided, the flyout's position
28
+ * and dimensions are constrained to the container's bounding rect via
29
+ * inline styles computed in JS.
30
+ */
26
31
  var _ref = process.env.NODE_ENV === "production" ? {
27
32
  name: "yokctr-noAnimation",
28
33
  styles: "animation-duration:0s!important;label:noAnimation;"
@@ -41,14 +46,9 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
41
46
  };
42
47
  export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
43
48
  var euiTheme = euiThemeContext.euiTheme;
44
- return {
45
- euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), " background:", euiTheme.colors.backgroundBasePlain, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}&.euiFlyout--hasChildBackground{background:", euiTheme.colors.backgroundBaseSubdued, ";}", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyout;"),
46
- // Flyout sizes
47
- // When a child flyout is stacked on top of the parent, the parent flyout size will match the child flyout size
48
- s: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 's'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--m{", composeFlyoutSizing(euiThemeContext, 'm'), ";};label:s;"),
49
- m: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'm'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--s{", composeFlyoutSizing(euiThemeContext, 's'), ";};label:m;"),
50
- l: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'l'), ";;label:l;"),
51
- fill: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'fill'), ";;label:fill;"),
49
+ return _objectSpread(_objectSpread({
50
+ euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), " background:", euiTheme.colors.backgroundBasePlain, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}&.euiFlyout--hasChildBackground{background:", euiTheme.colors.backgroundBaseSubdued, ";}", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyout;")
51
+ }, composeFlyoutSizing(euiThemeContext)), {}, {
52
52
  noMaxWidth: /*#__PURE__*/css(logicalCSS('max-width', 'none'), ";;label:noMaxWidth;"),
53
53
  // Side
54
54
  right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), "animation:", euiFlyoutSlideInRight, " 0s ", euiTheme.animation.resistance, " forwards;", euiCanAnimate, "{animation-duration:", euiTheme.animation.normal, ";}&.euiFlyout--hasChild{clip-path:none;};label:right;"),
@@ -79,21 +79,34 @@ export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
79
79
  m: /*#__PURE__*/css(composeFlyoutPadding(euiThemeContext, 'm'), ";;label:m;"),
80
80
  l: /*#__PURE__*/css(composeFlyoutPadding(euiThemeContext, 'l'), ";;label:l;")
81
81
  }
82
- };
82
+ });
83
83
  };
84
+
85
+ /**
86
+ * Applies a max-width constraint at the flyout breakpoint.
87
+ */
84
88
  export var maxedFlyoutWidth = function maxedFlyoutWidth(euiThemeContext) {
85
- return "\n ".concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('max-width', '90vw !important'), "\n }\n");
89
+ return "\n ".concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('max-width', '90% !important'), "\n }\n");
86
90
  };
87
- export var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
91
+
92
+ /**
93
+ * Composes the full set of named size styles (`s`, `m`, `l`, `fill`).
94
+ *
95
+ * Uses `%` units for widths. Media queries drive responsive breakpoints.
96
+ *
97
+ * When a child flyout is stacked on top of the parent, the parent flyout
98
+ * size will match the child flyout size. The `s` and `m` sizes include
99
+ * overrides for this stacked-child behavior.
100
+ */
101
+ export var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext) {
88
102
  var euiTheme = euiThemeContext.euiTheme;
89
103
  var formMaxWidth = euiFormMaxWidth(euiThemeContext);
90
104
 
91
- // 1. Calculating the minimum width based on the screen takeover breakpoint
105
+ // Calculating the minimum width based on the screen takeover breakpoint
92
106
  var flyoutSizes = {
93
107
  s: {
94
108
  min: "".concat(Math.round(euiTheme.breakpoint.m * 0.5), "px"),
95
- // 1.
96
- width: '25vw',
109
+ width: '25%',
97
110
  max: "".concat(Math.round(euiTheme.breakpoint.s * 0.7), "px")
98
111
  },
99
112
  m: {
@@ -101,24 +114,31 @@ export var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, s
101
114
  min: "".concat(mathWithUnits(formMaxWidth, function (x) {
102
115
  return x + 24;
103
116
  })),
104
- width: '50vw',
117
+ width: '50%',
105
118
  max: "".concat(euiTheme.breakpoint.m, "px")
106
119
  },
107
120
  l: {
108
121
  min: "".concat(Math.round(euiTheme.breakpoint.m * 0.9), "px"),
109
- // 1.
110
- width: '75vw',
122
+ width: '75%',
111
123
  max: "".concat(euiTheme.breakpoint.l, "px")
112
124
  },
113
125
  // NOTE: These styles are for the flyout system in `stacked` layout mode.
114
126
  // In `side-by-side` mode, @flyout.component.tsx uses inline styles.
115
127
  fill: {
116
- min: '90vw',
117
- width: '90vw',
118
- max: '90vw'
128
+ min: '90%',
129
+ width: '90%',
130
+ max: '90%'
119
131
  }
120
132
  };
121
- return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ").concat(euiMinBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ");
133
+ var sizingRules = function sizingRules(size) {
134
+ return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ").concat(euiMinBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ");
135
+ };
136
+ return {
137
+ s: /*#__PURE__*/css(sizingRules('s'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--m{", sizingRules('m'), ";};label:s;"),
138
+ m: /*#__PURE__*/css(sizingRules('m'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--s{", sizingRules('s'), ";};label:m;"),
139
+ l: /*#__PURE__*/css(sizingRules('l'), ";;label:l;"),
140
+ fill: /*#__PURE__*/css(sizingRules('fill'), ";;label:fill;")
141
+ };
122
142
  };
123
143
  var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddingSize) {
124
144
  var euiTheme = euiThemeContext.euiTheme;
@@ -151,6 +171,7 @@ var composeMaxWidthOverrides = function composeMaxWidthOverrides(maxWidth, isFil
151
171
  if (typeof maxWidth === 'boolean') {
152
172
  return {};
153
173
  }
174
+ var fillUnit = '90%';
154
175
  var overrides = {
155
176
  maxWidth: maxWidth
156
177
  };
@@ -160,20 +181,25 @@ var composeMaxWidthOverrides = function composeMaxWidthOverrides(maxWidth, isFil
160
181
  overrides.minWidth = '0';
161
182
 
162
183
  // When maxWidth is provided for fill flyouts, we need to override the CSS rule
163
- // that sets min-inline-size: 90vw. We calculate min(maxWidth, 90vw) to ensure
164
- // the flyout respects both constraints and doesn't get stuck at 90vw minimum.
184
+ // that sets min-inline-size to the fill unit. We calculate min(maxWidth, fillUnit)
185
+ // to ensure the flyout respects both constraints.
165
186
  if (maxWidth) {
166
187
  var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
167
- overrides.minWidth = "min(".concat(maxWidthWithUnits, ", 90vw)");
188
+ overrides.minWidth = "min(".concat(maxWidthWithUnits, ", ").concat(fillUnit, ")");
168
189
  }
169
190
  }
170
191
  return logicalStyles(overrides);
171
192
  };
172
193
 
173
194
  /**
174
- * Composes all inline styles for a flyout based on its configuration
195
+ * Composes all inline styles for a flyout based on its configuration.
196
+ * Uses a CSS custom property (`--euiFlyoutMainWidth`) for synchronous
197
+ * tracking of the main flyout width during resize drag, falling back to
198
+ * the pixel value from manager state when the variable is not set.
175
199
  */
176
200
  export var composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, zIndex) {
201
+ var fillUnit = '90%';
202
+
177
203
  // Handle custom width values (non-named sizes)
178
204
  var customWidthStyles = !isEuiFlyoutSizeNamed(size) ? logicalStyles({
179
205
  width: size
@@ -182,23 +208,23 @@ export var composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size,
182
208
 
183
209
  // Handle dynamic width calculation for fill size in side-by-side mode
184
210
  var dynamicStyles = isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth ? logicalStyles({
185
- width: "calc(90vw - ".concat(siblingFlyoutWidth, "px)"),
211
+ width: "calc(".concat(fillUnit, " - var(--euiFlyoutMainWidth, ").concat(siblingFlyoutWidth, "px))"),
186
212
  minWidth: '0'
187
213
  }) : {};
188
214
 
189
215
  // For fill flyouts with maxWidth, we need to ensure the minWidth override is applied
190
- // to override the CSS rule that sets min-inline-size: 90vw
216
+ // to override the CSS rule that sets min-inline-size to the fill unit
191
217
  var minWidthOverride = {};
192
218
  if (isFill && maxWidth) {
193
219
  if (layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
194
- // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
220
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(fillUnit - siblingWidth))
195
221
  var dynamicWidth = dynamicStyles.inlineSize;
196
222
  var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
197
223
  minWidthOverride = {
198
224
  minWidth: "min(".concat(maxWidthWithUnits, ", ").concat(dynamicWidth, ")")
199
225
  };
200
226
  } else {
201
- // For fill flyouts with maxWidth but no sibling: min(maxWidth, 90vw)
227
+ // For fill flyouts with maxWidth but no sibling: min(maxWidth, fillUnit)
202
228
  var maxWidthOverrides = composeMaxWidthOverrides(maxWidth, isFill);
203
229
  minWidthOverride = {
204
230
  minWidth: maxWidthOverrides.minInlineSize
@@ -209,7 +235,7 @@ export var composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size,
209
235
  // Calculate the final maxWidth based on conditions
210
236
  var finalMaxWidth;
211
237
  if (maxWidth && isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
212
- // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
238
+ // For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(fillUnit - siblingWidth))
213
239
  var _dynamicWidth = dynamicStyles.inlineSize;
214
240
  var _maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
215
241
  finalMaxWidth = "min(".concat(_maxWidthWithUnits, ", ").concat(_dynamicWidth, ")");
@@ -39,7 +39,7 @@ var BackButton = function BackButton(props) {
39
39
  return ___EmotionJSX(EuiButtonEmpty, _extends({
40
40
  size: "xs",
41
41
  color: "text",
42
- iconType: "editorUndo",
42
+ iconType: "undo",
43
43
  "data-test-subj": "euiFlyoutMenuBackButton"
44
44
  }, props), ___EmotionJSX(EuiI18n, {
45
45
  token: "euiFlyoutMenu.back",
@@ -57,7 +57,7 @@ var HistoryPopover = function HistoryPopover(_ref) {
57
57
  };
58
58
  return ___EmotionJSX(EuiPopover, {
59
59
  button: ___EmotionJSX(EuiButtonIcon, {
60
- iconType: "arrowDown",
60
+ iconType: "chevronSingleDown",
61
61
  color: "text",
62
62
  "aria-label": useEuiI18n('euiFlyoutMenu.history', 'History'),
63
63
  "data-test-subj": "euiFlyoutMenuHistoryButton"
@@ -28,6 +28,10 @@ export var ACTION_GO_BACK = "".concat(PREFIX, "/goBack");
28
28
  export var ACTION_GO_TO_FLYOUT = "".concat(PREFIX, "/goToFlyout");
29
29
  /** Dispatched to set push padding offset for a side. */
30
30
  export var ACTION_SET_PUSH_PADDING = "".concat(PREFIX, "/setPushPadding");
31
+ /** Dispatched to set the container element for container-relative flyouts. */
32
+ export var ACTION_SET_CONTAINER_ELEMENT = "".concat(PREFIX, "/setContainerElement");
33
+ /** Dispatched to set the reference width used for layout and resize clamping. */
34
+ export var ACTION_SET_REFERENCE_WIDTH = "".concat(PREFIX, "/setReferenceWidth");
31
35
  export var ACTION_ADD_UNMANAGED_FLYOUT = "".concat(PREFIX, "/addUnmanagedFlyout");
32
36
  export var ACTION_CLOSE_UNMANAGED_FLYOUT = "".concat(PREFIX, "/closeUnmanagedFlyout");
33
37
 
@@ -54,6 +58,10 @@ export var ACTION_CLOSE_UNMANAGED_FLYOUT = "".concat(PREFIX, "/closeUnmanagedFly
54
58
 
55
59
  /** Set push padding offset for a specific side. */
56
60
 
61
+ /** Set the container element for container-relative positioning. */
62
+
63
+ /** Set the reference width for layout and resize clamping. */
64
+
57
65
  /** Union of all flyout manager actions. */
58
66
 
59
67
  /**
@@ -65,12 +73,14 @@ export var ACTION_CLOSE_UNMANAGED_FLYOUT = "".concat(PREFIX, "/closeUnmanagedFly
65
73
  export var addFlyout = function addFlyout(flyoutId, title) {
66
74
  var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LEVEL_MAIN;
67
75
  var size = arguments.length > 3 ? arguments[3] : undefined;
76
+ var minWidth = arguments.length > 4 ? arguments[4] : undefined;
68
77
  return {
69
78
  type: ACTION_ADD,
70
79
  flyoutId: flyoutId,
71
80
  title: title,
72
81
  level: level,
73
- size: size
82
+ size: size,
83
+ minWidth: minWidth
74
84
  };
75
85
  };
76
86
 
@@ -161,4 +171,20 @@ export var closeUnmanagedFlyout = function closeUnmanagedFlyout(flyoutId) {
161
171
  type: ACTION_CLOSE_UNMANAGED_FLYOUT,
162
172
  flyoutId: flyoutId
163
173
  };
174
+ };
175
+
176
+ /** Set the container element for container-relative flyout positioning. */
177
+ export var setContainerElement = function setContainerElement(element) {
178
+ return {
179
+ type: ACTION_SET_CONTAINER_ELEMENT,
180
+ element: element
181
+ };
182
+ };
183
+
184
+ /** Set the reference width for layout and resize clamping. */
185
+ export var setReferenceWidth = function setReferenceWidth(width) {
186
+ return {
187
+ type: ACTION_SET_REFERENCE_WIDTH,
188
+ width: width
189
+ };
164
190
  };
@@ -8,24 +8,35 @@
8
8
 
9
9
  import { useCallback, useEffect, useRef } from 'react';
10
10
  import { LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_MAIN, STAGE_ACTIVE, STAGE_BACKGROUNDED, STAGE_BACKGROUNDING, STAGE_CLOSING, STAGE_INACTIVE, STAGE_OPENING, STAGE_RETURNING } from './const';
11
- import { useFlyoutLayoutMode, useHasChildFlyout, useIsFlyoutActive } from './hooks';
12
11
  import { setActivityStage } from './actions';
13
12
  import { useFlyoutManager } from './provider';
14
13
  /**
15
14
  * Encapsulates all activity-stage transitions and animation-driven updates
16
15
  * for managed flyouts.
16
+ *
17
+ * Performance: reads `useFlyoutManager()` once and derives isActive,
18
+ * hasChild, and layoutMode inline (replaces useIsFlyoutActive,
19
+ * useHasChildFlyout, useFlyoutLayoutMode hooks).
17
20
  */
18
21
  export var useFlyoutActivityStage = function useFlyoutActivityStage(_ref) {
19
- var _ctx$state$flyouts$fi;
22
+ var _sessions, _state$sessions$find, _state$layoutMode, _state$flyouts$find;
20
23
  var flyoutId = _ref.flyoutId,
21
24
  level = _ref.level;
22
- var isActive = useIsFlyoutActive(flyoutId);
23
- var hasChild = useHasChildFlyout(flyoutId);
24
- var layoutMode = useFlyoutLayoutMode();
25
25
  var ctx = useFlyoutManager();
26
- var stage = (ctx === null || ctx === void 0 || (_ctx$state$flyouts$fi = ctx.state.flyouts.find(function (f) {
26
+ var state = ctx === null || ctx === void 0 ? void 0 : ctx.state;
27
+
28
+ // Derive all needed values from single context read
29
+ var sessions = state === null || state === void 0 ? void 0 : state.sessions;
30
+ var currentSession = sessions ? (_sessions = sessions[sessions.length - 1]) !== null && _sessions !== void 0 ? _sessions : null : null;
31
+ var isActive = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId || (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === flyoutId;
32
+ var session = (_state$sessions$find = state === null || state === void 0 ? void 0 : state.sessions.find(function (s) {
33
+ return s.mainFlyoutId === flyoutId || s.childFlyoutId === flyoutId;
34
+ })) !== null && _state$sessions$find !== void 0 ? _state$sessions$find : null;
35
+ var hasChild = !!(session !== null && session !== void 0 && session.childFlyoutId);
36
+ var layoutMode = (_state$layoutMode = state === null || state === void 0 ? void 0 : state.layoutMode) !== null && _state$layoutMode !== void 0 ? _state$layoutMode : LAYOUT_MODE_SIDE_BY_SIDE;
37
+ var stage = (state === null || state === void 0 || (_state$flyouts$find = state.flyouts.find(function (f) {
27
38
  return f.flyoutId === flyoutId;
28
- })) === null || _ctx$state$flyouts$fi === void 0 ? void 0 : _ctx$state$flyouts$fi.activityStage) || (isActive ? STAGE_ACTIVE : STAGE_INACTIVE);
39
+ })) === null || _state$flyouts$find === void 0 ? void 0 : _state$flyouts$find.activityStage) || (isActive ? STAGE_ACTIVE : STAGE_INACTIVE);
29
40
  var stageRef = useRef(stage);
30
41
  if (stageRef.current !== stage) {
31
42
  stageRef.current = stage;
@@ -13,7 +13,7 @@ var _excluded = ["css", "side"];
13
13
  import React, { forwardRef } from 'react';
14
14
  import { useEuiTheme } from '../../../services';
15
15
  import { EuiManagedFlyout } from './flyout_managed';
16
- import { useCurrentMainFlyout, useFlyoutLayoutMode, useFlyoutWidth } from './hooks';
16
+ import { useFlyoutManager } from './hooks';
17
17
  import { LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_CHILD } from './const';
18
18
  import { DEFAULT_SIDE } from '../const';
19
19
 
@@ -29,15 +29,25 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
29
29
  * depending on the current layout mode. Handles required managed flyout props.
30
30
  */
31
31
  export var EuiFlyoutChild = /*#__PURE__*/forwardRef(function (_ref, ref) {
32
+ var _sessions, _state$flyouts$find, _state$layoutMode;
32
33
  var customCss = _ref.css,
33
34
  _ref$side = _ref.side,
34
35
  side = _ref$side === void 0 ? DEFAULT_SIDE : _ref$side,
35
36
  props = _objectWithoutProperties(_ref, _excluded);
36
37
  var _useEuiTheme = useEuiTheme(),
37
38
  euiTheme = _useEuiTheme.euiTheme;
38
- var mainFlyout = useCurrentMainFlyout();
39
- var mainWidth = useFlyoutWidth(mainFlyout === null || mainFlyout === void 0 ? void 0 : mainFlyout.flyoutId);
40
- var layoutMode = useFlyoutLayoutMode();
39
+
40
+ // Performance: read context once and derive all needed values inline
41
+ var context = useFlyoutManager();
42
+ var state = context === null || context === void 0 ? void 0 : context.state;
43
+ var sessions = state === null || state === void 0 ? void 0 : state.sessions;
44
+ var currentSession = sessions ? (_sessions = sessions[sessions.length - 1]) !== null && _sessions !== void 0 ? _sessions : null : null;
45
+ var mainFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId;
46
+ var mainFlyout = mainFlyoutId ? (_state$flyouts$find = state === null || state === void 0 ? void 0 : state.flyouts.find(function (f) {
47
+ return f.flyoutId === mainFlyoutId;
48
+ })) !== null && _state$flyouts$find !== void 0 ? _state$flyouts$find : null : null;
49
+ var mainWidth = mainFlyout === null || mainFlyout === void 0 ? void 0 : mainFlyout.width;
50
+ var layoutMode = (_state$layoutMode = state === null || state === void 0 ? void 0 : state.layoutMode) !== null && _state$layoutMode !== void 0 ? _state$layoutMode : LAYOUT_MODE_SIDE_BY_SIDE;
41
51
 
42
52
  // Runtime validation: prevent orphan child flyouts
43
53
  if (!mainFlyout) {
@@ -54,7 +64,10 @@ export var EuiFlyoutChild = /*#__PURE__*/forwardRef(function (_ref, ref) {
54
64
  }
55
65
  var style = {};
56
66
  if (mainWidth && layoutMode === LAYOUT_MODE_SIDE_BY_SIDE) {
57
- style = _defineProperty({}, side, mainWidth);
67
+ // Use the CSS custom property for synchronous tracking during resize.
68
+ // Falls back to the pixel value from manager state when the variable
69
+ // is not set (e.g. main flyout is not actively being resized).
70
+ style = _defineProperty({}, side, "var(--euiFlyoutMainWidth, ".concat(mainWidth, "px)"));
58
71
  } else if (layoutMode === LAYOUT_MODE_STACKED) {
59
72
  style = {
60
73
  zIndex: Number(euiTheme.levels.flyout) + 2
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["id", "onClose", "onActive", "level", "size", "css", "flyoutMenuProps"];
5
+ var _excluded = ["id", "onClose", "onActive", "level", "size", "minWidth", "css", "flyoutMenuProps"];
6
6
  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; }
7
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
8
  /*
@@ -21,11 +21,11 @@ import { useResizeObserver } from '../../observer/resize_observer';
21
21
  import { EuiFlyoutComponent } from '../flyout.component';
22
22
  import { EuiFlyoutMenuContext } from '../flyout_menu_context';
23
23
  import { useFlyoutActivityStage } from './activity_stage';
24
- import { LEVEL_CHILD, LEVEL_MAIN, PROPERTY_FLYOUT, PROPERTY_LAYOUT_MODE, PROPERTY_LEVEL } from './const';
24
+ import { LAYOUT_MODE_SIDE_BY_SIDE, LEVEL_CHILD, LEVEL_MAIN, PROPERTY_FLYOUT, PROPERTY_LAYOUT_MODE, PROPERTY_LEVEL } from './const';
25
25
  import { EuiFlyoutIsManagedProvider } from './context';
26
26
  import { euiManagedFlyoutStyles } from './flyout_managed.styles';
27
- import { useFlyoutManager as _useFlyoutManager, useCurrentSession, useFlyoutId, useFlyoutLayoutMode, useIsFlyoutActive, useParentFlyoutSize } from './hooks';
28
- import { useCurrentMainFlyout, useIsFlyoutRegistered } from './selectors';
27
+ import { useFlyoutManager as _useFlyoutManager, useFlyoutId } from './hooks';
28
+ import { useIsFlyoutRegistered } from './selectors';
29
29
  import { createValidationErrorMessage, isNamedSize, validateManagedFlyoutSize, validateSizeCombination } from './validation';
30
30
 
31
31
  /**
@@ -50,11 +50,13 @@ var useFlyoutManager = function useFlyoutManager() {
50
50
  * - lifecycle stage transitions and data attributes for styling
51
51
  */
52
52
  export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
53
+ var _managerSessions, _managerState$layoutM, _managerState$flyouts, _managerState$session, _managerState$flyouts2;
53
54
  var id = _ref.id,
54
55
  onCloseProp = _ref.onClose,
55
56
  onActiveProp = _ref.onActive,
56
57
  level = _ref.level,
57
58
  sizeProp = _ref.size,
59
+ minWidth = _ref.minWidth,
58
60
  customCss = _ref.css,
59
61
  _flyoutMenuProps = _ref.flyoutMenuProps,
60
62
  props = _objectWithoutProperties(_ref, _excluded);
@@ -73,10 +75,26 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
73
75
  closeAllFlyouts = _useFlyoutManager2.closeAllFlyouts,
74
76
  setFlyoutWidth = _useFlyoutManager2.setFlyoutWidth,
75
77
  goBack = _useFlyoutManager2.goBack,
76
- _historyItems = _useFlyoutManager2.historyItems;
77
- var parentSize = useParentFlyoutSize(flyoutId);
78
- var parentFlyout = useCurrentMainFlyout();
79
- var layoutMode = useFlyoutLayoutMode();
78
+ _historyItems = _useFlyoutManager2.historyItems,
79
+ managerState = _useFlyoutManager2.state;
80
+ var managerSessions = managerState === null || managerState === void 0 ? void 0 : managerState.sessions;
81
+ var currentSession = managerSessions ? (_managerSessions = managerSessions[managerSessions.length - 1]) !== null && _managerSessions !== void 0 ? _managerSessions : null : null;
82
+ var layoutMode = (_managerState$layoutM = managerState === null || managerState === void 0 ? void 0 : managerState.layoutMode) !== null && _managerState$layoutM !== void 0 ? _managerState$layoutM : LAYOUT_MODE_SIDE_BY_SIDE;
83
+ var isActive = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId || (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === flyoutId;
84
+
85
+ // Derive parentFlyout and parentSize from single state read
86
+ var parentFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId;
87
+ var parentFlyout = parentFlyoutId ? (_managerState$flyouts = managerState === null || managerState === void 0 ? void 0 : managerState.flyouts.find(function (f) {
88
+ return f.flyoutId === parentFlyoutId;
89
+ })) !== null && _managerState$flyouts !== void 0 ? _managerState$flyouts : null : null;
90
+
91
+ // parentSize: the size of the parent (main) flyout for a child flyout
92
+ var session = (_managerState$session = managerState === null || managerState === void 0 ? void 0 : managerState.sessions.find(function (s) {
93
+ return s.mainFlyoutId === flyoutId || s.childFlyoutId === flyoutId;
94
+ })) !== null && _managerState$session !== void 0 ? _managerState$session : null;
95
+ var parentSize = session !== null && session !== void 0 && session.mainFlyoutId ? managerState === null || managerState === void 0 || (_managerState$flyouts2 = managerState.flyouts.find(function (f) {
96
+ return f.flyoutId === session.mainFlyoutId;
97
+ })) === null || _managerState$flyouts2 === void 0 ? void 0 : _managerState$flyouts2.size : undefined;
80
98
  var styles = useEuiMemoizedStyles(euiManagedFlyoutStyles);
81
99
 
82
100
  // Set default size based on level: main defaults to 'm', child defaults to 's'
@@ -107,8 +125,6 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
107
125
  console.warn("Managed flyout \"".concat(flyoutId, "\" requires a title, which can be provided through 'flyoutMenuProps.title' or 'aria-label'. Using default title: \"").concat(defaultTitle, "\""));
108
126
  title = defaultTitle;
109
127
  }
110
- var isActive = useIsFlyoutActive(flyoutId);
111
- var currentSession = useCurrentSession();
112
128
  var flyoutExistsInManager = useIsFlyoutRegistered(flyoutId);
113
129
 
114
130
  // Stabilize the onClose callback
@@ -139,7 +155,7 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
139
155
  // Register with flyout manager context when open, remove when closed
140
156
  // Using useLayoutEffect to run synchronously before DOM updates
141
157
  useLayoutEffect(function () {
142
- addFlyout(flyoutId, title, level, size);
158
+ addFlyout(flyoutId, title, level, size, typeof minWidth === 'number' ? minWidth : undefined);
143
159
  return function () {
144
160
  // Only call closeFlyout if it wasn't already called via onClose
145
161
  // This prevents duplicate removal when using Escape/X button
@@ -150,7 +166,7 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
150
166
  // Reset navigation tracking when explicitly closed via isOpen=false
151
167
  wasRegisteredRef.current = false;
152
168
  };
153
- }, [flyoutId, title, level, size, addFlyout, closeFlyout, closeAllFlyouts]);
169
+ }, [flyoutId, title, level, size, minWidth, addFlyout, closeFlyout, closeAllFlyouts]);
154
170
 
155
171
  // Detect when flyout has been removed from manager state (e.g., via Back button)
156
172
  // and trigger onClose callback to notify the parent component
@@ -246,6 +262,7 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
246
262
  }, _objectSpread(_objectSpread({}, props), {}, _defineProperty(_defineProperty(_defineProperty({
247
263
  onClose: onClose,
248
264
  size: size,
265
+ minWidth: minWidth,
249
266
  flyoutMenuProps: flyoutMenuProps,
250
267
  onAnimationEnd: onAnimationEnd
251
268
  }, PROPERTY_FLYOUT, true), PROPERTY_LAYOUT_MODE, layoutMode), PROPERTY_LEVEL, level))))));