Skip to content

CircularProgress & LinearProgress visual styling - #1594

Open
FlyersPh9 wants to merge 43 commits into
mainfrom
jon/progress-colors
Open

CircularProgress & LinearProgress visual styling#1594
FlyersPh9 wants to merge 43 commits into
mainfrom
jon/progress-colors

Conversation

@FlyersPh9

@FlyersPh9 FlyersPh9 commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Changes

  • Apply correct colors.
  • Applied rounded corners.
  • Introduce thickness variables for track and fill.
  • Split Progress.md into CircularProgress.md & LinearProgress.md.
  • Updated documentation + demos for Colors & Determinate (extracted from Demos for iTwinUI feature parity #1592).
  • CircularProgress:
    • enableTrackSlot defaults to true.
  • LinearProgress:
    • Added end marker when variant is set to "buffer" or "determinate".

CircularProgress Deploy preview 👀
CircularProgress documentation 📚
LinearProgress Deploy preview 👀
LinearProgress documentation 📚

Component Theme Before After
CircularProgress Light circular-before-light Screenshot 2026-07-27 at 2 43 26 PM
CircularProgress Dark circular-before-dark Screenshot 2026-07-27 at 2 43 36 PM
CircularProgress forced-colors circular-before-forcedcolors Screenshot 2026-07-27 at 2 43 48 PM
LinearProgress Light linear-before-light Screenshot 2026-07-27 at 2 40 27 PM
LinearProgress Dark linear-before-dark Screenshot 2026-07-27 at 2 40 00 PM
LinearProgress forced-colors linear-before-forcedcolors Screenshot 2026-07-27 at 2 40 50 PM

Testing

  • Light, dark, forced-colors.
  • All color options.
  • All variants.

@FlyersPh9 FlyersPh9 self-assigned this Jun 30, 2026
@FlyersPh9
FlyersPh9 marked this pull request as ready for review June 30, 2026 20:40
@FlyersPh9
FlyersPh9 requested a review from a team as a code owner June 30, 2026 20:40
@FlyersPh9
FlyersPh9 requested review from GerardasB, angrycat9000 and mayank99 and removed request for a team June 30, 2026 20:40
angrycat9000

This comment was marked as resolved.

@FlyersPh9

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm noticing some visual artifacting around the edges in CircularProgress.

screenshot

(This may have been present before, but it's definitely more pronounced now.)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Can you check if ba6771c is helping? I can't seem to reproduce. Are you by any chance viewing the visual artifacting on a retina display?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

That did not seem to make a difference. I'm on a normal 2560x1440 display.

I saw similar artifacting in your screenshots in the other thread.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

It's probably because of fractional values. Do we have any control over the sizing?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

CircularProgress accepts:

Without changing those props, the <svg> is displaying at 40px, but the <circle>s display at 36.73px. Perhaps we can solve it by changing thickness.

I would prefer to tackle pre-defined size + thickness in a separate PR.

@mayank99 mayank99 Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Could start working on that PR in parallel. It seems like an important part of fixing the visual styling (which this PR is trying to do).

Edit: What I mean is fixing the default size + thickness, not adding new predetermined sizes.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thickness has been adjusted, but visual artifacting is unfortunately still noticeable (the curves look "jagged").

image

Not a blocker; just wanted to update this thread on the latest state.

Comment thread packages/mui/src/~components/MuiCircularProgress.css Outdated

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think I'd prefer separate documentation pages per component.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yep, we can split

@FlyersPh9 FlyersPh9 Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think we'll need to take a closer look at the determinate demos.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Check for broken links now that /components/progress no longer exists.

And yeah, I don't feel confident in those determinate demos.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Check for broken links now that /components/progress no longer exists.

Fixed anchors pointing to old progress docs URL in 1f03f4d.

And yeah, I don't feel confident in those determinate demos.

The things I am uncertain about:

  1. The extra code to get the progress bar to increase from 0-100% bloats the file while the focus should be on just the component and it's props.
  2. aria-labelledby is tied only to "Uploading…", does not include the %.
  3. The CircularProgress requires an absolute positioned box to get the percentage centered.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Today we agreed to simplify the determinate examples to show the most basic usage.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Simplified determinate examples in f8a5294.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Updated the determinate examples in 7c94fa9 to show the percentage but left out the animation.

Comment thread packages/mui/src/~components/MuiLinearProgress.css
@mayank99

Copy link
Copy Markdown
Collaborator

Setting color to something other than "primary" or "secondary" makes the progress indicators invisible.

Is it caused by this PR? Then we should fix it before merging.

Evaluating color values can be done separately in #1577.

@FlyersPh9

FlyersPh9 commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

Setting color to something other than "primary" or "secondary" makes the progress indicators invisible.

Is it caused by this PR?

Yes it is, this is from the main branch setting color="error".

Screenshots (from main branch) Screenshot 2026-07-24 at 4 41 44 PM Screenshot 2026-07-24 at 4 42 14 PM

What I think I should do is apply --stratakit-color-icon-*-base to all the different colors. We don't need to show these in the demos (at least not immediately until we know what colors we actually want to suggest).
Another option is remove those color options.

EDIT: colors added in 9cc0a75.

Comment thread packages/mui/src/~createTheme.tsx Outdated
Comment thread packages/mui/src/~components/MuiLinearProgress.css Outdated
Comment thread packages/mui/src/~components/MuiLinearProgress.css Outdated
Comment thread packages/mui/src/~components/MuiCircularProgress.css
Comment thread packages/mui/src/~createTheme.tsx
@angrycat9000

This comment was marked as outdated.

Comment thread packages/mui/src/~components/MuiLinearProgress.css Outdated
Co-authored-by: Mayank <9084735+mayank99@users.noreply.github.com>
@mayank99

Copy link
Copy Markdown
Collaborator

Top image is at 100% scale, bottom at 250%. Progress bars in each are uploading and buffering

I'm seeing different colors in the two images, possibly because the code was updated as you were capturing the screenshots. Could you re-capture the latest state just to be sure? @angrycat9000

Comment thread apps/website/src/content/docs/components/mui/LinearProgress.md Outdated
Comment thread apps/website/src/content/docs/components/mui/LinearProgress.md Outdated
Comment thread apps/website/src/content/docs/components/mui/LinearProgress.md Outdated
Comment thread apps/website/src/content/docs/components/mui/LinearProgress.md Outdated
Co-authored-by: Mayank <9084735+mayank99@users.noreply.github.com>
@angrycat9000

Copy link
Copy Markdown
Contributor

Top image is at 100% scale, bottom at 250%. Progress bars in each are uploading and buffering

I'm seeing different colors in the two images, possibly because the code was updated as you were capturing the screenshots. Could you re-capture the latest state just to be sure? @angrycat9000

image image

@mayank99

Copy link
Copy Markdown
Collaborator

😕 Still seeing different colors in those two images. It's very strange that zooming would change the colors.

For comparison, this is MS Edge on macOS:

screenshot (100%) screenshot (OS zoom)

Colors and centering both look correct.

Comment thread apps/website/src/content/docs/components/mui/CircularProgress.md

@mayank99 mayank99 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This seems good to go. Since it is a somewhat big change, it might be wise to wait for some of the regression fixes to be released in #1660 first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants