Skip to content

Conversation

@brandyscarney
Copy link
Member

@brandyscarney brandyscarney commented Jan 20, 2026

Issue number: N/A


What is the current behavior?

Range adds classes to the knobs at min and max, but the host element doesn't reflect those states.

What is the new behavior?

  • Adds range-value-min and range-value-max when the value is at the min or max, respectively.
  • Adds a spec test verifying the classes are applied properly.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Dev build: 8.7.17-dev.11768943212.1b316931

@vercel
Copy link

vercel bot commented Jan 20, 2026

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

Project Deployment Review Updated (UTC)
ionic-framework Ready Ready Preview, Comment Jan 20, 2026 9:08pm

Request Review

@github-actions github-actions bot added the package: core @ionic/core package label Jan 20, 2026
@brandyscarney brandyscarney marked this pull request as ready for review January 20, 2026 21:24
@brandyscarney brandyscarney requested a review from a team as a code owner January 20, 2026 21:24
@brandyscarney brandyscarney requested a review from ShaneK January 20, 2026 21:24
Copy link
Contributor

@thetaPC thetaPC left a comment

Choose a reason for hiding this comment

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

LGTM

@rdlabo
Copy link
Contributor

rdlabo commented Jan 22, 2026

Great work — thank you for this improvement!

I noticed one potential limitation: since dual-knobs is not reflected in the DOM, using [dualKnobs]="true" makes this approach difficult to use in practice. We may want to think about how dual-knobs should be handled.

Two possible options could be:

  1. Also set a .use-dual-knobs class (this would be the quickest solution).
  2. When dual-knobs is enabled, provide part="knob knob-a" / part="knob knob-b".

ex:

  &:not(.dual-knobs).range-pressed {
    &.range-value-min::part(knob) {}
    &.range-value-max::part(knob) {}
  }

  &.dual-knobs.range-pressed {
    &.range-value-min::part(knob-a) {}
    &.range-value-max::part(knob-b) {}
  }

Either of these would greatly expand how this can be leveraged.

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

Labels

package: core @ionic/core package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants