Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EuiIcon] Add crossInCircle glyph #7924

Merged
merged 15 commits into from
Aug 5, 2024
Merged

[EuiIcon] Add crossInCircle glyph #7924

merged 15 commits into from
Aug 5, 2024

Conversation

ek-so
Copy link
Contributor

@ek-so ek-so commented Jul 26, 2024

Summary

We need an outlined icon variant for cross (agreed with @MichaelMarcialis here)

QA

General checklist

@ek-so ek-so requested a review from a team as a code owner July 26, 2024 18:15
@tkajtoch
Copy link
Member

Hi @ek-so! Could you please add and commit a changelog item for this PR? You can create it by running yarn yo-changelog 7924 in packages/eui directory. Let me know if you encounter any issues or need assistance!

Copy link
Contributor

@MichaelMarcialis MichaelMarcialis left a comment

Choose a reason for hiding this comment

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

Thanks for the PR, @ek-so! I left you some small comments for your initial review. Let me know if you have any questions.

Copy link
Contributor

Choose a reason for hiding this comment

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

It looks as though the circle's stroke is slightly less than 1px. Any chance we could make it exactly 1px to avoid any subpixel blurriness?

CleanShot 2024-07-29 at 15 47 31

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank Michael, sorry for all that discrepancies! Honestly, I just created my form based on outlined plus we already have. Considering other outlined icons we have, I'm a bit lost which template to stick to. You can see, these +/- differ from what's on your screenshot. It means we'll have to change all those outlined icons later too, right @MichaelMarcialis?
CleanShot 2024-07-30 at 10 11 17@2x

Also, the cross inside looks like also not 1px folk. Is in intentionally more for filled icon? Isn't it blurry then? Maybe we can also correct this glyph, while we're here?
CleanShot 2024-07-30 at 10 04 55@2x

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, all good points. These are just some of the many discrepancies and inconsistencies we need to correct in general in the icon library.

Anyway, for the purposes of this PR, I'd suggest proceeding with the comment recommendations, even they create inconsistency with some of those similar examples you shared. We'll eventually update those other ones to match. Alternatively, if you have the time and willingness, please do feel free to adjust them as part of this PR. But no pressure. Assuming we continue to maintain our custom icon library, I have it on my to-do list to make these sorts of adjustments in the near future.

Copy link
Contributor

Choose a reason for hiding this comment

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

I noticed that the endpoints for the x symbol don't sit perfectly on the pixel grid, unlike its sister crossInCircleFilled icon. Would you mind adjusting so that the endpoints are the same as crossInCircleFilled?

CleanShot 2024-07-29 at 15 45 57

Copy link
Contributor

Choose a reason for hiding this comment

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

We typically try to minify and strip any non-essential information from the SVG files. In this case, we could remove all fill attributes, the g container, and the defs. Doing so would yield SVG code similar to this:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
  <path d="m8.755 8 2.64 2.641a.534.534 0 1 1-.754.755L8 8.755l-2.641 2.64a.533.533 0 1 1-.755-.754L7.244 8l-2.64-2.641a.534.534 0 1 1 .755-.755l2.64 2.641 2.642-2.64a.534.534 0 1 1 .755.754L8.755 8Zm4.904-5.66c3.12 3.121 3.12 8.199 0 11.32-3.12 3.12-8.198 3.12-11.318 0C-.78 10.538-.78 5.46 2.34 2.34c3.12-3.12 8.198-3.12 11.319 0Zm-.665.666a7.062 7.062 0 1 0-9.988 9.987 7.062 7.062 0 0 0 9.988-9.987Z"/>
</svg>

After making updates based on previous comments, mind scrubbing these extraneous elements from your updated SVG file?

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we change this file's name from crossInCircle.svg to cross_in_circle.svg? I know there's currently a mix of snake and camel case in the SVGs folder currently, but we'll be updating them all to snake case going forward.

@@ -79,6 +79,7 @@ export const typeToPathMap = {
createSingleMetricJob: 'ml_create_single_metric_job',
cross: 'cross',
crossClusterReplicationApp: 'app_cross_cluster_replication',
crossInCircle: 'crossInCircle',
Copy link
Contributor

Choose a reason for hiding this comment

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

Once the SVG file name is update, you'll also need to update this.

Suggested change
crossInCircle: 'crossInCircle',
crossInCircle: 'cross_in_circle',

@ek-so
Copy link
Contributor Author

ek-so commented Jul 31, 2024

Hey @MichaelMarcialis, thanks for your comments! To summarize:

  1. I changed the border and removed unnecessary attributes from svg (fill-rule="evenodd” can't be deleted, icon becomes a plain circle instead of what it should be)
  2. Changed the name to cross_in_circle
  3. I tried to find filled cross among existing EUI icons to fix it as well — it seems that it doesn't exist currently in the code, only in Figma (there I fixed a shape just in case, for the future). Let me know if we want to add this icon to our set as well! Also, I'd like to help with other encircled icons, but I would better do it in a separate PR later.

@cee-chen cee-chen changed the title Add crossInCircle icon [EuiIcon] Add crossInCircle glyph Aug 1, 2024
@cee-chen
Copy link
Contributor

cee-chen commented Aug 1, 2024

@MichaelMarcialis is this PR good to go from a designer point of view?

@ek-so
Copy link
Contributor Author

ek-so commented Aug 5, 2024

@MichaelMarcialis is this PR good to go from a designer point of view?

@MichaelMarcialis hey hey, is it all fine by you?

Copy link
Contributor

@MichaelMarcialis MichaelMarcialis left a comment

Choose a reason for hiding this comment

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

Thanks for making those updates, @ek-so! Looks great. I left two small comments for your review, but nothing worth holding you up over. Assuming you can address those two suggestions to remove the fill attribute and g element, I'll go ahead and approve now.

@cee-chen cee-chen enabled auto-merge (squash) August 5, 2024 16:45
@cee-chen cee-chen merged commit 0719a2b into elastic:main Aug 5, 2024
5 checks passed
@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

History

cee-chen added a commit to elastic/kibana that referenced this pull request Aug 5, 2024
`v95.5.0` ⏩ `v95.6.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)_

---

## [`v95.6.0`](https://github.com/elastic/eui/releases/v95.6.0)

- Updated `EuiIcon` with a new `crossInCircle` glyph
([#7924](elastic/eui#7924))

**Bug fixes**

- Fixed `EuiEmptyPrompt` to correctly collapse and expand responsively
when used with custom breakpoints larger than the default `xl`
breakpoint ([#7935](elastic/eui#7935))

**Accessibility**

- Improved the experience of `EuiModal` by ensuring nested `EuiPopover`
closes on `Escape` keypress instead of the modal
([#7939](elastic/eui#7939))

**CSS-in-JS conversions**

- Converted `EuiDatePicker` to Emotion
([#7937](elastic/eui#7937))
  - Removed `$euiDatePickerCalendarWidth`
  - Removed `$euiDatePickerPadding`
  - Removed `$euiDatePickerGap`
  - Removed `$euiDatePickerCalendarColumns`
  - Removed `$euiDatePickerButtonSize`
  - Removed `$euiDatePickerMinControlWidth`
  - Removed `$euiDatePickerMaxControlWidth`
  - Removed `@mixin datePickerCaret`
  - Removed `@mixin datePickerArrow`
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