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