@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
@@ -14,33 +14,65 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
14
14
 
15
15
  import { useCallback, useEffect, useMemo, useState } from 'react';
16
16
  import { useEuiTheme } from '../../../services';
17
- import { setLayoutMode } from './actions';
18
- import { useCurrentChildFlyout, useCurrentMainFlyout, useCurrentSession, useFlyoutWidth } from './selectors';
17
+ import { usePropsWithComponentDefaults } from '../../provider/component_defaults';
18
+ import { useResizeObserver } from '../../observer/resize_observer';
19
+ import { setLayoutMode, setReferenceWidth } from './actions';
19
20
  import { useFlyoutManager } from './hooks';
20
21
  import { LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED } from './const';
21
22
  /**
22
23
  * Hook to handle responsive layout mode for managed flyouts.
23
24
  * Decides whether to place flyouts side-by-side or stacked based on
24
- * viewport width and flyout widths/sizes.
25
+ * the reference width (the reference container's width, defaulting to
26
+ * document.body when not set) and flyout widths/sizes.
25
27
  */
26
28
  export var useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
27
- var _context$state;
29
+ var _ref, _sessions, _state$flyouts$find, _state$flyouts$find2, _context$state;
28
30
  var _useEuiTheme = useEuiTheme(),
29
31
  euiTheme = _useEuiTheme.euiTheme;
30
32
  var context = useFlyoutManager();
31
- var currentSession = useCurrentSession();
33
+ var state = context === null || context === void 0 ? void 0 : context.state;
34
+
35
+ // Read the container from manager state (set by flyout components when they
36
+ // receive a container prop), falling back to componentDefaults (used when
37
+ // the container is configured globally, e.g. by Kibana). Resolve getter
38
+ // and selector string so defaults can supply () => HTMLElement | null or
39
+ // a CSS selector to avoid race when the element is not yet in the DOM.
40
+ var stateContainerElement = state === null || state === void 0 ? void 0 : state.containerElement;
41
+ var _usePropsWithComponen = usePropsWithComponentDefaults('EuiFlyout', {}),
42
+ defaultContainerRaw = _usePropsWithComponen.container;
43
+ var defaultContainer = defaultContainerRaw == null ? null : typeof defaultContainerRaw === 'function' ? defaultContainerRaw() : typeof defaultContainerRaw === 'string' ? function () {
44
+ if (typeof document === 'undefined') return null;
45
+ var el = document.querySelector(defaultContainerRaw);
46
+ return el instanceof HTMLElement ? el : null;
47
+ }() : defaultContainerRaw instanceof HTMLElement ? defaultContainerRaw : null;
48
+ var container = (_ref = stateContainerElement !== null && stateContainerElement !== void 0 ? stateContainerElement : defaultContainer) !== null && _ref !== void 0 ? _ref : null;
49
+
50
+ // Derive all session/flyout data from the single context read above
51
+ var sessions = state === null || state === void 0 ? void 0 : state.sessions;
52
+ var currentSession = sessions ? (_sessions = sessions[sessions.length - 1]) !== null && _sessions !== void 0 ? _sessions : null : null;
32
53
  var parentFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId;
33
54
  var childFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId;
34
- var parentFlyout = useCurrentMainFlyout();
35
- var childFlyout = useCurrentChildFlyout();
36
- var parentWidth = useFlyoutWidth(parentFlyoutId);
37
- var childWidth = useFlyoutWidth(childFlyoutId);
55
+ var parentFlyout = parentFlyoutId ? (_state$flyouts$find = state === null || state === void 0 ? void 0 : state.flyouts.find(function (f) {
56
+ return f.flyoutId === parentFlyoutId;
57
+ })) !== null && _state$flyouts$find !== void 0 ? _state$flyouts$find : null : null;
58
+ var childFlyout = childFlyoutId ? (_state$flyouts$find2 = state === null || state === void 0 ? void 0 : state.flyouts.find(function (f) {
59
+ return f.flyoutId === childFlyoutId;
60
+ })) !== null && _state$flyouts$find2 !== void 0 ? _state$flyouts$find2 : null : null;
61
+ var parentWidth = parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.width;
62
+ var childWidth = childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.width;
38
63
  var hasFlyouts = Boolean(parentFlyoutId);
64
+
65
+ // Observe the container element's width (returns { width: 0 } when null)
66
+ var containerDimensions = useResizeObserver(container !== null && container !== void 0 ? container : null, 'width');
39
67
  var _useState = useState(typeof window !== 'undefined' ? window.innerWidth : Infinity),
40
68
  _useState2 = _slicedToArray(_useState, 2),
41
69
  windowWidth = _useState2[0],
42
70
  setWindowWidth = _useState2[1];
43
71
 
72
+ // Use container width when available, otherwise fall back to window width
73
+ var containerWidth = container ? containerDimensions.width || container.clientWidth : 0;
74
+ var referenceWidth = containerWidth || windowWidth;
75
+
44
76
  // Extract specific context values
45
77
  var dispatch = context === null || context === void 0 ? void 0 : context.dispatch;
46
78
  var currentLayoutMode = context === null || context === void 0 || (_context$state = context.state) === null || _context$state === void 0 ? void 0 : _context$state.layoutMode;
@@ -49,8 +81,10 @@ export var useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
49
81
  dispatch(setLayoutMode(layoutMode));
50
82
  }
51
83
  }, [dispatch]);
84
+
85
+ // Only listen to window resize when not using a container
52
86
  useEffect(function () {
53
- if (typeof window === 'undefined') {
87
+ if (typeof window === 'undefined' || container) {
54
88
  return;
55
89
  }
56
90
  var rafId = 0;
@@ -69,7 +103,7 @@ export var useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
69
103
  }
70
104
  window.removeEventListener('resize', handleResize);
71
105
  };
72
- }, []);
106
+ }, [container]);
73
107
 
74
108
  // Calculate the desired layout mode
75
109
  var desiredLayoutMode = useMemo(function () {
@@ -82,46 +116,58 @@ export var useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
82
116
  var THRESHOLD_TO_SIDE_BY_SIDE = 85;
83
117
  var THRESHOLD_TO_STACKED = 95;
84
118
 
85
- // If the window is too small, set the mode to stacked.
119
+ // If the reference width is too small, set the mode to stacked.
86
120
  //
87
121
  // The value is based on the maximum width of a flyout in
88
122
  // `composeFlyoutSizing` in `flyout.styles.ts` multiplied
89
123
  // by 2 (open flyouts side-by-side).
90
- if (windowWidth < Math.round(euiTheme.breakpoint.s * 1.4)) {
124
+ if (referenceWidth < Math.round(euiTheme.breakpoint.s * 1.4)) {
91
125
  return LAYOUT_MODE_STACKED;
92
126
  }
93
127
  if (!childFlyoutId) {
94
128
  return LAYOUT_MODE_SIDE_BY_SIDE;
95
129
  }
130
+ var isFillParent = (parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size) === 'fill';
131
+ var isFillChild = (childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size) === 'fill';
132
+ var hasFill = isFillParent || isFillChild;
96
133
  var parentWidthValue = parentWidth;
97
134
  var childWidthValue = childWidth;
135
+
136
+ // Resolve unmeasured widths. For fill-size flyouts, estimate as
137
+ // (90% of referenceWidth − sibling width) rather than a flat 90%.
138
+ // This avoids the combined estimate exceeding 90% and incorrectly
139
+ // triggering stacked mode on initial mount.
98
140
  if (!parentWidthValue && parentFlyout !== null && parentFlyout !== void 0 && parentFlyout.size) {
99
- parentWidthValue = getWidthFromSize(parentFlyout.size);
141
+ if (isFillParent && childWidthValue) {
142
+ parentWidthValue = Math.max(0, Math.round(referenceWidth * 0.9 - childWidthValue));
143
+ } else {
144
+ parentWidthValue = getWidthFromSize(parentFlyout.size, referenceWidth);
145
+ }
100
146
  }
101
147
  if (!childWidthValue && childFlyout !== null && childFlyout !== void 0 && childFlyout.size) {
102
- childWidthValue = getWidthFromSize(childFlyout.size);
148
+ if (isFillChild && parentWidthValue) {
149
+ childWidthValue = Math.max(0, Math.round(referenceWidth * 0.9 - parentWidthValue));
150
+ } else {
151
+ childWidthValue = getWidthFromSize(childFlyout.size, referenceWidth);
152
+ }
103
153
  }
104
154
  if (!parentWidthValue || !childWidthValue) {
105
155
  return LAYOUT_MODE_SIDE_BY_SIDE;
106
156
  }
107
157
  var combinedWidth = parentWidthValue + childWidthValue;
108
- var combinedWidthPercentage = combinedWidth / windowWidth * 100;
109
-
110
- // Handle fill size flyouts: keep layout as side-by-side when fill flyout is present
111
- // This allows fill flyouts to dynamically calculate their width based on the other in the pair
112
- if ((parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size) === 'fill' || (childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size) === 'fill') {
113
- // For fill flyouts, we want to maintain side-by-side layout to enable dynamic width calculation
114
- // Only stack if the viewport is too small (below the small breakpoint)
115
- if (windowWidth >= Math.round(euiTheme.breakpoint.s * 1.4)) {
116
- return LAYOUT_MODE_SIDE_BY_SIDE;
117
- }
158
+ var combinedWidthPercentage = combinedWidth / referenceWidth * 100;
159
+
160
+ // Fill flyouts defeat the hysteresis thresholds, so use the
161
+ // reference-width breakpoint alone to decide the layout mode.
162
+ if (hasFill) {
163
+ return referenceWidth >= Math.round(euiTheme.breakpoint.s * 1.4) ? LAYOUT_MODE_SIDE_BY_SIDE : LAYOUT_MODE_STACKED;
118
164
  }
119
165
  if (currentLayoutMode === LAYOUT_MODE_STACKED) {
120
166
  return combinedWidthPercentage <= THRESHOLD_TO_SIDE_BY_SIDE ? LAYOUT_MODE_SIDE_BY_SIDE : LAYOUT_MODE_STACKED;
121
167
  } else {
122
168
  return combinedWidthPercentage >= THRESHOLD_TO_STACKED ? LAYOUT_MODE_STACKED : LAYOUT_MODE_SIDE_BY_SIDE;
123
169
  }
124
- }, [hasFlyouts, windowWidth, euiTheme, childFlyoutId, parentWidth, childWidth, parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size, childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size, currentLayoutMode]);
170
+ }, [hasFlyouts, referenceWidth, euiTheme, childFlyoutId, parentWidth, childWidth, parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size, childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size, currentLayoutMode]);
125
171
 
126
172
  // Apply the desired layout mode
127
173
  useEffect(function () {
@@ -129,10 +175,22 @@ export var useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
129
175
  setMode(desiredLayoutMode);
130
176
  }
131
177
  }, [desiredLayoutMode, currentLayoutMode, setMode]);
178
+
179
+ // Store reference width in manager state when flyouts are open so the resize
180
+ // clamp uses the same value as layout mode, avoiding resize past the container.
181
+ useEffect(function () {
182
+ if (dispatch && hasFlyouts && Number.isFinite(referenceWidth)) {
183
+ dispatch(setReferenceWidth(referenceWidth));
184
+ }
185
+ }, [dispatch, hasFlyouts, referenceWidth]);
132
186
  };
133
187
 
134
- /** Convert a flyout `size` value to a pixel width using theme breakpoints. */
135
- export var getWidthFromSize = function getWidthFromSize(size) {
188
+ /**
189
+ * Convert a flyout `size` value to a pixel width.
190
+ * When `referenceWidth` is provided, named sizes are calculated as a percentage
191
+ * of that width (container-relative). Otherwise falls back to `window.innerWidth`.
192
+ */
193
+ export var getWidthFromSize = function getWidthFromSize(size, referenceWidth) {
136
194
  if (typeof size === 'number') {
137
195
  return size;
138
196
  }
@@ -141,17 +199,19 @@ export var getWidthFromSize = function getWidthFromSize(size) {
141
199
  if (!Number.isNaN(parsed)) {
142
200
  return parsed;
143
201
  }
202
+ var refWidth = referenceWidth !== null && referenceWidth !== void 0 ? referenceWidth : typeof window !== 'undefined' ? window.innerWidth : 0;
144
203
 
145
- // Size is a function of a percentage of `vw`, defined in `composeFlyoutSizing` in `flyout.styles.ts`
204
+ // Size is a function of a percentage of the reference width,
205
+ // matching the proportions defined in `composeFlyoutSizing`
146
206
  switch (size) {
147
207
  case 's':
148
- return Math.round(window.innerWidth * 0.25);
208
+ return Math.round(refWidth * 0.25);
149
209
  case 'm':
150
- return Math.round(window.innerWidth * 0.5);
210
+ return Math.round(refWidth * 0.5);
151
211
  case 'l':
152
- return Math.round(window.innerWidth * 0.75);
212
+ return Math.round(refWidth * 0.75);
153
213
  case 'fill':
154
- return Math.round(window.innerWidth * 0.9);
214
+ return Math.round(refWidth * 0.9);
155
215
  default:
156
216
  break;
157
217
  }
@@ -18,7 +18,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
18
18
  * Side Public License, v 1.
19
19
  */
20
20
 
21
- import { ACTION_ADD, ACTION_CLOSE, ACTION_CLOSE_ALL, ACTION_SET_ACTIVE, ACTION_SET_LAYOUT_MODE, ACTION_SET_WIDTH, ACTION_SET_ACTIVITY_STAGE, ACTION_GO_BACK, ACTION_GO_TO_FLYOUT, ACTION_SET_PUSH_PADDING, ACTION_ADD_UNMANAGED_FLYOUT, ACTION_CLOSE_UNMANAGED_FLYOUT } from './actions';
21
+ import { ACTION_ADD, ACTION_CLOSE, ACTION_CLOSE_ALL, ACTION_SET_ACTIVE, ACTION_SET_LAYOUT_MODE, ACTION_SET_WIDTH, ACTION_SET_ACTIVITY_STAGE, ACTION_GO_BACK, ACTION_GO_TO_FLYOUT, ACTION_SET_PUSH_PADDING, ACTION_ADD_UNMANAGED_FLYOUT, ACTION_CLOSE_UNMANAGED_FLYOUT, ACTION_SET_CONTAINER_ELEMENT, ACTION_SET_REFERENCE_WIDTH } from './actions';
22
22
  import { LAYOUT_MODE_SIDE_BY_SIDE, LEVEL_MAIN, STAGE_OPENING } from './const';
23
23
  /**
24
24
  * Default flyout manager state used to initialize the reducer.
@@ -80,7 +80,8 @@ export function flyoutManagerReducer() {
80
80
  var flyoutId = action.flyoutId,
81
81
  title = action.title,
82
82
  level = action.level,
83
- size = action.size;
83
+ size = action.size,
84
+ minWidth = action.minWidth;
84
85
 
85
86
  // Ignore duplicate registrations
86
87
  if (state.flyouts.some(function (f) {
@@ -92,6 +93,7 @@ export function flyoutManagerReducer() {
92
93
  level: level,
93
94
  flyoutId: flyoutId,
94
95
  size: size,
96
+ minWidth: minWidth,
95
97
  activityStage: STAGE_OPENING
96
98
  };
97
99
  var newFlyouts = [].concat(_toConsumableArray(state.flyouts), [newFlyoutState]);
@@ -332,6 +334,26 @@ export function flyoutManagerReducer() {
332
334
  }), {}, _defineProperty({}, side, _width))
333
335
  });
334
336
  }
337
+
338
+ // Store the container element for container-relative layout calculations.
339
+ case ACTION_SET_CONTAINER_ELEMENT:
340
+ {
341
+ if (state.containerElement === action.element) {
342
+ return state; // No-op if same element
343
+ }
344
+ return _objectSpread(_objectSpread({}, state), {}, {
345
+ containerElement: action.element
346
+ });
347
+ }
348
+ case ACTION_SET_REFERENCE_WIDTH:
349
+ {
350
+ if (state.referenceWidth === action.width) {
351
+ return state;
352
+ }
353
+ return _objectSpread(_objectSpread({}, state), {}, {
354
+ referenceWidth: action.width
355
+ });
356
+ }
335
357
  default:
336
358
  return state;
337
359
  }
@@ -74,6 +74,12 @@ export var useFlyoutWidth = function useFlyoutWidth(flyoutId) {
74
74
  return (_useFlyout = useFlyout(flyoutId)) === null || _useFlyout === void 0 ? void 0 : _useFlyout.width;
75
75
  };
76
76
 
77
+ /** The configured minWidth (px) of the specified flyout, or `undefined` if not set. */
78
+ export var useFlyoutMinWidth = function useFlyoutMinWidth(flyoutId) {
79
+ var _useFlyout2;
80
+ return (_useFlyout2 = useFlyout(flyoutId)) === null || _useFlyout2 === void 0 ? void 0 : _useFlyout2.minWidth;
81
+ };
82
+
77
83
  /** The configured size of the parent (main) flyout for a given child flyout ID. */
78
84
  export var useParentFlyoutSize = function useParentFlyoutSize(childFlyoutId) {
79
85
  var session = useSession(childFlyoutId);
@@ -6,7 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- import { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, goBack as goBackAction, goToFlyout as goToFlyoutAction, addUnmanagedFlyout as addUnmanagedFlyoutAction, closeUnmanagedFlyout as closeUnmanagedFlyoutAction } from './actions';
9
+ import { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, goBack as goBackAction, goToFlyout as goToFlyoutAction, addUnmanagedFlyout as addUnmanagedFlyoutAction, closeUnmanagedFlyout as closeUnmanagedFlyoutAction, setContainerElement as setContainerElementAction } from './actions';
10
10
  import { flyoutManagerReducer, initialState } from './reducer';
11
11
 
12
12
  /**
@@ -90,8 +90,8 @@ function createStore() {
90
90
  subscribe: subscribe,
91
91
  subscribeToEvents: subscribeToEvents,
92
92
  dispatch: dispatch,
93
- addFlyout: function addFlyout(flyoutId, title, level, size) {
94
- return dispatch(addFlyoutAction(flyoutId, title, level, size));
93
+ addFlyout: function addFlyout(flyoutId, title, level, size, minWidth) {
94
+ return dispatch(addFlyoutAction(flyoutId, title, level, size, minWidth));
95
95
  },
96
96
  closeFlyout: function closeFlyout(flyoutId) {
97
97
  return dispatch(closeFlyoutAction(flyoutId));
@@ -108,6 +108,9 @@ function createStore() {
108
108
  setPushPadding: function setPushPadding(side, width) {
109
109
  return dispatch(setPushPaddingAction(side, width));
110
110
  },
111
+ setContainerElement: function setContainerElement(element) {
112
+ return dispatch(setContainerElementAction(element));
113
+ },
111
114
  goBack: function goBack() {
112
115
  return dispatch(goBackAction());
113
116
  },
@@ -23,13 +23,26 @@ export var useEuiFlyoutResizable = function useEuiFlyoutResizable(_ref) {
23
23
  _ref$minWidth = _ref.minWidth,
24
24
  minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,
25
25
  maxWidth = _ref.maxWidth,
26
+ siblingFlyoutWidth = _ref.siblingFlyoutWidth,
27
+ referenceWidth = _ref.referenceWidth,
26
28
  onResize = _ref.onResize,
27
29
  side = _ref.side,
28
30
  _size = _ref.size;
31
+ // Use container width when provided. When referenceWidth is 0 (e.g. container
32
+ // not yet measured by ResizeObserver), do not fall back to viewport — that
33
+ // would allow resizing beyond the container (e.g. over a sidebar). Use 0 so
34
+ // the clamp keeps the flyout at minWidth until the real width is available.
35
+ var _referenceWidth = referenceWidth !== undefined ? referenceWidth : typeof window !== 'undefined' ? window.innerWidth : Infinity;
29
36
  var getFlyoutMinMaxWidth = useCallback(function (width) {
30
- return Math.min(Math.max(width, minWidth), maxWidth || Infinity, window.innerWidth - 20 // Leave some offset
31
- );
32
- }, [minWidth, maxWidth]);
37
+ var maxResizeWidth = siblingFlyoutWidth ? _referenceWidth * 0.9 - siblingFlyoutWidth : _referenceWidth * 0.9;
38
+
39
+ // Clamp between minWidth and the maximum allowed width.
40
+ // minWidth always takes precedence — if the available space
41
+ // (maxResizeWidth) is smaller than minWidth, the flyout stays
42
+ // at minWidth. The fill sibling's CSS will adjust accordingly.
43
+ var upperBound = Math.min(maxWidth || Infinity, maxResizeWidth);
44
+ return Math.max(minWidth, Math.min(width, upperBound));
45
+ }, [minWidth, maxWidth, siblingFlyoutWidth, _referenceWidth]);
33
46
  var _useState = useState(0),
34
47
  _useState2 = _slicedToArray(_useState, 2),
35
48
  flyoutWidth = _useState2[0],
@@ -52,13 +65,50 @@ export var useEuiFlyoutResizable = function useEuiFlyoutResizable(_ref) {
52
65
  }
53
66
  }, [flyoutWidth, flyoutRef, getFlyoutMinMaxWidth, enabled]);
54
67
 
55
- // Update flyout width when consumers pass in a new `size`
68
+ // Track the previous `_size` prop to distinguish between a consumer size
69
+ // change (which should reset the width) and a reference-width / constraint
70
+ // change (which should re-clamp the existing width).
71
+ // Initialized to `null` so the first render always takes the "reset" path.
72
+ var prevSizeRef = useRef(null);
73
+
74
+ // Track the previous reference width so we can scale proportionally when
75
+ // the container / viewport resizes (both shrink AND grow).
76
+ var prevReferenceWidthRef = useRef(_referenceWidth);
77
+
78
+ // Update flyout width when consumers pass in a new `size`, or scale
79
+ // proportionally and re-clamp when constraints change (e.g. container
80
+ // resize, sibling width change).
56
81
  useEffect(function () {
57
82
  if (!enabled) return; // Don't update width when resizing is disabled
58
- setCallOnResize(false);
59
- // For string `size`s, resetting flyoutWidth to 0 will trigger the above useEffect's recalculation
60
- setFlyoutWidth(typeof _size === 'number' ? getFlyoutMinMaxWidth(_size) : 0);
61
- }, [_size, getFlyoutMinMaxWidth, enabled]);
83
+
84
+ if (prevSizeRef.current !== _size) {
85
+ // The consumer's `size` prop actually changed — reset so the new size takes effect
86
+ prevSizeRef.current = _size;
87
+ prevReferenceWidthRef.current = _referenceWidth;
88
+ setCallOnResize(false);
89
+ setFlyoutWidth(typeof _size === 'number' ? getFlyoutMinMaxWidth(_size) : 0);
90
+ } else {
91
+ var _prevReferenceWidthRe;
92
+ // Only constraints changed (referenceWidth, sibling width, etc.) —
93
+ // scale the pixel width proportionally to the reference width change
94
+ // and then clamp. This preserves the flyout's percentage position in
95
+ // both directions (viewport shrink AND grow).
96
+ var prevRefWidth = (_prevReferenceWidthRe = prevReferenceWidthRef.current) !== null && _prevReferenceWidthRe !== void 0 ? _prevReferenceWidthRe : _referenceWidth;
97
+ prevReferenceWidthRef.current = _referenceWidth;
98
+ setFlyoutWidth(function (currentWidth) {
99
+ if (currentWidth && prevRefWidth > 0 && _referenceWidth > 0) {
100
+ var scaleFactor = _referenceWidth / prevRefWidth;
101
+ return getFlyoutMinMaxWidth(currentWidth * scaleFactor);
102
+ }
103
+ // When reference width was 0 (e.g. container not yet measured), now
104
+ // that we have a real width, reset from the size prop instead of scaling.
105
+ if (_referenceWidth > 0) {
106
+ return typeof _size === 'number' ? getFlyoutMinMaxWidth(_size) : 0;
107
+ }
108
+ return currentWidth;
109
+ });
110
+ }
111
+ }, [_size, getFlyoutMinMaxWidth, enabled, _referenceWidth]);
62
112
 
63
113
  // Initial numbers to calculate from, on resize drag start
64
114
  var initialWidth = useRef(0);
@@ -138,8 +188,12 @@ export var useEuiFlyoutResizable = function useEuiFlyoutResizable(_ref) {
138
188
  }
139
189
  }, [onResize, callOnResize, flyoutWidth, enabled]);
140
190
  var size = useMemo(function () {
141
- return enabled ? flyoutWidth || _size : _size;
142
- }, [enabled, flyoutWidth, _size]);
191
+ if (enabled && flyoutWidth && _referenceWidth > 0) {
192
+ var pctValue = flyoutWidth / _referenceWidth * 100;
193
+ return "".concat(pctValue, "%");
194
+ }
195
+ return _size;
196
+ }, [enabled, flyoutWidth, _referenceWidth, _size]);
143
197
  return {
144
198
  onKeyDown: onKeyDown,
145
199
  onMouseDown: onMouseDown,
@@ -25,7 +25,8 @@ var calculateZIndex = function calculateZIndex(baseLevel, isChildFlyout) {
25
25
  * @internal
26
26
  */
27
27
  export var useEuiFlyoutZIndex = function useEuiFlyoutZIndex(_ref) {
28
- var maskProps = _ref.maskProps,
28
+ var _ref$headerZindexLoca = _ref.headerZindexLocation,
29
+ headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'below' : _ref$headerZindexLoca,
29
30
  isPushed = _ref.isPushed,
30
31
  managedFlyoutIndex = _ref.managedFlyoutIndex,
31
32
  isChildFlyout = _ref.isChildFlyout;
@@ -33,12 +34,9 @@ export var useEuiFlyoutZIndex = function useEuiFlyoutZIndex(_ref) {
33
34
  euiTheme = _useEuiTheme.euiTheme;
34
35
  var baseLevel = Number(euiTheme.levels.flyout);
35
36
 
36
- // The default headerZindexLocation for EuiFlyout is "below"
37
- // which is different from what EuiOverlayMask fallbacks to - see
38
- // _flyout_overlay.tsx.
39
- // We set z-index to mask level only when explicitly overridden
40
- // via the maskProps prop
41
- if (!isPushed && (maskProps === null || maskProps === void 0 ? void 0 : maskProps.headerZindexLocation) === 'above') {
37
+ // headerZindexLocation 'above' uses mask-level z-index so the flyout stacks
38
+ // above fixed headers (which typically use a high z-index).
39
+ if (!isPushed && headerZindexLocation === 'above') {
42
40
  baseLevel = Number(euiTheme.levels.mask);
43
41
  }
44
42
  baseLevel += managedFlyoutIndex;
@@ -54,7 +54,7 @@ export var EuiCheckbox = function EuiCheckbox(_ref) {
54
54
  className: "euiCheckbox__square"
55
55
  }, ___EmotionJSX(EuiIcon, {
56
56
  css: iconStyles,
57
- type: indeterminate ? 'stopFilled' : checked ? 'check' : 'empty'
57
+ type: indeterminate ? 'stopFill' : checked ? 'check' : 'empty'
58
58
  }), ___EmotionJSX("input", _extends({
59
59
  css: styles.input.euiCheckbox__input,
60
60
  className: "euiCheckbox__input",
@@ -87,7 +87,7 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
87
87
  if (type === 'dual') {
88
88
  var isVisible = inputType === 'text';
89
89
  return ___EmotionJSX(EuiButtonIcon, _extends({
90
- iconType: isVisible ? 'eyeClosed' : 'eye',
90
+ iconType: isVisible ? 'eyeSlash' : 'eye',
91
91
  "aria-label": isVisible ? maskPasswordLabel : showPasswordLabel,
92
92
  title: isVisible ? maskPasswordLabel : showPasswordLabel,
93
93
  disabled: disabled
@@ -190,7 +190,7 @@ export var EuiFieldSearchClass = /*#__PURE__*/function (_Component) {
190
190
  default: "Clear search input"
191
191
  }, function (clearSearchButtonLabel) {
192
192
  return ___EmotionJSX(EuiFormControlLayout, {
193
- icon: "search",
193
+ icon: "magnify",
194
194
  fullWidth: fullWidth,
195
195
  isLoading: isLoading,
196
196
  isInvalid: isInvalid,
@@ -214,7 +214,7 @@ export var EuiFilePickerClass = /*#__PURE__*/function (_Component) {
214
214
  css: iconStyles,
215
215
  className: "euiFilePicker__icon",
216
216
  color: iconColor,
217
- type: isInvalid ? 'alert' : disabled ? 'minusInCircle' : 'upload',
217
+ type: isInvalid ? 'warning' : disabled ? 'minusCircle' : 'upload',
218
218
  size: normalFormControl ? 'm' : 'l',
219
219
  "aria-hidden": "true"
220
220
  }), ___EmotionJSX("span", {
@@ -107,7 +107,7 @@ export var EuiFormControlLayoutIcons = /*#__PURE__*/function (_Component) {
107
107
  return ___EmotionJSX(EuiFormControlLayoutCustomIcon, {
108
108
  size: "m",
109
109
  disabled: isDisabled,
110
- type: "arrowDown"
110
+ type: "chevronSingleDown"
111
111
  });
112
112
  }
113
113
  }, {
@@ -87,7 +87,7 @@ var Header = function Header() {
87
87
  popoverButton: ___EmotionJSX(EuiHeaderSectionItemButton, {
88
88
  "aria-label": "Sitewide search"
89
89
  }, ___EmotionJSX(EuiIcon, {
90
- type: "search",
90
+ type: "magnify",
91
91
  size: "m"
92
92
  })),
93
93
  emptyMessage: ___EmotionJSX(EuiSelectableMessage, {
@@ -39,7 +39,7 @@ export var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref2) {
39
39
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiIcon, _extends({
40
40
  css: iconCssStyle,
41
41
  size: "s",
42
- type: "popout",
42
+ type: "external",
43
43
  role: "presentation"
44
44
  }, rest)), target === '_blank' ? ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", null, ___EmotionJSX(EuiI18n, {
45
45
  token: "euiExternalLinkIcon.newTarget.screenReaderOnlyText",
@@ -51,7 +51,7 @@ export var EuiPinnableListGroup = function EuiPinnableListGroup(_ref) {
51
51
  if (pinnable && !itemProps.extraAction) {
52
52
  // Different displays for pinned vs unpinned
53
53
  var sharedProps = {
54
- iconType: 'pinFilled',
54
+ iconType: 'pinFill',
55
55
  iconSize: 's',
56
56
  css: [styles.euiPinnableListGroup__itemExtraAction, pinned && styles.pinned]
57
57
  };
@@ -22,28 +22,28 @@ var boldItalicButtons = [{
22
22
  id: 'mdBold',
23
23
  label: 'Bold',
24
24
  name: 'strong',
25
- iconType: 'editorBold'
25
+ iconType: 'textBold'
26
26
  }, {
27
27
  id: 'mdItalic',
28
28
  label: 'Italic',
29
29
  name: 'emphasis',
30
- iconType: 'editorItalic'
30
+ iconType: 'textItalic'
31
31
  }];
32
32
  var listButtons = [{
33
33
  id: 'mdUl',
34
34
  label: 'Unordered list',
35
35
  name: 'ul',
36
- iconType: 'editorUnorderedList'
36
+ iconType: 'listBullet'
37
37
  }, {
38
38
  id: 'mdOl',
39
39
  label: 'Ordered list',
40
40
  name: 'ol',
41
- iconType: 'editorOrderedList'
41
+ iconType: 'listNumber'
42
42
  }, {
43
43
  id: 'mdTl',
44
44
  label: 'Task list',
45
45
  name: 'tl',
46
- iconType: 'editorChecklist'
46
+ iconType: 'listCheck'
47
47
  }];
48
48
  var quoteCodeLinkButtons = [{
49
49
  id: 'mdQuote',
@@ -59,7 +59,7 @@ var quoteCodeLinkButtons = [{
59
59
  id: 'mdLink',
60
60
  label: 'Link',
61
61
  name: 'link',
62
- iconType: 'editorLink'
62
+ iconType: 'link'
63
63
  }];
64
64
  var EuiMarkdownEditorToolbarButton = function EuiMarkdownEditorToolbarButton(_ref) {
65
65
  var selectedNode = _ref.selectedNode,
@@ -17,10 +17,10 @@ import { useEuiTheme } from '../../services';
17
17
  import { euiPaginationButtonStyles } from './pagination_button.styles';
18
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
19
19
  var typeToIconTypeMap = {
20
- first: 'arrowStart',
21
- previous: 'arrowLeft',
22
- next: 'arrowRight',
23
- last: 'arrowEnd'
20
+ first: 'chevronLimitLeft',
21
+ previous: 'chevronSingleLeft',
22
+ next: 'chevronSingleRight',
23
+ last: 'chevronLimitRight'
24
24
  };
25
25
  export var TYPES = keysOf(typeToIconTypeMap);
26
26
  export var EuiPaginationButtonArrow = function EuiPaginationButtonArrow(_ref) {
@@ -57,7 +57,7 @@ EuiComponentDefaultsProvider.propTypes = {
57
57
  */
58
58
  EuiTablePagination: PropTypes.any,
59
59
  /**
60
- * Provide a global configuration for EuiTable's `responsiveBreakpoint` prop. Defaults to `'s'`.
60
+ * Provide a global configuration for EuiTable's.
61
61
  *
62
62
  * Defaults will be inherited by all `EuiBasicTable`s and `EuiInMemoryTable`s.
63
63
  */
@@ -122,7 +122,7 @@ EuiProviderComponentDefaultsProps.propTypes = {
122
122
  */
123
123
  EuiTablePagination: PropTypes.any,
124
124
  /**
125
- * Provide a global configuration for EuiTable's `responsiveBreakpoint` prop. Defaults to `'s'`.
125
+ * Provide a global configuration for EuiTable's.
126
126
  *
127
127
  * Defaults will be inherited by all `EuiBasicTable`s and `EuiInMemoryTable`s.
128
128
  */
@@ -295,7 +295,7 @@ export var FieldValueSelectionFilter = /*#__PURE__*/function (_Component) {
295
295
  }, function (buttonLabelHint) {
296
296
  var ariaLabel = "".concat(config.name, " ").concat(buttonLabelHint);
297
297
  return ___EmotionJSX(EuiFilterButton, {
298
- iconType: "arrowDown",
298
+ iconType: "chevronSingleDown",
299
299
  iconSide: "right",
300
300
  isSelected: active,
301
301
  hasActiveFilters: active,
@@ -92,7 +92,7 @@ describe('EuiSelectable', function () {
92
92
  setIsPopoverOpen(!isPopoverOpen);
93
93
  };
94
94
  var button = ___EmotionJSX(EuiButton, {
95
- iconType: "arrowDown",
95
+ iconType: "chevronSingleDown",
96
96
  iconSide: "right",
97
97
  onClick: onButtonClick
98
98
  }, "Show popover");
@@ -107,7 +107,7 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
107
107
  var onFocusBadgeNode = useMemo(function () {
108
108
  var defaultOnFocusBadgeProps = {
109
109
  'aria-hidden': true,
110
- iconType: 'returnKey',
110
+ iconType: 'return',
111
111
  iconSide: 'left',
112
112
  color: 'hollow'
113
113
  };