Updated minimum dependencies to Dart >=2.18.0 and Flutter >= 3.3.0.
Due to a number of known and below documented Flutter SDK issues when using useMaterial3 set to
true, we cannot yet recommend using the option in production. Use it only if you are willing to
accept the still incomplete Material 3 implementation in Flutter and the issues. If you
keep useMaterial3 set to false, and use FCS opinionated component themes, you can create a
theme that is visually fairly similar to M3, but still using M2 ThemeData mode to avoid many
issues.
BREAKING
This FlexColorScheme version no longer directly depends on package Material Color Utilities package, which is also used by Flutter SDK. Instead, it uses package
FlexSeedScheme that depends on it. As a part of this change classes FlexTones, FlexTonalPalette and FlexCorePalette where moved into the package FlexSeedScheme. FlexColorScheme still exports these classes. If you were using them directly before, you can still do so without adding the FlexSeedScheme package.
In FlexSeedScheme, FlexTones contains a minor breaking change to make the API cleaner. The FlexTones.light and FlexTones.dark no longer produce the config for the Material 3 tone and chroma setup. They no longer lock the chroma values to the default values for M3, but use null in their configs for their chroma values. Resulting in that chroma from key colors will be used, as long as they are over set minimum values. These named constructors then provide a cleaner starting API for defining additional configurations, by not forcing null to be passed to use chroma value in key colors. To get the Material 3 configuration, use the factory FlexTones.material instead of FlexTones.light and FlexTones.light. It as before produces the correct Material 3 configuration, by defining secondaryChroma: 16 and tertiaryChroma: 24 using FlexTones.light and FlexTones.dark to return the correct Material 3 matching FlexTones configuration as before. This change was introduced to prepare for extracting FlexTones and FlexSeedScheme to their own package that will provide a fromFlexSeeds extension on ColorScheme. It is unlikely to impact any normal usage of FlexColorScheme, but it is still a breaking change.
In FlexSeedSchemeFlexCorePalette.fromSeeds properties secondaryChroma and tertiaryChroma now default to null instead of previous M3 palette default generating values 16 and 24 respectively. Set them to values 16 and 24 to create same tonal palettes as Material Color Utilities CorePalette and previous versions of FlexCorePalette.
To allow for greater flexibility and addition of tonal palette tones 5 (custom for FCS) and 98 (Google Material 3 Web theme builder app includes tone 98 to, but not Flutter SDK), FlexCorePalette no longer extends CorePalette, it is a modified re-implementation.
In FlexSeedScheme the FlexTonalPalette method asList and constructor fromList, now include the values of the error color in produced asList, and as required values in fromList.
NEW
In FlexSeedScheme, added customization possibility of error tonal palette to the default FlexTonalPalette constructor.
In FlexSeedScheme, added two new FlexTones:
FlexTones.ultraContrast with even more contrast that highContrast.
FlexTones.jolly for a seeded ColorScheme with more poppy and jolly seed colors.
In FlexSeedScheme, added SeedColorScheme.fromSeeds(...) that can be used to create a seeded ColorScheme using multiple seed colors and FlexTones configuration.
In FlexSeedScheme, added FlexTonalPalette a re-implementation of Material Color Utilities TonalPalette, with addition of tonal palette tones 5 and 98. The tone 98 also exists in the Web Material Theme Builder app, but not in Flutter or Material Color Utilities package. Tone 5 is custom addition for FlexTones and FlexColorScheme.
Added appBarCenterTitle property to FlexSubThemesData configuration. It works the same way as centerTitle in AppBar and its theme. The property is not available in the Themes Playground app, only via the API. We recommend keeping it null to use platform
adaptive default behavior, but offer it as convenience property for those that like to use same centering style regardless of used platform.
Added two new properties to FlexSubThemes.elevatedButtonTheme.
Boolean useMaterial3, defaults to false.
onBaseSchemeColor, defaults to null SchemeColor?.
When useMaterial3 is false, the elevatedButtonTheme.baseSchemeColor is used as background color as before, and the new property elevatedButtonTheme.onBaseSchemeColor is used as foreground color. However, when useMaterial3 is true, their foreground and background color roles are reversed, and baseSchemeColor becomes its foreground color and the onBaseSchemeColor its background color.
Added elevatedButtonSecondarySchemeColor property of type SchemeColor? to FlexSubThemesData. Use it to control secondary color of the ElevatedButton in its sub-themes. FCS applies this color to FlexSubThemes.elevatedButtonTheme.onBaseSchemeColor. If useMaterial3 is false, it is the foreground color. If useMaterial3 is true, it is the background color. Material 3 and 2 have a completely different default elevated button styles. The Material 2 elevated button is color wise, like the M3 filled button, but with elevation.
Updated minimum dependencies to Dart >=2.18.0 and Flutter >= 3.3.0.
Due to a number of known and below documented Flutter SDK issues when using useMaterial3 set to
true, we cannot yet recommend using the option in production. Use it only if you are willing to
accept the still incomplete Material 3 implementation in Flutter and the issues. If you
keep useMaterial3 set to false, and use FCS opinionated component themes, you can create a
theme that is visually fairly similar to M3, but still using M2 ThemeData mode to avoid many
issues.
BREAKING
This FlexColorScheme version no longer directly depends on package
Material Color Utilities package, which
is also used by Flutter SDK. Instead, it uses package
FlexSeedScheme that depends on it.
As a part of this change classes FlexTones, FlexTonalPalette and FlexCorePalette where
moved into the package FlexSeedScheme. FlexColorScheme still exports these classes. If you
were using them directly before, you can still do so without adding the FlexSeedScheme package.
In FlexSeedScheme, FlexTones contains a minor breaking change to make the API cleaner.
The FlexTones.light and FlexTones.dark no longer produce the config for the Material 3 tone
and chroma setup. They no longer lock the chroma values to the default values for M3, but use
null in their configs for their chroma values. Resulting in that chroma from key colors will be
used, as long as they are over set minimum values.
These named constructors then provide a cleaner starting API for
defining additional configurations, by not forcing null to be passed to use chroma value in
key colors. To get the Material 3 configuration, use the factory FlexTones.material instead of
FlexTones.light and FlexTones.light. It as before produces the correct Material 3
configuration, by defining secondaryChroma: 16 and tertiaryChroma: 24 using FlexTones.light
and FlexTones.dark to return the correct Material 3 matching FlexTones configuration as
before. This change was introduced to prepare for extracting FlexTones and FlexSeedScheme to
their own package that will provide a fromFlexSeeds extension on ColorScheme. It is unlikely
to impact any normal usage of FlexColorScheme, but it is still a breaking change.
In FlexSeedSchemeFlexCorePalette.fromSeeds properties secondaryChroma and
tertiaryChroma now default to null instead of previous M3 palette default generating values
16 and 24 respectively. Set them to values 16 and 24 to create same tonal palettes as
Material Color Utilities CorePalette and previous versions of FlexCorePalette.
To allow for greater flexibility and addition of tonal palette tones 5 (custom for FCS) and 98
(Google Material 3 Web theme builder app includes tone 98 to, but not Flutter SDK),
FlexCorePalette no longer extends CorePalette, it is a modified re-implementation.
In FlexSeedScheme the FlexTonalPalette method asList and constructor fromList, now
include the values of the error color in produced asList, and as required values in fromList.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps flex_color_scheme from 5.1.0 to 6.0.0.
Release notes
Sourced from flex_color_scheme's releases.
... (truncated)
Changelog
Sourced from flex_color_scheme's changelog.
... (truncated)
Commits
edfecf1
Update CHANGELOG.mddef200d
Release version 6.0.0222158d
Playground: Add standard SliverAppBar to showcase widgets4d47236
Playground: Fix outlined buttons pressed width shown defaults for M36416d37
Update Release.entitlements4aa1961
Update ThemeShowCase and CopPasteFrom example54a0ed3
Typo corrections and removal of what is next ref and link, that were removed ...597a6de
Reduced CHANGELOG size to get packe accepted by pub086baa0
Release 6-0-0-dev.15ac7043
Make a 6-0-0-dev.1 test build and web deploymentDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)