Originally submitted on Github

Problem/Motivation

Recent interviews and research exposed pain points around Drupal's admin experience of looking and feeling dated, especially compared to our competitors, and universally cited that choosing a more modern-looking admin theme instantly led to Drupal being better-perceived by said users.

There was an amazing community effort to Create a Style Guide For Seven that vastly improved its look + feel compared to the original, but Design best practices and Drupal functionality have moved on since then.

Proposed resolution

Implement new progress bar styles to create a favorable first impression of Drupal for evaluators and a better user experience for site authors. No functional differences.

progress bar

Specs:
https://www.figma.com/file/OqWgzAluHtsOd5uwm1lubFeH/Drupal-Design-system...

Remaining tasks

  • Update patch styling to include time inputs
  • Accessibility review
  • RTL review (Right to left)

User interface changes

All progress bar styles will be changed, no functional differences.

Test Pages

/node/add/article
/user/1/edit?destination=/admin/people
/admin/modules/update (click on Check Manually)

/install.php
Manual step:

Move through the install process until you hit the progress bar

CommentFileSizeAuthor
#57 interdiff-progress-3023304-54-57.txt635 byteshuzooka
#57 claro-progress_bar-3023304-57.patch13.71 KBhuzooka
#4 progressbar.png115.36 KBsaschaeggi
#6 claro-progress-bar-3023304-5.patch2.98 KBshaal
#6 claro-progress-bar-3023304-5-mobile.png4.6 KBshaal
#6 claro-progress-bar-3023304-5-desktop.png5.36 KBshaal
#7 01--Progress--macOS--Safari--he--merged.png93.71 KBhuzooka
#7 02--Progress--Android--Chrome--merged.png59.09 KBhuzooka
#9 3023304-9.patch2.6 KBfinnsky
#9 4088c0b487d1d1aeec6322defa19e9f2.gif537.21 KBfinnsky
#9 a7fd46e460d64583a0a03b2dd30e0683.gif192.96 KBfinnsky
#10 3023304-10.patch4.89 KBfinnsky
#12 3023304-11.patch4.93 KBbrianperry
#15 progressScreenshots.zip3.41 MBhuzooka
#16 Ajax-progress-current-state.png68.76 KBhuzooka
#16 Ajax-progress-suggested.png68.43 KBhuzooka
#16 Ajax-progress-Seven.png63.04 KBhuzooka
#18 3023304-18.patch5.52 KBkostyashupenko
#18 interdiff_11-18.txt493 byteskostyashupenko
#19 removed-middle-now.png35.47 KBhuzooka
#19 with-middle-expected.png34.72 KBhuzooka
#21 3023304-21-reroll.patch5.42 KBkostyashupenko
#21 3023304-21-patch.patch5.34 KBkostyashupenko
#21 interdiff_21-reroll--21-patch.txt352 byteskostyashupenko
#22 progressScreenshots.zip3.44 MBhuzooka
#25 claro-progress_bars-3023304-25.patch6.28 KBhuzooka
#25 interdiff-3023304-21-25.txt1.82 KBhuzooka
#26 Screen Shot 2019-04-18 at 14.40.54.png5.69 KBlauriii
#26 Screen Shot 2019-04-18 at 14.42.21.png4.24 KBlauriii
#31 claro-progress_bars-3023304-31.patch6.42 KBhuzooka
#31 Claro-progress-reroll-shot--3023304-31.png237.23 KBhuzooka
#32 claro-progress_bars-3023304-32.patch9.92 KBlauriii
#32 interdiff.txt4.5 KBlauriii
#34 02--Progress--WIN8_1--chrome--merged.png88.2 KBhuzooka
#34 02--Progress--windows--internet-explorer--merged.png69.22 KBhuzooka
#35 02--Progress--windows--MicrosoftEdge--merged.png74.93 KBhuzooka
#36 claro-progress_bar-3023304-36.patch9.65 KBlauriii
#36 interdiff.txt2.48 KBlauriii
#36 Screen Shot 2019-06-05 at 18.31.51.png11.07 KBlauriii
#37 fullscreen-throbber--figma.png18.57 KBhuzooka
#37 fullscreen-throbber--patch-36.png7.22 KBhuzooka
#39 claro-progress_bar-3023304-39.patch9.74 KBhuzooka
#39 interdiff-progress-3023304-36-39.txt774 byteshuzooka
#40 bar--now.png2.6 KBhuzooka
#40 bar--filled.png2.56 KBhuzooka
#41 claro-progress_bar-3023304-41.patch11.94 KBlauriii
#41 interdiff.txt4.37 KBlauriii
#43 claro-progress_bar-3023304-43.patch12.96 KBlauriii
#43 interdiff.txt979 byteslauriii
#45 claro-progress_bar-3023304-45.patch12.93 KBhuzooka
#46 claro-progress_bar-3023304-46.patch13.26 KBlauriii
#46 claro-progress_bar-3023304-46.patch13.22 KBlauriii
#46 interdiff.txt2.16 KBlauriii
#48 claro-progress_bar-3023304-48.patch13.32 KBhuzooka
#48 interdiff-progress-3023304-46-48.txt855 byteshuzooka
#48 progressScreenshots.zip3.77 MBhuzooka
#48 progressScreenshots--high-contrast.zip383.46 KBhuzooka
#51 claro-progress_bar-3023304-51.patch13.32 KBhuzooka
#51 interdiff-progress-3023304-48-51.txt1.33 KBhuzooka
#54 claro-progress_bar-3023304-54.patch13.71 KBhuzooka
#54 interdiff-progress-3023304-51-54.txt570 byteshuzooka

Comments

antonellasevero created an issue. See original summary.

saschaeggi’s picture

Version: » 8.x-1.x-dev
Status: Active » Postponed

Needs design work

saschaeggi’s picture

Assigned: Unassigned » saschaeggi
saschaeggi’s picture

Issue summary: View changes
StatusFileSize
new115.36 KB
saschaeggi’s picture

Assigned: saschaeggi » Unassigned
Status: Postponed » Active

This is ready for implementation :)

shaal’s picture

Status: Active » Needs review
StatusFileSize
new2.98 KB
new4.6 KB
new5.36 KB

I created an initial patch for progress bar style update.

Desktop (big):
progress bar style update - big

Mobile (small):
progress bar style update - small

huzooka’s picture

Status: Needs review » Needs work
StatusFileSize
new93.71 KB
new59.09 KB

Re #6:

  1. Instead of defining a new library and attaching it directly in the template, just replace the progress.module.css in the info.yml
  2. The small version on Figma relates to the small progress version, and not for the mobile design.
  3. Elements below the bar are overflowing the actual .progress element. Please fix .progress__percentage and .progress__description!
  4. Omit using pixel units, and prefer variables.

Screenshots attached.

finnsky’s picture

Status: Needs work » Needs review
Related issues: +#3024395: Password Field Style Update

Hello all!

It was easier for me to create new patch. i rewrited classy progress.css but keeped stable progress.module.css since it contains all required for rtl.
Also i added states variables and implementations. I think it is better to use this component for password strength field.

finnsky’s picture

finnsky’s picture

StatusFileSize
new4.89 KB

Sorry i forgot to add

thejimbirch’s picture

Title: Progress bar style udpates » Progress bar style updates
brianperry’s picture

Issue tags: +midcamp2019
StatusFileSize
new4.93 KB

Reviewed the latest patch noticed that the progress element still had overflow issues with elements below it. Rolled a new patch that contains a fix for the overflow issues along with the rest of the styling (which looked good from my perspective.)

huzooka’s picture

Status: Needs review » Needs work
huzooka’s picture

Status: Needs work » Needs review
huzooka’s picture

StatusFileSize
new3.41 MB

Screenshots attached.

huzooka’s picture

Status: Needs review » Needs work
StatusFileSize
new68.76 KB
new68.43 KB
new63.04 KB

Re #12:

I only ask for adding vertical-align: top; to .ajax-progress (and remove the re-defined inline-block display of .ajax-progress-throbber).

Ajax progress in Seven themeAjax progress — current implementationAjax progress — suggested, with vertically aligned to top

Nothing else.

Excellent (and elegant) work!

kostyashupenko’s picture

Assigned: Unassigned » kostyashupenko
kostyashupenko’s picture

Assigned: kostyashupenko » Unassigned
Status: Needs work » Needs review
StatusFileSize
new5.52 KB
new493 bytes
huzooka’s picture

Status: Needs review » Needs work
StatusFileSize
new35.47 KB
new34.72 KB

Re #18:

This is too much.

+++ b/css/src/components/ajax-progress.module.css
@@ -20,12 +21,10 @@
-  vertical-align: middle;

This makes throbbers worse than before... Please take it back!

Without middleWith middle

kostyashupenko’s picture

Issue tags: +Needs reroll
kostyashupenko’s picture

Status: Needs work » Needs review
Issue tags: -Needs reroll
StatusFileSize
new5.42 KB
new5.34 KB
new352 bytes
huzooka’s picture

StatusFileSize
new3.44 MB

Screenshots look nice :)

finnsky’s picture

Re #16
@huzooka according to BEM principles alignment of ajax-progress__button and ajax-progress__progress-bar elements should be managed on level of ajax-progress block. so it is not really related to progress bar block.

From: https://en.bem.info/methodology/quick-start/#block
The block shouldn't influence its environment, meaning you shouldn't set the external geometry (margin) or positioning for the block.

so progress-bar itself shouldn't contain any alignment. but we may and seems have to add it on ajax-progress__progress-bar element. So maybe it is not the problem of this issue?

huzooka’s picture

Assigned: Unassigned » huzooka
Status: Needs review » Needs work
huzooka’s picture

Assigned: huzooka » Unassigned
Status: Needs work » Needs review
StatusFileSize
new6.28 KB
new1.82 KB

Fix based on the principles highlighted in #23.

No aligns anymore :)

lauriii’s picture

Issue summary: View changes
Status: Needs review » Needs work
StatusFileSize
new5.69 KB
new4.24 KB

Nice progress so far! 👏 Thank you everyone for pushing this forward!

  1. +++ b/css/src/base/variables.css
    @@ -5,6 +5,7 @@
    +  --color-text-light: var(--color-grayblue);
    

    This is leading into wrong text color. The documented text color is Davy's Gray (#545560).


  2. There's still some inconsistencies with the vertical align.

huzooka’s picture

@lauriii Well we have to decide how deep we want to follow BEM principles. I think that @finnsky is right (see #23), but only visually I still prefer the aligned version.

huzooka’s picture

Re #26: note that on the attached screenshots the throbber is aligned to the baseline, and that's not a bad situation imho.

ckrina’s picture

huzooka’s picture

Assigned: Unassigned » huzooka
Issue tags: +Needs reroll
huzooka’s picture

Assigned: huzooka » Unassigned
Issue tags: -Needs reroll
StatusFileSize
new6.42 KB
new237.23 KB

Re-rolled the patch form #25.

Screenshot attached.

lauriii’s picture

Status: Needs work » Needs review
StatusFileSize
new9.92 KB
new4.5 KB

This hopefully fixes the vertical align issues.

huzooka’s picture

Testing #32.

huzooka’s picture

IE and Edge are rendering the throbber really ugly.

huzooka’s picture

StatusFileSize
new74.93 KB

...well, IE11 and Edge.

lauriii’s picture

Issue summary: View changes
StatusFileSize
new9.65 KB
new2.48 KB
new11.07 KB

We probably actually don't need the svg at all. In my opinion, this looks better in all browsers, including high contrast (even though the empty space of throbber isn't completely empty). This way we also don't have to worry about this browser compatibility issue.

Edit: for some reason, the interdiff isn't showing the file spinner.svg deletion but it can be found from the actual patch.

huzooka’s picture

Status: Needs review » Needs work
StatusFileSize
new18.57 KB
new7.22 KB

Re #36:

Excellent catch! I agree that we don't need the SVG at all.

But the full-screen throbber does not follow the design definition anymore:

Fullscreen throbber on Figma Fullscreen throbber from patch #36

huzooka’s picture

Assigned: Unassigned » huzooka

I'll fix this!

huzooka’s picture

Assigned: huzooka » Unassigned
StatusFileSize
new9.74 KB
new774 bytes

The throbber on IE and Edge is a bit worse than without the patch from #36 or the attached one...

huzooka’s picture

StatusFileSize
new2.6 KB
new2.56 KB

We need to fill the progress bar with the text color in high contrast mode:

@media screen and (-ms-high-contrast: active) {
  .progress__bar {
    background-color: windowText;
  }
}

Progress bar now Filled progress bar

lauriii’s picture

Status: Needs work » Needs review
StatusFileSize
new11.94 KB
new4.37 KB

Fixed the IE 11 problem raised in #39. I also customized the ajax markup to make it follow BEM standards.

huzooka’s picture

I'm reviewing this.

lauriii’s picture

StatusFileSize
new12.96 KB
new979 bytes

Added missing compiled JavaScript file to the patch.

huzooka’s picture

Assigned: Unassigned » huzooka
Status: Needs review » Needs work
Issue tags: +Needs reroll

Only one thing:

+++ b/css/src/components/ajax-progress.module.css
@@ -80,38 +77,29 @@
+.ajax-progress--fullscreen .ajax-progress__throbber {

+++ b/js/claro.ajax.es6.js
@@ -0,0 +1,45 @@
+    '<div class="ajax-progress ajax-progress--fullscreen"><div class="ajax-progress__throbber">&nbsp;</div></div>';

Now that we are able to use BEM structure, I'd use a modifier for the fullscreen throbber, e.g. .ajax-progress__throbber--fullscreen.

huzooka’s picture

Assigned: huzooka » Unassigned
Issue tags: -Needs reroll
StatusFileSize
new12.93 KB

Re-rolled patch from #43, no other changes applied.

We noticed a weird issue with the throbber that happens only on high-contrast Edge and only with an RTL language.

lauriii’s picture

Status: Needs work » Needs review
StatusFileSize
new13.26 KB
new13.22 KB
new2.16 KB

This fixes the shakiness on throbber in high-contrast Edge RTL.

huzooka’s picture

Assigned: Unassigned » huzooka
Status: Needs review » Needs work
huzooka’s picture

Assigned: huzooka » Unassigned
Status: Needs work » Needs review
StatusFileSize
new13.32 KB
new855 bytes
new3.77 MB
new383.46 KB

I increased the size of the full screen throbber to work around it's shaking animation in Safari on a non-retina display and fixed a minor RTL issue.

The attached screenshots were generated before the RTL margin of .ajax-progress--throbber was fixed.

Nothing else.

I think this is ready for committing!

lauriii’s picture

Status: Needs review » Needs work
  1. +++ b/css/src/components/progress.css
    @@ -0,0 +1,83 @@
    +  padding: 0 1px;
    

    I think we should remove this property. Because of this, the progress bar is leaking 2px out of the container when it is at 100%.

  2. +++ b/css/src/base/variables.css
    @@ -188,4 +189,34 @@
    +  /* is-good */
    +  --color-progress-bar-bg-is-good: var(--color-absolutezero);
    +  --color-progress-bar-border-is-good: var(--color-absolutezero);
    +++ b/css/src/components/progress.css
    @@ -0,0 +1,83 @@
    +.progress__bar.is-good {
    +  border-color: var(--color-progress-bar-border-is-good);
    +  background-color: var(--color-progress-bar-bg-is-good);
    +}
    

    The styleguide doesn't define color for this state. I think we could use the same color as we use for the fair state until we get more information from the design team.

huzooka’s picture

Assigned: Unassigned » huzooka

I'll fix these.

huzooka’s picture

Assigned: huzooka » Unassigned
Status: Needs work » Needs review
StatusFileSize
new13.32 KB
new1.33 KB

Addressing #49, and on top of those, I also changed the border-color of the fair state.

lauriii’s picture

Status: Needs review » Needs work
+++ b/css/src/base/variables.css
@@ -188,4 +189,34 @@
+  --color-progress-bar-bg-is-strong: var(--color-celadongreen);
+  --color-progress-bar-border-is-strong: var(--color-celadongreen);

Sorry, I didn't notice this earlier 🤦‍♂️This leads into #228572, but according to the designs this should be #26a769.

huzooka’s picture

Assigned: Unassigned » huzooka
huzooka’s picture

Assigned: huzooka » Unassigned
Status: Needs work » Needs review
StatusFileSize
new570 bytes
new13.71 KB

It seems that the color palette was changed. We don't have celadon green anymore, but we have lightning green instead of that.

I updated the variables and completely removed celadon green.

lauriii’s picture

Status: Needs review » Needs work
+++ b/css/src/base/variables.css
@@ -188,4 +189,34 @@
+  --color-progress-bar-bg-is-strong: var(--color-celadongreen);
+  --color-progress-bar-border-is-strong: var(--color-celadongreen);

We should update this to use the new lightning green color 🤠

huzooka’s picture

Assigned: Unassigned » huzooka
huzooka’s picture

Assigned: huzooka » Unassigned
Status: Needs work » Needs review
StatusFileSize
new13.71 KB
new635 bytes

Maybe this time?..

lauriii’s picture

Status: Needs review » Fixed

Thank you everyone! This looks great ✨Committed and pushed!

  • lauriii committed fb3532f on 8.x-1.x
    Issue #3023304 by huzooka, lauriii, kostyashupenko, finnsky, shaal,...
lauriii’s picture

Status: Needs review » Fixed

Not sure what has moved this back to needs review 🤷‍♂️

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.