[test-helpers] Add EuiDataGridObject, EuiSuperSelectObject and EuiGlobalToastListObject - #9874
Merged
steliosmavro merged 5 commits intoAug 8, 2026
Conversation
…balToastListObject Ports the Component Objects prototyped and validated in Kibana's kbn-scout (elastic/kibana#282596) into the package, with selectors, validation specs against Storybook, and component READMEs. The super_select helper is nested under form/ to mirror the EUI source layout; the flake-detection correlation picks it up through the first-level form/ directory (coarse but functional).
steliosmavro
force-pushed
the
stelios/test-helpers-datagrid-superselect-toast
branch
from
August 6, 2026 13:34
263d4c8 to
e653ccf
Compare
steliosmavro
marked this pull request as ready for review
August 6, 2026 13:54
weronikaolejniczak
approved these changes
Aug 7, 2026
…lector, selector constants in specs
…equired by Kibana lint)
💚 Build Succeeded
History
|
💚 Build Succeeded
History
|
Contributor
Author
|
Thanks for the feedback @weronikaolejniczak and the quick review 🙏 |
steliosmavro
added a commit
to elastic/kibana
that referenced
this pull request
Aug 12, 2026
…prototypes (#284433) ## Summary Consume the released [`@elastic/eui-test-helpers@1.3.0`](https://www.npmjs.com/package/@elastic/eui-test-helpers) in Kibana and drop the in-repo prototype Component Objects, now that the EUI port (elastic/eui#9874) is merged and published. Part of elastic/apps-dx#55 (epic elastic/apps-dx#43). ## Changes - Bump `@elastic/eui-test-helpers` `1.2.0` -> `1.3.0` (the release adds `EuiDataGridObject`, `EuiSuperSelectObject`, `EuiGlobalToastListObject`) - `eui_components/index.ts` now re-exports those three from the package instead of the local prototype files - Delete the three prototype files (`data_grid_object.ts`, `super_select_object.ts`, `global_toast_list_object.ts`) - The `page.components.toast()` factory now supplies the `globalToastList` default subj, since the published object requires an explicit `testSubj` (that default is a Kibana core convention, so it belongs on the Kibana factory, not the package) ## Not in this PR The deprecated `Eui*Wrapper` classes stay until their consumers are migrated (the per-team PRs under elastic/apps-dx#56). Deleting them is the final step, elastic/apps-dx#55. ## Validation - Type check green (kbn-scout), lint green - Installed `1.3.0` verified to export all three objects at runtime - Local Scout runs against a stateful/classic server, all green: - streams `data_mapping` (exercises `page.components.comboBox` and the `toasts` page object, both now package-sourced, alongside the still-local wrappers): 9 passed - observability `alerts_table`: 7 passed - The three objects are byte-identical to the prototypes the merged helpers PR (#283398) already validated across every Scout lane; this PR only changes where they are imported from.
acstll
added a commit
to elastic/kibana
that referenced
this pull request
Aug 13, 2026
## Dependency updates `@elastic/eui` - 118.0.0 ⏩ 119.0.0 `@elastic/eslint-plugin-eui` - 2.15.0 ⏩ 2.16.0 `@elastic/eui-test-helpers` - 1.2.0 ⏩ 1.3.0 ## Changes - Added 3 new `EuiFlyoutMenu` i18n tokens (`euiFlyoutMenu.history.tooltip`, `euiFlyoutMenu.pagination.first`, `euiFlyoutMenu.pagination.last`) to `i18n_eui_mapping.tsx` and all translation files - Replaced removed `plusInCircle` icon alias with `plusCircle` in the ML plugin (data frame analytics, anomaly detection jobs, and trained models menus) ## Package updates ### `@elastic/eslint-plugin-eui` [v2.16.0](https://github.com/elastic/eui/blob/main/packages/eslint-plugin/changelogs/CHANGELOG_2026.md) - Added new `@elastic/eui/no-nested-copy-tooltip` rule to improve `EuiCopy` usage ([#9852](elastic/eui#9852)) - Updated `@elastic/eui/tooltip-button-icon-wrap` with an exception for `EuiCopy` usage covered by `@elastic/eui/no-nested-copy-tooltip` ([#9852](elastic/eui#9852)) - Added `button-group-no-invalid-children` rule ([#9849](elastic/eui#9849)) - Added `no-deprecated-icon-aliases` rule ([#9815](elastic/eui#9815)) ### `@elastic/eui` [v119.0.0](https://github.com/elastic/eui/blob/main/packages/eui/changelogs/CHANGELOG_2026.md) - Bundled icon glyph files into `dist/svgs/` and added `dist/eui-icons.json` manifest (mapping icon filename stems to SVG content strings) ([#9873](elastic/eui#9873)) - Added `hasAriaDisabled` prop to `EuiContextMenuItem` ([#9870](elastic/eui#9870)) - Updated `EuiButtonGroup`: ([#9845](elastic/eui#9845)) - Added new render API via `children` prop that allows passing button components as children - Added `variant` prop (usable only with `children` prop) - Added `gutterSize` prop (usable only with `children` and `variant="default"` prop) - Updated `EuiButton`, `EuiButtonEmpty` and `EuiButtonIcon` to consume a `EuiButtonContext` allowing the group to control common props ([#9845](elastic/eui#9845)) - Updated `EuiFlyoutMenu`: ([#9856](elastic/eui#9856)) - Added `leadingActions` and `trailingActions` props, which accept the new `EuiFlyoutMenuAction` type supporting `toolTipContent` and `toolTipProps` - Changed the history trigger icon to `clockCounter` - Added control-group dividers between built-in controls - Added `onFirst`, `onLast` to `pagination`, which render optional buttons for jumping to the beginning and end of the list. - Deprecated additional `EuiIcon` types that are not represented in Figma ([#9815](elastic/eui#9815)) **Bug fixes** - Fixed the missing type declaration for the `focusEuiToolTipTrigger` test helper ([#9870](elastic/eui#9870)) - Fixed generated icon IDs to remain stable during server-side rendering ([#9866](elastic/eui#9866)) - Fixed a visual bug in `EuiButtonGroup` that rendered duplicate borders on disabled buttons ([#9845](elastic/eui#9845)) - The `EuiFlyoutMenu` history popover now only appears when `historyItems` has more than one entry. When there is a single entry in history, only the Back button is shown. ([#9856](elastic/eui#9856)) - Fixed `EuiFlyoutMenu` pagination controls disappearing when `pagination.total` is `1`; the controls now render (as "1 of 1" with both Prev/Next disabled) for any `total` of at least `1` ([#9856](elastic/eui#9856)) **Deprecations** - Deprecated `customActions` and `EuiFlyoutMenuCustomAction` in `EuiFlyoutMenu`; use `trailingActions` and `EuiFlyoutMenuAction` instead ([#9856](elastic/eui#9856)) **Breaking changes** - Removed most deprecated `EuiIcon` types and their icon assets. 16 widely-used deprecated aliases (e.g. `alert`, `search`, `visPie`) remain temporarily and will be removed in a future release ([#9832](elastic/eui#9832)) ([#9815](elastic/eui#9815)) ### `@elastic/eui-test-helpers` [v1.3.0](https://github.com/elastic/eui/blob/main/packages/test-helpers/changelogs/CHANGELOG_2026.md) - Added `EuiDataGridObject` with `rows`, `cell()`, `cells()`, `doActionOnColumn()` and `openFullScreenMode()`/`closeFullScreenMode()` ([#9874](elastic/eui#9874)) - Added `EuiSuperSelectObject` with `selectOptionByValue()`, `selectOptionByLabel()` and `getSelectedValue()` ([#9874](elastic/eui#9874)) - Added `EuiGlobalToastListObject` with a `toasts` locator and `closeAll()` ([#9874](elastic/eui#9874)) --------- Co-authored-by: Lene Gadewoll <lene.gadewoll@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
qn895
pushed a commit
to qn895/kibana
that referenced
this pull request
Aug 13, 2026
## Dependency updates `@elastic/eui` - 118.0.0 ⏩ 119.0.0 `@elastic/eslint-plugin-eui` - 2.15.0 ⏩ 2.16.0 `@elastic/eui-test-helpers` - 1.2.0 ⏩ 1.3.0 ## Changes - Added 3 new `EuiFlyoutMenu` i18n tokens (`euiFlyoutMenu.history.tooltip`, `euiFlyoutMenu.pagination.first`, `euiFlyoutMenu.pagination.last`) to `i18n_eui_mapping.tsx` and all translation files - Replaced removed `plusInCircle` icon alias with `plusCircle` in the ML plugin (data frame analytics, anomaly detection jobs, and trained models menus) ## Package updates ### `@elastic/eslint-plugin-eui` [v2.16.0](https://github.com/elastic/eui/blob/main/packages/eslint-plugin/changelogs/CHANGELOG_2026.md) - Added new `@elastic/eui/no-nested-copy-tooltip` rule to improve `EuiCopy` usage ([elastic#9852](elastic/eui#9852)) - Updated `@elastic/eui/tooltip-button-icon-wrap` with an exception for `EuiCopy` usage covered by `@elastic/eui/no-nested-copy-tooltip` ([elastic#9852](elastic/eui#9852)) - Added `button-group-no-invalid-children` rule ([elastic#9849](elastic/eui#9849)) - Added `no-deprecated-icon-aliases` rule ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui` [v119.0.0](https://github.com/elastic/eui/blob/main/packages/eui/changelogs/CHANGELOG_2026.md) - Bundled icon glyph files into `dist/svgs/` and added `dist/eui-icons.json` manifest (mapping icon filename stems to SVG content strings) ([elastic#9873](elastic/eui#9873)) - Added `hasAriaDisabled` prop to `EuiContextMenuItem` ([elastic#9870](elastic/eui#9870)) - Updated `EuiButtonGroup`: ([elastic#9845](elastic/eui#9845)) - Added new render API via `children` prop that allows passing button components as children - Added `variant` prop (usable only with `children` prop) - Added `gutterSize` prop (usable only with `children` and `variant="default"` prop) - Updated `EuiButton`, `EuiButtonEmpty` and `EuiButtonIcon` to consume a `EuiButtonContext` allowing the group to control common props ([elastic#9845](elastic/eui#9845)) - Updated `EuiFlyoutMenu`: ([elastic#9856](elastic/eui#9856)) - Added `leadingActions` and `trailingActions` props, which accept the new `EuiFlyoutMenuAction` type supporting `toolTipContent` and `toolTipProps` - Changed the history trigger icon to `clockCounter` - Added control-group dividers between built-in controls - Added `onFirst`, `onLast` to `pagination`, which render optional buttons for jumping to the beginning and end of the list. - Deprecated additional `EuiIcon` types that are not represented in Figma ([elastic#9815](elastic/eui#9815)) **Bug fixes** - Fixed the missing type declaration for the `focusEuiToolTipTrigger` test helper ([elastic#9870](elastic/eui#9870)) - Fixed generated icon IDs to remain stable during server-side rendering ([elastic#9866](elastic/eui#9866)) - Fixed a visual bug in `EuiButtonGroup` that rendered duplicate borders on disabled buttons ([elastic#9845](elastic/eui#9845)) - The `EuiFlyoutMenu` history popover now only appears when `historyItems` has more than one entry. When there is a single entry in history, only the Back button is shown. ([elastic#9856](elastic/eui#9856)) - Fixed `EuiFlyoutMenu` pagination controls disappearing when `pagination.total` is `1`; the controls now render (as "1 of 1" with both Prev/Next disabled) for any `total` of at least `1` ([elastic#9856](elastic/eui#9856)) **Deprecations** - Deprecated `customActions` and `EuiFlyoutMenuCustomAction` in `EuiFlyoutMenu`; use `trailingActions` and `EuiFlyoutMenuAction` instead ([elastic#9856](elastic/eui#9856)) **Breaking changes** - Removed most deprecated `EuiIcon` types and their icon assets. 16 widely-used deprecated aliases (e.g. `alert`, `search`, `visPie`) remain temporarily and will be removed in a future release ([elastic#9832](elastic/eui#9832)) ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui-test-helpers` [v1.3.0](https://github.com/elastic/eui/blob/main/packages/test-helpers/changelogs/CHANGELOG_2026.md) - Added `EuiDataGridObject` with `rows`, `cell()`, `cells()`, `doActionOnColumn()` and `openFullScreenMode()`/`closeFullScreenMode()` ([elastic#9874](elastic/eui#9874)) - Added `EuiSuperSelectObject` with `selectOptionByValue()`, `selectOptionByLabel()` and `getSelectedValue()` ([elastic#9874](elastic/eui#9874)) - Added `EuiGlobalToastListObject` with a `toasts` locator and `closeAll()` ([elastic#9874](elastic/eui#9874)) --------- Co-authored-by: Lene Gadewoll <lene.gadewoll@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
patrykkopycinski
pushed a commit
to patrykkopycinski/kibana
that referenced
this pull request
Aug 18, 2026
…prototypes (elastic#284433) ## Summary Consume the released [`@elastic/eui-test-helpers@1.3.0`](https://www.npmjs.com/package/@elastic/eui-test-helpers) in Kibana and drop the in-repo prototype Component Objects, now that the EUI port (elastic/eui#9874) is merged and published. Part of elastic/apps-dx#55 (epic elastic/apps-dx#43). ## Changes - Bump `@elastic/eui-test-helpers` `1.2.0` -> `1.3.0` (the release adds `EuiDataGridObject`, `EuiSuperSelectObject`, `EuiGlobalToastListObject`) - `eui_components/index.ts` now re-exports those three from the package instead of the local prototype files - Delete the three prototype files (`data_grid_object.ts`, `super_select_object.ts`, `global_toast_list_object.ts`) - The `page.components.toast()` factory now supplies the `globalToastList` default subj, since the published object requires an explicit `testSubj` (that default is a Kibana core convention, so it belongs on the Kibana factory, not the package) ## Not in this PR The deprecated `Eui*Wrapper` classes stay until their consumers are migrated (the per-team PRs under elastic/apps-dx#56). Deleting them is the final step, elastic/apps-dx#55. ## Validation - Type check green (kbn-scout), lint green - Installed `1.3.0` verified to export all three objects at runtime - Local Scout runs against a stateful/classic server, all green: - streams `data_mapping` (exercises `page.components.comboBox` and the `toasts` page object, both now package-sourced, alongside the still-local wrappers): 9 passed - observability `alerts_table`: 7 passed - The three objects are byte-identical to the prototypes the merged helpers PR (elastic#283398) already validated across every Scout lane; this PR only changes where they are imported from.
patrykkopycinski
pushed a commit
to patrykkopycinski/kibana
that referenced
this pull request
Aug 18, 2026
## Dependency updates `@elastic/eui` - 118.0.0 ⏩ 119.0.0 `@elastic/eslint-plugin-eui` - 2.15.0 ⏩ 2.16.0 `@elastic/eui-test-helpers` - 1.2.0 ⏩ 1.3.0 ## Changes - Added 3 new `EuiFlyoutMenu` i18n tokens (`euiFlyoutMenu.history.tooltip`, `euiFlyoutMenu.pagination.first`, `euiFlyoutMenu.pagination.last`) to `i18n_eui_mapping.tsx` and all translation files - Replaced removed `plusInCircle` icon alias with `plusCircle` in the ML plugin (data frame analytics, anomaly detection jobs, and trained models menus) ## Package updates ### `@elastic/eslint-plugin-eui` [v2.16.0](https://github.com/elastic/eui/blob/main/packages/eslint-plugin/changelogs/CHANGELOG_2026.md) - Added new `@elastic/eui/no-nested-copy-tooltip` rule to improve `EuiCopy` usage ([elastic#9852](elastic/eui#9852)) - Updated `@elastic/eui/tooltip-button-icon-wrap` with an exception for `EuiCopy` usage covered by `@elastic/eui/no-nested-copy-tooltip` ([elastic#9852](elastic/eui#9852)) - Added `button-group-no-invalid-children` rule ([elastic#9849](elastic/eui#9849)) - Added `no-deprecated-icon-aliases` rule ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui` [v119.0.0](https://github.com/elastic/eui/blob/main/packages/eui/changelogs/CHANGELOG_2026.md) - Bundled icon glyph files into `dist/svgs/` and added `dist/eui-icons.json` manifest (mapping icon filename stems to SVG content strings) ([elastic#9873](elastic/eui#9873)) - Added `hasAriaDisabled` prop to `EuiContextMenuItem` ([elastic#9870](elastic/eui#9870)) - Updated `EuiButtonGroup`: ([elastic#9845](elastic/eui#9845)) - Added new render API via `children` prop that allows passing button components as children - Added `variant` prop (usable only with `children` prop) - Added `gutterSize` prop (usable only with `children` and `variant="default"` prop) - Updated `EuiButton`, `EuiButtonEmpty` and `EuiButtonIcon` to consume a `EuiButtonContext` allowing the group to control common props ([elastic#9845](elastic/eui#9845)) - Updated `EuiFlyoutMenu`: ([elastic#9856](elastic/eui#9856)) - Added `leadingActions` and `trailingActions` props, which accept the new `EuiFlyoutMenuAction` type supporting `toolTipContent` and `toolTipProps` - Changed the history trigger icon to `clockCounter` - Added control-group dividers between built-in controls - Added `onFirst`, `onLast` to `pagination`, which render optional buttons for jumping to the beginning and end of the list. - Deprecated additional `EuiIcon` types that are not represented in Figma ([elastic#9815](elastic/eui#9815)) **Bug fixes** - Fixed the missing type declaration for the `focusEuiToolTipTrigger` test helper ([elastic#9870](elastic/eui#9870)) - Fixed generated icon IDs to remain stable during server-side rendering ([elastic#9866](elastic/eui#9866)) - Fixed a visual bug in `EuiButtonGroup` that rendered duplicate borders on disabled buttons ([elastic#9845](elastic/eui#9845)) - The `EuiFlyoutMenu` history popover now only appears when `historyItems` has more than one entry. When there is a single entry in history, only the Back button is shown. ([elastic#9856](elastic/eui#9856)) - Fixed `EuiFlyoutMenu` pagination controls disappearing when `pagination.total` is `1`; the controls now render (as "1 of 1" with both Prev/Next disabled) for any `total` of at least `1` ([elastic#9856](elastic/eui#9856)) **Deprecations** - Deprecated `customActions` and `EuiFlyoutMenuCustomAction` in `EuiFlyoutMenu`; use `trailingActions` and `EuiFlyoutMenuAction` instead ([elastic#9856](elastic/eui#9856)) **Breaking changes** - Removed most deprecated `EuiIcon` types and their icon assets. 16 widely-used deprecated aliases (e.g. `alert`, `search`, `visPie`) remain temporarily and will be removed in a future release ([elastic#9832](elastic/eui#9832)) ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui-test-helpers` [v1.3.0](https://github.com/elastic/eui/blob/main/packages/test-helpers/changelogs/CHANGELOG_2026.md) - Added `EuiDataGridObject` with `rows`, `cell()`, `cells()`, `doActionOnColumn()` and `openFullScreenMode()`/`closeFullScreenMode()` ([elastic#9874](elastic/eui#9874)) - Added `EuiSuperSelectObject` with `selectOptionByValue()`, `selectOptionByLabel()` and `getSelectedValue()` ([elastic#9874](elastic/eui#9874)) - Added `EuiGlobalToastListObject` with a `toasts` locator and `closeAll()` ([elastic#9874](elastic/eui#9874)) --------- Co-authored-by: Lene Gadewoll <lene.gadewoll@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
patrykkopycinski
pushed a commit
to patrykkopycinski/kibana
that referenced
this pull request
Aug 18, 2026
…prototypes (elastic#284433) ## Summary Consume the released [`@elastic/eui-test-helpers@1.3.0`](https://www.npmjs.com/package/@elastic/eui-test-helpers) in Kibana and drop the in-repo prototype Component Objects, now that the EUI port (elastic/eui#9874) is merged and published. Part of elastic/apps-dx#55 (epic elastic/apps-dx#43). ## Changes - Bump `@elastic/eui-test-helpers` `1.2.0` -> `1.3.0` (the release adds `EuiDataGridObject`, `EuiSuperSelectObject`, `EuiGlobalToastListObject`) - `eui_components/index.ts` now re-exports those three from the package instead of the local prototype files - Delete the three prototype files (`data_grid_object.ts`, `super_select_object.ts`, `global_toast_list_object.ts`) - The `page.components.toast()` factory now supplies the `globalToastList` default subj, since the published object requires an explicit `testSubj` (that default is a Kibana core convention, so it belongs on the Kibana factory, not the package) ## Not in this PR The deprecated `Eui*Wrapper` classes stay until their consumers are migrated (the per-team PRs under elastic/apps-dx#56). Deleting them is the final step, elastic/apps-dx#55. ## Validation - Type check green (kbn-scout), lint green - Installed `1.3.0` verified to export all three objects at runtime - Local Scout runs against a stateful/classic server, all green: - streams `data_mapping` (exercises `page.components.comboBox` and the `toasts` page object, both now package-sourced, alongside the still-local wrappers): 9 passed - observability `alerts_table`: 7 passed - The three objects are byte-identical to the prototypes the merged helpers PR (elastic#283398) already validated across every Scout lane; this PR only changes where they are imported from.
patrykkopycinski
pushed a commit
to patrykkopycinski/kibana
that referenced
this pull request
Aug 18, 2026
## Dependency updates `@elastic/eui` - 118.0.0 ⏩ 119.0.0 `@elastic/eslint-plugin-eui` - 2.15.0 ⏩ 2.16.0 `@elastic/eui-test-helpers` - 1.2.0 ⏩ 1.3.0 ## Changes - Added 3 new `EuiFlyoutMenu` i18n tokens (`euiFlyoutMenu.history.tooltip`, `euiFlyoutMenu.pagination.first`, `euiFlyoutMenu.pagination.last`) to `i18n_eui_mapping.tsx` and all translation files - Replaced removed `plusInCircle` icon alias with `plusCircle` in the ML plugin (data frame analytics, anomaly detection jobs, and trained models menus) ## Package updates ### `@elastic/eslint-plugin-eui` [v2.16.0](https://github.com/elastic/eui/blob/main/packages/eslint-plugin/changelogs/CHANGELOG_2026.md) - Added new `@elastic/eui/no-nested-copy-tooltip` rule to improve `EuiCopy` usage ([elastic#9852](elastic/eui#9852)) - Updated `@elastic/eui/tooltip-button-icon-wrap` with an exception for `EuiCopy` usage covered by `@elastic/eui/no-nested-copy-tooltip` ([elastic#9852](elastic/eui#9852)) - Added `button-group-no-invalid-children` rule ([elastic#9849](elastic/eui#9849)) - Added `no-deprecated-icon-aliases` rule ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui` [v119.0.0](https://github.com/elastic/eui/blob/main/packages/eui/changelogs/CHANGELOG_2026.md) - Bundled icon glyph files into `dist/svgs/` and added `dist/eui-icons.json` manifest (mapping icon filename stems to SVG content strings) ([elastic#9873](elastic/eui#9873)) - Added `hasAriaDisabled` prop to `EuiContextMenuItem` ([elastic#9870](elastic/eui#9870)) - Updated `EuiButtonGroup`: ([elastic#9845](elastic/eui#9845)) - Added new render API via `children` prop that allows passing button components as children - Added `variant` prop (usable only with `children` prop) - Added `gutterSize` prop (usable only with `children` and `variant="default"` prop) - Updated `EuiButton`, `EuiButtonEmpty` and `EuiButtonIcon` to consume a `EuiButtonContext` allowing the group to control common props ([elastic#9845](elastic/eui#9845)) - Updated `EuiFlyoutMenu`: ([elastic#9856](elastic/eui#9856)) - Added `leadingActions` and `trailingActions` props, which accept the new `EuiFlyoutMenuAction` type supporting `toolTipContent` and `toolTipProps` - Changed the history trigger icon to `clockCounter` - Added control-group dividers between built-in controls - Added `onFirst`, `onLast` to `pagination`, which render optional buttons for jumping to the beginning and end of the list. - Deprecated additional `EuiIcon` types that are not represented in Figma ([elastic#9815](elastic/eui#9815)) **Bug fixes** - Fixed the missing type declaration for the `focusEuiToolTipTrigger` test helper ([elastic#9870](elastic/eui#9870)) - Fixed generated icon IDs to remain stable during server-side rendering ([elastic#9866](elastic/eui#9866)) - Fixed a visual bug in `EuiButtonGroup` that rendered duplicate borders on disabled buttons ([elastic#9845](elastic/eui#9845)) - The `EuiFlyoutMenu` history popover now only appears when `historyItems` has more than one entry. When there is a single entry in history, only the Back button is shown. ([elastic#9856](elastic/eui#9856)) - Fixed `EuiFlyoutMenu` pagination controls disappearing when `pagination.total` is `1`; the controls now render (as "1 of 1" with both Prev/Next disabled) for any `total` of at least `1` ([elastic#9856](elastic/eui#9856)) **Deprecations** - Deprecated `customActions` and `EuiFlyoutMenuCustomAction` in `EuiFlyoutMenu`; use `trailingActions` and `EuiFlyoutMenuAction` instead ([elastic#9856](elastic/eui#9856)) **Breaking changes** - Removed most deprecated `EuiIcon` types and their icon assets. 16 widely-used deprecated aliases (e.g. `alert`, `search`, `visPie`) remain temporarily and will be removed in a future release ([elastic#9832](elastic/eui#9832)) ([elastic#9815](elastic/eui#9815)) ### `@elastic/eui-test-helpers` [v1.3.0](https://github.com/elastic/eui/blob/main/packages/test-helpers/changelogs/CHANGELOG_2026.md) - Added `EuiDataGridObject` with `rows`, `cell()`, `cells()`, `doActionOnColumn()` and `openFullScreenMode()`/`closeFullScreenMode()` ([elastic#9874](elastic/eui#9874)) - Added `EuiSuperSelectObject` with `selectOptionByValue()`, `selectOptionByLabel()` and `getSelectedValue()` ([elastic#9874](elastic/eui#9874)) - Added `EuiGlobalToastListObject` with a `toasts` locator and `closeAll()` ([elastic#9874](elastic/eui#9874)) --------- Co-authored-by: Lene Gadewoll <lene.gadewoll@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds three Playwright Component Objects to
@elastic/eui-test-helpers, ported from Kibana'skbn-scoutwhere they were prototyped against real consumer specs and validated end to end (locally plus two full Kibana CI builds): elastic/kibana#282596. Kibana-side epic: https://github.com/elastic/apps-dx/issues/43 (port issue: https://github.com/elastic/apps-dx/issues/54).EuiDataGridObjectrowsLocator,cell(),cells(),doActionOnColumn(),openFullScreenMode()/closeFullScreenMode()EuiSuperSelectObjectselectOptionByValue(),selectOptionByLabel(),getSelectedValue()EuiGlobalToastListObjecttoastsLocator,closeAll()Each follows the package conventions: selectors in
src/components/<name>/selectors.ts(re-exported fromsrc/selectors.ts), object + validation specs undersrc/playwright/components/<name>/, a component README, and index exports. All 14 new validation specs pass against Storybook locally.Notes for review
EuiSuperSelect: the helper lives atform/super_select/to mirror the EUI source layout. The flake-detection script only enumerates first-level helper directories, so the correlation fires throughform/— coarse (anyform/*change reruns these specs) but functional with zero script changes. A flatsuper_select/directory would never correlate with component changes. Happy to switch if you prefer a script change instead.rows,toasts,cell,cells) keep Playwright auto-retry with the consumer owning the assertion, per CONTRIBUTING.EuiDataGridObjectrequires the subj on the grid itself (component-type guard): EUI toggles state classes (fullscreen) on.euiDataGrid, so a wrapper subj cannot work; consumers narrow with thescopeparameter when the subj is not page-unique.EuiSuperSelectandEuiGlobalToastListis thin (Playground only); the specs work within that. Props-variant specs can follow if/when stories are added.changelogs/upcoming/.Validation
tsc --noEmitclean