Skip to content

Conversation

@hcopp
Copy link
Contributor

@hcopp hcopp commented Jan 5, 2026

What changed? Why?

This PR brings consistent support to disable animate on mount to progress bar and progress circle across web and mobile, after #280 shown that the prop existed but wasn't being used for progress circle.

Root cause (required for bugfixes)

While the prop existed in some spots, we weren't supporting it. See #280.

UI changes

Mobile

Web

Testing

How has it been tested?

  • Unit tests
  • Interaction tests
  • Pseudo State tests
  • Manual - Web
  • Manual - Android (Emulator / Device)
  • Manual - iOS (Emulator / Device)

Testing instructions

Illustrations/Icons Checklist

Required if this PR changes files under packages/illustrations/** or packages/icons/**

  • verified visreg changes with Terran (include link to visreg run/approval)
  • all illustration/icons names have been reviewed by Dom and/or Terran

Change management

type=routine
risk=low
impact=sev5

automerge=false

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Jan 5, 2026

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 1
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1
CODEOWNERS ✅ See below

CODEOWNERS

Code Owner Status Calculation
ui-systems-eng-team 1/1
Denominator calculation
Additional CODEOWNERS Requirement
Show calculation
Sum 0
0
From CODEOWNERS 1
Sum 1


<Text variant="label2">Disable animation on mount</Text>
<ProgressBarWithFixedLabels
disableAnimateOnMount
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adding this twice is a little annoying but it works this way for disable as well.

/>
</HStack>
<HStack gap={2}>
<HStack gap={2} flexWrap="wrap">
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Was fixing some responsiveness issues on the docs page on my phone

checksum: 10c0/d8cddf817d5bec8e7c2106affdbf1bfc3923463ca16697c992b2efeb043e6a5d9dcb70cda913bc6acf9112fd66f9e80279316c08e7800359116925066a63fdfa
version: 1.0.30001762
resolution: "caniuse-lite@npm:1.0.30001762"
checksum: 10c0/93707eac5b0240af3f2ce6e2d7ab504a6fefcf9c2f9cd8fb9d488e496a333c61e557dab0472c1b00c17bc386a5dbb792aa4c778cda2d768e17f986617d7aec53
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updating browserslist

usePreviousValues<number>([disableAnimateOnMount ? progress : 0]);
const [size, onLayout] = useLayout();
const containerWidth = size.width;
const [hasAnimationMounted, setHasAnimationMounted] = useState(!disableAnimateOnMount);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wasn't able to get a clean animation on web and mobile that didn't have an initial mount state but we need to also get the container size first

Copy link
Contributor

@maximo-macchi-cb maximo-macchi-cb left a comment

Choose a reason for hiding this comment

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

Great work! Just some small comments to address

Comment on lines 299 to 303
await waitFor(() => {
expect(bar).toHaveStyle({
transform: 'translateX(-50%) translateZ(0)',
});
});
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this assertion guaranteed to be checked right as the component is mounted? If you remove disableAnimateOnMount from the example <ProgressBar>, does the test fail?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch, I have adjusted the tests to check style right away and compare with disableAnimateOnMount prop.

Apache-2.0 License

Copyright 2025 Coinbase
Copyright 2026 Coinbase
Copy link
Contributor

Choose a reason for hiding this comment

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

Happy new year! 🎉

@hcopp hcopp merged commit 7100ea8 into master Jan 6, 2026
24 checks passed
@hcopp hcopp deleted the hunter/progress-disable-on-mount branch January 6, 2026 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants