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