forked from mirrors/material_3_expressive
Add initial configuration, tokens, and widgets for M3E components
- Introduced `.gitignore` and `.metadata` for apps and examples. - Added Flutter/Dart analysis configurations (`analysis_options.yaml`). - Implemented foundational tokens and themes for M3E (colors, shapes). - Created base implementations for `IconButtonM3E` and `SplitButtonM3E`. - Set up CI workflow (`ci.yaml`) to automate testing and analysis.
This commit is contained in:
parent
2c0f2df0b8
commit
62ecb86b76
184 changed files with 9872 additions and 0 deletions
43
packages/m3e_design/lib/tokens/motion_tokens.dart
Normal file
43
packages/m3e_design/lib/tokens/motion_tokens.dart
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
@immutable
|
||||
class M3EMotion {
|
||||
final SpringDescription spatialFast;
|
||||
final SpringDescription spatialMedium;
|
||||
final SpringDescription spatialGentle;
|
||||
|
||||
final SpringDescription effectsFast;
|
||||
final SpringDescription effectsMedium;
|
||||
|
||||
final Duration fast;
|
||||
final Duration medium;
|
||||
final Duration slow;
|
||||
|
||||
const M3EMotion({
|
||||
required this.spatialFast,
|
||||
required this.spatialMedium,
|
||||
required this.spatialGentle,
|
||||
required this.effectsFast,
|
||||
required this.effectsMedium,
|
||||
required this.fast,
|
||||
required this.medium,
|
||||
required this.slow,
|
||||
});
|
||||
|
||||
const M3EMotion.expressive()
|
||||
: spatialFast = const SpringDescription(mass: 1, stiffness: 500, damping: 30),
|
||||
spatialMedium = const SpringDescription(mass: 1, stiffness: 350, damping: 28),
|
||||
spatialGentle = const SpringDescription(mass: 1, stiffness: 220, damping: 24),
|
||||
effectsFast = const SpringDescription(mass: 1, stiffness: 420, damping: 32),
|
||||
effectsMedium = const SpringDescription(mass: 1, stiffness: 280, damping: 28),
|
||||
fast = const Duration(milliseconds: 150),
|
||||
medium = const Duration(milliseconds: 250),
|
||||
slow = const Duration(milliseconds: 400);
|
||||
|
||||
static M3EMotion lerp(M3EMotion a, M3EMotion b, double t) => a;
|
||||
}
|
||||
|
||||
class SpringDescription {
|
||||
final double mass, stiffness, damping;
|
||||
const SpringDescription({required this.mass, required this.stiffness, required this.damping});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue