eui icon indicating copy to clipboard operation
eui copied to clipboard

[Visual Refresh] Inputs: Add refresh design update #2

Open mgadewoll opened this issue 5 months ago â€ĸ 2 comments

Summary

[!IMPORTANT] This PR merges into a feature branch. This PR should be rebased after the first update PR is merged.

Implements https://github.com/elastic/eui-private/issues/324

This PR is the second part to implement Visual Refresh input design changes. This PR implements changes to specific components:

  • EuiComboBox
  • EuiDatePicker
  • EuiSuperDatePicker
  • EuiFilePicker

Why are we making this change?

These updates align specialized form components with the updated base form styles (done here) and applies new design updates. These include updates text colors, border colors, state styles (focus, invalid, disabled, readonly), spacings and icon sizes. Additionally we're ensuring that the components work well in high contrast modes.

Screenshots

Toggle screenshots

LIGHT mode

EuiComboBox
classic refresh
Screenshot 2025-06-11 at 13 25 38 Screenshot 2025-06-11 at 13 25 56
Screenshot 2025-06-11 at 13 30 04 Screenshot 2025-06-11 at 13 29 32
Screenshot 2025-06-11 at 13 30 09 Screenshot 2025-06-11 at 13 29 37
EuiDatePicker
classic refresh
Screenshot 2025-06-11 at 09 29 23 Screenshot 2025-06-11 at 09 29 44
Screenshot 2025-06-11 at 09 31 20 Screenshot 2025-06-11 at 09 31 28
Screenshot 2025-06-11 at 09 33 49 Screenshot 2025-06-11 at 09 34 01
EuiSuperDatePicker
classic refresh
Screenshot 2025-06-11 at 09 38 35 Screenshot 2025-06-11 at 09 39 58
Screenshot 2025-06-11 at 09 48 07 Screenshot 2025-06-11 at 09 48 48
Screenshot 2025-06-11 at 09 50 43 Screenshot 2025-06-11 at 09 51 23
Screenshot 2025-06-11 at 09 52 08 Screenshot 2025-06-11 at 09 53 15
EuiFilePicker
state classic refresh
default Screenshot 2025-06-11 at 09 59 49 Screenshot 2025-06-11 at 17 23 42
file Screenshot 2025-06-11 at 10 00 37 Screenshot 2025-06-11 at 17 23 51
hover Screenshot 2025-06-11 at 10 00 06 Screenshot 2025-06-11 at 17 23 45
focus Screenshot 2025-06-11 at 10 00 17 Screenshot 2025-06-11 at 10 06 21
dragover Screenshot 2025-06-11 at 10 07 07 Screenshot 2025-06-11 at 10 14 00
invalid Screenshot 2025-06-11 at 10 04 23 Screenshot 2025-06-11 at 10 09 11
disabled Screenshot 2025-06-11 at 10 04 19 Screenshot 2025-06-11 at 10 09 14
loading Screenshot 2025-06-11 at 10 04 15 Screenshot 2025-06-11 at 17 23 38

DARK mode

EuiComboBox
classic refresh
Screenshot 2025-06-11 at 13 25 19 Screenshot 2025-06-11 at 13 26 17
Screenshot 2025-06-11 at 13 30 00 Screenshot 2025-06-11 at 13 29 52
Screenshot 2025-06-11 at 13 29 57 Screenshot 2025-06-11 at 13 29 48
EuiDatePicker
classic refresh
Screenshot 2025-06-11 at 09 29 30 Screenshot 2025-06-11 at 09 29 51
Screenshot 2025-06-11 at 09 31 23 Screenshot 2025-06-11 at 09 31 31
Screenshot 2025-06-11 at 09 33 57 Screenshot 2025-06-11 at 09 34 10
EuiSuperDatePicker
classic refresh
Screenshot 2025-06-11 at 09 38 49 Screenshot 2025-06-11 at 09 40 29
Screenshot 2025-06-11 at 09 49 09 Screenshot 2025-06-11 at 09 49 03
Screenshot 2025-06-11 at 09 51 08 Screenshot 2025-06-11 at 09 56 30
Screenshot 2025-06-11 at 09 52 13 Screenshot 2025-06-11 at 09 53 10
EuiFilePicker
state classic refresh
default Screenshot 2025-06-11 at 10 01 01 Screenshot 2025-06-11 at 17 22 27
file Screenshot 2025-06-11 at 10 00 45 Screenshot 2025-06-11 at 17 22 23
hover Screenshot 2025-06-11 at 10 01 00 Screenshot 2025-06-11 at 17 22 31
focus Screenshot 2025-06-11 at 10 00 52 Screenshot 2025-06-11 at 10 10 02
dragover Screenshot 2025-06-11 at 10 07 16 Screenshot 2025-06-11 at 10 12 58
invalid Screenshot 2025-06-11 at 10 03 49 Screenshot 2025-06-11 at 10 10 27
disabled Screenshot 2025-06-11 at 10 03 54 Screenshot 2025-06-11 at 10 10 29
loading Screenshot 2025-06-11 at 10 04 09 Screenshot 2025-06-11 at 17 22 36

High contrast mode

preferred HCM
EuiComboBox
light dark
Screenshot 2025-06-11 at 13 34 31 Screenshot 2025-06-11 at 13 34 12
EuiDatePicker
light dark
Screenshot 2025-06-11 at 13 17 01 Screenshot 2025-06-11 at 13 16 49
EuiSuperDatePicker
light dark
Screenshot 2025-06-11 at 13 09 38 Screenshot 2025-06-11 at 13 10 34
Screenshot 2025-06-11 at 13 09 54 Screenshot 2025-06-11 at 13 10 47
Screenshot 2025-06-11 at 13 11 07 Screenshot 2025-06-11 at 13 11 02
EuiFilePicker
light dark
Screenshot 2025-06-11 at 17 14 19 Screenshot 2025-06-11 at 17 14 39
forced HCM
EuiComboBox
light dark
Screenshot 2025-06-11 at 13 35 51 Screenshot 2025-06-11 at 13 35 35
EuiDatePicker
light dark
Screenshot 2025-06-11 at 13 14 40 Screenshot 2025-06-11 at 13 14 48
EuiSuperDatePicker
light dark
Screenshot 2025-06-11 at 13 08 26 Screenshot 2025-06-11 at 13 05 03
Screenshot 2025-06-11 at 13 08 43 Screenshot 2025-06-11 at 13 04 31
Screenshot 2025-06-11 at 13 12 33 !Screenshot 2025-06-11 at 13 12 56
EuiFilePicker
light dark
Screenshot 2025-06-11 at 17 15 20 Screenshot 2025-06-11 at 17 15 10

Impact to users

QA

Review the directly affected components and verify:

  • [ ] they matches the design specs (sizes, colors, borders, states etc) for LIGHT and DARK mode
    • [ ] there are no unexpected visual issues in HCM
    • [ ] there are no regressions for Amsterdam

General checklist

  • Browser QA
    • [x] Checked in both light and dark modes
    • [x] Checked in both MacOS and Windows high contrast modes
    • [ ] ~Checked in mobile~
    • [x] 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)~

mgadewoll avatar Jun 10 '25 19:06 mgadewoll

the color for the animated line in the loading state has a red color that suggests "invalid" (in Amsterdam looks more magenta-ish)

@acstll Correct, there is no spec for it which is why I left it as is. Maybe it could rather be primary similar to loading spinners? 🤔 That would be a question for @ek-so if the color could be updated in Borealis.

[maybe out of scope] the size of the "remove" button is different, I believe they're both xs in spec and in code (not sure what's happening)

I checked and actually the xs empty button doesn't match the design specs. Looks like we missed that in the Button update. đŸĢ  I'll have to check if that impacts too many other places that would require it to be a separate update.

[nit, feel free to ignore] on hover, the icon grows 1px, in code it scales 1.1 which seems more, I would actually remove this animation since it reminds me of Amsterdam

Removing it would be a suggestion to design. Given that design specs provide the size change, I'd leave it here for now but I can adjust the scale(). I left it at 1.1 to not have to go to even smaller decimals but it won't hurt anyway. Updated in https://github.com/elastic/eui/pull/8778/commits/8c8c02436e5ab7a4bf0625613ce6f021e88dc1d8

EuiFilePicker in HCM, the border on hover is solid, not dashed — I wonder if this may be intended?

That was intentional from my side (sorry for not mentioning it explicitly). The idea being to improve the visibility. But thinking about it again now, it might not be needed/wanted considering other form elements don't behave that way either. I'll revert it. 👍
Updated in https://github.com/elastic/eui/pull/8778/commits/8c8c02436e5ab7a4bf0625613ce6f021e88dc1d8

mgadewoll avatar Jun 20 '25 12:06 mgadewoll

yes to everything in the comment above 🙂

acstll avatar Jun 20 '25 12:06 acstll

â„šī¸ Updated the button xs font-size (commit). The changes triggered a couple of VRT image updates. Those changes are expected and aligned with design.

mgadewoll avatar Jun 20 '25 13:06 mgadewoll

:green_heart: Build Succeeded

History

  • :green_heart: Build #592 succeeded 8c8c02436e5ab7a4bf0625613ce6f021e88dc1d8
  • :green_heart: Build #562 succeeded 3066875aeaa62b32101b55cf684634c36fd6cab0
  • :green_heart: Build #559 succeeded 19cc0ed600b8e1d7ec1f764e304635ff79daf30b
  • :green_heart: Build #555 succeeded 7bf8354429ae40db4f0adea596e5e15a87e3d4a7
  • :green_heart: Build #496 succeeded cd72213473fa6285c13a42a6d0cede52dacd047a
  • :green_heart: Build #494 succeeded bbc6c3b3165a2c82f3cdfef6eeae302bb9177bc3

cc @mgadewoll

elasticmachine avatar Jun 20 '25 13:06 elasticmachine

:green_heart: Build Succeeded

History

  • :green_heart: Build #4247 succeeded 8c8c02436e5ab7a4bf0625613ce6f021e88dc1d8
  • :green_heart: Build #4220 succeeded 3066875aeaa62b32101b55cf684634c36fd6cab0
  • :green_heart: Build #4218 succeeded 19cc0ed600b8e1d7ec1f764e304635ff79daf30b
  • :green_heart: Build #4216 succeeded 7bf8354429ae40db4f0adea596e5e15a87e3d4a7
  • :green_heart: Build #4165 succeeded cd72213473fa6285c13a42a6d0cede52dacd047a
  • :green_heart: Build #4164 succeeded bbc6c3b3165a2c82f3cdfef6eeae302bb9177bc3

cc @mgadewoll

elasticmachine avatar Jun 20 '25 13:06 elasticmachine