Overview
v9.1.0 makes the theme easier to reuse, extend, and override in downstream applications. The rendered Material Design 3 appearance is intended to remain unchanged; the main improvement is that more styling now flows through Ionic's public customization APIs and the normal CSS cascade.
Theme customization and reuse
- Moved eligible styling from Shadow Parts to documented Ionic CSS custom properties, including back-button sizing and padding, range knob colors, toggle track and handle colors, and disabled detail-icon opacity. Shadow Parts remain only where Ionic does not expose an equivalent public property. (#39)
- Removed the remaining
!importantdeclarations from the shipped theme styles. Action-sheet width, outlined fields in inset lists, and structured-list action icons can now be overridden through normal cascade order and specificity. (#39) - Preserved Ionic's standard color behavior: explicit
colorvalues on inset-list notes, header labels, and header icons now take precedence, while the theme defaults still apply when no color is specified. (#41, #42)
More robust composition patterns
- Input and textarea counters are now treated as structured-list support text, so counters remain visible and list borders are placed correctly. This covers both the built-in input counter and
counterFormatteroutput. (#34) - Structured group styling is now scoped to direct children of each inset list. A single
ion-radio-groupcan span multiple inset lists without nested groups receiving duplicate boundaries. (#36) - Toolbar start-slot detection now considers direct children only, preventing nested slotted content from unexpectedly changing title padding. (#35)
For maintainers and contributors
- Added gated package candidates: an administrator can publish a CI-verified pull-request commit to the
betanpm dist-tag with/beta, while verifiedmaincandidates publish tonext. Candidate publishing cannot updatelatest. (#37)
No markup migration is expected for this release. Existing visuals and interaction states were kept compatible and checked with builds, component tests, and light/dark screenshot coverage.
Full Changelog: v9.0.2...v9.1.0