Skip to content

Releases: rdlabo-dev/ionic-theme-md3

v9.1.0

Choose a tag to compare

@rdlabo rdlabo released this 02 Sep 13:17

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 !important declarations 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 color values 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 counterFormatter output. (#34)
  • Structured group styling is now scoped to direct children of each inset list. A single ion-radio-group can 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 beta npm dist-tag with /beta, while verified main candidates publish to next. Candidate publishing cannot update latest. (#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

v9.1.0-1

v9.1.0-1 Pre-release
Pre-release

Choose a tag to compare

@rdlabo rdlabo released this 01 Sep 16:01

What's Changed

  • fix(list): respect ion-note color in inset lists by @rdlabo in #41
  • fix(color): preserve Ionic color attributes by @rdlabo in #42

Commits

  • fix(color): preserve Ionic color attributes (#42) fa986f7
  • fix(list): respect ion-note color in inset lists (#41) 2359168

v9.1.0-0...v9.1.0-1

v9.1.0-0

v9.1.0-0 Pre-release
Pre-release

Choose a tag to compare

@rdlabo rdlabo released this 31 Aug 06:11

What's Changed

  • fix: support counters in structured lists by @rdlabo in #34
  • fix: scope toolbar start slot detection to direct children by @rdlabo in #35
  • ci: publish gated beta and next candidates by @rdlabo in #37
  • fix: support radio groups across inset lists by @rdlabo in #36
  • refactor: prefer CSS custom properties over Shadow Parts by @rdlabo in #39

Commits

  • refactor: prefer CSS custom properties over Shadow Parts (#39) 337938e
  • fix: support radio groups across inset lists (#36) ef4ec31
  • ci: allow maintainers to request beta releases 16a8a44
  • ci: separate beta publishing from notifications 027fe7c
  • fix: keep beta gate failures non-blocking 1c7ea4f
  • ci: acknowledge administrator beta requests 2fbf5a6
  • fix: restrict prerelease publishing paths 8fb9976
  • ci: publish gated beta and next candidates (#37) f6166e9
  • fix: scope toolbar start slot detection to direct children (#35) 826cf86
  • fix: support counters in structured lists (#34) 8addad2

v9.0.2...v9.1.0-0

v9.0.2

Choose a tag to compare

@rdlabo rdlabo released this 27 Aug 14:00

What's Changed

  • docs: link README guides to docs.rdlabo.dev by @rdlabo in #31
  • fix: support helper and error text outside inset lists by @rdlabo in #32
  • fix: apply inset styles to all list groups by @rdlabo in #33

Commits

  • fix: apply inset styles to all list groups (#33) 1603789
  • fix: support text outside inset lists (#32) 29beb66
  • docs: link README guides to docs.rdlabo.dev (#31) 54b810e

v9.0.1...v9.0.2

v9.0.1

Choose a tag to compare

@rdlabo rdlabo released this 25 Aug 04:36

Overview

This patch completes the component updates that were left out of the previous MD3 theme release.

Changed

  • Added helper and error text examples for:
    • ion-select
    • ion-checkbox
    • ion-toggle
    • ion-radio-group
  • Integrated ion-select supporting text with inset-list dividers.
  • Positioned ion-radio-group supporting text below its options.
  • Preserved MD3 inset-list spacing and rounded corners.

Compatibility

This release contains no breaking changes. No migration is required.

What's Changed

  • feat: support helper and error text for select, checkbox, toggle, and radio group (#30)
  • docs: mark screenshot for overview
  • docs: clarify v9 migration path

Full Changelog: v9.0.0...v9.0.1

v9.0.0

Choose a tag to compare

@rdlabo rdlabo released this 24 Aug 07:13

Ionic Theme MD3 v9.0.0

This release aligns the theme's major version with Ionic 9 while continuing to support Ionic 8.

If you are upgrading from a version released last month or earlier, v9 also includes the UI features and fixes introduced on the way through v2.x.

Compatibility

  • @ionic/core >=8.8.0 <10
  • Ionic 8 and Ionic 9 demos and visual regression coverage
npm install @rdlabo/ionic-theme-md3@^9

Breaking change for users upgrading from v1.x or earlier

Rename the Inset List section-header class:

- <ion-item-group class="header-item-group">
+ <ion-item-group class="item-group-header">

The old class has been removed. If you already use v2.x, no additional application-side markup change is required for v9.0.0.

See the migration guide for details.

Included since the earlier releases

  • Two-line ion-item layouts with Supporting text
  • Natural helperText and errorText layouts for Inputs and Textareas
  • Shared markup and documented integration with @rdlabo/ionic-theme-ios26
  • Ionic 8 and Ionic 9 visual regression tests in Light and Dark modes
  • Refined dividers, icon-only Buttons, navigation, and component presentation
  • Companion ESLint rule guidance for consistent Inset List structure

See the complete release overview

The release article includes mobile screenshots, markup examples, compatibility details, and the full list of changes across both themes:

Bringing iOS 26 and Material Design 3 to Ionic: Both Themes Reach v9

Full Changelog: v2.1.0...v9.0.0

v2.1.0

Choose a tag to compare

@rdlabo rdlabo released this 24 Aug 05:03

What's Changed

  • docs: distinguish Ionic Angular import paths by @rdlabo in #27
  • docs: use stable release links by @rdlabo in #26
  • docs: mention ion item group ESLint rule by @rdlabo in #28
  • feat: improve MD3 input supporting text layouts by @rdlabo in #29

Commits

  • feat: improve MD3 input supporting text layouts (#29) 09639b9
  • docs: link package homepage to documentation d8b8ef9
  • docs: add maintainer information 6395006
  • docs: mention ion item group ESLint rule (#28) 86c8aa8
  • docs: use stable release links (#26) d5cd29f
  • docs: distinguish Ionic Angular import paths (#27) eb6139d

v2.0.0...v2.1.0

v2.0.0

Choose a tag to compare

@rdlabo rdlabo released this 22 Aug 02:44

Ionic Theme Material Design 3 v2.0.0

This release improves structured inset lists, toolbar and modal spacing, Ionic 9 compatibility coverage, and integration with the iOS 26 theme.

Breaking change

The section-header class for ion-item-group has been renamed:

- <ion-item-group class="header-item-group">
+ <ion-item-group class="item-group-header">

The old class is no longer styled. Update shared markup used with @rdlabo/ionic-theme-ios26 at the same time.

What’s new

  • Added structured two-line inset items using direct, unslotted ion-label and ion-note children.
  • Removed the divider from the final item in an inset group.
  • Improved icon-only toolbar and back-button sizing, alignment, and title spacing.
  • Corrected toolbar padding in regular, card, and sheet modals, including safe-area handling.
  • Added tested demo and screenshot coverage for Ionic 8 and Ionic 9.
  • Added complete dual-theme setup guidance, including Sass import order, dark mode, and platform-specific transitions.
  • Reorganized the public documentation around installation, special markup, grouped lists, and migration.

Compatibility

  • Requires @ionic/core >=8.8.0 <10.
  • Using the current iOS 26 theme alongside MD3 requires @ionic/core >=8.8.1.
  • Applications using @ionic/core <8.8.0 should remain on @rdlabo/ionic-theme-md3@1.0.2 or upgrade Ionic.

See the migration guide (https://github.com/rdlabo-dev/ionic-theme-md3/blob/v2.0.0/docs/migration.md) for upgrade details.

Full changelog: v1.1.0...v2.0.0

v2.0.0-1

v2.0.0-1 Pre-release
Pre-release

Choose a tag to compare

@rdlabo rdlabo released this 21 Aug 18:18

What's Changed

  • refactor(demo): use lazy native images by @rdlabo in #17
  • fix(modal): adjust toolbar spacing by @rdlabo in #16
  • feat(list): support structured two-line items by @rdlabo in #19
  • docs: organize MD3 theme guides by @rdlabo in #20

Commits

  • docs: organize public theme guides (#20) f71fdc0
  • feat(list): support structured two-line items (#19) a2321e1
  • fix(ci): grant PR comment permissions 81b38b9
  • fix(modal): adjust toolbar spacing (#16) d633ac4
  • refactor(demo): use lazy native images (#17) 5df8c7b

v2.0.0-0...v2.0.0-1

v2.0.0-0

v2.0.0-0 Pre-release
Pre-release

Choose a tag to compare

@rdlabo rdlabo released this 21 Aug 10:35

What's Changed

  • chore: set "private": false in package.json by @rdlabo in #8
  • fix(demo): make demo tests pass and run them in CI by @rdlabo in #7
  • ci: speed up demo lint CI (npm + .angular cache) by @rdlabo in #9
  • Point READMEs to centralized documentation by @rdlabo in #10
  • docs: slim README with omit markers for GitHub-only sections by @rdlabo in #11
  • fix(toolbar): align icon-only buttons by @rdlabo in #12
  • test(e2e): verify Ionic 8 and 9 compatibility by @rdlabo in #13
  • ci(demo): deploy Ionic 8 and 9 sites by @rdlabo in #14
  • docs: update demo URLs by @rdlabo in #15

Commits

  • docs: update demo URLs (#15) 64578e4
  • ci(demo): deploy Ionic 8 and 9 sites (#14) 1f43b78
  • test(e2e): verify Ionic 8 and 9 compatibility (#13) 1ec24c7
  • fix(toolbar): align icon-only buttons (#12) 9684735
  • docs: slim README with omit markers for GitHub-only sections (#11) bd8fd90
  • point README to centralized documentation (#10) 6c09f72
  • Update references after GitHub organization transfer 2a0c8ad
  • Merge pull request #9 from rdlabo-team/chore/ci-cache-speedup a0f10c1
  • ci: unify lint workflow trigger (PR + push on main) e14cd59
  • ci: speed up demo lint CI with npm and .angular cache (node 24) b62b015
  • Merge pull request #7 from rdlabo-team/fix/demo-tests-ci 79a7385
  • ci: unpin node to 24 to match npm 11.7 lockfile 888684f
  • chore: sync package-lock.json after ESLint version bump 98b849d
  • chore: align ESLint config and versions to winecode standard 0f3f9be
  • Merge pull request #8 from rdlabo-team/chore/set-private-field 5c1fcdd
  • chore: set "private": false in package.json 327c501
  • fix(demo): pin @playwright/test to 1.58.2 to match CI container image 4ea36b6
  • test(demo): migrate unit tests from Karma+Jasmine to Vitest(jsdom) 17d109f
  • ci(lint): install and build root package before demo tests a764d11
  • fix(demo): correct docs spec class name and run demo tests in CI 06638e6

v1.1.0...v2.0.0-0