Skip to content

feat(header, footer, tab-bar): add scrollEffect prop#31263

Merged
OS-susmitabhowmik merged 74 commits into
nextfrom
ROU-12870-scroll-effect
Jul 24, 2026
Merged

feat(header, footer, tab-bar): add scrollEffect prop#31263
OS-susmitabhowmik merged 74 commits into
nextfrom
ROU-12870-scroll-effect

Conversation

@OS-susmitabhowmik

@OS-susmitabhowmik OS-susmitabhowmik commented Jul 10, 2026

Copy link
Copy Markdown

Issue number: resolves internal


What is the current behavior?

  • ion-header and ion-footer have a collapse prop for scroll-driven effects (condense, fade), but it only works on the iOS theme.
  • ion-tab-bar has an unreleased hideOnScroll boolean prop that only works on the Ionic theme with expand="compact".
  • Previously the large title typography was not available in md mode

What is the new behavior?

  • Adds a new scrollEffect string enum prop to ion-header, ion-footer, and ion-tab-bar.
  • scrollEffect="hide" slides the bar out of view when scrolling down and back in when scrolling up.
  • scrollEffect="condense" and scrollEffect="fade" on ion-header/ion-footer replace the existing collapse values and work across all themes.
  • Deprecates the collapse prop on ion-header and ion-footer with a console warning directing developers to use scrollEffect.
  • Removes the unreleased hideOnScroll prop from ion-tab-bar.
  • When ion-tab-bar is nested inside ion-footer, the footer owns the hide animation to prevent double-animation
  • Typography for the md mode was added.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Relevant Test Pages:

Header

Footer

Tab Bar

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview, Comment Jul 23, 2026 7:15pm

Request Review

@github-actions github-actions Bot added package: core @ionic/core package package: angular @ionic/angular package package: vue @ionic/vue package package: react @ionic/react package labels Jul 10, 2026
@OS-susmitabhowmik
OS-susmitabhowmik marked this pull request as ready for review July 13, 2026 17:01
@OS-susmitabhowmik
OS-susmitabhowmik requested a review from a team as a code owner July 13, 2026 17:01
@OS-susmitabhowmik
OS-susmitabhowmik requested a review from ShaneK July 13, 2026 17:01

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hey, great work on this! I highlighted a few issues I found, some of them aren't as important as others, but still

Comment thread core/src/components/header/header.tsx
Comment thread core/src/utils/content/index.ts Outdated
Comment thread core/src/components/footer/footer.tsx
Comment thread core/src/components/header/header.tsx
Comment thread core/src/components/tab-bar/tab-bar.tsx
Comment thread core/src/components/footer/footer.tsx
Comment thread core/src/components/tab-bar/tab-bar.tsx Outdated
Comment thread core/src/utils/scroll-hide-controller.ts
@OS-susmitabhowmik

Copy link
Copy Markdown
Author

Hey, I think we're finally getting close to getting this one wrapped up! Just a few more issues I noticed, but we're so close!

@ShaneK Thanks for all the help on this! I addressed your latest round of comments and also noticed that some tests were using the deprecated collapse property so I updated these to use scrollEffect. Could you please take another look?

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for those changes, we're looking amazing! Just a few remaining things I noticed and I think we're done after this!

Comment thread core/src/components/tab-bar/tab-bar.tsx Outdated
Comment thread core/src/components/tab-bar/tab-bar.ionic.scss
Comment thread core/src/components/header/header.tsx Outdated

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good to me! Great work 🎉

@OS-susmitabhowmik
OS-susmitabhowmik merged commit 0d0804c into next Jul 24, 2026
50 checks passed
@OS-susmitabhowmik
OS-susmitabhowmik deleted the ROU-12870-scroll-effect branch July 24, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular @ionic/angular package package: core @ionic/core package package: react @ionic/react package package: vue @ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants