Skip to content

[EuiIcon] Add new glyphs, soft delete others#8580

Merged
ryankeairns merged 4 commits intomainfrom
rk/icon-soft-deprecation-1
Apr 10, 2025
Merged

[EuiIcon] Add new glyphs, soft delete others#8580
ryankeairns merged 4 commits intomainfrom
rk/icon-soft-deprecation-1

Conversation

@ryankeairns
Copy link
Copy Markdown
Contributor

@ryankeairns ryankeairns commented Apr 9, 2025

Closes https://github.com/elastic/platform-ux-team/issues/665

Important

This PR is part one of deprecating an initial batch of icons.
Part two will come after usage of to-be-deprecated icons is updated in Kibana.

Note

For reviewers, I need some help running the visual regression tests. Gave it a go, but ran into an error.

Summary

Part of a series of incremental PRs updating icons

Keeping it small, we have some redundant and/or unused icons that can be deprecated or renamed.

Under consideration / need to be done:

Added glyphs

  • controls, flask, comment, and readOnly

'Soft delete' - aliased to new glyphs and hidden from docs

  • beaker, controlsHorizontal, controlsVertical, discuss, editorCodeBlock, editorComment, exportAction, glasses, userAvatar, visVega

Next steps

  1. After Kibana is upgraded to the EUI release containing these changes...
    Note: New glyphs for export, code, user were added previously
  • controls will replace controlsHorizontal, controlsVertical
  • flask will replace beaker
  • comment will replace discuss, editorComment
  • export will replace exportAction
  • code will replace editorCodeBlock, visVega
  • user will replace userAvatar
  • readOnly will replace glasses
  1. Once removed from Kibana, an EUI PR will be opened to fully deprecate the aliased glyphs.

QA

Remove or strikethrough items that do not apply to your PR.

General checklist

  • Browser QA
    • Checked in both light and dark modes
    • Checked in both MacOS and Windows high contrast modes
    • Checked in mobile
    • Checked in Chrome, Safari, Edge, and Firefox
    • Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA
  • Code quality checklist
  • Release checklist
    • A changelog entry exists and is marked appropriately.
    • If applicable, added the breaking change issue label (and filled out the breaking change checklist)
  • Designer checklist
    • If applicable, file an issue to update EUI's Figma library with any corresponding UI changes. (This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)

@ryankeairns ryankeairns changed the title [EuiIcon] Add new glyphs, soft delete other icons [EuiIcon] Add new glyphs, soft delete others Apr 9, 2025
@ryankeairns ryankeairns marked this pull request as ready for review April 9, 2025 23:56
@ryankeairns ryankeairns requested a review from a team as a code owner April 9, 2025 23:56
@mgadewoll
Copy link
Copy Markdown
Contributor

After Kibana is upgraded to the EUI release containing these changes...
Note: New glyphs for export, code, user were added previously
Once removed from Kibana, an EUI PR will be opened to fully deprecate the aliased glyphs.

ℹ️ We need to ensure to backport this to the required Kibana versions as EUI is added back until 8.x.
This basically means we commit to updating icons in Amsterdam as well. Because if we do not update 8.x as well with the replacement changes, then the next EUI release with the internal deprecation will break 8.x otherwise.

ryankeairns and others added 3 commits April 10, 2025 18:11
- updates caused by updated icons after rebase with global border-radius change
@mgadewoll mgadewoll force-pushed the rk/icon-soft-deprecation-1 branch from 275ad3f to 6271d7c Compare April 10, 2025 16:26
@mgadewoll
Copy link
Copy Markdown
Contributor

@ryankeairns I updated the VRT images for this PR.
From the changes to components (EuiMarkdownEditor, EuiDataGrid, EuiCommentList, EuiCollapsibleNavBeta) only the ones for EuiMarkdownEditor resulted in updated VRT images because other icon changes were already covered in this previous PR to update VRT images.

Copy link
Copy Markdown
Contributor

@mgadewoll mgadewoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 🐈‍⬛ Changes LGTM ✅
I verified that the new icons are displayed as expected and soft deprecated ones are not shown anymore in both docs environments while still being available as aliased export.

at: 'at',
auditbeatApp: 'app_auditbeat',
beaker: 'beaker',
beaker: 'flask', // NOTE: To be deprecated in favor of `flask`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we're mapping beaker to the flask svg, should we delete the underlying beaker svg?
https://github.com/elastic/eui/blob/main/packages/eui/src/components/icon/svgs/beaker.svg
https://github.com/elastic/eui/blob/main/packages/eui/src/components/icon/assets/beaker.tsx

I believe they are no longer used, correct?

Same for controlsHorizontal, etc.

Copy link
Copy Markdown
Contributor

@mgadewoll mgadewoll Apr 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once removed from Kibana, an EUI PR will be opened to fully deprecate the aliased glyphs.

I believe the idea was to first update Kibana since they might use those icons? 🤔

Copy link
Copy Markdown
Member

@JasonStoltz JasonStoltz Apr 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ok. I was thinking that since all icon usage is mapped via this file ... since beaker and flask both now map to the flask svg -- it's no longer even possible to use the beaker svg -- nothing actually maps to the underlying beaker svg.

I could be totally wrong, and it probably doesn't matter all that much whether we remove the beaker svg now or later. I was mainly just curious.

Copy link
Copy Markdown
Contributor Author

@ryankeairns ryankeairns Apr 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good catch. I forgot to remove those now-unused svgs.

What @JasonStoltz said should be the case that those to-be-deprecated svgs are no longer pointed to in the icon map file. I happened to replace a few in the prior PR - kept the same name for, say glasses - so not all were still present here. I have deleted the remainder and will push up a commit.

@elasticmachine
Copy link
Copy Markdown
Collaborator

💚 Build Succeeded

History

@kibanamachine
Copy link
Copy Markdown

Preview staging links for this PR:

@elasticmachine
Copy link
Copy Markdown
Collaborator

💚 Build Succeeded

History

@ryankeairns ryankeairns merged commit f3f5cac into main Apr 10, 2025
6 checks passed
@ryankeairns ryankeairns deleted the rk/icon-soft-deprecation-1 branch April 10, 2025 23:46
mgadewoll added a commit to elastic/kibana that referenced this pull request Apr 24, 2025
`101.3.0` ⏩ `101.4.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

This PR only updates tests and snapshots related to changes on EUI side:
- updated `aria-current="true"` to `aria-current="page"`
- updated icon usage `userAvatar` to `user`

## Package updates

### `@elastic/eui`

#### [`v101.4.0`](https://github.com/elastic/eui/releases/v101.4.0)

- Spread `labelProps` to the `label` element in `EuiCheckableCard`
([#8586](elastic/eui#8586))
- Add `controls`, `flask`, `comment`, and `readOnly` glyphs to `EuiIcon`
([#8580](elastic/eui#8580))
- Refactored `EuiExpression`, `EuiFacetGroup`, `EuiFacetButton`,
`EuiFilterGroup`, `EuiHeader`, `EuiImage` and `EuiListGroup` to memoize
their internal Emotion styles
([#8565](elastic/eui#8565))
- Updated global `border.radius.medium` token value for default
`Borealis` theme to `4px`
([#8563](elastic/eui#8563))
- Updated `EuiProvider` to build themes including `highContrastMode`
([#8558](elastic/eui#8558))

**Accessibility**

- Removed the `aria-label` attribute from the `ul` element in
`EuiPagination` to avoid duplicate screen reader output
([#8597](elastic/eui#8597))
- Set a more specific `aria-current="page"` on list items in
`EuiPagination` ([#8597](elastic/eui#8597))
- Added `aria-modal` to `EuiFlyout` with `type="overlay"`
([#8591](elastic/eui#8591))

**Dependency updates**

- Updated `@elastic/prismjs-esql` to v1.1.0
([#8587](elastic/eui#8587))

### `@elastic/eui-theme-borealis@0.2.0`

- Updated component tokens to use `computed` values to ensure correct
inheritance from theme overrides
([#8558](elastic/eui#8558))
- Added `overrides.HCM` to `euiThemeBorealis` to support theme internal
overrides ([#8558](elastic/eui#8558))
- Updated `border.radius.medium` token value to `4px`
([#8563](elastic/eui#8563))

### `@elastic/eui-theme-common@0.2.0`

- Added support for theme `overrides` as optional part of
`EuiThemeShape` ([#8558](elastic/eui#8558))
- Updated `getComputed` to support high contrast mode overrides defined
on `overrides.HCM` ([#8558](elastic/eui#8558))

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
mgadewoll added a commit to mgadewoll/kibana that referenced this pull request Apr 24, 2025
`101.3.0` ⏩ `101.4.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

This PR only updates tests and snapshots related to changes on EUI side:
- updated `aria-current="true"` to `aria-current="page"`
- updated icon usage `userAvatar` to `user`

## Package updates

### `@elastic/eui`

#### [`v101.4.0`](https://github.com/elastic/eui/releases/v101.4.0)

- Spread `labelProps` to the `label` element in `EuiCheckableCard`
([elastic#8586](elastic/eui#8586))
- Add `controls`, `flask`, `comment`, and `readOnly` glyphs to `EuiIcon`
([elastic#8580](elastic/eui#8580))
- Refactored `EuiExpression`, `EuiFacetGroup`, `EuiFacetButton`,
`EuiFilterGroup`, `EuiHeader`, `EuiImage` and `EuiListGroup` to memoize
their internal Emotion styles
([elastic#8565](elastic/eui#8565))
- Updated global `border.radius.medium` token value for default
`Borealis` theme to `4px`
([elastic#8563](elastic/eui#8563))
- Updated `EuiProvider` to build themes including `highContrastMode`
([elastic#8558](elastic/eui#8558))

**Accessibility**

- Removed the `aria-label` attribute from the `ul` element in
`EuiPagination` to avoid duplicate screen reader output
([elastic#8597](elastic/eui#8597))
- Set a more specific `aria-current="page"` on list items in
`EuiPagination` ([elastic#8597](elastic/eui#8597))
- Added `aria-modal` to `EuiFlyout` with `type="overlay"`
([elastic#8591](elastic/eui#8591))

**Dependency updates**

- Updated `@elastic/prismjs-esql` to v1.1.0
([elastic#8587](elastic/eui#8587))

### `@elastic/eui-theme-borealis@0.2.0`

- Updated component tokens to use `computed` values to ensure correct
inheritance from theme overrides
([elastic#8558](elastic/eui#8558))
- Added `overrides.HCM` to `euiThemeBorealis` to support theme internal
overrides ([elastic#8558](elastic/eui#8558))
- Updated `border.radius.medium` token value to `4px`
([elastic#8563](elastic/eui#8563))

### `@elastic/eui-theme-common@0.2.0`

- Added support for theme `overrides` as optional part of
`EuiThemeShape` ([elastic#8558](elastic/eui#8558))
- Updated `getComputed` to support high contrast mode overrides defined
on `overrides.HCM` ([elastic#8558](elastic/eui#8558))

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
(cherry picked from commit d2d2765)

# Conflicts:
#	x-pack/solutions/security/plugins/security_solution/public/explore/components/paginated_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/components/paginated_table/index.test.tsx
#	x-pack/solutions/security/plugins/security_solution/public/explore/hosts/components/uncommon_process_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/network_dns_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/network_http_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/network_top_countries_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/network_top_n_flow_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/tls_table/__snapshots__/index.test.tsx.snap
#	x-pack/solutions/security/plugins/security_solution/public/explore/network/components/users_table/__snapshots__/index.test.tsx.snap
mgadewoll added a commit to elastic/kibana that referenced this pull request Apr 24, 2025
`101.3.0` ⏩ `101.4.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

>[!IMPORTANT]
This PR is a direct sibling to this [upgrade
PR](#218778) to `main`. The
difference is that it adds a standalone EUI package with the previous
"Amsterdam" theme.
Apart from the theme difference, **there are no further changes added**.

## Changes

This PR only updates tests and snapshots related to changes on EUI side:
- updated `aria-current="true"` to `aria-current="page"`
- updated icon usage `userAvatar` to `user`

## Package updates

### `@elastic/eui`

#### [`v101.4.0`](https://github.com/elastic/eui/releases/v101.4.0)

- Spread `labelProps` to the `label` element in `EuiCheckableCard`
([#8586](elastic/eui#8586))
- Add `controls`, `flask`, `comment`, and `readOnly` glyphs to `EuiIcon`
([#8580](elastic/eui#8580))
- Refactored `EuiExpression`, `EuiFacetGroup`, `EuiFacetButton`,
`EuiFilterGroup`, `EuiHeader`, `EuiImage` and `EuiListGroup` to memoize
their internal Emotion styles
([#8565](elastic/eui#8565))
- Updated global `border.radius.medium` token value for default
`Borealis` theme to `4px`
([#8563](elastic/eui#8563))
- Updated `EuiProvider` to build themes including `highContrastMode`
([#8558](elastic/eui#8558))

**Accessibility**

- Removed the `aria-label` attribute from the `ul` element in
`EuiPagination` to avoid duplicate screen reader output
([#8597](elastic/eui#8597))
- Set a more specific `aria-current="page"` on list items in
`EuiPagination` ([#8597](elastic/eui#8597))
- Added `aria-modal` to `EuiFlyout` with `type="overlay"`
([#8591](elastic/eui#8591))

**Dependency updates**

- Updated `@elastic/prismjs-esql` to v1.1.0
([#8587](elastic/eui#8587))

### `@elastic/eui-theme-borealis@0.2.0`

- Updated component tokens to use `computed` values to ensure correct
inheritance from theme overrides
([#8558](elastic/eui#8558))
- Added `overrides.HCM` to `euiThemeBorealis` to support theme internal
overrides ([#8558](elastic/eui#8558))
- Updated `border.radius.medium` token value to `4px`
([#8563](elastic/eui#8563))

### `@elastic/eui-theme-common@0.2.0`

- Added support for theme `overrides` as optional part of
`EuiThemeShape` ([#8558](elastic/eui#8558))
- Updated `getComputed` to support high contrast mode overrides defined
on `overrides.HCM` ([#8558](elastic/eui#8558))
akowalska622 pushed a commit to akowalska622/kibana that referenced this pull request May 29, 2025
`101.3.0` ⏩ `101.4.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

This PR only updates tests and snapshots related to changes on EUI side:
- updated `aria-current="true"` to `aria-current="page"`
- updated icon usage `userAvatar` to `user`

## Package updates

### `@elastic/eui`

#### [`v101.4.0`](https://github.com/elastic/eui/releases/v101.4.0)

- Spread `labelProps` to the `label` element in `EuiCheckableCard`
([elastic#8586](elastic/eui#8586))
- Add `controls`, `flask`, `comment`, and `readOnly` glyphs to `EuiIcon`
([elastic#8580](elastic/eui#8580))
- Refactored `EuiExpression`, `EuiFacetGroup`, `EuiFacetButton`,
`EuiFilterGroup`, `EuiHeader`, `EuiImage` and `EuiListGroup` to memoize
their internal Emotion styles
([elastic#8565](elastic/eui#8565))
- Updated global `border.radius.medium` token value for default
`Borealis` theme to `4px`
([elastic#8563](elastic/eui#8563))
- Updated `EuiProvider` to build themes including `highContrastMode`
([elastic#8558](elastic/eui#8558))

**Accessibility**

- Removed the `aria-label` attribute from the `ul` element in
`EuiPagination` to avoid duplicate screen reader output
([elastic#8597](elastic/eui#8597))
- Set a more specific `aria-current="page"` on list items in
`EuiPagination` ([elastic#8597](elastic/eui#8597))
- Added `aria-modal` to `EuiFlyout` with `type="overlay"`
([elastic#8591](elastic/eui#8591))

**Dependency updates**

- Updated `@elastic/prismjs-esql` to v1.1.0
([elastic#8587](elastic/eui#8587))

### `@elastic/eui-theme-borealis@0.2.0`

- Updated component tokens to use `computed` values to ensure correct
inheritance from theme overrides
([elastic#8558](elastic/eui#8558))
- Added `overrides.HCM` to `euiThemeBorealis` to support theme internal
overrides ([elastic#8558](elastic/eui#8558))
- Updated `border.radius.medium` token value to `4px`
([elastic#8563](elastic/eui#8563))

### `@elastic/eui-theme-common@0.2.0`

- Added support for theme `overrides` as optional part of
`EuiThemeShape` ([elastic#8558](elastic/eui#8558))
- Updated `getComputed` to support high contrast mode overrides defined
on `overrides.HCM` ([elastic#8558](elastic/eui#8558))

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants