forked from mirrors/material_3_expressive
Revert m3e_design version to 0.2.0; add theme accessors to simplify retrieval of M3E theme from ThemeData. Update changelog and refactor BuildContext extension with new accessor.
This commit is contained in:
parent
a255494ec1
commit
eef97c0938
4 changed files with 19 additions and 3 deletions
|
|
@ -1,2 +1,5 @@
|
||||||
|
## 0.2.0
|
||||||
|
- add accessors for getting the M3E theme from ThemeData via Theme.of(context).m3e
|
||||||
|
|
||||||
## 0.1.0
|
## 0.1.0
|
||||||
- Changelog initialized.
|
- Changelog initialized.
|
||||||
|
|
|
||||||
|
|
@ -97,3 +97,16 @@ class _M3ETypeProxy {
|
||||||
TextStyle get headlineSmallEmphasized =>
|
TextStyle get headlineSmallEmphasized =>
|
||||||
(_t.base.headlineSmall ?? _empty).merge(_t.emphasized.headline);
|
(_t.base.headlineSmall ?? _empty).merge(_t.emphasized.headline);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Accessors for getting the M3E theme from ThemeData via Theme.of(context).m3e
|
||||||
|
extension M3EThemeAccessors on ThemeData {
|
||||||
|
// Returns the installed M3ETheme; in release builds falls back to defaults
|
||||||
|
M3ETheme get m3e {
|
||||||
|
final e = extension<M3ETheme>();
|
||||||
|
assert(
|
||||||
|
e != null,
|
||||||
|
'M3ETheme is not installed on ThemeData. Wrap your app theme with withM3ETheme(...)',
|
||||||
|
);
|
||||||
|
return e ?? M3ETheme.defaults(colorScheme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import '../theme/m3e_theme.dart';
|
import '../theme/m3e_theme.dart';
|
||||||
|
|
||||||
extension BuildContextM3EX on BuildContext {
|
extension BuildContextM3EX on BuildContext {
|
||||||
M3ETheme get m3e =>
|
M3ETheme get m3e => Theme.of(this).m3e;
|
||||||
Theme.of(this).extension<M3ETheme>() ?? M3ETheme.defaults(Theme.of(this).colorScheme);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
name: m3e_design
|
name: m3e_design
|
||||||
description: Material 3 Expressive design language for Flutter (tokens, ThemeExtension, motion).
|
description: Material 3 Expressive design language for Flutter (tokens, ThemeExtension, motion).
|
||||||
version: 0.3.0
|
version: 0.2.0
|
||||||
repository: https://github.com/EmilyMoonstone/material_3_expressive/tree/main/packages/m3e_design
|
repository: https://github.com/EmilyMoonstone/material_3_expressive/tree/main/packages/m3e_design
|
||||||
issue_tracker: https://github.com/EmilyMonestone/material_3_expressive/issues
|
issue_tracker: https://github.com/EmilyMonestone/material_3_expressive/issues
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue