Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Do not edit by hand. The code is generated from data in the Material
// Design token database by the script:
// packages/material_ui/tool/gen_defaults/bin/gen_defaults.dart.
part of '../motion.dart';

/// The set of durations in the Material specification.
///
/// See also:
Expand Down
231 changes: 1 addition & 230 deletions packages/material_ui/lib/src/motion.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,233 +4,4 @@

import 'package:flutter/animation.dart';

// BEGIN GENERATED TOKEN PROPERTIES - Motion

// Do not edit by hand. The code between the "BEGIN GENERATED" and
// "END GENERATED" comments are generated from data in the Material
// Design token database by the script:
// dev/tools/gen_defaults/bin/gen_defaults.dart.

// dart format off
/// The set of durations in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
abstract final class Durations {
/// The short1 duration (50ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration short1 = Duration(milliseconds: 50);

/// The short2 duration (100ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration short2 = Duration(milliseconds: 100);

/// The short3 duration (150ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration short3 = Duration(milliseconds: 150);

/// The short4 duration (200ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration short4 = Duration(milliseconds: 200);

/// The medium1 duration (250ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration medium1 = Duration(milliseconds: 250);

/// The medium2 duration (300ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration medium2 = Duration(milliseconds: 300);

/// The medium3 duration (350ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration medium3 = Duration(milliseconds: 350);

/// The medium4 duration (400ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration medium4 = Duration(milliseconds: 400);

/// The long1 duration (450ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration long1 = Duration(milliseconds: 450);

/// The long2 duration (500ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration long2 = Duration(milliseconds: 500);

/// The long3 duration (550ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration long3 = Duration(milliseconds: 550);

/// The long4 duration (600ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration long4 = Duration(milliseconds: 600);

/// The extralong1 duration (700ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration extralong1 = Duration(milliseconds: 700);

/// The extralong2 duration (800ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration extralong2 = Duration(milliseconds: 800);

/// The extralong3 duration (900ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration extralong3 = Duration(milliseconds: 900);

/// The extralong4 duration (1000ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration extralong4 = Duration(milliseconds: 1000);
}


// TODO(guidezpl): Improve with description and assets, b/289870605

/// The set of easing curves in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
/// * [Curves], for a collection of non-Material animation easing curves.
abstract final class Easing {
/// The emphasizedAccelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve emphasizedAccelerate = Cubic(0.3, 0.0, 0.8, 0.15);

/// The emphasizedDecelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve emphasizedDecelerate = Cubic(0.05, 0.7, 0.1, 1.0);

/// The linear easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve linear = Cubic(0.0, 0.0, 1.0, 1.0);

/// The standard easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve standard = Cubic(0.2, 0.0, 0.0, 1.0);

/// The standardAccelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve standardAccelerate = Cubic(0.3, 0.0, 1.0, 1.0);

/// The standardDecelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve standardDecelerate = Cubic(0.0, 0.0, 0.0, 1.0);

/// The legacyDecelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve legacyDecelerate = Cubic(0.0, 0.0, 0.2, 1.0);

/// The legacyAccelerate easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve legacyAccelerate = Cubic(0.4, 0.0, 1.0, 1.0);

/// The legacy easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve legacy = Cubic(0.4, 0.0, 0.2, 1.0);
}
// dart format on

// END GENERATED TOKEN PROPERTIES - Motion
part 'generated/motion_defaults_m3.g.dart';
4 changes: 2 additions & 2 deletions packages/material_ui/tool/gen_defaults/bin/gen_defaults.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import '../templates/input_chip_template.dart';
import '../templates/input_decorator_template.dart';
import '../templates/list_tile_template.dart';
import '../templates/menu_template.dart';
import '../templates/motion_template.dart';

// import '../templates/motion_template.dart';
// import '../templates/navigation_bar_template.dart';
// import '../templates/navigation_drawer_template.dart';
// import '../templates/navigation_rail_template.dart';
Expand Down Expand Up @@ -99,7 +99,7 @@ Future<void> main(List<String> args) async {
const InputDecoratorTemplateM3().generateFile(verbose: verbose);
const ListTileTemplateM3().generateFile(verbose: verbose);
const MenuTemplateM3().generateFile(verbose: verbose);
// const MotionTemplateM3().generateFile(verbose: verbose);
const MotionTemplateM3().generateFile(verbose: verbose);
// const NavigationBarTemplateM3().generateFile(verbose: verbose);
// const NavigationDrawerTemplateM3().generateFile(verbose: verbose);
// const NavigationRailTemplateM3().generateFile(verbose: verbose);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import '../data/cubic_struct.dart';
import '../data/motion.dart';
import 'template.dart';

class MotionTemplateM3 extends TokenTemplateM3 {
const MotionTemplateM3();

@override
String get name => 'Motion';

@override
String get parentFilePath => 'motion.dart';

@override
String get className => '';

String _durationTokenString(String tokenName, Duration tokenValue) {
final int milliseconds = tokenValue.inMilliseconds;
return '''
/// The $tokenName duration (${milliseconds}ms) in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Duration $tokenName = Duration(milliseconds: $milliseconds);
''';
}

String _easingCurveTokenString(String tokenName, CubicStruct tokenValue) =>
'''
/// The $tokenName easing curve in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
static const Curve $tokenName = Cubic(${tokenValue.a}, ${tokenValue.b}, ${tokenValue.c}, ${tokenValue.d});
''';

@override
String generateContents(String className) =>
'''
/// The set of durations in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#c009dec6-f29b-4503-b9f0-482af14a8bbd)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
abstract final class Durations {
${_durationTokenString('short1', TokenMotion.durationShort1)}
${_durationTokenString('short2', TokenMotion.durationShort2)}
${_durationTokenString('short3', TokenMotion.durationShort3)}
${_durationTokenString('short4', TokenMotion.durationShort4)}
${_durationTokenString('medium1', TokenMotion.durationMedium1)}
${_durationTokenString('medium2', TokenMotion.durationMedium2)}
${_durationTokenString('medium3', TokenMotion.durationMedium3)}
${_durationTokenString('medium4', TokenMotion.durationMedium4)}
${_durationTokenString('long1', TokenMotion.durationLong1)}
${_durationTokenString('long2', TokenMotion.durationLong2)}
${_durationTokenString('long3', TokenMotion.durationLong3)}
${_durationTokenString('long4', TokenMotion.durationLong4)}
${_durationTokenString('extralong1', TokenMotion.durationExtraLong1)}
${_durationTokenString('extralong2', TokenMotion.durationExtraLong2)}
${_durationTokenString('extralong3', TokenMotion.durationExtraLong3)}
${_durationTokenString('extralong4', TokenMotion.durationExtraLong4).trimRight()}
}

// TODO(guidezpl): Improve with description and assets, b/289870605

/// The set of easing curves in the Material specification.
///
/// See also:
///
/// * [M3 guidelines: Easing tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs#433b1153-2ea3-4fe2-9748-803a47bc97ee)
/// * [M3 guidelines: Applying easing and duration](https://m3.material.io/styles/motion/easing-and-duration/applying-easing-and-duration)
/// * [Curves], for a collection of non-Material animation easing curves.
abstract final class Easing {
${_easingCurveTokenString('emphasizedAccelerate', TokenMotion.easingEmphasizedAccelerate)}
${_easingCurveTokenString('emphasizedDecelerate', TokenMotion.easingEmphasizedDecelerate)}
${_easingCurveTokenString('linear', TokenMotion.easingLinear)}
${_easingCurveTokenString('standard', TokenMotion.easingStandard)}
${_easingCurveTokenString('standardAccelerate', TokenMotion.easingStandardAccelerate)}
${_easingCurveTokenString('standardDecelerate', TokenMotion.easingStandardDecelerate)}
${_easingCurveTokenString('legacyDecelerate', TokenMotion.easingLegacyDecelerate)}
${_easingCurveTokenString('legacyAccelerate', TokenMotion.easingLegacyAccelerate)}
${_easingCurveTokenString('legacy', TokenMotion.easingLegacy).trimRight()}
}
''';
}
Loading
Loading